diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/ChangeLog')
-rw-r--r-- | src/3rdparty/webkit/WebCore/ChangeLog | 5485 |
1 files changed, 5485 insertions, 0 deletions
diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog index 89915287c3..35640c58e9 100644 --- a/src/3rdparty/webkit/WebCore/ChangeLog +++ b/src/3rdparty/webkit/WebCore/ChangeLog @@ -1,3 +1,5488 @@ +2009-07-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Unreviewed make dist build fix. + + * GNUmakefile.am: + +2009-07-13 Cédric Luthi <cedric.luthi@gmail.com> + + Reviewed by Tor Arne Vestbø. + + Fix NPWindow clip rect in PluginViewMac + + The rect should be in window-coordinates. This bug can be observed + with Flash 10 here: http://www.permadi.com/tutorial/cursorTracker/ + + * plugins/mac/PluginViewMac.cpp: + +2009-07-13 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Ariya Hidayat. + + Fix Qt implementation of WebCore::directoryName to return the absolute + directory name instead of the base file name. + + * platform/qt/FileSystemQt.cpp: + (WebCore::directoryName): + +2009-07-13 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Ariya Hidayat. + + Fix WebCore::Path::isEmpty() for the Qt port to return true + if there is no element in the path. + + QPainterPath::isEmpty() returns also true if there is one single + MoveTo element inside, which makes sense but doesn't patch Webcore's + is-empty definition. + + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::isEmpty): Use elementCount() == 0. + +2009-07-13 Albert J. Wong <ajwong@chromium.org> + + Reviewed by Dimitri Glazkov. + + Upstream fixes to NPV8Object.cpp that make ~30 layout tests pass. + https://bugs.webkit.org/show_bug.cgi?id=27127 + + There were a number of bugs introduced during the last upstreaming + effort that broke around 30 layout tests. This fixes those bugs. + It also has compile fixes to match the recent cutting apart of + V8Proxy. + + * bindings/v8/NPV8Object.cpp: + (freeV8NPObject): + (npCreateV8ScriptObject): + (NPN_Invoke): + (NPN_InvokeDefault): + (NPN_EvaluateHelper): + (NPN_SetException): + (NPN_Construct): + +2009-07-13 Mads Ager <ager@chromium.org> + + Reviewed by Adam Barth. + + Fix memory leak in the V8 binding layer. + https://bugs.webkit.org/show_bug.cgi?id=27163 + + Reinitializing the context is not necessary when clearing the proxy for navigation + and it will lead us to hold on to an empty context for each frame. + + Test for empty context instead of empty global object handle when + updating the document for a context. + + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::clearForNavigation): + (WebCore::V8Proxy::updateDocument): + +2009-07-13 John Gregg <johnnyg@google.com> + + Reviewed by David Levin. + + Correct the logic to determine if a V8 callback returns a value. + https://bugs.webkit.org/show_bug.cgi?id=27155 + + * bindings/v8/custom/V8CustomVoidCallback.cpp: + (WebCore::invokeCallback): + - Don't crash if result.IsEmpty(). + +2009-07-13 Drew Wilson <atwilson@google.com> + + Reviewed by David Levin. + + Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs + https://bugs.webkit.org/show_bug.cgi?id=26932 + + Initial IDL definition and bindings for SharedWorkers. + + * Configurations/FeatureDefines.xcconfig: + Added new files for SharedWorker support. + * DerivedSources.make: + Added new files for SharedWorker support. + * GNUmakefile.am: + Added new files for SharedWorker support. + * WebCore.gypi: + Added new files for SharedWorker support. + * WebCore.pro: + Added new files for SharedWorker support. + * WebCore.xcodeproj/project.pbxproj: + Added new files for SharedWorker support. + * bindings/js/JSAbstractWorkerCustom.cpp: Added. + (WebCore::JSAbstractWorker::mark): + Custom mark handler that marks the event listeners. + (WebCore::JSAbstractWorker::addEventListener): + (WebCore::JSAbstractWorker::removeEventListener): + (WebCore::JSAbstractWorker::toJS): + Custom toJS handler which differentiates between various subclasses. + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::sharedWorker): + SharedWorker constructor (only enabled when SHARED_WORKERS is + enabled). + * bindings/js/JSEventTarget.cpp: + (WebCore::toJS): + (WebCore::toEventTarget): + Added support for converting to/from SharedWorkers. + * bindings/js/JSSharedWorkerConstructor.cpp: Added. + (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor): + (WebCore::constructSharedWorker): + (WebCore::JSSharedWorkerConstructor::getConstructData): + * bindings/js/JSSharedWorkerConstructor.h: Added. + (WebCore::JSSharedWorkerConstructor::classInfo): + * bindings/js/JSSharedWorkerCustom.cpp: Added. + (WebCore::JSSharedWorker::mark): + Custom mark function that marks the internal MessagePort. + * bindings/v8/DOMObjectsInclude.h: + Updated to include new header files. + * bindings/v8/V8Index.cpp: + * bindings/v8/V8Index.h: + * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Added. + (WebCore::getEventListener): + (WebCore::ACCESSOR_GETTER): + (WebCore::ACCESSOR_SETTER): + (WebCore::CALLBACK_FUNC_DECL): + V8 handlers for add/removeEventListener(). + * bindings/v8/custom/V8CustomBinding.h: + * bindings/v8/custom/V8SharedWorkerCustom.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + Custom constructor for SharedWorker. + * dom/EventTarget.cpp: + (WebCore::EventTarget::toSharedWorker): + * dom/EventTarget.h: + * page/DOMWindow.idl: + * workers/AbstractWorker.cpp: Added. + (WebCore::AbstractWorker::AbstractWorker): + Common base class for SharedWorker and (soon) Worker. The functions below were copied from Worker.cpp. + This is the first step in refactoring Worker to derive from AbstractWorker to enable code sharing. + (WebCore::AbstractWorker::~AbstractWorker): + (WebCore::AbstractWorker::addEventListener): + (WebCore::AbstractWorker::removeEventListener): + (WebCore::AbstractWorker::dispatchEvent): + (WebCore::AbstractWorker::dispatchLoadErrorEvent): + (WebCore::AbstractWorker::dispatchScriptErrorEvent): + * workers/AbstractWorker.h: Added. + Definitions of functionality shared by Worker.h and SharedWorker.h. In a future patch, Worker will derive from AbstractWorker. + (WebCore::AbstractWorker::scriptExecutionContext): + (WebCore::AbstractWorker::setOnerror): + (WebCore::AbstractWorker::onerror): + (WebCore::AbstractWorker::eventListeners): + (WebCore::AbstractWorker::refEventTarget): + (WebCore::AbstractWorker::derefEventTarget): + * workers/AbstractWorker.idl: Added. + * workers/SharedWorker.cpp: Added. + (WebCore::SharedWorker::SharedWorker): + (WebCore::SharedWorker::~SharedWorker): + * workers/SharedWorker.h: Added. + (WebCore::SharedWorker::create): + (WebCore::SharedWorker::port): + (WebCore::SharedWorker::toSharedWorker): + * workers/SharedWorker.idl: Added. + +2009-07-13 Laszlo Gombos <laszlo.1.gombos@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Cleanup - Remove prf install target + https://bugs.webkit.org/show_bug.cgi?id=27191 + + qtwebkit.prf has been removed; this cleans up the related + install target as well. + + * WebCore.pro: Remove prf install target + +2009-07-12 Adam Barth <abarth@webkit.org> + + Reviewed by Oliver Hunt. + + Facebook Chat is broken due to XSS auditor + https://bugs.webkit.org/show_bug.cgi?id=27179 + + Instead of just using the script's URL as to detect an XSS attack, we + now use a bit of context before the URL. In particular, we use the + bytes from the beginning of the attribute name to the end of the + attribute value. In virtually all injection attacks, the attacker + would need to supply the attribute name as well as the attribute value. + However, in the Facebook false positive, the attribute name is not + present in the URL. + + Tests: http/tests/security/xssAuditor/script-tag-src-redirect-safe.html + http/tests/security/xssAuditor/script-tag-with-source-double-quote.html + http/tests/security/xssAuditor/script-tag-with-source-no-quote.html + + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::parseTag): + * html/HTMLTokenizer.h: + * page/XSSAuditor.cpp: + (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): + * page/XSSAuditor.h: + +2009-07-12 Keishi Hattori <casey.hattori@gmail.com> + + Reviewed by Timothy Hatcher. + + Refactor ConsoleMessage to add MessageType attribute. + https://bugs.webkit.org/show_bug.cgi?id=20625 + + * bindings/js/JSCustomXPathNSResolver.cpp: + (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::printErrorMessage): + * dom/Document.cpp: + (WebCore::Document::reportException): + (WebCore::Document::addMessage): + * dom/Document.h: + * dom/ScriptExecutionContext.h: + * html/HTMLParser.cpp: + (WebCore::HTMLParser::reportErrorToConsole): + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::ConsoleMessage): + (WebCore::ConsoleMessage::addToConsole): + (WebCore::ConsoleMessage::isEqual): + * inspector/ConsoleMessage.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::addMessageToConsole): + (WebCore::InspectorController::startGroup): + (WebCore::InspectorController::endGroup): + (WebCore::InspectorController::addProfileFinishedMessageToConsole): + (WebCore::InspectorController::addStartProfilingMessageToConsole): + (WebCore::InspectorController::count): + * inspector/InspectorController.h: + * inspector/front-end/Console.js: + (WebInspector.Console.prototype.addMessage): + (WebInspector.ConsoleMessage): Added type property. + (WebInspector.ConsoleMessage.prototype.toMessageElement): + (WebInspector.ConsoleMessage.prototype.toString): + (WebInspector.ConsoleMessage.prototype.isEqual): + (WebInspector.ConsoleCommandResult): + (WebInspector.ConsoleGroup.prototype.addMessage): + (WebInspector.ConsoleGroup.prototype._titleClicked): + * inspector/front-end/Resource.js: + (WebInspector.Resource.prototype._addTip): + (WebInspector.Resource.prototype._checkWarning): + * inspector/front-end/inspector.css: Changed ".console-group-title-level" to ".console-group-title" + * inspector/front-end/inspector.js: + (WebInspector.addMessageToConsole): + * loader/DocLoader.cpp: + (WebCore::DocLoader::printAccessDeniedMessage): + * loader/EmptyClients.h: + (WebCore::EmptyChromeClient::addMessageToConsole): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::reportLocalLoadFailed): + (WebCore::FrameLoader::shouldAllowNavigation): + * page/ChromeClient.h: + * page/Console.cpp: + (WebCore::printMessageSourceAndLevelPrefix): + (WebCore::Console::addMessage): + (WebCore::Console::error): + (WebCore::Console::log): + (WebCore::Console::dir): + (WebCore::Console::trace): + (WebCore::Console::assertCondition): + (WebCore::Console::timeEnd): + (WebCore::Console::warn): + * page/Console.h: Added MessageType enum. + (WebCore::): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::postMessageTimerFired): + * page/XSSAuditor.cpp: + (WebCore::XSSAuditor::canEvaluate): + (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): + (WebCore::XSSAuditor::canLoadObject): + * svg/SVGDocumentExtensions.cpp: + (WebCore::SVGDocumentExtensions::reportWarning): + (WebCore::SVGDocumentExtensions::reportError): + * wml/WMLErrorHandling.cpp: + (WebCore::reportWMLError): + * workers/GenericWorkerTask.h: Added GenericWorkerTask8 for the extra argument. + (WebCore::GenericWorkerTask8::create): + (WebCore::GenericWorkerTask8::GenericWorkerTask8): + (WebCore::GenericWorkerTask8::performTask): + (WebCore::createCallbackTask): + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::addMessage): + (WebCore::WorkerContext::importScripts): + * workers/WorkerContext.h: + * workers/WorkerMessagingProxy.cpp: + (WebCore::postConsoleMessageTask): + (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject): + * workers/WorkerMessagingProxy.h: + * workers/WorkerObjectProxy.h: + * xml/XMLHttpRequest.cpp: + (WebCore::reportUnsafeUsage): + (WebCore::XMLHttpRequest::didFinishLoading): + * xml/XSLTProcessor.cpp: + (WebCore::XSLTProcessor::parseErrorFunc): + +2009-07-12 Nate Chapin <japhet@chromium.org> + + Reviewed by Dimitri Glazkov. + + Upstream UndetectableHTMLCollection.idl as HTMLAllCollection.idl. + + https://bugs.webkit.org/show_bug.cgi?id=27132 + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/DOMObjectsInclude.h: + * bindings/v8/DerivedSourcesAllInOne.cpp: + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::getTemplate): + (WebCore::V8DOMWrapper::instantiateV8Object): + * bindings/v8/V8Index.cpp: + * bindings/v8/V8Index.h: + * dom/HTMLAllCollection.idl: Added. + +2009-07-12 Joseph Pecoraro <joepeck02@gmail.com> + + Reviewed by Maciej Stachowiak. + + Inspector: Duplicate Computation in Autocompletion + https://bugs.webkit.org/show_bug.cgi?id=26778 + + * inspector/front-end/TextPrompt.js: + (WebInspector.TextPrompt.prototype._completionsReady): + +2009-07-12 Dan Bernstein <mitz@apple.com> + + Reviewed by Maciej Stachowiak. + + https://bugs.webkit.org/show_bug.cgi?id=27196 + Rename bidi.cpp to RenderBlockLineLayout.cpp and remove bidi.h + + * GNUmakefile.am: Updated. + * WebCore.gypi: Updated. + * WebCore.pro: Updated. + * WebCore.vcproj/WebCore.vcproj: Updated. + * WebCore.xcodeproj/project.pbxproj: Updated. + * WebCoreSources.bkl: Updated. + * rendering/RenderBlock.h: Removed unnecessary forward declaration and + updated comments. + * rendering/RenderBlockLineLayout.cpp: Copied from WebCore/rendering/bidi.cpp. + Removed unnecessary #include statements. + (WebCore::BidiRun::BidiRun): Moved here from bidi.h. + (WebCore::RenderBlock::layoutInlineChildren): Removed outdated comment. + * rendering/bidi.cpp: Removed. + * rendering/bidi.h: Removed. + +2009-07-12 Dan Bernstein <mitz@apple.com> + + - Windows build fix + + * platform/graphics/cg/PDFDocumentImage.cpp: + (WebCore::PDFDocumentImage::dataChanged): + +2009-07-12 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - Image cleanup + + * platform/graphics/BitmapImage.cpp: + (WebCore::BitmapImage::destroyDecodedData): Use the data() accessor + instead of the m_data member. + (WebCore::BitmapImage::dataChanged): Ditto. + * platform/graphics/Image.h: Re-ordered #includes and class + declarations. Removed the drawPatternCallback() declaration. Made member + variables private. + * platform/graphics/cg/ImageCG.cpp: + (WebCore::drawPatternCallback): Changed this from a member function to a + static function. + * platform/graphics/cg/PDFDocumentImage.cpp: + (WebCore::PDFDocumentImage::dataChanged): Use the data() accessor + instead of the m_data member. + * svg/graphics/SVGImage.cpp: + (WebCore::SVGImage::dataChanged): Ditto. + +2009-07-12 Daniel Bates <dbates@intudata.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=27189 + + Fixes insufficient check in XSSAuditor::canSetBaseElementURL that caused + XSSAuditor to incorrectly block HTML Base elements whose base path coincided + with the URL of the page. + + Test: http/tests/security/xssAuditor/base-href-safe3.html + + * page/XSSAuditor.cpp: + (WebCore::XSSAuditor::canSetBaseElementURL): Changed conditional to only call + XSSAuditor::findInRequest() if the host in the page URL disagrees with the host + in the base element URL. + +2009-07-12 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + Text searching with ICU should take the user's default locale into account + https://bugs.webkit.org/show_bug.cgi?id=27184 + rdar://problem/6812121 + + No simple way to test this since it's dependent on user locale. + After this, the user's default locale is used only on Mac. + + * editing/TextIterator.cpp: + (WebCore::createSearcher): Pass result of the currentSearchLocaleID + function as the locale. + + * platform/text/TextBreakIteratorInternalICU.h: Added declaration of + currentSearchLocaleID function. + + * platform/text/android/TextBreakIteratorInternalICU.cpp: + (WebCore::currentSearchLocaleID): Added. Returns the empty string. + * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp: + (WebCore::currentSearchLocaleID): Ditto. + * platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp: + (WebCore::currentSearchLocaleID): Ditto. + + * platform/text/mac/TextBreakIteratorInternalICUMac.mm: + (WebCore::textBreakLocalePreference): Added. Returns the value of + the AppleTextBreakLocale preference. + (WebCore::topLanguagePreference): Added. Returns the value of the + first item in the AppleLanguages preference. + (WebCore::canonicalLanguageIdentifier): Added. Cover for the + CFLocaleCreateCanonicalLanguageIdentifierFromString function. + (WebCore::getLocale): Added. Transfers the locale from a CFStringRef + into a buffer. + (WebCore::getSearchLocale): Added. Calls topLanguagePreference, + canonicalLanguageIdentifier, and getLocale. + (WebCore::currentSearchLocaleID): Added. Calls getSearchLocale once. + (WebCore::getTextBreakLocale): Changed to call + textBreakLocalePreference, topLanguagePreference, + canonicalLanguageIdentifier, and getLocale. + + * platform/text/win/TextBreakIteratorInternalICUWin.cpp: + (WebCore::currentSearchLocaleID): Added. Returns the empty string. + * platform/wx/TemporaryLinkStubs.cpp: + (WebCore::currentSearchLocaleID): Ditto. + +2009-07-12 Xan Lopez <xlopez@igalia.com> + + Reviewed by Gustavo Noronha. + + https://bugs.webkit.org/show_bug.cgi?id=25415 + [GTK][ATK] Please implement support for get_text_at_offset + + Create a PangoLayout that properly represents the visual + appearance of the text in the web page so that the line boundary + modes of getText{At,Before,After}Offset work correctly. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (UTF16ToUTF8): + (g_substr): + (convertUniCharToUTF8): + (getPangoLayoutForAtk): + +2009-07-11 Oliver Hunt <oliver@apple.com> + + Reviewed by Simon Fraser. + + Bug 27187 - Match Gecko behaviour for canvas path mutation APIs on an empty path + <https://bugs.webkit.org/show_bug.cgi?id=27187> + + Simple API change, check for the empty path and add appropriate point if necessary. + + Test: fast/canvas/canvas-modify-emptyPath.html + + * Info.plist: + * WebCore.xcodeproj/project.pbxproj: + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::lineTo): + (WebCore::CanvasRenderingContext2D::quadraticCurveTo): + (WebCore::CanvasRenderingContext2D::bezierCurveTo): + +2009-07-11 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Antti Koivisto. + + HTMLMediaElement.canPlayType "maybe" and "probably" reversed + https://bugs.webkit.org/show_bug.cgi?id=27186 + + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivate::supportsType): + Return "probably" if type has codecs parameter. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::supportsType): + Ditto. + + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: + (WebCore::MediaPlayerPrivate::supportsType): + Ditto. + +2009-07-11 Brady Eidson <beidson@apple.com> + + Reviewed by Mark Rowe. + + A worker-thread inspired follow-up for: + https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520> + REGRESSION: XHR stream connection blocks iFrame loading and resource downloading + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::loadRequestAsynchronously): Don't perform the XHR compensation when the XHR + is running on a worker thread. Accessing the global Cache data structures from a non-main thread is + not currently supported. + +2009-07-11 Simon Fraser <simon.fraser@apple.com> + + Enable support for accelerated compositing and 3d transforms on Leopard. + <https://bugs.webkit.org/show_bug.cgi?id=20166> + <rdar://problem/6120614> + + Reviewed by Oliver Hunt. + + * Configurations/FeatureDefines.xcconfig: + +2009-07-11 Simon Hausmann <hausmann@webkit.org> + + Fix the Qt build after r45724. + + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): + +2009-07-10 Daniel Bates <dbates@intudata.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=26921 + + Implements support for HTML entities, so XSSAuditor can protect against attacks + encoded with HTML entities. + + Tests: http/tests/security/xssAuditor/inline-event-HTML-entities.html + http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html + http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html + http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html + http/tests/security/xssAuditor/javascript-link-HTML-entities.html + http/tests/security/xssAuditor/link-onclick-entities.html + http/tests/security/xssAuditor/script-tag-entities.html + http/tests/security/xssAuditor/script-tag-with-source-entities.html + + * page/XSSAuditor.cpp: + (WebCore::XSSAuditor::canEvaluate): + (WebCore::XSSAuditor::canEvaluateJavaScriptURL): + (WebCore::XSSAuditor::decodeURL): Modified to call WebCore::XSSAuditor::decodeHTMLEntities + to decode HTML entities. + (WebCore::XSSAuditor::decodeHTMLEntities): Added method to decode HTML entities. + (WebCore::XSSAuditor::findInRequest): + * page/XSSAuditor.h: + +2009-07-10 David Kilzer <ddkilzer@apple.com> + + Bug 27007: Build fixes when ICONDATABASE is disabled + + <https://bugs.webkit.org/show_bug.cgi?id=27007> + + Reviewed by Sam Weinig. + + * WebCore.xcodeproj/project.pbxproj: Added IconDatabaseNone.cpp + to the project. + * loader/icon/IconDatabase.cpp: Added + #if ENABLE(ICONDATABASE)/#endif macro guard. + * loader/icon/IconDatabase.h: Removed three public methods from + #if ENABLE(ICONDATABASE)/#endif macro so that they may be + stubbed out in IconDatabaseNone.cpp. + * loader/icon/IconDatabaseNone.cpp: Added + #if !ENABLE(ICONDATABASE)/#endif macro guard. + (WebCore::IconDatabase::importIconURLForPageURL): Added. + (WebCore::IconDatabase::importIconDataForIconURL): Added. + (WebCore::IconDatabase::shouldStopThreadActivity): Added. + +2009-07-10 Daniel Bates <dbates@intudata.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=27151 + + Fixes issue where JavaScript URLs that contain null- and non-null control characters can + bypass XSSAuditor. + + Tests: http/tests/security/xssAuditor/javascript-link-control-char.html + http/tests/security/xssAuditor/javascript-link-null-char.html + http/tests/security/xssAuditor/javascript-link.html + + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::evaluate): Separated out logic for JavaScript URLs from + inline scripts. For JavaScript URLs, calls XSSAuditor::canEvaluateJavaScriptURL. + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::evaluate): Made similar changes to evaluate() as in + bindings/js/ScriptController.cpp. + * page/XSSAuditor.cpp: + (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Separated out logic for JavaScript URLs + into its own method. + * page/XSSAuditor.h: + +2009-07-10 Shinichiro Hamaji <hamaji@chromium.org> + + Reviewed by David Kilzer. + + WebKit needs a style linting tool + https://bugs.webkit.org/show_bug.cgi?id=25884 + + Fix bunch of style issues by autofix of cpplint. + This patch is created to demonstrate the autofix of cpplint.py. + + No new testcases because it's a style fix + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseMediaQuery): + (WebCore::CSSParser::validUnit): + (WebCore::CSSParser::parseValue): + (WebCore::skipCommaInDashboardRegion): + (WebCore::CSSParser::parseDashboardRegions): + (WebCore::ShadowParseContext::commitValue): + (WebCore::ShadowParseContext::commitLength): + (WebCore::ShadowParseContext::commitColor): + (WebCore::BorderImageParseContext::commitNumber): + (WebCore::BorderImageParseContext::commitWidth): + (WebCore::BorderImageParseContext::commitRule): + (WebCore::BorderImageParseContext::commitBorderImage): + (WebCore::CSSParser::lex): + (WebCore::CSSParser::text): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * css/MediaList.cpp: + (WebCore::MediaList::deleteMedium): + * css/MediaQuery.h: + * css/MediaQueryEvaluator.cpp: + (WebCore::parseAspectRatio): + * css/MediaQueryEvaluator.h: + * css/MediaQueryExp.h: + (WebCore::MediaQueryExp::operator==): + * css/WebKitCSSMatrix.h: + * dom/Comment.h: + * dom/Document.cpp: + (WebCore::Document::setFocusedNode): + * dom/Document.h: + (WebCore::Document::setHasDashboardRegions): + * dom/DocumentFragment.cpp: + (WebCore::DocumentFragment::nodeName): + * dom/DocumentFragment.h: + * dom/DynamicNodeList.h: + * dom/EditingText.h: + * dom/Element.cpp: + (WebCore::Element::dispatchAttrAdditionEvent): + * dom/NamedAttrMap.cpp: + (WebCore::NamedNodeMap::item): + * dom/Node.cpp: + (WebCore::Node::nodeValue): + (WebCore::Node::nodeIndex): + * dom/NodeRareData.h: + (WebCore::NodeListsNodeData::create): + * dom/Notation.h: + * dom/ProcessingInstruction.h: + * dom/Range.cpp: + (WebCore::Range::processContents): + * dom/StyledElement.cpp: + (WebCore::toHex): + * dom/XMLTokenizerLibxml2.cpp: + (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback): + (WebCore::PendingCallbacks::PendingStartElementNSCallback::call): + (WebCore::PendingCallbacks::): + (WebCore::OffsetBuffer::readOutBytes): + (WebCore::handleElementNamespaces): + (WebCore::handleElementAttributes): + (WebCore::attributesStartElementNsHandler): + * dom/XMLTokenizerQt.cpp: + (WebCore::attributesStartElementNsHandler): + (WebCore::XMLTokenizer::parseStartElement): + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::applyInlineStyle): + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::removeNode): + * editing/Editor.cpp: + (WebCore::Editor::pasteAsPlainText): + * editing/SelectionController.cpp: + (WebCore::SelectionController::directionOfEnclosingBlock): + * editing/SmartReplaceICU.cpp: + (WebCore::addAllCodePoints): + * history/HistoryItem.cpp: + (WebCore::HistoryItem::icon): + (WebCore::HistoryItem::adoptVisitCounts): + * html/CanvasStyle.cpp: + (WebCore::CanvasStyle::applyFillColor): + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::setActive): + (WebCore::HTMLAnchorElement::isLiveLink): + * html/HTMLAppletElement.h: + * html/HTMLAudioElement.h: + * html/HTMLBRElement.h: + * html/HTMLBaseElement.h: + * html/HTMLBaseFontElement.h: + * html/HTMLDListElement.h: + * html/HTMLDirectoryElement.h: + * html/HTMLFieldSetElement.cpp: + (WebCore::HTMLFieldSetElement::HTMLFieldSetElement): + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::reset): + * html/HTMLHRElement.cpp: + (WebCore::HTMLHRElement::parseMappedAttribute): + * html/HTMLHeadElement.h: + * html/HTMLHtmlElement.h: + * html/HTMLImageElement.h: + (WebCore::HTMLImageElement::setLoadManually): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::selection): + * html/HTMLIsIndexElement.h: + * html/HTMLMarqueeElement.cpp: + * html/HTMLMediaElement.h: + (WebCore::HTMLMediaElement::): + * html/HTMLMenuElement.h: + * html/HTMLMetaElement.h: + * html/HTMLModElement.h: + * html/HTMLOListElement.h: + * html/HTMLOptionElement.cpp: + (WebCore::HTMLOptionElement::childrenChanged): + * html/HTMLParamElement.h: + * html/HTMLQuoteElement.h: + * html/HTMLStyleElement.h: + * html/HTMLTableCaptionElement.h: + * html/HTMLTableCellElement.h: + * html/HTMLTableColElement.h: + * html/HTMLTableSectionElement.cpp: + (WebCore::HTMLTableSectionElement::deleteRow): + * html/HTMLTitleElement.h: + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::parseNonHTMLText): + (WebCore::HTMLTokenizer::parseEntity): + (WebCore::HTMLTokenizer::parseTag): + (WebCore::HTMLTokenizer::write): + * html/HTMLUListElement.h: + * html/HTMLVideoElement.h: + * html/TimeRanges.h: + (WebCore::TimeRanges::Range::Range): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::enableResourceTracking): + (WebCore::InspectorController::disableResourceTracking): + * inspector/InspectorFrontend.cpp: + (WebCore::InspectorFrontend::newInspectorJSONObject): + * page/Console.cpp: + (WebCore::Console::addMessage): + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMousePressEvent): + (WebCore::EventHandler::selectCursor): + (WebCore::EventHandler::defaultKeyboardEventHandler): + * page/Frame.cpp: + (WebCore::Frame::jsDefaultStatusBarText): + * page/android/DragControllerAndroid.cpp: + (WebCore::DragController::dragOperation): + * page/android/EventHandlerAndroid.cpp: + (WebCore::EventHandler::tabsToAllControls): + (WebCore::EventHandler::eventActivatedView): + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): + * page/gtk/DragControllerGtk.cpp: + (WebCore::DragController::dragOperation): + * page/qt/DragControllerQt.cpp: + * page/win/DragControllerWin.cpp: + (WebCore::DragController::isCopyKeyDown): + * page/win/FrameWin.h: + * rendering/RenderSlider.cpp: + (WebCore::RenderSlider::mouseEventOffsetToThumb): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::setVerticalAlignLength): + (WebCore::InheritedFlags::setUnicodeBidi): + (WebCore::InheritedFlags::setCursor): + * rendering/style/RenderStyleConstants.h: + (WebCore::): + * rendering/style/SVGRenderStyleDefs.h: + * rendering/style/StyleInheritedData.h: + (WebCore::StyleInheritedData::operator!=): + * storage/DatabaseTask.h: + * svg/GradientAttributes.h: + * svg/LinearGradientAttributes.h: + * svg/PatternAttributes.h: + * svg/RadialGradientAttributes.h: + * svg/SVGAnimatedPathData.h: + * svg/SVGAnimatedPoints.h: + * svg/SVGAnimationElement.h: + * svg/SVGClipPathElement.h: + * svg/SVGElementInstance.h: + * svg/SVGFEBlendElement.cpp: + (WebCore::SVGFEBlendElement::build): + * svg/SVGFEBlendElement.h: + * svg/SVGFEColorMatrixElement.cpp: + (WebCore::SVGFEColorMatrixElement::build): + * svg/SVGFEComponentTransferElement.cpp: + (WebCore::SVGFEComponentTransferElement::build): + * svg/SVGFECompositeElement.cpp: + (WebCore::SVGFECompositeElement::build): + * svg/SVGFEDiffuseLightingElement.cpp: + (WebCore::SVGFEDiffuseLightingElement::build): + * svg/SVGFEDisplacementMapElement.cpp: + (WebCore::SVGFEDisplacementMapElement::build): + * svg/SVGFEDistantLightElement.h: + * svg/SVGFEFloodElement.cpp: + (WebCore::SVGFEFloodElement::build): + * svg/SVGFEFloodElement.h: + * svg/SVGFEFuncAElement.h: + * svg/SVGFEFuncBElement.h: + * svg/SVGFEFuncGElement.h: + * svg/SVGFEFuncRElement.h: + * svg/SVGFEGaussianBlurElement.cpp: + (WebCore::SVGFEGaussianBlurElement::build): + * svg/SVGFEImageElement.cpp: + (WebCore::SVGFEImageElement::build): + * svg/SVGFEMergeElement.cpp: + (WebCore::SVGFEMergeElement::build): + * svg/SVGFEOffsetElement.cpp: + (WebCore::SVGFEOffsetElement::build): + * svg/SVGFEPointLightElement.h: + * svg/SVGFESpecularLightingElement.cpp: + (WebCore::SVGFESpecularLightingElement::build): + * svg/SVGFESpotLightElement.h: + * svg/SVGFETileElement.cpp: + (WebCore::SVGFETileElement::build): + * svg/SVGLineElement.cpp: + (WebCore::SVGLineElement::parseMappedAttribute): + * svg/SVGList.h: + * svg/SVGListTraits.h: + (WebCore::): + * svg/SVGMPathElement.h: + * svg/SVGMetadataElement.h: + * svg/SVGParserUtilities.cpp: + (WebCore::SVGPathParser::parseSVG): + (WebCore::SVGPathParser::calculateArc): + * svg/SVGPathElement.h: + * svg/SVGPathSegClosePath.h: + * svg/SVGSVGElement.h: + * svg/SVGSetElement.h: + * svg/SVGSwitchElement.h: + * svg/SVGTextPathElement.cpp: + (WebCore::SVGTextPathElement::parseMappedAttribute): + * svg/SVGTextPathElement.h: + * svg/SVGTitleElement.h: + * svg/SVGTransformable.cpp: + (WebCore::): + * svg/SVGViewSpec.cpp: + (WebCore::): + * svg/animation/SMILTime.cpp: + (WebCore::operator+): + (WebCore::operator-): + (WebCore::operator*): + * svg/animation/SVGSMILElement.h: + * svg/graphics/SVGResource.cpp: + (WebCore::clientMap): + * wml/WMLPostfieldElement.cpp: + (WebCore::WMLPostfieldElement::value): + * wml/WMLSetvarElement.cpp: + (WebCore::WMLSetvarElement::value): + * workers/WorkerRunLoop.cpp: + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::dropProtection): + * xml/XPathPath.h: + +2009-07-10 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/7049066>. + Update SnowLeopard media controller layout. + + * css/mediaControlsQT.css: + Update for new layout. + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::movieLoadType): + Added to replace isStreaming. + * html/HTMLMediaElement.h: + Declare movieLoadType, remove isStreaming. + + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlStatusDisplayElement::update): + Use movieLoadType instead of isStreaming. + (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): + MediaControlElement is the base class, not HTMLInputElement. + (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): + Ditto. + (WebCore::MediaControlRewindButtonElement::rendererIsNeeded): + Don't display rewind button for live streams. + (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded): + MediaControlInputElement is the base class, not HTMLInputElement. + * rendering/MediaControlElements.h: + + * rendering/RenderThemeMac.h: + * rendering/RenderThemeMac.mm: + (WebCore::getMediaUIPartStateFlags): + New, return wkDrawMediaUIPart flags. + (WebCore::RenderThemeMac::paintMediaFullscreenButton): + (WebCore::RenderThemeMac::paintMediaMuteButton): + (WebCore::RenderThemeMac::paintMediaPlayButton): + (WebCore::RenderThemeMac::paintMediaSeekBackButton): + (WebCore::RenderThemeMac::paintMediaSeekForwardButton): + (WebCore::RenderThemeMac::paintMediaSliderTrack): + (WebCore::RenderThemeMac::paintMediaSliderThumb): + (WebCore::RenderThemeMac::paintMediaRewindButton): + (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): + (WebCore::RenderThemeMac::paintMediaControlsBackground): + (WebCore::RenderThemeMac::paintMediaCurrentTime): + (WebCore::RenderThemeMac::paintMediaTimeRemaining): + Use getMediaUIPartStateFlags. + +2009-07-10 Michelangelo De Simone <micdesim@gmail.com> + + Reviewed by Adele Peterson. + + https://bugs.webkit.org/show_bug.cgi?id=19562 + Added build stuff and stub for the ValidityState class, part of HTML5 + section Forms: + http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate + + Test: fast/forms/ValidityState-001.html + + * DerivedSources.cpp: Fix aimed to include ValidityState files + * DerivedSources.make: ditto + * GNUmakefile.am: ditto + * WebCore.gypi: ditto + * WebCore.pro: ditto + * WebCore.vcproj/WebCore.vcproj: ditto + * WebCore.xcodeproj/project.pbxproj: ditto + * WebCoreSources.bkl: ditto + * html/HTMLButtonElement.idl: "validity" attribute + * html/HTMLFieldSetElement.idl: ditto + * html/HTMLFormControlElement.cpp: object getter + (WebCore::HTMLFormControlElement::validity): + * html/HTMLFormControlElement.h: ditto + * html/HTMLInputElement.idl: "validity" attribute + * html/HTMLSelectElement.idl: ditto + * html/HTMLTextAreaElement.idl: ditto + * html/ValidityState.cpp: Added. + (WebCore::ValidityState::ValidityState): + (WebCore::ValidityState::valid): validation flag + * html/ValidityState.h: Added. + (WebCore::ValidityState::create): creation routine + (WebCore::ValidityState::control): ValidityState's parent getter + (WebCore::ValidityState::valueMissing): validation flag + (WebCore::ValidityState::typeMismatch): ditto + (WebCore::ValidityState::patternMismatch): ditto + (WebCore::ValidityState::tooLong): ditto + (WebCore::ValidityState::rangeUnderflow): ditto + (WebCore::ValidityState::rangeOverflow): ditto + (WebCore::ValidityState::stepMismatch): ditto + (WebCore::ValidityState::customError): ditto + * html/ValidityState.idl: Added. + +2009-07-10 Brady Eidson <beidson@apple.com> + + Style cleanup over my last patch. + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::~XMLHttpRequest): + +2009-07-10 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Geoffrey Garen. + + * inspector/JavaScriptCallFrame.cpp: + (WebCore::JavaScriptCallFrame::dynamicGlobalObject): + * inspector/JavaScriptCallFrame.h: New helper method, used below. + + * inspector/JavaScriptDebugServer.cpp: + (WebCore::JavaScriptDebugServer::detach): In the special case + where we detach from a window currently executing JavaScript, + manually tear down our representation of the JavaScript + call stack, since we won't get any more callbacks from JavaScriptCore + to automatically tear it down. It's too bad that WebCore is + responsible for this kind of tracking -- in the future, it would + be nice if more of the breakpoint handling was inside of JavaScriptCore. + +2009-07-10 Brady Eidson <beidson@apple.com> + + Reviewed by Antti Koivisto. + + https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520> + REGRESSION: XHR stream connection blocks iFrame loading and resource downloading + + With this test we ended up going over the maximum-connections-per-host limit that CFNetwork expected. + When that happened, the first request that was over the limit ended up in a bizarre state where it + wasn't fully serviced until after the long running XHR was complete. + + Loader and Loader::Host work together to try to not exceed the max-connection limit but non-cache + resources - such as XHR - could still end up causing this limit to be exceeded. + + This fix adds a workaround specifically for XHR while we hash out a more thorough solution that will + handle this at the resource handle level. + + * loader/loader.cpp: + (WebCore::Loader::nonCacheRequestInFlight): + (WebCore::Loader::nonCacheRequestComplete): + (WebCore::Loader::Host::Host): + (WebCore::Loader::Host::nonCacheRequestInFlight): + (WebCore::Loader::Host::nonCacheRequestComplete): + (WebCore::Loader::Host::servePendingRequests): Take nonCacheRequestsInFlight into account. + * loader/loader.h: + (WebCore::Loader::Host::processingResource): Take nonCacheRequestsInFlight into account. + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::XMLHttpRequest): + (WebCore::XMLHttpRequest::~XMLHttpRequest): + (WebCore::XMLHttpRequest::loadRequestAsynchronously): Bump the nonCacheRequestInFlight count. + (WebCore::XMLHttpRequest::didFail): Decrement that count if the Loader was notified. + (WebCore::XMLHttpRequest::didFinishLoading): Ditto. + +2009-07-10 Antti Koivisto <antti@apple.com> + + Try to unbreak non-Mac build. + + * page/ChromeClient.h: + (WebCore::ChromeClient::formDidFocus): + (WebCore::ChromeClient::formDidBlur): + +2009-07-10 Beth Dakin <bdakin@apple.com> + + Reviewed by Anders Carlsson. + + The rest of the fix for <rdar://problem/7038831> REGRESSION (TOT): + In Mail, a crash occurs at WebCore::Widget::afterMouseDown() after + clicking To Do's close box + + Make the Widget* in passMouseDownEventToWidget() a RefPtr. + + * page/mac/EventHandlerMac.mm: + (WebCore::EventHandler::passMouseDownEventToWidget): + +2009-07-10 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + rename getDOMStructure calls w/o JSGlobalObject* to deprecatedGetDOMStructure + https://bugs.webkit.org/show_bug.cgi?id=27157 + + This is the first step to fixing + https://bugs.webkit.org/show_bug.cgi?id=27088 + + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDOMBinding.h: + (WebCore::deprecatedGetDOMStructure): + (WebCore::createDOMObjectWrapper): + (WebCore::createDOMNodeWrapper): + * bindings/js/JSNamedNodesCollection.cpp: + (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): + * bindings/js/JSRGBColor.cpp: + (WebCore::JSRGBColor::JSRGBColor): + * bridge/objc/objc_runtime.mm: + (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp): + * bridge/runtime_array.cpp: + (JSC::RuntimeArray::RuntimeArray): + * bridge/runtime_method.cpp: + (JSC::RuntimeMethod::RuntimeMethod): + * bridge/runtime_object.cpp: + (JSC::RuntimeObjectImp::RuntimeObjectImp): + +2009-07-10 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Antti Koivisto. + + Add delegate methods about focus and blur and state change + https://bugs.webkit.org/show_bug.cgi?id=27153 + + Call the appropriate new ChromeClient methods for focus and blur. + + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLFormControlElement::dispatchFocusEvent): + (WebCore::HTMLFormControlElement::dispatchBlurEvent): + * html/HTMLFormControlElement.h: + * loader/EmptyClients.h: + (WebCore::EmptyChromeClient::formDidFocus): + (WebCore::EmptyChromeClient::formDidBlur): + * page/ChromeClient.h: + +2009-07-10 Steve Falkenburg <sfalken@apple.com> + + <rdar://problem/7048741> REGRESSION: Error about missing SwMenuX.dll opening pages with Shockwave + + Use altered search path while loading plug-ins. This modifies the DLL search order + to look in the directory containing the plug-in even if a call to SetDllDirectory + was previously made. Use of SetDllDirectory removes the current directory from the search path, + breaking the previous strategy for locating any dependent DLLs of the plug-in. + + Reviewed by Jon Honeycutt. + + * plugins/win/PluginPackageWin.cpp: + (WebCore::PluginPackage::load): Use LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH + +2009-07-10 Adam Roben <aroben@apple.com> + + Sort all our Xcode projects + + Accomplished using sort-Xcode-project-file. + + Requested by Dave Kilzer. + + * WebCore.xcodeproj/project.pbxproj: + +2009-07-10 Adam Langley <agl@google.com> + + Reviewed by Darin Fisher. + + Chromium Linux: use disabled images for disabled widgets. + + https://bugs.webkit.org/show_bug.cgi?id=27106 + + Previously, checkboxes and radio controls rendered the same even if disabled. + The Chromium side of this change is r20224. + + * rendering/RenderThemeChromiumSkia.cpp: + (WebCore::RenderThemeChromiumSkia::paintCheckbox): + (WebCore::RenderThemeChromiumSkia::paintRadio): + +2009-07-10 Simon Fraser <simon.fraser@apple.com> + + Reviewed by John Sullivan. + + Fix crash when changing the zoom level in http://iphone.akamai.com/ + <rdar://problem/7029077> + + RenderLayerBacking's paintIntoLayer() method called updateLayerListsIfNeeded(), + which could potentially destroy that compositing layer, causing a crash. + Prevent this from happening by not doing a compositing update from paintIntoLayer(). + + The existing updateLayerListsIfNeeded() was renamed to updateCompositingAndLayerListsIfNeeded(), + and still does the compositing update. The new updateLayerListsIfNeeded() does not touch + compositing layers, and is still called from paintIntoLayer(). + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintLayer): + (WebCore::RenderLayer::hitTestLayer): + (WebCore::RenderLayer::updateLayerListsIfNeeded): + (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded): + * rendering/RenderLayer.h: + +2009-07-10 Drew Wilson <atwilson@google.com> + + Reviewed by Darin Adler. + + Need to remove UsesManualToJSImplementation() in favor of CustomToJS. + https://bugs.webkit.org/show_bug.cgi?id=27010 + + Added support for CustomToJS IDL attribute to replace the hard-coded class list in UsesManualToJSImplementation(). + + This is just a cleanup of existing functionality, so existing LayoutTests adequately cover this patch. + + * bindings/scripts/CodeGeneratorJS.pm: + Removed UsesManualToJSImplementation(), added support for CustomToJS attribute. + * css/CSSRule.idl: + * css/CSSValue.idl: + * css/StyleSheet.idl: + * dom/Document.idl: + * dom/Event.idl: + * dom/Node.idl: + * html/ImageData.idl: + * svg/SVGElementInstance.idl: + * svg/SVGPathSeg.idl: + Added CustomToJS attribute to all the above IDL files. + +2009-07-10 Dan Bernstein <mitz@apple.com> + + - fix the build by reverting the ill-advised r45711 + + * page/FrameView.cpp: + (WebCore::FrameView::scrollToAnchor): + +2009-07-09 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Tim Hatcher. + + Updated WebCore.base.exp to add some needed functions. + + * WebCore.base.exp: + +2009-07-10 Dan Bernstein <mitz@apple.com> + + - address a review comment from Simon Fraser which I forgot to include + in the last check-in + + * page/FrameView.cpp: + (WebCore::FrameView::scrollToAnchor): Pass true to getRect() for + maximum transform friendliness! + +2009-07-10 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + - fix https://bugs.webkit.org/show_bug.cgi?id=27137 + <rdar://problem/7043124> REGRESSION (r44311): Reproducible crash due + to infinite recursion into FrameLoader::gotoAnchor() -> + FrameView::layout() + + Test: fast/loader/goto-anchor-infinite-layout.html + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::gotoAnchor): Moved the code to update layout, + find the renderer to scroll to, and scroll from here to methods on + FrameView, and replaced it with a call to + FrameView::maintainScrollPositionAtAnchor(). + (WebCore::FrameLoader::completed): Call maintainScrollPositionAtAnchor() + instead of setLockedToAnchor(). + + * page/FrameView.cpp: + (WebCore::FrameView::FrameView): Removed initialization of + m_lockedToAnchor. + (WebCore::FrameView::reset): Reset m_maintainScrollPositionAnchor instead + of m_lockedToAnchor. + (WebCore::FrameView::layout): Removed the code related to scrolling to + the anchor from here, because scrolling can trigger events which + invalidate the layout, and as such, belongs with the post-layout tasks. + (WebCore::FrameView::maintainScrollPositionAtAnchor): Added. When called + with a node scrolls the view to the top of that node and maintains it + scrolled to the top of the node during subsequent layouts, until + this function is called with 0 or other things trigger scrolling. + (WebCore::FrameView::scrollRectIntoViewRecursively): Reset + m_maintainScrollPositionAnchor. + (WebCore::FrameView::setScrollPosition): Ditto. + (WebCore::FrameView::scrollToAnchor): Added. Scrolls to the top of + m_maintainScrollPositionAnchor, if it is set. + (WebCore::FrameView::performPostLayoutTasks): Call scrollToAnchor(). + (WebCore::FrameView::setWasScrolledByUser): Reset + m_maintainScrollPositionAnchor. + + * page/FrameView.h: Removed lockedToAnchor(), setLockedToAnchor(), + and m_lockedToAnchor. Added maintainScrollPositionAtAnchor() and + m_maintainScrollPositionAnchor. + +2009-07-04 Sriram Yadavalli <sriram.yadavalli@nokia.com> + + Reviewed by Simon Hausmann. + + https://bugs.webkit.org/show_bug.cgi?id=26439 + + QtWebKit fails in loading www.nytimes.com in Windows/Linux + + QNetworkReplyHandler is ignoring content associated with 401 error. + This causes the XHR response handling to fail. + + Simon: Added also ProxyAuthenticationRequiredError, to handle the same + case when going through proxies, as suggested by Prasanth. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::finish): + +2009-07-10 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Holger Freyther. + + Enable HTML 5 Messaging to fix message channel Qt DRT failures in + fast/events. + + * WebCore.pro: + +2009-07-09 Roland Steiner <rolandsteiner@google.com> + + Reviewed by Maciej Stachowiak. + + added InlineBox::isLeaf() + firstLeafChild()/lastLeafChild() not virtual and not callable on InlineBox anymore. + firstLeafChild()/lastLeafChild() will no longer return a node outside of the given subtree. + Removed firstLeafChildAfterBox()/lastLeafChildBeforeBox() + Removed potentially quadratic behavior if all nodes before/after a given box are empty InlineFlowBoxes + + Currently, these methods are called on RootInlineBox objects only, so above changes should not have + any observable effect (only the removal of the square performance behavior could apply, + but the conditions for that are probably of a rather theoretical nature). + + * rendering/InlineBox.cpp: + (WebCore::InlineBox::nextLeafChild): + (WebCore::InlineBox::prevLeafChild): + * rendering/InlineBox.h: + (WebCore::InlineBox::isLeaf): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::firstLeafChild): + (WebCore::InlineFlowBox::lastLeafChild): + * rendering/InlineFlowBox.h: + (WebCore::InlineFlowBox::firstChild): + (WebCore::InlineFlowBox::lastChild): + (WebCore::InlineFlowBox::isLeaf): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::closestLeafChildForXPos): + +2009-07-09 Roland Steiner <rolandsteiner@google.com> + + Reviewed by Maciej Stachowiak. + + Added InlineBox::baselinePosition() and lineHeight() methods + (adapted remaining code accordingly to use those methods) + + No change in functionality. + + * rendering/InlineBox.h: + (WebCore::InlineBox::baselinePosition): + (WebCore::InlineBox::lineHeight): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::adjustMaxAscentAndDescent): + (WebCore::InlineFlowBox::computeLogicalBoxHeights): + (WebCore::InlineFlowBox::placeBoxesVertically): + +2009-07-09 Oliver Hunt <oliver@apple.com> + + Reviewed by Maciej Stachowiak. + + Bug 27142 - canPlayType() should return empty string for unsupported content + <https://bugs.webkit.org/show_bug.cgi?id=27142> + + Return "" instead of "no" for unsupport media types. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::canPlayType): + +2009-07-09 Roland Steiner <rolandsteiner@google.com> + + Reviewed by Maciej Stachowiak. + + Implement the part of HTML5 spec that deals with parsing of <rp> and <rt> tags + in that their end tags are optional if followed by <rp>/<rt>. + + Also specify a new accessibility role "annotation" for <rp> and <rt>. + + Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing + is not affected by whether ruby is rendered properly or not (in fact, it may + be more profound without ruby layouting, since the contents of <rp> are not hidden). + + Test: fast/ruby/parse-rp.html + + * accessibility/AccessibilityObject.h: + (WebCore::): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::roleValue): + * html/HTMLElement.cpp: + (WebCore::HTMLElement::endTagRequirement): + (WebCore::HTMLElement::tagPriority): + (WebCore::inlineTagList): + * html/HTMLParser.cpp: + (WebCore::HTMLParser::rpCreateErrorCheck): + (WebCore::HTMLParser::rtCreateErrorCheck): + (WebCore::HTMLParser::getNode): + * html/HTMLParser.h: + * html/HTMLTagNames.in: + +2009-07-09 Dmitry Titov <dimich@chromium.org> + + Not reviewed, fix for previous commit. + + The change http://trac.webkit.org/changeset/45695 did not correctly + enabled GTL and QT build flags. This caused layout tests failure. + This is speculative fix for those failures. + + * GNUmakefile.am: added ENABLE_CHANNEL_MESSAGING flag. + * WebCore.pro: ditto. + * page/DOMWindow.idl: touched to cause recompile. + * workers/WorkerContext.idl: ditto. + +2009-07-09 Drew Wilson <atwilson@google.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=26903 + + Turned on CHANNEL_MESSAGING by default because the MessageChannel API + is now implemented for Web Workers and is reasonably stable. + + Tests: fast/events/message-channel-gc-2.html + fast/events/message-channel-gc-3.html + fast/events/message-channel-gc-4.html + fast/events/message-channel-gc.html + fast/events/message-channel-listener-circular-ownership.html + fast/events/message-port-clone.html + fast/events/message-port-constructor-for-deleted-document.html + fast/events/message-port-deleted-document.html + fast/events/message-port-deleted-frame.html + fast/events/message-port-inactive-document.html + fast/events/message-port-no-wrapper.html + fast/events/message-port.html + fast/workers/worker-cloneport.html + fast/workers/worker-messageport-gc.html + fast/workers/worker-messageport.html + + * Configurations/FeatureDefines.xcconfig: Turned on ENABLE_CHANNEL_MESSAGING. + * WebCore/WebCore.vcproj/WebCoreCommon.vsprops: ditto. + * WebCore/WebCore.vcproj/build-generated-files.sh: ditto. + * WebCore/page/DOMWindow.idl: touch the file to cause re-generation of headers. + * WebCore/workers/WorkerContext.idl: ditto. + + +2009-07-09 Pierre d'Herbemont <pdherbemont@apple.com> + + Reviewed by Simon Fraser. + + Full page zoom breaks remaining and elapsed time display in the <video> controller. + https://bugs.webkit.org/show_bug.cgi?id=27123 + + We are changing the size of the time remaining and time elapsed field, to + automatically hide them, when the controller is too short. + + Because we toggle the size between 0 and the previous value of the + controller, we miss any width change that may occur during full page zoom, + and we fail to restore a correct width. + + This change fixes that problem by using a cloned style on which we + set the width to 0, and restoring the previous style when going back to + the normal width. + + We take care about properly using the cloned style or the pseudo style, + by overriding styleForElement(). + + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlElement::styleForElement): + (WebCore::MediaControlElement::attach): + (WebCore::MediaControlElement::updateStyle): + (WebCore::MediaControlInputElement::styleForElement): + (WebCore::MediaControlInputElement::attach): + (WebCore::MediaControlInputElement::updateStyle): + (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement): + (WebCore::MediaControlTimeDisplayElement::styleForElement): + (WebCore::MediaControlTimeDisplayElement::setVisible): + * rendering/MediaControlElements.h: + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::shouldShowTimeDisplayControls): Make sure + we take in account the zoom level when deciding if we should hide the + ellapsed and remaining time. + +2009-07-09 Michael Nordman <michaeln@google.com> + + Reviewed by Darin Adler. + + Fix chromium build bustage due to Widget being a RefCounted class. + https://bugs.webkit.org/show_bug.cgi?id=27139 + + * platform/chromium/PopupMenuChromium.cpp: + * platform/chromium/PopupMenuChromium.h: + +2009-07-09 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + Bug 27130 - Need to implement ARIA role="toolbar" + https://bugs.webkit.org/show_bug.cgi?id=27130 + + Test: platform/mac/accessibility/aria-toolbar.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::RoleEntry::): + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper roleDescription]): + +2009-07-09 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Fisher. + + [Chromium] Upstream WebCore.gypi, the project file for Chromium build. + https://bugs.webkit.org/show_bug.cgi?id=27135 + + * WebCore.gypi: Added. + +2009-07-09 Jon Honeycutt <jhoneycutt@apple.com> + + A more robust fix for <rdar://problem/6930280> Reproducible crash at + USA Today photo gallery + + Reviewed by Steve Falkenburg. + + * plugins/win/PluginMessageThrottlerWin.cpp: + (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired): + Protect the PluginView from destruction before calling its window proc. + +2009-07-09 Jon Honeycutt <jhoneycutt@apple.com> + + <rdar://problem/6978804> WER #16: Repro Access Violation in + WebCore::PluginView::bindingInstance (1310178023) + + Reviewed by Darin Adler. + + * plugins/PluginView.cpp: + (WebCore::PluginView::bindingInstance): + Protect the PluginView from destruction before calling NPN_GetValue. If + the renderer for the PluginView was destroyed during the call, and the + PluginView's ref count is now 1, return null. + +2009-07-09 Jon Honeycutt <jhoneycutt@apple.com> + + Speculative fix for <rdar://problem/6991251> WER #13: Crash in + WebKit!WebCore::PluginView::performRequest+203 (1311461169) + + Reviewed by Darin Adler. + + * plugins/PluginView.cpp: + (WebCore::PluginView::performRequest): + Protect the PluginView from destruction before performing a load. + Removed some trailing whitespace. + +2009-07-09 Jon Honeycutt <jhoneycutt@apple.com> + + Build fix. + + * inspector/JavaScriptDebugServer.cpp: + (WebCore::JavaScriptDebugServer::setJavaScriptPaused): + +2009-07-09 Beth Dakin and Jon Honeycutt <bdakin@apple.com> + + Reviewed by Dave Hyatt. + + Make Widget RefCounted to fix or make fixable: + + <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs + at WebCore::Widget::afterMouseDown() after clicking To Do's close + box + <rdar://problem/6978804> WER #16: Repro Access Violation in + WebCore::PluginView::bindingInstance (1310178023) + -and- + <rdar://problem/6991251> WER #13: Crash in WebKit! + WebCore::PluginView::performRequest+203 (1311461169) + + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::createPlugin): + Changed to return PassRefPtr + (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget): + Ditto. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadSubframe): + (WebCore::FrameLoader::loadPlugin): + Make the widget variable a RefPtr. Use .get() when passing it to + RenderPart::setWidget(). + (WebCore::FrameLoader::createJavaAppletWidget): + Make the widget variable a RefPtr. + + * loader/FrameLoader.h: + Changed the return type of createJavaAppletWidget(). + + * loader/FrameLoaderClient.h: + Change the return types of createPlugin() and + createJavaAppletWidget(). + + * page/Frame.cpp: + (WebCore::Frame::createView): + No need to call .get() since setWidget() takes a RefPtr. + + * page/FrameView.cpp: + (WebCore::FrameView::layoutIfNeededRecursive): + children() now returns a HashSet of RefPtrs. + + * page/FrameView.h: + Remove inheritance from RefCounted; we pick this up from ScrollView + through Widget. + + * platform/ScrollView.cpp: + (WebCore::ScrollView::addChild): + addChild() now takes a PassRefPtr and m_children now keeps a + HashSet of RefPtrs. + + * platform/ScrollView.h: + ScrollView constructor is now protected. + (WebCore::ScrollView::children): + m_children is now a HashSet of RefPtrs. + + * platform/Scrollbar.h: + Remove inheritance from RefCounted; we pick this up from ScrollView + through Widget. + + * platform/Widget.h: + Inherit from RefCounted. Cleaned up some whitespace. Make m_widget + a RefPtr. + + * plugins/PluginView.cpp: + (WebCore::PluginView::create): + Adopt the PluginView when returning it. + + * plugins/PluginView.h: + Changed create() to return a PassRefPtr. + + * rendering/RenderApplet.cpp: + Receive result in a RefPtr when calling createJavaAppletWidget(). + + * rendering/RenderPart.cpp: + (WebCore::RenderPart::setWidget): + setWidget() now takes a PassRefPtr. Also removed the manual ref of + FrameViews. This is handled by having m_widget be a RefPtr. Removed + deleteWidget(). + + * rendering/RenderPart.h: + Removed override of deleteWidget(). + + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::destroy): + (WebCore::RenderWidget::setWidget): + (WebCore::RenderWidget::paint): + (WebCore::RenderWidget::setOverlapTestResult): + (WebCore::RenderWidget::updateWidgetPosition): + Use .get(). + (WebCore::RenderWidget::clearWidget): + Don't call deleteWidget(). It was removed. + + * rendering/RenderWidget.h: + Removed deleteWidget(). Made m_widget a RefPtr. + (WebCore::RenderWidget::widget): + Use .get(). + +2009-07-09 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + Bug 27129 - AX: possible assertion for a non-native image in accessibility + https://bugs.webkit.org/show_bug.cgi?id=27129 + + It's possible for an image that is not really an image to assert, because its renderer + is turned into a RenderImage. + + Test: accessibility/non-native-image-crash.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): + (WebCore::RoleEntry::): + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper roleDescription]): + +2009-07-09 Simon Fraser <simon.fraser@apple.com> + + Build fix for SnowLeopard. + + Avoid using the contentsTransform methods if not on Leopard, because + we don't need to call them. + + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::GraphicsLayerCA::updateContentsTransform): + * platform/graphics/mac/WebLayer.mm: + (-[WebLayer setNeedsDisplayInRect:]): + * platform/graphics/mac/WebTiledLayer.mm: + (-[WebTiledLayer setNeedsDisplayInRect:]): + +2009-07-09 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + Improve the appearance of text in compositing layers when -[CALayer geometryFlipped] + is not available. + <rdar://problem/6120614> + + * platform/graphics/GraphicsLayer.h: + (WebCore::GraphicsLayer::setContentsOrientation): + (WebCore::GraphicsLayer::contentsOrientation): + * platform/graphics/GraphicsLayer.cpp: + (WebCore::GraphicsLayer::GraphicsLayer): + Add a m_contentsOrientation member and getter/setter to control whether + the contents of this layer have a transform applied to them before display. + + * platform/graphics/mac/GraphicsLayerCA.h: + New method to return the default contents orientation. + + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::flipTransform): + Convenience method to return a transform with a Y flip. + + (WebCore::GraphicsLayerCA::GraphicsLayerCA): + (WebCore::GraphicsLayerCA::setSize): + After the size changes we have to update the contentsTransform. + + (WebCore::GraphicsLayerCA::setGeometryOrientation): + (WebCore::GraphicsLayerCA::geometryOrientation): + If -setGeometryFlipped: is not available, use a children transform. + + (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): + Tiled layers have issues with flipped contentsTransform, so just use + top-down drawing for them. Call updateContentsTransform() to set the + new contents transform after swapping layers. + + (WebCore::GraphicsLayerCA::defaultContentsOrientation): + Use bottom-up when -geometryFlipped is not available, otherwise top-down. + + (WebCore::GraphicsLayerCA::updateContentsTransform): + Set the layer contents transform based on contentsOrientation(). + + (WebCore::GraphicsLayerCA::setContentsLayer): + We have to manually flip contents layers if we're not using -geometryFlipped. + + * platform/graphics/mac/WebLayer.h: + * platform/graphics/mac/WebLayer.mm: + Do early return if layerContents is nil. Flip the CTM if the layer has + bottom-up coordinates, so that CG sees a CTM with no flip. + Do the CGContextRestoreGState() after drawing the debug indicator. + + (-[WebLayer setNeedsDisplayInRect:]): + * platform/graphics/mac/WebTiledLayer.mm: + (-[WebTiledLayer setNeedsDisplayInRect:]): + Need to map the dirty rect through the contentsTransform. + +2009-07-09 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Geoff Garen. + + <rdar://problem/6921671> Visit counter shouldn't be incremented by redirects. + + Can't test this functionality with layout tests. + + * WebCore.base.exp: + * history/HistoryItem.cpp: + (WebCore::HistoryItem::recordVisitAtTime): + (WebCore::HistoryItem::visited): + * history/HistoryItem.h: + Only increase visit count if explicitly told to. Now, some visits change last access time, + but do not increase visit count. + +2009-07-09 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/7046098> MediaControllerThemeQT requires QuickTime 7.6.3 + + Require QuickTime 7.6.3 or higher to enable the new media controller UI. + + * rendering/RenderThemeMac.mm: + (WebCore::mediaControllerTheme): + +2009-07-09 Sam Weinig <sam@webkit.org> + + Reviewed by Beth Dakin. + + Remove incorrect comment. + + * page/MouseEventWithHitTestResults.h: + +2009-07-09 Mads Ager <ager@chromium.org> + + Reviewed by Dimitri Glazkov. + + Update the V8 bindings codegenerator to use the RGBColor::create + method to handle refcounts for RGBColor objects correctly. + + * bindings/scripts/CodeGeneratorV8.pm: Use RGBColor::create to create RGBColor objects. + +2009-07-09 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Adele Peterson. + + Crash in RenderMedia::styleDidChange. + <rdar://problem/7044313> CrashTracer: quicklook crashed generating thumbnail for page with + media element (RenderMedia::styleDidChange + 115) + + Speculative fix for crash in styleDidChange. Null check controller elements before tell + them to update style. + + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::styleDidChange): + +2009-07-09 Adam Barth <abarth@webkit.org> + + Reviewed by Dimitri Glazkov. + + [V8] Move V8DOMWrapper to its own file + https://bugs.webkit.org/show_bug.cgi?id=27121 + + * bindings/v8/V8DOMWrapper.cpp: Added. + (WebCore::GetToStringName): + (WebCore::ConstructorToString): + (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object): + (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object): + (WebCore::V8DOMWrapper::domObjectHasJSWrapper): + (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): + (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): + (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): + (WebCore::V8DOMWrapper::getTemplate): + (WebCore::V8DOMWrapper::convertToV8Object): + (WebCore::V8DOMWrapper::setHiddenWindowReference): + (WebCore::V8DOMWrapper::domWrapperType): + (WebCore::V8DOMWrapper::convertToNativeObjectImpl): + (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl): + (WebCore::V8DOMWrapper::lookupDOMWrapper): + (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper): + (WebCore::V8DOMWrapper::wrapNativeNodeFilter): + (WebCore::V8DOMWrapper::instantiateV8Object): + (WebCore::V8DOMWrapper::setDOMWrapper): + (WebCore::V8DOMWrapper::maybeDOMWrapper): + (WebCore::V8DOMWrapper::isDOMEventWrapper): + (WebCore::V8DOMWrapper::isWrapperOfType): + (WebCore::V8DOMWrapper::htmlElementType): + (WebCore::V8DOMWrapper::svgElementType): + (WebCore::V8DOMWrapper::convertEventToV8Object): + (WebCore::): + (WebCore::V8DOMWrapper::convertNodeToV8Object): + (WebCore::V8DOMWrapper::convertEventTargetToV8Object): + (WebCore::V8DOMWrapper::convertEventListenerToV8Object): + (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object): + (WebCore::V8DOMWrapper::convertStyleSheetToV8Object): + (WebCore::V8DOMWrapper::convertCSSValueToV8Object): + (WebCore::V8DOMWrapper::convertCSSRuleToV8Object): + (WebCore::V8DOMWrapper::convertWindowToV8Object): + * bindings/v8/V8DOMWrapper.h: Added. + (WebCore::V8DOMWrapper::convertDOMWrapperToNative): + (WebCore::V8DOMWrapper::wrapCPointer): + (WebCore::V8DOMWrapper::extractCPointer): + (WebCore::V8DOMWrapper::convertDOMWrapperToNode): + (WebCore::V8DOMWrapper::convertToV8Object): + (WebCore::V8DOMWrapper::convertToNativeObject): + (WebCore::V8DOMWrapper::convertToNativeEvent): + (WebCore::V8DOMWrapper::extractCPointerImpl): + (WebCore::V8DOMWrapper::instantiateV8Object): + * bindings/v8/V8Proxy.cpp: + * bindings/v8/V8Proxy.h: + +2009-07-09 David Hyatt <hyatt@apple.com> + + Reviewed by Adele Peterson. + + Crash in setFocusedFrame. + <rdar://7032869> Crashing in setFocusedFrame on blogger.com. + + Speculative fix for crasher in setFocusedFrame. Make sure to ref both frames and fire + the events only after the local member has been updated. + + * page/FocusController.cpp: + (WebCore::FocusController::setFocusedFrame): + +2009-07-09 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Adele Peterson. + + Possible crashes when mouse clicks not dispatched because range input destroyed while + thumb is being dragged (e.g. scrub to end of movie) + <rdar://problem/7037494> + https://bugs.webkit.org/show_bug.cgi?id=27101 + + Some shadow nodes "capture" all mouse events from mouseDown to mouseUp so they continue to + get mouse events even when the mouse is moved outside of the node. This is done by putting + EventHandler into a mode where it sends all mouse events to the node regardless of the + actual mouse position. The mode is set on mouseDown and cleared on mouseUp but if the + node is deleted while in this mode, the mouseUp is never sent and EventHandler continues + to try to send events to the deleted node. This sometimes results in a crash, and sometimes + in a page that doesn't respond to click events. + + Tests: fast/forms/search-delete-while-cancel-button-clicked.html + fast/forms/slider-delete-while-dragging-thumb.html + media/audio-delete-while-slider-thumb-clicked.html + media/audio-delete-while-step-button-clicked.html + + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlSeekButtonElement::detach): + New, call setCapturingMouseEventsNode if capturing mouse events. + * rendering/MediaControlElements.h: + Declare detach(). + + * rendering/RenderSlider.cpp: + (WebCore::SliderThumbElement::detach): + New, call setCapturingMouseEventsNode if capturing mouse events. + + * rendering/TextControlInnerElements.cpp: + (WebCore::SearchFieldCancelButtonElement::detach): + New, call setCapturingMouseEventsNode if capturing mouse events. + * rendering/TextControlInnerElements.h: + Declare detach(). + +2009-07-09 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Dimitri Glazkov. + + Enter the Frame's context before creating new objects in setContextDebugId. + + https://bugs.webkit.org/show_bug.cgi?id=27112 + + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::setContextDebugId): + +2009-07-09 Simon Hausmann <hausmann@webkit.org> + + Fix the Qt build. + + * WebCore.pro: Add new storage impl files to the build. + +2009-07-08 Adam Barth <abarth@webkit.org> + + Rubber stamped by Eric Seidel. + + [V8] Move DOM wrapper functions in V8Proxy to V8DOMWrapper + https://bugs.webkit.org/show_bug.cgi?id=27107 + + This patch is just renaming. Code motion will occur next. + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::processingUserGesture): + (WebCore::createScriptObject): + (WebCore::ScriptController::createScriptObjectForPluginElement): + * bindings/v8/ScriptObject.cpp: + (WebCore::ScriptGlobalObject::set): + * bindings/v8/ScriptObjectQuarantine.cpp: + (WebCore::getQuarantinedScriptObject): + * bindings/v8/V8AbstractEventListener.cpp: + (WebCore::V8AbstractEventListener::handleEvent): + (WebCore::V8AbstractEventListener::getReceiverObject): + * bindings/v8/V8Collection.cpp: + (WebCore::toOptionsCollectionSetter): + * bindings/v8/V8Collection.h: + (WebCore::getV8Object): + (WebCore::getNamedPropertyOfCollection): + (WebCore::nodeCollectionNamedPropertyGetter): + (WebCore::getIndexedPropertyOfCollection): + (WebCore::nodeCollectionIndexedPropertyGetter): + (WebCore::nodeCollectionIndexedPropertyEnumerator): + (WebCore::collectionIndexedPropertyEnumerator): + (WebCore::collectionStringOrNullIndexedPropertyGetter): + * bindings/v8/V8DOMMap.cpp: + (WebCore::DOMData::handleWeakObject): + (WebCore::DOMData::removeObjectsFromWrapperMap): + * bindings/v8/V8GCController.cpp: + (WebCore::enumerateDOMObjectMap): + (WebCore::DOMObjectVisitor::visitDOMWrapper): + (WebCore::GCPrologueVisitor::visitDOMWrapper): + (WebCore::GCEpilogueVisitor::visitDOMWrapper): + * bindings/v8/V8Helpers.cpp: + (WebCore::wrapNPObject): + * bindings/v8/V8NodeFilterCondition.cpp: + (WebCore::V8NodeFilterCondition::acceptNode): + * bindings/v8/V8Proxy.cpp: + (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object): + (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object): + (WebCore::V8DOMWrapper::domObjectHasJSWrapper): + (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): + (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): + (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): + (WebCore::V8Proxy::evaluateInNewContext): + (WebCore::V8Proxy::getConstructor): + (WebCore::V8DOMWrapper::getTemplate): + (WebCore::V8Proxy::retrieveWindow): + (WebCore::V8Proxy::updateDocumentWrapperCache): + (WebCore::V8Proxy::clearForNavigation): + (WebCore::V8Proxy::installDOMWindow): + (WebCore::setDOMExceptionHelper): + (WebCore::V8DOMWrapper::convertToV8Object): + (WebCore::V8DOMWrapper::setHiddenWindowReference): + (WebCore::V8DOMWrapper::domWrapperType): + (WebCore::V8DOMWrapper::convertToNativeObjectImpl): + (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl): + (WebCore::V8DOMWrapper::lookupDOMWrapper): + (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper): + (WebCore::V8DOMWrapper::wrapNativeNodeFilter): + (WebCore::V8DOMWrapper::instantiateV8Object): + (WebCore::V8DOMWrapper::setDOMWrapper): + (WebCore::V8DOMWrapper::maybeDOMWrapper): + (WebCore::V8DOMWrapper::isDOMEventWrapper): + (WebCore::V8DOMWrapper::isWrapperOfType): + (WebCore::V8DOMWrapper::htmlElementType): + (WebCore::V8DOMWrapper::svgElementType): + (WebCore::V8DOMWrapper::convertEventToV8Object): + (WebCore::V8DOMWrapper::convertNodeToV8Object): + (WebCore::V8DOMWrapper::convertEventTargetToV8Object): + (WebCore::V8DOMWrapper::convertEventListenerToV8Object): + (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object): + (WebCore::V8DOMWrapper::convertStyleSheetToV8Object): + (WebCore::V8DOMWrapper::convertCSSValueToV8Object): + (WebCore::V8DOMWrapper::convertCSSRuleToV8Object): + (WebCore::V8DOMWrapper::convertWindowToV8Object): + (WebCore::V8Proxy::bindJsObjectToWindow): + * bindings/v8/V8Proxy.h: + (WebCore::V8DOMWrapper::convertDOMWrapperToNative): + (WebCore::V8DOMWrapper::wrapCPointer): + (WebCore::V8DOMWrapper::extractCPointer): + (WebCore::V8DOMWrapper::convertDOMWrapperToNode): + (WebCore::V8DOMWrapper::convertToV8Object): + (WebCore::V8DOMWrapper::convertToNativeObject): + (WebCore::V8DOMWrapper::convertToNativeEvent): + (WebCore::V8DOMWrapper::extractCPointerImpl): + (WebCore::V8DOMWrapper::instantiateV8Object): + (WebCore::V8Proxy::constructDOMObject): + (WebCore::toV8): + * bindings/v8/V8SVGPODTypeWrapper.h: + (WebCore::V8SVGPODTypeUtil::toSVGPODType): + * bindings/v8/WorkerContextExecutionProxy.cpp: + (WebCore::WorkerContextExecutionProxy::retrieve): + (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): + (WebCore::WorkerContextExecutionProxy::GetConstructor): + (WebCore::WorkerContextExecutionProxy::ToV8Object): + (WebCore::WorkerContextExecutionProxy::EventToV8Object): + (WebCore::WorkerContextExecutionProxy::toV8): + * bindings/v8/custom/V8AttrCustom.cpp: + (WebCore::ACCESSOR_SETTER): + * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: + (WebCore::NAMED_PROPERTY_GETTER): + (WebCore::NAMED_PROPERTY_SETTER): + * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: + (WebCore::INDEXED_PROPERTY_GETTER): + (WebCore::INDEXED_PROPERTY_SETTER): + * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: + (WebCore::toV8): + (WebCore::toCanvasStyle): + (WebCore::ACCESSOR_GETTER): + (WebCore::ACCESSOR_SETTER): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8ClientRectListCustom.cpp: + (WebCore::INDEXED_PROPERTY_GETTER): + * bindings/v8/custom/V8ClipboardCustom.cpp: + (WebCore::ACCESSOR_GETTER): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8CustomBinding.cpp: + (WebCore::ACCESSOR_GETTER): + (WebCore::INDEXED_ACCESS_CHECK): + (WebCore::NAMED_ACCESS_CHECK): + (WebCore::V8Custom::GetTargetFrame): + * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: + (WebCore::V8CustomSQLStatementCallback::handleEvent): + * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: + (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): + * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: + (WebCore::V8CustomSQLTransactionCallback::handleEvent): + * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: + (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent): + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::V8Custom::WindowSetTimeoutImpl): + (WebCore::ACCESSOR_SETTER): + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::ACCESSOR_GETTER): + (WebCore::INDEXED_PROPERTY_GETTER): + (WebCore::NAMED_PROPERTY_GETTER): + (WebCore::V8Custom::ClearTimeoutImpl): + (WebCore::NAMED_ACCESS_CHECK): + (WebCore::INDEXED_ACCESS_CHECK): + * bindings/v8/custom/V8DatabaseCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8DocumentCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8DocumentLocationCustom.cpp: + (WebCore::ACCESSOR_GETTER): + (WebCore::ACCESSOR_SETTER): + * bindings/v8/custom/V8ElementCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::ACCESSOR_SETTER): + (WebCore::ACCESSOR_GETTER): + * bindings/v8/custom/V8EventCustom.cpp: + (WebCore::ACCESSOR_SETTER): + (WebCore::ACCESSOR_GETTER): + * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLCollectionCustom.cpp: + (WebCore::getNamedItems): + (WebCore::getItem): + (WebCore::NAMED_PROPERTY_GETTER): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLDocumentCustom.cpp: + (WebCore::NAMED_PROPERTY_GETTER): + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::ACCESSOR_GETTER): + * bindings/v8/custom/V8HTMLFormElementCustom.cpp: + (WebCore::INDEXED_PROPERTY_GETTER): + (WebCore::NAMED_PROPERTY_GETTER): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: + (WebCore::ACCESSOR_SETTER): + * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: + (WebCore::NAMED_PROPERTY_GETTER): + * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: + (WebCore::ACCESSOR_SETTER): + * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLInputElementCustom.cpp: + (WebCore::ACCESSOR_GETTER): + (WebCore::ACCESSOR_SETTER): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::ACCESSOR_GETTER): + (WebCore::ACCESSOR_SETTER): + (WebCore::INDEXED_PROPERTY_GETTER): + (WebCore::INDEXED_PROPERTY_SETTER): + * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: + (WebCore::NAMED_PROPERTY_GETTER): + (WebCore::NAMED_PROPERTY_SETTER): + (WebCore::INDEXED_PROPERTY_GETTER): + (WebCore::INDEXED_PROPERTY_SETTER): + * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: + (WebCore::NAMED_PROPERTY_GETTER): + (WebCore::INDEXED_PROPERTY_SETTER): + * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::removeElement): + * bindings/v8/custom/V8InspectorControllerCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8LocationCustom.cpp: + (WebCore::ACCESSOR_SETTER): + (WebCore::ACCESSOR_GETTER): + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::INDEXED_ACCESS_CHECK): + (WebCore::NAMED_ACCESS_CHECK): + * bindings/v8/custom/V8MessageChannelConstructor.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8MessagePortCustom.cpp: + (WebCore::ACCESSOR_GETTER): + (WebCore::ACCESSOR_SETTER): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8NamedNodeMapCustom.cpp: + (WebCore::INDEXED_PROPERTY_GETTER): + (WebCore::NAMED_PROPERTY_GETTER): + * bindings/v8/custom/V8NavigatorCustom.cpp: + (WebCore::ACCESSOR_GETTER): + * bindings/v8/custom/V8NodeCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8NodeIteratorCustom.cpp: + (WebCore::toV8): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8NodeListCustom.cpp: + (WebCore::NAMED_PROPERTY_GETTER): + * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8SQLTransactionCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8SVGLengthCustom.cpp: + (WebCore::ACCESSOR_GETTER): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8SVGMatrixCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8StorageCustom.cpp: + (WebCore::V8Custom::v8StorageNamedPropertyEnumerator): + (WebCore::storageGetter): + (WebCore::storageSetter): + (WebCore::storageDeleter): + * bindings/v8/custom/V8StyleSheetListCustom.cpp: + (WebCore::NAMED_PROPERTY_GETTER): + * bindings/v8/custom/V8TreeWalkerCustom.cpp: + (WebCore::toV8): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8WorkerContextCustom.cpp: + (WebCore::ACCESSOR_GETTER): + (WebCore::ACCESSOR_SETTER): + (WebCore::SetTimeoutOrInterval): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8WorkerCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::ACCESSOR_GETTER): + (WebCore::ACCESSOR_SETTER): + * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: + (WebCore::ACCESSOR_GETTER): + (WebCore::ACCESSOR_SETTER): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: + (WebCore::ACCESSOR_GETTER): + (WebCore::ACCESSOR_SETTER): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8XSLTProcessorCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + +2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com> + + Reviewed by Simon Fraser. + + Make sure we can click outside the slider thumb and start dragging. + https://bugs.webkit.org/show_bug.cgi?id=26229 + + Previously we were assuming that if the thumb hasn't been clicked, we + wouldn't issue any value change upon dragging. + + We need to handle the two different cases: + - Clicked in the thumb, we need to make sure the cursor is always pointing + the same slider thumb point. + - Clicked outside, the cursor should always be pointing to the center of + the thumb. + + For simplicity, we don't remember the original point of the mouse down, + but a vector between that point and the thumb. + + * rendering/RenderSlider.cpp: + (WebCore::SliderThumbElement::SliderThumbElement): + (WebCore::SliderThumbElement::defaultEventHandler): + (WebCore::RenderSlider::mouseEventVectorToThumb): Utility function. + * rendering/RenderSlider.h: + +2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=27100 + <rdar://problem/7042621> + + Don't display "loading" in the <video> controller when + there is no src specified. + + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlStatusDisplayElement::update): The only + way to find out if we have an element is currentSrc(). networkState() + will always report LOADING according to the spec. + +2009-07-08 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + [V8] Move V8GCController functions to their own file + https://bugs.webkit.org/show_bug.cgi?id=27102 + + * bindings/v8/V8GCController.cpp: Added. + * bindings/v8/V8GCController.h: Added. + * bindings/v8/V8Proxy.cpp: + * bindings/v8/V8Proxy.h: + +2009-07-08 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Darin Fisher. + + Split StorageArea and StorageNamespace into an interface and implementation. + https://bugs.webkit.org/show_bug.cgi?id=27072 + + I need to split StorageNamespace and StorageArea into an interface and + implementation. In a later patch, I'll implement a proxy interface + that'll run inside the Chromium renderer process. + + Additionally, fix the alphabetical ordering of files I recently added + in the project files. + + This is a continuation of other refactoring work: + https://bugs.webkit.org/show_bug.cgi?id=25376 + + * GNUmakefile.am: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * storage/StorageArea.cpp: + (WebCore::StorageArea::create): + * storage/StorageArea.h: + (WebCore::StorageArea::~StorageArea): + * storage/StorageAreaImpl.cpp: Copied from WebCore/storage/StorageArea.cpp. + (WebCore::StorageAreaImpl::create): + (WebCore::StorageAreaImpl::~StorageAreaImpl): + (WebCore::StorageAreaImpl::StorageAreaImpl): + (WebCore::StorageAreaImpl::copy): + (WebCore::StorageAreaImpl::length): + (WebCore::StorageAreaImpl::key): + (WebCore::StorageAreaImpl::getItem): + (WebCore::StorageAreaImpl::setItem): + (WebCore::StorageAreaImpl::removeItem): + (WebCore::StorageAreaImpl::clear): + (WebCore::StorageAreaImpl::contains): + (WebCore::StorageAreaImpl::importItem): + (WebCore::StorageAreaImpl::securityOrigin): + (WebCore::StorageAreaImpl::close): + (WebCore::StorageAreaImpl::blockUntilImportComplete): + (WebCore::StorageAreaImpl::dispatchStorageEvent): + * storage/StorageAreaImpl.h: Copied from WebCore/storage/StorageArea.h. + * storage/StorageAreaSync.h: + * storage/StorageNamespace.cpp: + (WebCore::StorageNamespace::localStorageNamespace): + (WebCore::StorageNamespace::sessionStorageNamespace): + * storage/StorageNamespace.h: + (WebCore::StorageNamespace::~StorageNamespace): + * storage/StorageNamespaceImpl.cpp: Copied from WebCore/storage/StorageNamespace.cpp. + (WebCore::StorageNamespaceImpl::localStorageNamespace): + (WebCore::StorageNamespaceImpl::sessionStorageNamespace): + (WebCore::StorageNamespaceImpl::StorageNamespaceImpl): + (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl): + (WebCore::StorageNamespaceImpl::copy): + (WebCore::StorageNamespaceImpl::storageArea): + (WebCore::StorageNamespaceImpl::close): + * storage/StorageNamespaceImpl.h: Copied from WebCore/storage/StorageNamespace.h. + +2009-07-08 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + [V8] Move garbage collector related functions from V8Proxy to V8GCController + https://bugs.webkit.org/show_bug.cgi?id=26967 + + This patch just moves the functions around in V8Proxy. We'll actually + move them to a separate file in another patch. + + * bindings/v8/NPV8Object.cpp: + (freeV8NPObject): + * bindings/v8/ScheduledAction.cpp: + (WebCore::ScheduledAction::ScheduledAction): + (WebCore::ScheduledAction::~ScheduledAction): + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::gcProtectJSWrapper): + (WebCore::ScriptController::gcUnprotectJSWrapper): + * bindings/v8/ScriptInstance.cpp: + (WebCore::V8ScriptInstance::clear): + (WebCore::V8ScriptInstance::set): + * bindings/v8/ScriptValue.h: + (WebCore::ScriptValue::ScriptValue): + (WebCore::ScriptValue::operator=): + (WebCore::ScriptValue::clear): + * bindings/v8/V8AbstractEventListener.cpp: + (WebCore::V8AbstractEventListener::disposeListenerObject): + * bindings/v8/V8LazyEventListener.cpp: + (WebCore::V8LazyEventListener::~V8LazyEventListener): + (WebCore::V8LazyEventListener::getListenerFunction): + (WebCore::V8LazyEventListener::getWrappedListenerFunction): + * bindings/v8/V8NodeFilterCondition.cpp: + (WebCore::V8NodeFilterCondition::V8NodeFilterCondition): + (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition): + * bindings/v8/V8Proxy.cpp: + (WebCore::V8GCController::registerGlobalHandle): + (WebCore::V8GCController::unregisterGlobalHandle): + (WebCore::V8GCController::gcProtect): + (WebCore::V8GCController::gcUnprotect): + (WebCore::V8Proxy::destroyGlobal): + (WebCore::V8Proxy::updateDocumentWrapper): + (WebCore::V8Proxy::clearDocumentWrapper): + (WebCore::V8Proxy::disposeContextHandles): + (WebCore::V8Proxy::initContextIfNeeded): + * bindings/v8/V8Proxy.h: + (WebCore::): + (WebCore::GlobalHandleInfo::GlobalHandleInfo): + * bindings/v8/custom/V8CustomEventListener.cpp: + (WebCore::V8EventListener::V8EventListener): + +2009-07-08 Daniel Bates <dbates@intudata.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=26918 + + Prevents injection of HTML Base tag. + + Tests: http/tests/security/xssAuditor/base-href-control-char.html + http/tests/security/xssAuditor/base-href-null-char.html + http/tests/security/xssAuditor/base-href-safe.html + http/tests/security/xssAuditor/base-href-safe2.html + http/tests/security/xssAuditor/base-href-scheme-relative.html + http/tests/security/xssAuditor/base-href.html + + * html/HTMLBaseElement.cpp: + (WebCore::HTMLBaseElement::parseMappedAttribute): + (WebCore::HTMLBaseElement::process): Modified to call XSSAuditor::canSetBaseElementURL + to determine if it is safe to use base element URL. + * html/HTMLBaseElement.h: Added field m_hrefAttrValue to store unparsed base element URL. + * page/XSSAuditor.cpp: + (WebCore::XSSAuditor::canSetBaseElementURL): + * page/XSSAuditor.h: + +2009-07-08 Nate Chapin <japhet@chromium.org> + + Reviewed by Dimitri Glazkov. + + Upstream V8 npruntime bindings. + + https://bugs.webkit.org/show_bug.cgi?id=27094 + + * bindings/v8/npruntime.cpp: Upstreamed from src.chromium.org. + (StringKey::operator==): + (StringKey::StringKeyHash::hash): + (StringKey::StringKeyHash::equal): + (StringKeyHashTraits::constructDeletedValue): + (StringKeyHashTraits::isDeletedValue): + (getStringIdentifierMap): + (getIntIdentifierMap): + * bindings/v8/npruntime_impl.h: Upstreamed from src.chromium.org. + * bindings/v8/npruntime_internal.h: Upstreamed from src.chromium.org. + * bindings/v8/npruntime_priv.h: Upstreamed from src.chromium.org. + +2009-07-08 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Darin Fisher. + + Extending the PlatformFileHandle definition from PLATFORM(WIN) to + PLATFORM(WIN_OS) + + https://bugs.webkit.org/show_bug.cgi?id=27013 + + * platform/FileSystem.h: + +2009-07-08 Daniel Bates <dbates@intudata.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=27071 + + Resolves issue when HTTP parameters contain null- and non-null-control- characters. + + Tests: http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html + http/tests/security/xssAuditor/embed-tag-control-char.html + http/tests/security/xssAuditor/embed-tag-null-char.html + http/tests/security/xssAuditor/embed-tag.html + http/tests/security/xssAuditor/link-onclick-control-char.html + http/tests/security/xssAuditor/link-onclick-null-char.html + http/tests/security/xssAuditor/object-embed-tag-control-char.html + http/tests/security/xssAuditor/object-embed-tag-null-char.html + http/tests/security/xssAuditor/object-embed-tag.html + http/tests/security/xssAuditor/object-tag.html + http/tests/security/xssAuditor/script-tag-post-control-char.html + http/tests/security/xssAuditor/script-tag-post-null-char.html + http/tests/security/xssAuditor/script-tag-with-source-control-char.html + http/tests/security/xssAuditor/script-tag-with-source-null-char.html + + * page/XSSAuditor.cpp: + (WebCore::isNonNullControlCharacter): Called by XSSAuditor::decodeURL. + (WebCore::XSSAuditor::canEvaluate): + (WebCore::XSSAuditor::canCreateInlineEventListener): + (WebCore::XSSAuditor::canLoadObject): + (WebCore::XSSAuditor::decodeURL): Added parameters matchNullCharacters, + and matchNonNullControlCharacters. + (WebCore::XSSAuditor::findInRequest): Added parameters matchNullCharacters, + and matchNonNullControlCharacters. + * page/XSSAuditor.h: + +2009-07-08 Marc-Antoine Ruel <maruel@chromium.org> + + Reviewed by Dimitri Glazkov. + + Add DerivesSourcesAllInOne.cpp to help with release windows compilation. + https://bugs.webkit.org/show_bug.cgi?id=27093 + + This is specific for v8, no change in behavior. + + * bindings/v8/DerivedSourcesAllInOne.cpp: Added. + +2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=27086 + + Make sure the Media controller doesn't fade in for no reason. + This is happening because a update() call to the controller + panel may reset the opacity to 1.0, given that it reloads the + style. + + We also add a different fade in and fade out time to soften + the fade out effect. + + No test case because this depends on how the movie is loaded. + + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::RenderMedia): + (WebCore::RenderMedia::updateControls): + (WebCore::RenderMedia::updateControlVisibility): Simplify + , and make sure we stop the timer if there is no animation + to do. + (WebCore::RenderMedia::opacityAnimationTimerFired): + * rendering/RenderMedia.h: + +2009-07-08 David Kilzer <ddkilzer@apple.com> + + Bug 27081: Wrap RunLoopTimerCF.cpp in PLATFORM(MAC) && HAVE(RUNLOOP_TIMER) + + <https://bugs.webkit.org/show_bug.cgi?id=27081> + + Reviewed by Timothy Hatcher. + + * platform/cf/RunLoopTimerCF.cpp: This code is only used on + Mac OS X when HAVE(RUNLOOP_TIMER) is enabled, so wrap the code + in that macro as well. + +2009-07-08 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Darin Adler. + + Add -[WebView _isProcessingUserGesture] + https://bugs.webkit.org/show_bug.cgi?id=27084 + + Rename FrameLoader::userGestureHint() to FrameLoader::isProcessingUserGesture() + for clarity. + + * WebCore.base.exp: Add WebCore::FrameLoader::isProcessingUserGesture() + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::processingUserGesture): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::requestFrame): + (WebCore::FrameLoader::isProcessingUserGesture): + * loader/FrameLoader.h: + +2009-07-08 Alexey Proskuryakov <ap@webkit.org> + + Reviewed (an earlier version) by Geoff Garen. + + https://bugs.webkit.org/show_bug.cgi?id=27090 + Remove lockBackForwardList argument from HTMLFormElement::submit() + + No change in behavior, so no tests. + + * bindings/js/JSHTMLFormElementCustom.cpp: + (WebCore::JSHTMLFormElement::submit): + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::submit): + * html/HTMLFormElement.h: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::submitForm): + (WebCore::FrameLoader::scheduleFormSubmission): + * loader/FrameLoader.h: + Don't pass lockBackForwardList around when it's known to be false. + +2009-07-08 Marc-Antoine Ruel <maruel@chromium.org> + + Reviewed by Adam Barth. + + Fix V8 idl codegen to use unique constant names + <https://bugs.webkit.org/show_bug.cgi?id=27089> + + Embed the interface name in the global constant names so coagulating all + the .cc files into one compile unit works with V8 bindings. + + Nothing added; Still compiles and pass tests. + + * bindings/scripts/CodeGeneratorV8.pm: + +2009-07-08 Brent Fulgham <bfulgham@webkit.org> + + Build fix: Add missing #includes for Windows (cURL) build. + The <winsock2.h> and <windows.h> headers were not being + included in Windows cURL builds. + + * platform/network/ResourceHandleInternal.h: + * platform/network/curl/ResourceHandleManager.h: + +2009-07-08 Shinichiro Hamaji <hamaji@chromium.org> + + Reviewed by David Kilzer. + + WebKit needs a style linting tool + https://bugs.webkit.org/show_bug.cgi?id=25884 + + Fix bunch of style issues in WebCore/rendering. + This patch is created to demonstrate cpplint.py. + + No testcase because it's just a style fixes. + + * rendering/AutoTableLayout.cpp: + (WebCore::AutoTableLayout::recalcColumn): + (WebCore::AutoTableLayout::layout): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::placeEllipsisBox): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paintTextMatchMarker): + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlTimelineElement::defaultEventHandler): + * rendering/MediaControlElements.h: + * rendering/RenderArena.cpp: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::startDelayUpdateScrollInfo): + (WebCore::RenderBlock::finishDelayUpdateScrollInfo): + (WebCore::RenderBlock::updateScrollInfoAfterLayout): + (WebCore::RenderBlock::positionNewFloats): + (WebCore::RenderBlock::newLine): + (WebCore::RenderBlock::floatBottom): + (WebCore::RenderBlock::leftBottom): + (WebCore::RenderBlock::rightBottom): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::calcReplacedWidthUsing): + * rendering/RenderFieldset.cpp: + (WebCore::RenderFieldset::layoutLegend): + * rendering/RenderFlexibleBox.cpp: + (WebCore::FlexBoxIterator::FlexBoxIterator): + (WebCore::FlexBoxIterator::reset): + (WebCore::FlexBoxIterator::first): + (WebCore::FlexBoxIterator::next): + (WebCore::RenderFlexibleBox::layoutVerticalBox): + * rendering/RenderFrameSet.cpp: + (WebCore::borderStartEdgeColor): + * rendering/RenderFrameSet.h: + * rendering/RenderImage.cpp: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateVisibilityStatus): + (WebCore::RenderLayer::calculateClipRects): + (WebCore::RenderLayer::calculateRects): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::panScroll): + * rendering/RenderMarquee.cpp: + (WebCore::RenderMarquee::updateMarqueeStyle): + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::updateControls): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::drawLineForBoxSide): + (WebCore::RenderObject::localCaretRect): + * rendering/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::adjustRectsForAspectRatio): + * rendering/RenderSlider.h: + * rendering/RenderTable.cpp: + (WebCore::RenderTable::outerBorderBottom): + * rendering/RenderTableCol.h: + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::itemIsSeparator): + * rendering/RenderThemeChromiumSkia.cpp: + (WebCore::RenderThemeChromiumSkia::supportsHover): + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::supportsFocusRing): + * rendering/SVGCharacterLayoutInfo.cpp: + (WebCore::SVGCharacterLayoutInfo::addStackContent): + * rendering/SVGCharacterLayoutInfo.h: + * rendering/TextControlInnerElements.h: + * rendering/bidi.cpp: + (WebCore::RenderBlock::computeHorizontalPositionsForLine): + +2009-07-07 Oliver Hunt <oliver@apple.com> + + Reviewed by Maciej Stachowiak. + + Reduce complexity of lifetime management in DynamicNodeList caches + <https://bugs.webkit.org/show_bug.cgi?id=27068> + + Switch the Cache object used by DynamicNodeList into a normal + refcounted object rather than having a weird flag controlled + refcounting system, where positive refcount did not automatically + imply the cache object would actually still be live. + + * dom/DynamicNodeList.cpp: + (WebCore::DynamicNodeList::DynamicNodeList): + (WebCore::DynamicNodeList::~DynamicNodeList): + (WebCore::DynamicNodeList::Caches::Caches): + (WebCore::DynamicNodeList::Caches::create): + * dom/DynamicNodeList.h: + * dom/Node.cpp: + (WebCore::Node::childNodes): + (WebCore::Node::getElementsByTagNameNS): + (WebCore::Node::getElementsByName): + (WebCore::Node::getElementsByClassName): + (WebCore::NodeListsNodeData::invalidateCaches): + (WebCore::NodeListsNodeData::isEmpty): + * dom/NodeRareData.h: + (WebCore::NodeListsNodeData::NodeListsNodeData): + +2009-07-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + -webkit-perspective should be a Length + https://bugs.webkit.org/show_bug.cgi?id=27066 + + -webkit-perspective should not take a magic valueless number, but should + be a normal Length value which responds to zooming. Treat valueless numbers + as pixels for backward compatibility. + + Test: transforms/3d/general/perspective-units.html + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + +2009-07-07 Pierre d'Herbemont <pdherbemont@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=27047 + + We need to make sure that when we reattach, we also reattach + the children in every MediaControlElement. Else we may end up + having no remaining or elapsed time. + + We have to handle that, because we are using a special shadow + tree in the DOM, and that we are ourselves handling + attaching/detaching the renderer. + + The strategy here is to try to implement ::attach(), and try + to reuse as much code as we can from the super class, including + children attachement. + + Test: media/controls-after-reload.html + + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlElement::styleForElement): Code factoring. + (WebCore::MediaControlElement::rendererIsNeeded): Code factoring. + (WebCore::MediaControlElement::attach): Implement attach + and call super class so that children are also attached. + (WebCore::MediaControlElement::updateStyle): Use attach() + (WebCore::MediaControlInputElement::styleForElement): Code factoring. + (WebCore::MediaControlInputElement::rendererIsNeeded): Code factoring. + (WebCore::MediaControlInputElement::attach): See above. + (WebCore::MediaControlInputElement::updateStyle): Use attach() + * rendering/MediaControlElements.h: + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::updateControls): Directly run attach() on + the m_panel, which is a root node for our shadow tree. + +2009-07-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Repaint issue after layer drops out of composited mode. + <https://bugs.webkit.org/show_bug.cgi?id=27022> + + RenderLayers cache repaint rects in the form of m_repaintRect and m_outlineBox, + and expect these to stay valid from one style change to the next. These rects + are relative to the repaint container, so if a layer stops being composited, + we need to recompute them. + + Test: compositing/repaint/layer-repaint-rects.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::computeRepaintRects): + * rendering/RenderLayer.h: + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::updateBacking): + +2009-07-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt and Darin Adler. + + - fix https://bugs.webkit.org/show_bug.cgi?id=26963 + <rdar://problem/7030998> Reproducible crash at + FontCache::getFontData() when a custom font is used in a pseudo-style + + Test: fast/css/pseudo-cache-stale.html + + * dom/Element.cpp: + (WebCore::Element::pseudoStyleCacheIsInvalid): Added. Given the old + style and the new style, goes over cached pseudo-styles in the old + style and re-resolves the same style types off the new style. If any of + the new pseudo-styles is different from the currently cached + corresponding style, returns true. Otherwise, returns false. + (WebCore::Element::recalcStyle): Validate the pseudo-style cache before + deciding to keep the existing style. + * dom/Element.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::uncachedFirstLineStyle): Added this version that + returns an uncached first-line style based off the given style. + (WebCore::RenderObject::getUncachedPseudoStyle): Added the 'ownStyle' + parameter. + * rendering/RenderObject.h: + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::getPseudoStyleCache): Added. Returns the cached + pseudo-styles in the passed-in vector. + * rendering/style/RenderStyle.h: + +2009-07-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + - fix https://bugs.webkit.org/show_bug.cgi?id=27042 + <rdar://problem/7010981> Incomplete painting of newly created floats + + Tests: fast/repaint/float-in-new-block-with-layout-delta.html + fast/repaint/float-new-in-block.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlockChildren): If the child has never been + laid out before, paint its overhanging floats in addition to itself. + * rendering/RenderBlock.h: + (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added and + initialized a boolean everHadLayout member. + * rendering/bidi.cpp: + (WebCore::RenderBlock::layoutInlineChildren): Paint floats that have + never been laid out before and did not move from (0, 0). + +2009-07-07 Brady Eidson <beidson@apple.com> + + Contributions from both Darin Adler and Brady Eidson. + Reviewed by Darin Adler. + + <rdar://problem/7024039> REGRESSION (r42158): Back-forward navigation does not work correctly on nytimes.com + + In r42158 we lost some exclusions to making back/forward items for subframe navigations when a main frame + navigation was still in progress. + + This patch makes things even better than it used to be by: + - Locking back/forward history at the time the navigation is scheduled, not after the load has committed. + - Locking back/forward history if *any* ancestor frame is still loading instead of just the main frame. + + Test: fast/loader/subframe-navigate-during-main-frame-load.html + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::submitForm): Move out the history locking logic into a standalone function so it can be + used from multiple sites. + (WebCore::mustLockBackForwardList): Returns true if any ancestor frame is still loading. + (WebCore::FrameLoader::scheduleLocationChange): Respect mustLockBackForwardList() in addition to the passed in + lockBackForwardList flag. + (WebCore::FrameLoader::scheduleFormSubmission): Ditto. + +2009-07-07 Nate Chapin <japhet@chromium.org> + + Reviewed by Darin Fisher. + + Upstream DOMObjectsInclude.h from src.chromium.org. + + https://bugs.webkit.org/show_bug.cgi?id=27035 + + * bindings/v8/DOMObjectsInclude.h: Added. + +2009-07-07 Nate Chapin <japhet@chromium.org> + + Reviewed by David Levin. + + Relanding r45559, which was rolled back at r45574. + + https://bugs.webkit.org/show_bug.cgi?id=26857 + + * bindings/scripts/CodeGeneratorV8.pm: Updated a function name in auto-generated bindings. + * bindings/v8/V8Binding.cpp: Moved from src.chromium.org. + * bindings/v8/V8Binding.h: Contents moved from src.chromium.org. + * bindings/v8/V8LazyEventListener.cpp: + (WebCore::V8LazyEventListener::getListenerFunction): + * bindings/v8/V8Proxy.cpp: + (WebCore::handleConsoleMessage): + (WebCore::V8Proxy::compileScript): + (WebCore::V8Proxy::sourceName): + * bindings/v8/WorkerContextExecutionProxy.cpp: + (WebCore::handleConsoleMessage): + * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: + (WebCore::NAMED_PROPERTY_SETTER): + * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8CustomXPathNSResolver.cpp: + (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI): + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: + (WebCore::ACCESSOR_SETTER): + * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: + (WebCore::removeElement): + * bindings/v8/custom/V8SQLTransactionCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8WorkerContextCustom.cpp: + (WebCore::SetTimeoutOrInterval): + * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + +2009-07-07 Gregory Hughes <gfhughesVO+webkit@gmail.com> + + Reviewed by Darin Adler. + + AX: Some webpages do not send AXLoadComplete + https://bugs.webkit.org/show_bug.cgi?id=26995 + + When sending the AXLayoutComplete notification it is possible + that the AXObjectCache was cleared, resulting in no valid + object to send the notification to. This fix ensures that an + AX object is created and cached if one does not already exist. + + Not able to add a test because notifications get sent after the layout test is completed. + + * dom/Document.cpp: + (WebCore::Document::implicitClose): + +2009-07-06 Pierre d'Herbemont <pdherbemont@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=27015 + + Make sure that the CSS properties letter-spacing, word-spacing, + line-height, text-transform, text-indent, text-shadow, + text-decoration and color do not affect the media element controls, + that display text. + + Controls that display text are only present in when the theme + MediaControllerThemeQT is being used. + + Test: media/controls-styling.html + + * css/mediaControlsQT.css: + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlElement::updateStyle): Special case for + text-decoration. text-decoration can't be overriden from CSS, because + text-decoration is additive for historical reasons. + +2009-07-07 Albert Wong <ajwong@chromium.org> + + Not reviewed, Chromium build fix. + + Add in missing header + fix syntax issue that crept into last patch. + https://bugs.webkit.org/show_bug.cgi?id=27027 + + * rendering/RenderThemeChromiumMac.mm: + (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton): + +2009-07-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt. + + Make use of geometry information to decide which layers become composited. + + <rdar://problem/7011947> + <https://bugs.webkit.org/show_bug.cgi?id=27021> + + In addition to looking at painting order, also, optionally, take layer + overlap into account when deciding which RenderLayers need to be composited. + + No testcase because DRT doesn't dump which layers are composited. + + * page/FrameView.h: + * page/FrameView.cpp: + (WebCore::FrameView::updateCompositingLayers): + Removed the unused CompositingUpdate parameter, and just do an early return + when there is no view. + + * rendering/RenderLayer.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::rendererContentChanged): + (WebCore::RenderLayer::dirtyZOrderLists): + (WebCore::RenderLayer::dirtyNormalFlowList): + (WebCore::RenderLayer::styleChanged): + (WebCore::RenderLayer::mustOverlapCompositedLayers): + (WebCore::RenderLayer::setMustOverlapCompositedLayers): + Change "overlay" to "overlap" for consistency with the use of "overlap" + elsewhere. + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateAfterLayout): + compositingLayersNeedUpdate() renamed to compositingLayersNeedRebuild(). + + (WebCore::RenderLayerBacking::startAnimation): + (WebCore::RenderLayerBacking::startTransition): + Tell the compositor that we started an accelerated animation or transition. + + * rendering/RenderLayerCompositor.h: + (WebCore::RenderLayerCompositor::compositingLayersNeedRebuild): + Renamed, since it's explicitly about changes in hierarchy now. + + (WebCore::RenderLayerCompositor::setCompositingConsultsOverlap): + (WebCore::RenderLayerCompositor::compositingConsultsOverlap): + New getter and setter for whether compositing should take overlap into account. + + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::RenderLayerCompositor): + Add m_compositingConsultsOverlap, re-order some member variables. + + (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag): + Whitespace cleanup and method rename. + + (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild): + Method and variable renaming. + + (WebCore::RenderLayerCompositor::updateCompositingLayers): + Now we have to run through the layer hierarchy every time if looking + at overlap, because changes in layout can now alter compositing behavior. + We minimize work by tracking whether we actually need to change the layer + hierarchy via needLayerRebuild. + + (WebCore::RenderLayerCompositor::updateBacking): + 3D transforms turn off overlap mode. + + (WebCore::RenderLayerCompositor::layerWasAdded): + (WebCore::RenderLayerCompositor::layerWillBeRemoved): + Method rename. + + (WebCore::RenderLayerCompositor::addToOverlapMap): + (WebCore::RenderLayerCompositor::overlapsCompositedLayers): + Utility methods to add a layer to the overlapMap (computing the absolute + bounding box only if we haven't already done so), and testing the map + entries. + + (WebCore::RenderLayerCompositor::computeCompositingRequirements): + If a layer would composite only because it comes after other compositing + layers in the painting order, then consult the overlap map to determine whether + it overlaps, and thus actually needs to composite. + + Add layers to the map when they must be composited. + + (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): + Only do re-parenting work if the updateHierarchy flag is set. + + (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation): + When we start an accelerated transition or animation, we stop looking at + overlap because we can no longer guarantee correct front-to-back ordering while the + accelerated animation is running. + + (WebCore::RenderLayerCompositor::needsToBeComposited): + Method renames. + + * rendering/RenderView.cpp: + (WebCore::RenderView::setMaximalOutlineSize): + Add comment indicating that this could be optimized. + +2009-07-07 Anton Muhin <antonm@chromium.org> + + Reviewed by Darin Fisher. + + Speed up creation of V8 wrappers for DOM nodes. + + https://bugs.webkit.org/show_bug.cgi?id=26882 + + This patch doesn't require new tests as it a set of refactorings + to speed up wrapper creation. + + * bindings/v8/V8Proxy.cpp: + * bindings/v8/V8Proxy.h: + +2009-07-07 Jan Michael Alonzo <jmalonzo@webkit.org> + + Reviewed by Gustavo Noronha. + + [GTK] textarea height property works only if other property are defined + https://bugs.webkit.org/show_bug.cgi?id=18984 + + Let WebCore handle textarea's metrics instead of readjusting it RenderthemeGtk. + + Test: fast/forms/textarea-metrics.html + + * platform/gtk/RenderThemeGtk.cpp: + * platform/gtk/RenderThemeGtk.h: + +2009-07-07 Ben Murdoch <benm@google.com> + + Reviewed by Antti Koivisto. + + HTML5 Database becomes locked if a transaction is in progress when the page is refreshed. + https://bugs.webkit.org/show_bug.cgi?id=25711 + + Fix for https://bugs.webkit.org/show_bug.cgi?id=25711 where web + storage databases could become locked until the browser is shut + down if the page is refreshed whilst a transaction is in progress. + + Test: storage/database-lock-after-reload.html + + * storage/Database.cpp: + (WebCore::Database::Database): + (WebCore::Database::close): add code to inform the database thread we've closed the database. + (WebCore::Database::performOpenAndVerify): add code to inform the database thread we've opened a database. + * storage/Database.h: + (WebCore::Database::opened): return true iff the underlying sqlite database has been opened but not closed. + * storage/DatabaseThread.cpp: + (WebCore::DatabaseThread::databaseThread): Before the database thread terminates, close any databases that ran transactions in this thread. + (WebCore::DatabaseThread::recordDatabaseOpen): Records a database that executed a transaction in this thread. + (WebCore::DatabaseThread::recordDatabaseClosed): Removes a database from the set of open databases. + * storage/DatabaseThread.h: + (WebCore::DatabaseThread::getThreadID): return the thread id for the database thread. + +2009-07-07 Jiahua Huang <jhuangjiahua@gmail.com> + + Reviewed by Jan Alonzo. + + [Gtk] Paste of rich text from firefox results garbled markup + https://bugs.webkit.org/show_bug.cgi?id=26791 + + Fix problem with UTF-16 clipboard pasted. + + * manual-tests/gtk/paste-richtext-from-firefox.html: Added. + * platform/gtk/PasteboardGtk.cpp: + (WebCore::Pasteboard::documentFragment): + +2009-07-07 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Timothy Hatcher. + + Change 'Continue debug' shortcut from F5 to F8 for consistency with Firebug. + + https://bugs.webkit.org/show_bug.cgi?id=23849 + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + +2009-07-06 Albert J. Wong <ajwong@chromium.org> + + Reviewed by Maciej Stachowiak. + + Update RenderThemeChromiumMac for wkDrawMediaUIPart and wkDrawMediaSlider API + change. + + Fix compile RenderThemeChromiumMac.mm due to API changes from r45572 + https://bugs.webkit.org/show_bug.cgi?id=27018 + + This is mainly an API change update to fix the chromium compile. It + also has a small fix of a typo in RenderThemeMac.mm. + + Compilation against the head of chromium trunk passed. Since this is + a compile fix, that should be sufficient. + + * rendering/RenderThemeChromiumMac.mm: + (WebCore::): + (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton): + (WebCore::RenderThemeChromiumMac::paintMediaMuteButton): + (WebCore::RenderThemeChromiumMac::paintMediaPlayButton): + (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton): + (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton): + (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack): + (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb): + * rendering/RenderThemeMac.mm: + (WebCore::): + +2009-07-06 David Kilzer <ddkilzer@apple.com> + + Bug 27002: Build fix when DASHBOARD_SUPPORT is disabled with -Wunused-parameter + + <https://bugs.webkit.org/show_bug.cgi?id=27002> + + Reviewed by Geoff Garen. + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard): + Mark gradient as an unused parameter when DASHBOARD_SUPPORT is + disabled. + +2009-07-06 David Kilzer <ddkilzer@apple.com> + + Bug 27001: Fix improper use of PassRefPtr<Node> to RefPtr<Node> + + <https://bugs.webkit.org/show_bug.cgi?id=27001> + + Reviewed by Geoff Garen. + + PassRefPtr<> should only be used for arguments to functions that + take ownership of the object, or as return values from functions + that relinquish ownership of the object. + + * editing/Editor.cpp: + (WebCore::Editor::increaseSelectionListLevelOrdered): Changed + stack-allocated PassRefPtr<Node> to RefPtr<Node> and call + release() on returned object. + (WebCore::Editor::increaseSelectionListLevelUnordered): Ditto. + +2009-07-06 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/7035474> Make new media controller UI default on SnowLeopard + + * rendering/RenderThemeMac.mm: + (WebCore::mediaControllerTheme): + New media controller UI is enabled by default on SnowLeopard. + +2009-07-06 Nate Chapin <japhet@chromium.org> + + Unreviewed, build fix. + + Roll out r45559 to fix Chromium canary. + + https://bugs.webkit.org/show_bug.cgi?id=26857 + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/V8Binding.cpp: Removed. + * bindings/v8/V8Binding.h: + (WebCore::toInt32): + (WebCore::toWebCoreString): + (WebCore::fromWebCoreString): + (WebCore::toWebCoreStringWithNullCheck): + (WebCore::isUndefinedOrNull): + (WebCore::v8Boolean): + * bindings/v8/V8LazyEventListener.cpp: + (WebCore::V8LazyEventListener::getListenerFunction): + * bindings/v8/V8Proxy.cpp: + (WebCore::handleConsoleMessage): + (WebCore::V8Proxy::compileScript): + (WebCore::V8Proxy::sourceName): + * bindings/v8/WorkerContextExecutionProxy.cpp: + (WebCore::handleConsoleMessage): + * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: + (WebCore::NAMED_PROPERTY_SETTER): + * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8CustomXPathNSResolver.cpp: + (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI): + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: + (WebCore::ACCESSOR_SETTER): + * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: + (WebCore::removeElement): + * bindings/v8/custom/V8SQLTransactionCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8WorkerContextCustom.cpp: + (WebCore::SetTimeoutOrInterval): + * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + +2009-07-06 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/7008093> Media controller can’t be used to scrub when movie is + narrow — track is too narrow + + Do not show media controller time display elements when the a movie is too narrow. + + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield. + + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement): + Give current time and time remaining controls a common base class. + (WebCore::MediaControlTimeDisplayElement::setVisible): + New method, hide and show the element. + * rendering/MediaControlElements.h: + + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::RenderMedia): + Initialize m_previousVisible. + (WebCore::RenderMedia::layout): + Show/hide the time display elements as the movie width changes. + (WebCore::RenderMedia::createCurrentTimeDisplay): + (WebCore::RenderMedia::createTimeRemainingDisplay): + Base class is now MediaControlTimeDisplayElement, not MediaControlElement. + (WebCore::RenderMedia::shouldShowTimeDisplayControls): + New, decide if time display elements should be visible or not. + * rendering/RenderMedia.h: + + * rendering/RenderThemeMac.mm: + (WebCore::): + (WebCore::RenderThemeMac::paintMediaFullscreenButton): + (WebCore::RenderThemeMac::paintMediaMuteButton): + (WebCore::RenderThemeMac::paintMediaPlayButton): + (WebCore::RenderThemeMac::paintMediaSeekBackButton): + (WebCore::RenderThemeMac::paintMediaSeekForwardButton): + (WebCore::RenderThemeMac::paintMediaSliderTrack): + (WebCore::RenderThemeMac::paintMediaSliderThumb): + (WebCore::RenderThemeMac::paintMediaRewindButton): + (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): + (WebCore::RenderThemeMac::paintMediaControlsBackground): + (WebCore::RenderThemeMac::paintMediaCurrentTime): + (WebCore::RenderThemeMac::paintMediaTimeRemaining): + The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield. + +2009-07-06 David Kilzer <ddkilzer@apple.com> + + Bug 27000: Minor clean up to runtime_root.{cpp|h} + + <https://bugs.webkit.org/show_bug.cgi?id=27000> + + Reviewed by Geoff Garen. + + * bridge/runtime_root.cpp: Added blank line between license and + the first #include statement. + * bridge/runtime_root.h: Added comment to #endif. + +2009-07-06 Roland Steiner <rolandsteiner@google.com> + + Reviewed by Maciej Stachowiak. + + generalize the special height treatment for SVG (to be re-used for ruby): + renamed InlineBox::m_isSVG to m_hasVirtualHeight + renamed InlineBox::isSVG() to hasVirtualHeight() + renamed InlineBox::setIsSVG() to setHasVirtualHeight() + + * rendering/InlineBox.cpp: + (WebCore::InlineBox::height): + * rendering/InlineBox.h: + (WebCore::InlineBox::InlineBox): + (WebCore::InlineBox::isText): + (WebCore::InlineBox::setIsText): + (WebCore::InlineBox::isSVGRootInlineBox): + (WebCore::InlineBox::hasVirtualHeight): + (WebCore::InlineBox::setHasVirtualHeight): + (WebCore::InlineBox::virtualHeight): + * rendering/RenderSVGInline.cpp: + (WebCore::RenderSVGInline::createFlowBox): + * rendering/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::createTextBox): + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::createRootBox): + * rendering/SVGInlineFlowBox.h: + (WebCore::SVGInlineFlowBox::virtualHeight): + * rendering/SVGInlineTextBox.h: + (WebCore::SVGInlineTextBox::virtualHeight): + * rendering/SVGRootInlineBox.h: + (WebCore::SVGRootInlineBox::virtualHeight): + +2009-07-06 Alice Liu <alice.liu@apple.com> + + Reviewed by Darin Adler. + + REGRESSION(r45285): focus rings are black on windows safari + https://bugs.webkit.org/show_bug.cgi?id=26821 + <rdar://problem/7018252> + + Add a mechanism for setting a custom focus ring color, and relocate the + determination of focus ring color to base class RenderTheme. + + No new tests. Already-existing tests run in pixel mode would have caught this regression + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Move the responsibility + of determining focus color to base class RenderTheme. + * rendering/RenderTheme.cpp: + (WebCore::customFocusRingColor): Added static local. + (WebCore::RenderTheme::setCustomFocusRingColor): Added + (WebCore::RenderTheme::focusRingColor): Use custom color over platform color. + * rendering/RenderTheme.h: + (WebCore::RenderTheme::platformFocusRingColor): default implementation, black color + * rendering/RenderThemeSafari.cpp: + (WebCore::RenderTheme::themeForPage): Circumstances that lead to returning the RenderThemeWin + are the same under which we want to use the focus ring color from SafariTheme. + (WebCore::RenderThemeSafari::platformFocusRingColor): Renamed from focusRingColor + * rendering/RenderThemeSafari.h: + + Renaming focusRingColor to platformFocusRingColor in these files: + * rendering/RenderThemeChromiumMac.h: + * rendering/RenderThemeChromiumMac.mm: + (WebCore::RenderThemeChromiumMac::platformFocusRingColor): + * rendering/RenderThemeChromiumSkia.cpp: + (WebCore::RenderThemeChromiumSkia::platformFocusRingColor): + * rendering/RenderThemeChromiumSkia.h: + * rendering/RenderThemeMac.h: + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::platformFocusRingColor): + + Cleanup leftover from removal of WebCore::Color in r45285 in these files: + * WebCore.order: + * platform/graphics/Color.h: + +2009-07-06 Shinichiro Hamaji <hamaji@chromium.org> + + Reviewed by David Hyatt. + + Bug 15135: REGRESSION (r19843-r19850): Changing a flexbox's + contents makes its container scroll to the top + https://bugs.webkit.org/show_bug.cgi?id=15135 + + Delay updateing scroll bar of descendants of flexbox until their + positions are determined. In this way we can prevent descendants + of flexible boxes from changing positions of their scrollbars + using tentative positions. + + Test: fast/flexbox/repaint-scrollbar.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::startDelayUpdateScrollInfo): + (WebCore::RenderBlock::finishDelayUpdateScrollInfo): + (WebCore::RenderBlock::updateScrollInfoAfterLayout): + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::layoutOnlyPositionedObjects): + * rendering/RenderBlock.h: + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutHorizontalBox): + (WebCore::RenderFlexibleBox::layoutVerticalBox): + +2009-07-06 Hironori Bono <hbono@chromium.org> + + Reviewed by Maciej Stachowiak. + + Make unconfirmed IME text affect textarea's value. + This matches input and contentEditable elements as well + IE and Firefox. + + This fixes https://bugs.webkit.org/show_bug.cgi?id=25061. + + Input elements would go down this code path because it + would always get a null compositionNode from frame->editor(). + Special casing compositionNodes is wrong because we explicitly + want unconfirmed IME input in the textarea's value (assuming we + want to match IE and Firefox here). + + This change is originally created by Ojan Vafai <ojan@chromium.org> and + I just changed its manual tests with an automated test on his behalf. + + Test: platform/mac/editing/input/text-control-ime-input.html + + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::text): + (WebCore::RenderTextControl::textWithHardLineBreaks): + +2009-07-06 Anders Carlsson <andersca@apple.com> + + Reviewed by Adele Peterson. + + Add the ability for wheel events to latch to a node. + + * WebCore.base.exp: + * page/EventHandler.cpp: + (WebCore::EventHandler::EventHandler): + (WebCore::EventHandler::clear): + (WebCore::EventHandler::handleWheelEvent): + * page/EventHandler.h: + * page/mac/EventHandlerMac.mm: + (WebCore::EventHandler::wheelEvent): + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + +2009-07-06 Nate Chapin <japhet@chromium.org> + + Reviewed by Dimitri Glazkov. + + Fix a bunch of layout test crahses in Chromium caused by a bad usage of DEFINE_STATIC_LOCAL. + + https://bugs.webkit.org/show_bug.cgi?id=26997 + + * bindings/v8/V8Binding.cpp: + (WebCore::v8ValueToWebCoreString): Use a regular static declaration instead of DEFINE_STATIC_LOCAL. + +2009-07-06 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + WebInspector: suggest global properties based on async evaluation. + + https://bugs.webkit.org/show_bug.cgi?id=26976 + + Before this change, empty string was evaluated to the global object + (or scope chain object) synchronously. This is now fixed and global + object is evaluated using the same control flow. + + * inspector/front-end/Console.js: + (WebInspector.Console.prototype.completions): + (WebInspector.Console.prototype._evalInInspectedWindow): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._variablesInScope): + +2009-07-06 Ojan Vafai <ojan@chromium.org> + + Reviewed by Eric Seidel. + + Fix crash when indenting in an empty table cell. + https://bugs.webkit.org/show_bug.cgi?id=26872 + + The crash is that we would call splitTreeToNode where the node + and the nodeToSplitTo were the same node. + + Test: editing/execCommand/indent-empty-table-cell.html + + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::splitTreeToNode): + Added an assert in that node and nodeToSplitTo + are different nodes to make this assumption explicit. + + * editing/IndentOutdentCommand.cpp: + (WebCore::IndentOutdentCommand::isAtUnsplittableElement): + (WebCore::IndentOutdentCommand::indentRegion): + * editing/IndentOutdentCommand.h: + +2009-07-06 Nate Chapin <japhet@chromium.org> + + Reviewed by David Levin. + + Upstream V8Binding and update some function names. + + https://bugs.webkit.org/show_bug.cgi?id=26857 + + * bindings/scripts/CodeGeneratorV8.pm: Update function names in auto-generated files. + * bindings/v8/V8Binding.cpp: Upstreamed from src.chromium.org. + * bindings/v8/V8Binding.h: Upstreamed from src.chromium.org. + * bindings/v8/V8LazyEventListener.cpp: + (WebCore::V8LazyEventListener::getListenerFunction): + * bindings/v8/V8Proxy.cpp: + (WebCore::handleConsoleMessage): + (WebCore::V8Proxy::compileScript): + (WebCore::V8Proxy::sourceName): + * bindings/v8/WorkerContextExecutionProxy.cpp: + (WebCore::handleConsoleMessage): + * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: + (WebCore::NAMED_PROPERTY_SETTER): + * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8CustomXPathNSResolver.cpp: + (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI): + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: + (WebCore::ACCESSOR_SETTER): + * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: + (WebCore::removeElement): + * bindings/v8/custom/V8SQLTransactionCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8WorkerContextCustom.cpp: + (WebCore::SetTimeoutOrInterval): + * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + +2009-07-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Jan Alonzo. + + Use soup's content sniffing + https://bugs.webkit.org/show_bug.cgi?id=26982 + + Drop our hackish content sniffing code, and use the new libsoup + feature to do that job for us. + + Testing this is in a cross-platform way is not obvious or possible + while we are using platform-specific code for sniffing. + + * platform/network/ResourceHandleInternal.h: + (WebCore::ResourceHandleInternal::ResourceHandleInternal): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::gotHeadersCallback): + (WebCore::contentSniffedCallback): + (WebCore::gotChunkCallback): + (WebCore::ResourceHandle::startHttp): + +2009-07-05 Antonio Gomes <antonio.gomes@openbossa.org> + + Reviewed by Darin Adler. + + REGRESSION (r40499): fast/dom/cssTarget-crash.html fails + https://bugs.webkit.org/show_bug.cgi?id=20342 + + Re-added code removed by commit r40499. + Without this, both Qt and Mac were crashing while running the test. + + Note that this does not entirely fix the bug. It fixes the WebCore + crash, but the test no longer seems to work due to loader changes. + So this patch does not reenable the test. The test probably has to + be rewritten. + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::removedFromDocument): Re-added code to + set the CSS target of the document to 0. + +2009-07-05 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=26943 + + When one transition finishes slightly before another the longer + one will fire a second time. This is because the second + ImplicitAnmation object is culled too early, before its final + RenderStyle is in place. This is done by cleanupFinishedAnimations() + so I got rid of that method completely and now cleanup each + transition or animation at the point where I am setting the final + style, or when I detect that the transition or animation has been + terminated early (which happens when you remove it from the style). + + Test: transitions/extra-transition.html + + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::updateTransitions): + (WebCore::CompositeAnimation::updateKeyframeAnimations): + (WebCore::CompositeAnimation::animate): + * page/animation/CompositeAnimation.h: + + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::getTimeToNextEvent): + Avoid a divide by zero if m_animation->duration() is zero, which can happen + if the duration is changed to zero while the animation is running. + +2009-07-05 Simon Fraser <simon.fraser@apple.com> + + Revert the previous commit because it broke the + animations/transition-and-animation-1.html + testcase. + + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::getTimeToNextEvent): + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::updateTransitions): + (WebCore::CompositeAnimation::updateKeyframeAnimations): + (WebCore::CompositeAnimation::animate): + (WebCore::CompositeAnimation::cleanupFinishedAnimations): + * page/animation/CompositeAnimation.h: + +2009-07-05 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=26943 + + When one transition finishes slightly before another the longer + one will fire a second time. This is because the second + ImplicitAnmation object is culled too early, before its final + RenderStyle is in place. This is done by cleanupFinishedAnimations() + so I got rid of that method completely and now cleanup each + transition or animation at the point where I am setting the final + style, or when I detect that the transition or animation has been + terminated early (which happens when you remove it from the style). + + Test: transitions/extra-transition.html + + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::updateTransitions): + (WebCore::CompositeAnimation::updateKeyframeAnimations): + (WebCore::CompositeAnimation::animate): + * page/animation/CompositeAnimation.h: + + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::getTimeToNextEvent): + Avoid a divide by zero if m_animation->duration() is zero, which can happen + if the duration is changed to zero while the animation is running. + +2009-07-05 Lars Knoll <lars.knoll@nokia.com> + + Reviewed by Maciej Stachowiak. + + https://bugs.webkit.org/show_bug.cgi?id=26843 + + Fix run-time crashes in JavaScriptCore with the Metrowerks compiler on Symbian. + + The Metrowerks compiler on the Symbian platform moves the globally + defined Hashtables into read-only memory, despite one of the members + being mutable. This causes crashes at run-time due to write access to + read-only memory. + + Avoid the use of const with this compiler by introducing the + JSC_CONST_HASHTABLE macro. + + Based on idea by Norbert Leser. + + * bindings/scripts/CodeGeneratorJS.pm: Use JSC_CONST_HASHTABLE for hash tables + define in the bindings. + +2009-07-05 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Maciej Stachowiak. + + Bug 26897 - Dynamic SVG images do not display correctly + https://bugs.webkit.org/show_bug.cgi?id=26897 + + Use repaint() to fix a rendering problem with a SVG image embedded in xhtml. + + Test: svg/custom/createImageElement2.xhtml + + * rendering/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::imageChanged): + +2009-07-05 Xan Lopez <xlopez@igalia.com> + + Reviewed by Jan Alonzo. + + https://bugs.webkit.org/show_bug.cgi?id=26960 + [Gtk] caret offset not updated when selecting text + + Report the caret offset from the end of the selection so it works + correctly for multi-char selections too (ie, anything that is not + the zero width caret). + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (webkit_accessible_text_get_caret_offset): + +2009-07-05 Holger Hans Peter Freyther <zecke@selfish.org> + + Unreviewed link fix for Qt. + + Fix Qt link error by adding two new localized strings + + In r45474 two new strings got added to LocalizedStrings.h add + the definition of them to Qt. + + * platform/qt/Localizations.cpp: + (WebCore::mediaElementLoadingStateText): + (WebCore::mediaElementLiveBroadcastStateText): + +2009-07-03 Darin Adler <darin@apple.com> + + Reviewed by Adele Peterson. + + REGRESSION (r44670-r44680): Typing is suprisingly slow in password field on reddit.com + https://bugs.webkit.org/show_bug.cgi?id=26959 + rdar://problem/7029882 + + The code to handle iteration boundaries was malfunctioning when the boundary was + at the edge of a shadow tree. This happens all the time with <input> elements. + + It's not immediately obvious how to make a regression test for this since the + symptom was a performance problem, not incorrect behavior. I'll add a test if I + figure out a way to make one. + + * editing/TextIterator.cpp: + (WebCore::parentCrossingShadowBoundaries): Renamed from parentOrShadowParent. + (WebCore::depthCrossingShadowBoundaries): Updated for name change. + (WebCore::nextInPreOrderCrossingShadowBoundaries): Added. + (WebCore::previousInPostOrderCrossingShadowBoundaries): Added. + (WebCore::setUpFullyClippedStack): Updated for name change. + (WebCore::TextIterator::TextIterator): Updated for name change. Use + nextInPreOrderCrossingShadowBoundaries instead of Range::pastLastNode to fix the bug. + (WebCore::TextIterator::advance): Updated for name change. + (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): + Tweaked formatting. + (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto. Changed code that + initializes m_pastStartNode to use previousInPostOrderCrossingShadowBoundaries. + (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Tweaked formatting. + (WebCore::SimplifiedBackwardsTextIterator::exitNode): Ditto. + +2009-07-03 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig. + + Background audio stops playing when JS GC runs + https://bugs.webkit.org/show_bug.cgi?id=26956 + + Ensure we keep the Audio object around while it is playing, so that it + doesn't get collected. + + Not testable because there's no way to know whether the audio keeps + playing without holding a reference to it. + + * bindings/js/JSDOMBinding.cpp: + (WebCore::isObservableThroughDOM): + +2009-07-02 Xan Lopez <xlopez@igalia.com> + + Reviewed by Jan Alonzo. + + https://bugs.webkit.org/show_bug.cgi?id=26814 + [Gtk] Caret-moved events are not issued for the correct offset + when text is selected forward + + Report the caret offset from the end of the selection, otherwise + we'll report the same offset when moving the caret while + modififying the selection (eg, with Shift + Right). + + * editing/gtk/SelectionControllerGtk.cpp: + (WebCore::SelectionController::notifyAccessibilityForSelectionChange): + +2009-07-02 Xan Lopez <xlopez@igalia.com> + + Reviewed by Jan Alonzo. + + https://bugs.webkit.org/show_bug.cgi?id=26815 + [Gtk] text-selection-changed events are not issued for the correct + object when the selection spans multiple objects + + Get the focused node from the end of the selection, not the start, + so we can detect when we cross object boundaries. + + * editing/gtk/SelectionControllerGtk.cpp: + (WebCore::SelectionController::notifyAccessibilityForSelectionChange): + +2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=26947 + + Fix the media controls hit tests. They may lose click events. + + Test cases already covered in the video-controls-zoomed tests. + + Don't trust wkHitTestMediaUIPart for the tests. We are accurate enough. + + * rendering/RenderThemeMac.h: Remove hitTestMediaControlPart. + * rendering/RenderThemeMac.mm: Remove hitTestMediaControlPart. + +2009-07-02 Roland Steiner <rolandsteiner@google.com> + + Reviewed by Eric Seidel. + + RenderBlock and RenderInline have confusingly named object creation methods: + RenderBlock::createRootBox/createRootInlineBox + RenderInline::createFlowBox/createInlineFlowBox + where the 2nd method in both cases just calls the first and then appends the created object. + I therefore renamed those methods to something IMHO more informative: + + createRootBox() -> createRootInlineBox() + createRootInlineBox() -> createAndAppendRootInlineBox(); + createFlowBox() -> createInlineFlowBox(); + createInlineFlowBox() -> createAndAppendInlineFlowBox(); + + https://bugs.webkit.org/show_bug.cgi?id=26828 + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::createRootInlineBox): + (WebCore::RenderBlock::createAndAppendRootInlineBox): + * rendering/RenderBlock.h: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::createInlineFlowBox): + (WebCore::RenderInline::createAndAppendInlineFlowBox): + * rendering/RenderInline.h: + * rendering/RenderSVGInline.cpp: + (WebCore::RenderSVGInline::createInlineFlowBox): + * rendering/RenderSVGInline.h: + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::createRootInlineBox): + * rendering/RenderSVGText.h: + * rendering/bidi.cpp: + (WebCore::createInlineBoxForRenderer): + +2009-07-02 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + WebInspector: Fix typo in the resource panel enabler caption. + + https://bugs.webkit.org/show_bug.cgi?id=26753 + + * English.lproj/localizedStrings.js: + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel): + +2009-07-02 Erik Arvidsson <arv@chromium.org> + + Reviewed by Adam Roben. + + [Win] HTML5 Drag and drop, dragend is not fired when pressing Esc + https://bugs.webkit.org/show_bug.cgi?id=26699 + + * manual-tests/drag-escape.html: Added. + * page/EventHandler.cpp: + (WebCore::EventHandler::dragSourceEndedAt): + +2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=26944 + + Make sure we support full page zoom in video controls. + + This is tracked by a the video-controls-zoom test case. + + * css/mediaControlsQT.css: Make sure we don't have any inherited margin. + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlElement::updateStyle): Propagate the style to the innertext. + * rendering/RenderThemeMac.mm: Adjust the painting rect. + (WebCore::getUnzoomedRectAndAdjustCurrentContext): + (WebCore::RenderThemeMac::paintMediaSliderTrack): + (WebCore::RenderThemeMac::paintMediaCurrentTime): + (WebCore::RenderThemeMac::paintMediaTimeRemaining): + +2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com> + + Fix the Gtk build after r45474. The localized strings should + have been added there. + + * platform/gtk/LocalizedStringsGtk.cpp: + (WebCore::mediaElementLoadingStateText): + (WebCore::mediaElementLiveBroadcastStateText): + +2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=26939 + + Media controller is rendered badly at http://www.mozilla.com/en-US/firefox/video/firefox-3.5.html + + We fix two things: + - We use px instead of em, because px is used everywhere else + and because 0.09em hit the font size limit. + - We use -webkit-box instead of inline-block because in strict mode + inline-block has a different behavior. + + Test: media/controls-strict.html + + * css/mediaControlsQT.css: + +2009-07-02 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + TextIterator should use hasOverflowClip when checking for overflow instead of looking at the style. + https://bugs.webkit.org/show_bug.cgi?id=26942 + + * editing/TextIterator.cpp: + (WebCore::fullyClipsContents): + +2009-07-02 Sam Weinig <sam@webkit.org> + + Reviewed by Dave Hyatt. + + Fix for <rdar://problem/5230700> + Remove local .xhtml file workaround + + * platform/network/mac/ResourceResponseMac.mm: + (WebCore::ResourceResponse::platformLazyInit): Work around is no longer necessary. + +2009-07-02 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Sort, add functions used by WebKit. + + * WebCore.base.exp: + +2009-07-02 Brady Eidson <beidson@apple.com> + + Rubberstamped by Sam Weinig. + + More of <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown. + + * platform/network/mac/WebCoreURLResponse.mm: + (webNSURLResponseMIMEType): Give Tiger a chance to query the UTI machinery. + +2009-07-02 Adam Langley <agl@google.com> + + Reviewed by Eric Seidel. + + Chromium Linux: fix complex text rendering with line break characters. + + https://bugs.webkit.org/show_bug.cgi?id=26935 + + If the CSS white-space property is inhibiting line breaking, we might + find end-of-line characters rendered via the complex text path. Fonts + don't provide glyphs for these code points so, if we find one, we + simulate the space glyph being interposed in this case. Because the + input is variable-length per code point, we walk the input in step + with the output. + + Covered by: + LayoutTests/fast/text/international/bidi-linebreak-002.html + LayoutTests/fast/text/international/bidi-linebreak-003.html + LayoutTests/fast/text/international/hindi-whitespace.html + + * platform/graphics/chromium/HarfbuzzSkia.cpp: + (WebCore::stringToGlyphs): + +2009-07-02 Victor Wang <victorw@chromium.org> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=26521 + Expose file size to chromium. + + Implement getFileSize() for Chromium. + + * platform/chromium/ChromiumBridge.h: + * platform/chromium/FileSystemChromium.cpp: + (WebCore::getFileSize): + +2009-07-02 Nate Chapin <japhet@chromium.org> + + Unreviewed, build fix. + + * bindings/v8/V8SVGPODTypeWrapper.h: Lost a space in nested template argument list. + +2009-07-02 Simon Fraser <simon.fraser@apple.com> + + Build fix: add missing #include. + + * platform/mac/ThemeMac.mm: + +2009-07-02 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt. + + <rdar://problem/7028682> ThemeMac::paintRadio() throws Obj-C exceptions when zoomed + + Add BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS guards around code + that can possibly throw Objective-C exceptions when drawing Mac form controls. + + * platform/mac/ThemeMac.mm: + (WebCore::paintCheckbox): + (WebCore::paintRadio): + (WebCore::paintButton): + (WebCore::ThemeMac::inflateControlPaintRect): + +2009-07-02 Nate Chapin <japhet@chromium.org> + + Reviewed by David Levin. + + Upstream V8SVGPODTypeWrapper. + + https://bugs.webkit.org/show_bug.cgi?id=26907 + + * bindings/scripts/CodeGeneratorV8.pm: Update function being renamed in V8SVGPODTypeWrapper.h. + * bindings/v8/V8SVGPODTypeWrapper.h: Upstreamed from src.chromium.org. + +2009-07-02 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Dimitri Glazkov. + + Adds an abstraction layer between the DB classes and the file + system, which allows us to add our own logic for storing, opening, + deleting, etc. databases. + + The patch was tested using the tests in WebCore/storage. + + https://bugs.webkit.org/show_bug.cgi?id=26054 + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/sql/SQLiteDatabase.cpp: + (WebCore::SQLiteDatabase::open): Delegating the job of opening DB files to SQLiteFileSystem to allow use of custom VFSs. + * platform/sql/SQLiteFileSystem.cpp: Added. + * platform/sql/SQLiteFileSystem.h: Added. + * platform/win/FileSystemWin.cpp: + (WebCore::directoryName): Implemented. + * storage/Database.cpp: + (WebCore::Database::databaseSize): The code that returns the size of a DB file moved to SQLiteFileSystem. + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::DatabaseTracker): Added the ability to register a custom SQLite VFS. + (WebCore::DatabaseTracker::trackerDatabasePath): DB file-related operations moved to SQLiteFileSystem. + (WebCore::DatabaseTracker::openTrackerDatabase): DB file-related operations moved to SQLiteFileSystem. + (WebCore::DatabaseTracker::originPath): DB file-related operations moved to SQLiteFileSystem. + (WebCore::DatabaseTracker::fullPathForDatabase): DB file-related operations moved to SQLiteFileSystem. + (WebCore::DatabaseTracker::usageForDatabase): DB file-related operations moved to SQLiteFileSystem. + (WebCore::DatabaseTracker::deleteOrigin): DB file-related operations moved to SQLiteFileSystem. + (WebCore::DatabaseTracker::deleteDatabaseFile): DB file-related operations moved to SQLiteFileSystem. + * storage/OriginUsageRecord.cpp: + (WebCore::OriginUsageRecord::diskUsage): DB file-related operations moved to SQLiteFileSystem. + +2009-07-02 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + Always clip replaced elements to border radii. + https://bugs.webkit.org/show_bug.cgi?id=26933 + + Make sure to always clip replaced elements to border radii, even when overflow is visible. + Stop defaulting those elements to overflow:hidden in the UA sheet, since it is now no longer + necessary. + + Covered by existing tests (since the UA default changing keeps the behavior exactly the same). + + * css/html.css: + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::paint): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::paint): + +2009-07-02 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Simon Fraser. + + convertFromScrollbarToContainingView and friends should be in ScrollView + https://bugs.webkit.org/show_bug.cgi?id=26929 + + This is breaking Chromium's build because PopupMenuChromium inherits + from ScrollView, but these functions are pure virtual in it. I could + put it directly in PopupMenuChromium, but that seems a bit silly since + the functions are fairly generic. + + Passes existing layout tests. + + * page/FrameView.cpp: Remove the 4 functions Hyatt just added + (IntRect WebCore::FrameView::convertFromScrollbarToContainingView): + (IntRect WebCore::FrameView::convertFromContainingViewToScrollBar): + (IntPoint WebCore::FrameView::convertFromScrollbarToContainingView): + (IntPoint WebCore::FrameView::convertFromContainingViewToScrollBar): + * page/FrameView.h: ditto + * platform/ScrollView.cpp: Move the 4 functions from FrameView here + (IntRect WebCore::ScrollView::convertFromScrollbarToContainingView): + (IntRect WebCore::ScrollView::convertFromContainingViewToScrollBar): + (IntPoint WebCore::ScrollView::convertFromScrollbarToContainingView): + (IntPoint WebCore::ScrollView::convertFromContainingViewToScrollBar): + * platform/ScrollView.h: ditto + +2009-07-02 Dirk Pranke <dpranke@chromium.org> + + Reviewed by Darin Fisher. + + Fix https://bugs.webkit.org/show_bug.cgi?id=26088 - TransparencyWin + doesn't handle errors well at all; revise it to fail silently + (drawing nothing), and bulletproof FontChromiumWin to handle the + failure accordingly. + + Tests: fast/text/text-large-negative-letter-spacing-with-opacity.html + fast/text/text-letter-spacing.html + + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs): + (WebCore::Font::drawGlyphs): + (WebCore::Font::drawComplexText): + * platform/graphics/chromium/TransparencyWin.cpp: + (WebCore::TransparencyWin::TransparencyWin): + (WebCore::TransparencyWin::setupLayerForNoLayer): + (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer): + (WebCore::TransparencyWin::setupLayerForWhiteLayer): + (WebCore::TransparencyWin::setupTransformForKeepTransform): + (WebCore::TransparencyWin::setupTransformForScaleTransform): + (WebCore::TransparencyWin::initializeNewContext): + (WebCore::TransparencyWin::compositeOpaqueComposite): + (WebCore::TransparencyWin::compositeTextComposite): + (WebCore::TransparencyWin::makeLayerOpaque): + * platform/graphics/chromium/TransparencyWin.h: + (WebCore::TransparencyWin::platformContext): + +2009-07-02 Eric Carlson <eric.carlson@apple.com> + + Change #import to #include to fix non-ObjC builds. + + * rendering/MediaControlElements.cpp: + +2009-07-02 Anders Carlsson <andersca@apple.com> + + Build fix. + + * platform/network/mac/WebCoreURLResponse.mm: + (mimeTypeFromUTITree): + +2009-07-02 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + Fix for bug 22119, clicks in the scrollbars of transformed content don't work. Add new + conversion methods for going across parent/child widget boundaries that can be implemented + by the FrameView and ScrollbarClient to be transform-aware. + + Test cases added in platform/mac/fast/forms and platform/mac/fast/overflow. + + * WebCore.base.exp: + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMouseMoveEvent): + * page/FrameView.cpp: + (WebCore::FrameView::convertFromScrollbarToContainingView): + (WebCore::FrameView::convertFromContainingViewToScrollbar): + (WebCore::FrameView::convertFromRenderer): + (WebCore::FrameView::convertToRenderer): + (WebCore::FrameView::convertToContainingView): + (WebCore::FrameView::convertFromContainingView): + * page/FrameView.h: + * platform/ScrollView.h: + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::convertToContainingView): + (WebCore::Scrollbar::convertFromContainingView): + * platform/Scrollbar.h: + * platform/ScrollbarClient.h: + (WebCore::ScrollbarClient::convertFromScrollbarToContainingView): + (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar): + * platform/Widget.cpp: + (WebCore::Widget::convertFromContainingWindow): + (WebCore::Widget::convertToContainingWindow): + (WebCore::Widget::convertFromRootToContainingWindow): + (WebCore::Widget::convertFromContainingWindowToRoot): + (WebCore::Widget::convertToContainingView): + (WebCore::Widget::convertFromContainingView): + * platform/Widget.h: + * platform/graphics/IntPoint.h: + (WebCore::IntPoint::move): + * platform/mac/WidgetMac.mm: + (WebCore::Widget::convertFromRootToContainingWindow): + (WebCore::Widget::convertFromContainingWindowToRoot): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::isPointInOverflowControl): + * rendering/RenderDataGrid.cpp: + (WebCore::RenderDataGrid::convertFromScrollbarToContainingView): + (WebCore::RenderDataGrid::convertFromContainingViewToScrollbar): + * rendering/RenderDataGrid.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::convertFromScrollbarToContainingView): + (WebCore::RenderLayer::convertFromContainingViewToScrollbar): + (WebCore::RenderLayer::scrollbarOffset): + (WebCore::RenderLayer::hitTestOverflowControls): + * rendering/RenderLayer.h: + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::isPointInOverflowControl): + (WebCore::RenderListBox::convertFromScrollbarToContainingView): + (WebCore::RenderListBox::convertFromContainingViewToScrollbar): + * rendering/RenderListBox.h: + +2009-07-02 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt and Simon Fraser. + + - fix <rdar://problem/6933052> SPOD playing video in a div with a box + shadow + + Test: fast/box-shadow/transform-fringing.html + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintBoxShadow): Clip out the + box even if it has an opaque background, but in that case, inset the + clip path by 1 pixel, to avoid antialiasing artifacts. + Do not inset the clip rect by 1 pixel if the CTM is purely a + translation. + Move the shadow-casting path away in the non-rounded-rect case (it + was already being done in the rounded-rect case), to avoid a black + fringe when the CTM is not purely a translation. + +2009-07-02 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown. + + Walk the CoreTypes UTI tree for extensions with unknown MIME types, using the first MIME type found. + + For many types of text files (such as source code files) this ends up being text/plain. + + * platform/network/mac/ResourceHandleMac.mm: + (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Tweak the logging output. + + * platform/network/mac/WebCoreURLResponse.h: + * platform/network/mac/WebCoreURLResponse.mm: + (mimeTypeFromUTITree): + (webNSURLResponseMIMEType): Use mimeTypeFromUTITree() to find a UTI-based MIME type for this file's extension. + (-[NSURLResponse _webcore_reportedMIMEType]): Return the actual MIME type that CFNetwork gave us. + +2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/6518119> + + Add a rewind button and hide the timeline for live broadcasts when + in MediaUI mode. + + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add the new pseudo element. + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::extractPseudoType): Ditto. + * css/CSSSelector.h: + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto. + + * css/CSSValueKeywords.in: Ditto. + * css/mediaControls.css: Ditto. + * css/mediaControlsQT.css: Ditto. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::rewind): New. + (WebCore::HTMLMediaElement::returnToRealTime): New. + (WebCore::HTMLMediaElement::isStreaming): New. + * html/HTMLMediaElement.h: + + * page/mac/WebCoreViewFactory.h: Declare mediaElementLoadingStateText and mediaElementLiveBroadcastStateText. + + * platform/LocalizedStrings.h: Add localized media state messages. + + * platform/ThemeTypes.h: Add the new pseudo element. + + * platform/mac/LocalizedStringsMac.mm: + (WebCore::mediaElementLoadingStateText): Add localized media state. + (WebCore::mediaElementLiveBroadcastStateText): Ditto. + + * platform/mac/WebCoreSystemInterface.h: Change BOOL param wkDrawMediaUIPart to an int to support + multiple states. + * platform/mac/WebCoreSystemInterface.mm: Ditto. + + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlElement::MediaControlElement): Deal with new elements. + (WebCore::MediaControlElement::attachToParent): Ditto. + (WebCore::MediaControlElement::update): Ditto. + (WebCore::MediaControlElement::updateStyle): Ditto. + (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto. + (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): Ditto. + (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto. + (WebCore::MediaControlStatusDisplayElement::update): Ditto. + (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Ditto. + (WebCore::MediaControlInputElement::MediaControlInputElement): Ditto. + (WebCore::MediaControlInputElement::attachToParent): Ditto. + (WebCore::MediaControlInputElement::updateStyle): Ditto. + (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto. + (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto. + (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto. + (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto. + (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded): Ditto. + (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto. + (WebCore::MediaControlTimelineElement::update): Ditto. + (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): Ditto. + * rendering/MediaControlElements.h: Ditto. + + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::styleDidChange): Deal with the new elements. + (WebCore::RenderMedia::createPanel): Ditto. + (WebCore::RenderMedia::createRewindButton): Ditto. + (WebCore::RenderMedia::createReturnToRealtimeButton): Ditto. + (WebCore::RenderMedia::createStatusDisplay): Ditto. + (WebCore::RenderMedia::createTimelineContainer): Ditto. + (WebCore::RenderMedia::createCurrentTimeDisplay): Ditto. + (WebCore::RenderMedia::createTimeRemainingDisplay): Ditto. + (WebCore::RenderMedia::updateControls): Ditto. + (WebCore::RenderMedia::forwardEvent): Ditto. + * rendering/RenderMedia.h: + + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::paint): Deal with the new elements. + + * rendering/RenderTheme.h: + (WebCore::RenderTheme::paintMediaRewindButton): Deal with the new elements. + (WebCore::RenderTheme::paintMediaReturnToRealtimeButton): Ditto. + (WebCore::RenderTheme::paintMediaControlsBackground): Ditto. + + * rendering/RenderThemeMac.h: + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintMediaRewindButton): Deal with the new elements. + (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto. + (WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto. + + * rendering/style/RenderStyleConstants.h: Add constants for the new elements. + +2009-07-01 John Abd-El-Malek <jam@chromium.org> + + Reviewed by Darin Fisher. + + Small refactoring of MessagePortChannel so that PlatformMessagePortChannel + may be defined at the WebKit layer. + + https://bugs.webkit.org/show_bug.cgi?id=26905 + + * dom/MessageChannel.cpp: + (WebCore::MessageChannel::MessageChannel): + * dom/MessagePortChannel.cpp: + * dom/MessagePortChannel.h: + * dom/default/PlatformMessagePortChannel.cpp: + (WebCore::MessagePortChannel::createChannel): + (WebCore::MessagePortChannel::create): + (WebCore::MessagePortChannel::MessagePortChannel): + (WebCore::MessagePortChannel::~MessagePortChannel): + +2009-07-01 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + <video> fails to show on http://camendesign.com/code/video_for_everybody + <rdar://problem/7026010> + https://bugs.webkit.org/show_bug.cgi?id=26919 + + Fix an issue introduced in r44961. In that revision we changed to only update + compositing layer geometry when all siblings had been laid out (i.e. we pushed + the updates one level down). However, that left out the root layer, so this + fix ensures that the root layer geometry gets updated at the end. + + Test: compositing/geometry/root-layer-update.html + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateAfterLayout): + +2009-07-01 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein + + <rdar://problem/7026010> <video> fails to show on http://camendesign.com/code/video_for_everybody + + First part of fix: when outline width changes, don't to a synchronous + layer update right away, but just set the flag to say that compositing + layers need updating. The synchronous layer update left the layer geometries + out of whack when it happened in the middle of layout (e.g. when inside ::first-letter). + + Test: compositing/geometry/outline-change.html + + * rendering/RenderView.cpp: + (WebCore::RenderView::setMaximalOutlineSize): + +2009-07-01 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=26842 + Build fix when ENABLE_DATABASE is off + + Move Database.h into ENABLE(DATABASE) guard so toggling ENABLE_DATABASE + off does not break builds. + + * bindings/js/ScriptObjectQuarantine.cpp: + +2009-07-01 Daniel Bates <dbates@intudata.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=26899 + + Modified XSSAuditor::decodeURL to only remove null characters so that + it is consistent with the behavior of HTMLTokenizer and prevents + injected scripts that contain control characters. + + Tests: http/tests/security/xssAuditor/script-tag-control-char.html + http/tests/security/xssAuditor/script-tag-null-char.html + + * page/XSSAuditor.cpp: + (WebCore::XSSAuditor::decodeURL): Modified to only remove null characters. + * page/XSSAuditor.h: Reverted naming of third argument of method XSSAuditor::decodeURL + from allowControlCharacters back to allowNullCharacters. + * platform/network/ResourceResponseBase.cpp: Reverted back to rev #45003. + (WebCore::isControlCharacter): + * platform/network/ResourceResponseBase.h: Reverted back to rev #45003. + +2009-07-01 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Timothy Hatcher. + + - supported keyboard shortcuts compatible with Firebug in Scripts Debugger: + F5, Ctrl+/ (win,lin), Command+/ (mac) - continue + F10, Ctrl+' (win, lin), Command+' (mac) - step over + F11, Ctrl+; (win, lin), Command+; (mac) - step into + Shift+F11, Ctrl+Shift+; (win, lin), Command+Shift+; (mac) - step out + + - added call stack navigation shortcuts: + Ctrl+. - next call frame + Ctrl+, - previouse call frame + + https://bugs.webkit.org/show_bug.cgi?id=23849 + + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane): + (WebInspector.CallStackSidebarPane.prototype.handleKeyEvent): + (WebInspector.CallStackSidebarPane.prototype._selectNextCallFrameOnStack): + (WebInspector.CallStackSidebarPane.prototype._selectPreviousCallFrameOnStack): + (WebInspector.CallStackSidebarPane.prototype._selectedPlacardByIndex): + (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex): + * inspector/front-end/KeyboardShortcut.js: Added. + (WebInspector.KeyboardShortcut): + (WebInspector.KeyboardShortcut.makeKey): + (WebInspector.KeyboardShortcut.makeKeyFromEvent): + (WebInspector.KeyboardShortcut.makeKeyFromCodeAndModifiers_): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype.handleKeyEvent): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + +2009-07-01 Daniel Erat <derat@google.com> + + Reviewed by David Levin. + + Chromium Linux: Move the scrollbar thumb on middle-click. + + https://bugs.webkit.org/show_bug.cgi?id=26910 + http://code.google.com/p/chromium/issues/detail?id=11976 + + Tested by building Chrome and checking that the scrollbar moves as expected. + + * platform/chromium/ScrollbarThemeChromium.cpp: + * platform/chromium/ScrollbarThemeChromium.h: + * platform/chromium/ScrollbarThemeChromiumLinux.cpp: + * platform/chromium/ScrollbarThemeChromiumLinux.h: + * platform/chromium/ScrollbarThemeChromiumWin.cpp: + * platform/chromium/ScrollbarThemeChromiumWin.h: + +2009-07-01 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig. + + Add a preference/setting to toggle whether content sniffing is enabled for file URLs. + + * WebCore.base.exp: + + * page/Settings.cpp: + (WebCore::Settings::setLocalFileContentSniffingEnabled): + * page/Settings.h: + (WebCore::Settings::localFileContentSniffingEnabled): + + * platform/network/mac/ResourceHandleMac.mm: + (WebCore::ResourceHandle::start): + (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): + +2009-07-01 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Oliver Hunt. + + Bug 26909: aria-label needs to be supported + https://bugs.webkit.org/show_bug.cgi?id=26909 + + Test: accessibility/aria-label.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::accessibilityDescription): + * html/HTMLAttributeNames.in: + +2009-07-01 David Hyatt <hyatt@apple.com> + + Reviewed by Oliver Hunt. + + More datagrid columns work. Make sure columns cache both a style for the column header as well + as a style for the column background (behind the cells). + + Hook up to CSSStyleSelector methods for obtaining the pseudo styles for columns (stubbed out and + unimplemented). + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumn): + (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumnHeader): + * css/CSSStyleSelector.h: + * html/DataGridColumn.h: + (WebCore::DataGridColumn::setColumnList): + (WebCore::DataGridColumn::columnStyle): + (WebCore::DataGridColumn::setColumnStyle): + (WebCore::DataGridColumn::headerStyle): + (WebCore::DataGridColumn::setHeaderStyle): + * rendering/RenderDataGrid.cpp: + (WebCore::RenderDataGrid::recalcStyleForColumn): + (WebCore::RenderDataGrid::columnStyle): + (WebCore::RenderDataGrid::headerStyle): + (WebCore::RenderDataGrid::paintColumnHeaders): + * rendering/RenderDataGrid.h: + +2009-07-01 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Oliver Hunt. + + <rdar://problem/7009870> After <audio> movie finishes playing, Pause button fails to change + back to Play button + + Grab onto the current time when QTKit "ended" notification fires and use it as + duration from that point on as QuickTime sometimes refuses to play all the way to + the time it reports for duration and buffered. HTMLMediaElement assumes that there + more to play in this situation and tries to restart playback, endlessly. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.h: + Rename m_duration to m_reportedDuration. Declare m_cachedDuration. + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): + Rename m_duration to m_reportedDuration. Initialize m_cachedDuration. + (WebCore::MediaPlayerPrivate::duration): + Return m_cachedDuration once it has been set. + (WebCore::MediaPlayerPrivate::updateStates): + Rename m_duration to m_reportedDuration. + (WebCore::MediaPlayerPrivate::didEnd): + Set m_cachedDuration to currentTime(). + +2009-07-01 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + Bug 26900: AX: Manual spell check with Command-; does not bring up suggestions + https://bugs.webkit.org/show_bug.cgi?id=26900 + + Editable web areas should have a clickpoint that uses where the selection is. + + Test: accessibility/editable-webarea-context-menu-point.html + + * accessibility/AccessibilityObject.h: + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::clickPoint): + * accessibility/AccessibilityRenderObject.h: + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): + +2009-07-01 David Levin <levin@chromium.org> + + Reviewed by Eric Seidel. + + Remove unused code in SVGTransformList and SVGTransformDistance + <https://bugs.webkit.org/show_bug.cgi?id=26891> + + * svg/SVGTransformDistance.cpp: + (WebCore::SVGTransformDistance::SVGTransformDistance): + * svg/SVGTransformList.cpp: + * svg/SVGTransformList.h: + +2009-07-01 David Hyatt <hyatt@apple.com> + + Reviewed by Anders Carlsson. + + Begin stubbing out functions for layout, painting and style/geometry caching on columns. Not enough + is implemented for this to do much of anything yet, but it should help keep patch sizes down. :) + + * html/DataGridColumn.cpp: + (WebCore::DataGridColumn::columnChanged): + * html/DataGridColumn.h: + (WebCore::DataGridColumn::setId): + (WebCore::DataGridColumn::setLabel): + (WebCore::DataGridColumn::setType): + (WebCore::DataGridColumn::setSortable): + (WebCore::DataGridColumn::setSortDirection): + (WebCore::DataGridColumn::setColumnList): + (WebCore::DataGridColumn::style): + (WebCore::DataGridColumn::setStyle): + (WebCore::DataGridColumn::rect): + (WebCore::DataGridColumn::setRect): + * html/DataGridColumnList.cpp: + (WebCore::DataGridColumnList::DataGridColumnList): + (WebCore::DataGridColumnList::setDataGridNeedsLayout): + (WebCore::DataGridColumnList::add): + (WebCore::DataGridColumnList::remove): + (WebCore::DataGridColumnList::move): + (WebCore::DataGridColumnList::clear): + (WebCore::DataGridColumnList::primaryColumnChanged): + * html/DataGridColumnList.h: + (WebCore::DataGridColumnList::create): + (WebCore::DataGridColumnList::dataGrid): + (WebCore::DataGridColumnList::clearDataGrid): + * html/HTMLDataGridColElement.cpp: + (WebCore::HTMLDataGridColElement::HTMLDataGridColElement): + (WebCore::HTMLDataGridColElement::findDataGridAncestor): + (WebCore::HTMLDataGridColElement::insertedIntoTree): + (WebCore::HTMLDataGridColElement::removedFromTree): + * html/HTMLDataGridColElement.h: + (WebCore::HTMLDataGridColElement::dataGrid): + * html/HTMLDataGridElement.cpp: + (WebCore::HTMLDataGridElement::HTMLDataGridElement): + (WebCore::HTMLDataGridElement::~HTMLDataGridElement): + * rendering/RenderDataGrid.cpp: + (WebCore::RenderDataGrid::styleDidChange): + (WebCore::RenderDataGrid::recalcStyleForColumns): + (WebCore::RenderDataGrid::recalcStyleForColumn): + (WebCore::RenderDataGrid::styleForColumn): + (WebCore::RenderDataGrid::layout): + (WebCore::RenderDataGrid::layoutColumns): + (WebCore::RenderDataGrid::paintColumnHeaders): + (WebCore::RenderDataGrid::paintColumnHeader): + * rendering/RenderDataGrid.h: + (WebCore::RenderDataGrid::renderName): + (WebCore::RenderDataGrid::canHaveChildren): + +2009-07-01 Daniel Bates <dbates@intudata.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=26807 + + Fixes this address by checking whether frame->document()->decoder() is null. + + * page/XSSAuditor.cpp: + (WebCore::XSSAuditor::findInRequest): + +2009-07-01 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> + + Reviewed by George Staikos. + + Fixes: https://bugs.webkit.org/show_bug.cgi?id=26885 + + Correctly reset history length to '0', not '1'. Old relict from early WML days. + Add some new WML testcases covering the use of history length (by onenterforward event handling) + + Tests: wml/onenterforward-event.html + wml/onenterforward-inline-event.html + wml/ontimer-event.html + + * wml/WMLPageState.cpp: + (WebCore::WMLPageState::reset): + +2009-07-01 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + Make sure setting attributes on dcol elements properly updates the corresponding DataGridColumn object. + + Added new test in fast/dom/HTMLDataGridElement. + + * html/HTMLDataGridColElement.cpp: + (WebCore::HTMLDataGridColElement::parseMappedAttribute): + * html/HTMLDataGridColElement.h: + +2009-07-01 David Hyatt <hyatt@apple.com> + + Reviewed by Tim Hatcher. + + <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused, + even though the field is not actually focused for keyboard input + + Add the concept of whether or not the Page is focused by adding a boolean to the focusController. This allows the + focused frame and focused node to both be cached and changed programmatically even when the Page itself doesn't + actually happen to have focus at that time. + + * WebCore.base.exp: + * page/FocusController.cpp: + (WebCore::FocusController::FocusController): + (WebCore::FocusController::setFocusedFrame): + (WebCore::FocusController::setFocused): + (WebCore::FocusController::setActive): + * page/FocusController.h: + (WebCore::FocusController::isFocused): + +2009-07-01 Jakub Wieczorek <faw217@gmail.com> + + Reviewed by Simon Hausmann. + + [Qt] Move some API headers from WebCore.pro to headers.pri so that they + get installed when running make install from the build directory. + + * WebCore.pro: + +2009-07-01 Simon Hausmann <simon.hausmann@nokia.com> + + Rubber-stamped by Ariya Hidayat. + + Ran WebKitTools/Scripts/generate-qt-inspector-resource to update the + qrc file with new png files from the web inspector. + + * inspector/front-end/WebKit.qrc: + +2009-06-30 Mark Rowe <mrowe@apple.com> + + Land some code that has a hope of compiling. + + * platform/graphics/cg/ImageSourceCG.cpp: + (WebCore::imageSourceOptions): + +2009-06-30 Stephanie Lewis <slewis@apple.com> + + Reviewed by Simon Fraser. + + Flip back on block caching. Throwing away block data, while + a perceived memory win, is a performance hit in cases where we + are repainting large images (i.e. backgrounds) frequently + (i.e. a flash video playing on top). + <rdar://problem/6933515> REGRESSION(L-SL): Large JPEG images are + decoded on drawing, slowing down painting of sites that frequently + repaint e.g. because of Flash (pandora.com, Starcraft 2) + + * platform/graphics/cg/ImageSourceCG.cpp: + (WebCore::imageSourceOptions): + +2009-06-30 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Sam Weinig. + + - Rename html4.css to html.css, since we target HTML5 now + https://bugs.webkit.org/show_bug.cgi?id=26873 + + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSStyleSelector.cpp: + (WebCore::loadFullDefaultStyle): + * css/html.css: Copied from css/html4.css. + * css/html4.css: Removed. + * css/themeWin.css: + * platform/Theme.h: + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::adjustMenuListButtonStyle): + * rendering/RenderTheme.h: + +2009-06-30 Zan Dobersek <zandobersek@gmail.com> + + Reviewed by Gustavo Noronha. + + [GTK] Drag and drop support + https://bugs.webkit.org/show_bug.cgi?id=23642 + + Define DragImageRef as GdkPixbuf and implement essential + functions which manipulate drag images. + + * platform/DragImage.h: + * platform/gtk/DragImageGtk.cpp: + (WebCore::dragImageSize): + (WebCore::deleteDragImage): + (WebCore::scaleDragImage): + (WebCore::createDragImageFromImage): + +2009-06-30 Maxime Simon <simon.maxime@gmail.com> + + Reviewed by Eric Seidel. + + StorageNamespace.cpp build issue + https://bugs.webkit.org/show_bug.cgi?id=26859 + + Moved #endif //ENABLE(DOM_STORAGE) position + so that the build doesn't fail. + The namespace WebCore was started after the #if ENABLE(DOM_STORAGE) + but closed after the #endif. + + * storage/StorageNamespace.cpp: + +2009-06-30 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Oliver Hunt. + + <rdar://problem/7020825> HTMLMediaElement should not assume seeking is only possible in + buffered time ranges + + * html/HTMLMediaElement.cpp: + Don't ASSERT if the network state goes to Idle when when the ready state is + HaveEnoughData or higher, it is perfectly legal. + (WebCore::HTMLMediaElement::setReadyState): + Don't clear m_seeking after posting a 'seeking' event. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::seek): + Do nothing when asked to seek to the same time we are already seeking to. Check requested + seek time against maxTimeSeekable, not maxTimeLoaded. + (WebCore::MediaPlayerPrivate::doSeek): + Don't bother stopping a movie that isn't playing. Minor cleanup to make the code more readable. + (WebCore::MediaPlayerPrivate::seekTimerFired): + Check requested seek time against maxTimeSeekable, not maxTimeLoaded. + (WebCore::MediaPlayerPrivate::updateStates): + A streaming movie has as much data as it needs once it reaches "playable", so + set the ready state to HaveFutureData. A movie with metadata doesn't drop back + to "have nothing" when seeking. A streaming movie doesn't use the network when paused. + (WebCore::MediaPlayerPrivate::timeChanged): + It may not be possible to seek to a specific time in a streamed movie but when seeking + in a streaming movie QuickTime sets the time to closest time possible and posts a + timechanged notification, so update m_seekTo so we can detect when the seek completes. + +2009-06-30 Steve Falkenburg <sfalken@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=26860 + + Reviewed by Sam Weinig. + + Blacklist Yahoo Application State plug-in for versions prior to 1.0.0.6. + Earlier versions cause corruption crashes. + + * plugins/win/PluginPackageWin.cpp: + (WebCore::PluginPackage::isPluginBlacklisted): + +2009-06-30 Dean Jackson <dino@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/7005207> <video> in canvas broken with ACCEL_COMPOSITING + + Fix drawImage of video in CanvasRenderingContext2D when + accelerated compositing is enabled. This is done by + adding a new paint method to HTMLVideoElement that + is only called from canvas, which will create the software + renderer if necessary, but otherwise calls the regular + paint method. Meanwhile, add logic to the software video + renderer so that it can be created without calling repaint + every time it sees a new frame. + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawImage): + * html/HTMLVideoElement.cpp: + (WebCore::HTMLVideoElement::paintCurrentFrameInContext): + * html/HTMLVideoElement.h: + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::paintCurrentFrameInContext): + * platform/graphics/MediaPlayer.h: + * platform/graphics/MediaPlayerPrivate.h: + (WebCore::MediaPlayerPrivateInterface::paintCurrentFrameInContext): + * platform/graphics/mac/MediaPlayerPrivateQTKit.h: + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::createQTMovie): + (WebCore::MediaPlayerPrivate::createQTVideoRenderer): + (WebCore::MediaPlayerPrivate::currentRenderingMode): + (WebCore::MediaPlayerPrivate::setUpVideoRendering): + (WebCore::MediaPlayerPrivate::tearDownVideoRendering): + (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext): + +2009-06-30 David Hyatt <hyatt@apple.com> + + Reviewed by Beth Dakin. + + https://bugs.webkit.org/show_bug.cgi?id=26858 + + Get <dcol> elements reflected into the datagrid's column list. Make sure columns get added/removed + properly. (Attribute changes are still not caught. That is coming in a separate patch.) + + Added fast/dom/HTMLDataGridElement/DataGridColumns-dom.html + + * html/DataGridColumn.h: + (WebCore::DataGridColumn::create): + (WebCore::DataGridColumn::setColumnList): + (WebCore::DataGridColumn::DataGridColumn): + * html/DataGridColumnList.cpp: + (WebCore::DataGridColumnList::add): + (WebCore::DataGridColumnList::remove): + (WebCore::DataGridColumnList::clear): + * html/DataGridColumnList.h: + * html/HTMLDataGridColElement.cpp: + (WebCore::HTMLDataGridColElement::HTMLDataGridColElement): + (WebCore::HTMLDataGridColElement::findDatagridAncestor): + (WebCore::HTMLDataGridColElement::ensureColumn): + (WebCore::HTMLDataGridColElement::insertedIntoTree): + (WebCore::HTMLDataGridColElement::removedFromTree): + (WebCore::HTMLDataGridColElement::sortable): + (WebCore::HTMLDataGridColElement::setSortable): + * html/HTMLDataGridColElement.h: + (WebCore::HTMLDataGridColElement::column): + (WebCore::HTMLDataGridColElement::setColumn): + (WebCore::HTMLDataGridColElement::datagrid): + * html/HTMLDataGridElement.cpp: + (WebCore::HTMLDataGridElement::setDataSource): + (WebCore::HTMLDataGridElement::dataSource): + +2009-06-30 Jeremy Orlow (jorlow@chromium.org) + + Reviewed by David Levin. + + https://bugs.webkit.org/show_bug.cgi?id=26852 + + Fix some minor build issues in the v8 bindings. + + * bindings/v8/custom/V8StorageCustom.cpp: + (WebCore::V8Custom::v8StorageNamedPropertyEnumerator): + (WebCore::storageGetter): + (WebCore::storageSetter): + (WebCore::storageDeleter): + * storage/StorageArea.cpp: + +2009-06-30 Adam Langley <agl@google.com> + + Reviewed by Eric Seidel. + + Chromium Linux: use different fonts for each script run. + + https://bugs.webkit.org/show_bug.cgi?id=26853 + + Previously, when rendering complex text, we picked a single font which + could render all the glyphs needed for the run. However, this meant + that sometimes lines were rendered with, for example, [LATIN, THAI, + LATIN] and we could end up with a different font for the Latin parts + than for lines without Thai in them. + + With this patch, we pick a font for each script run. + + This change is covered by existing layout tests. + + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::Font::drawGlyphs): + (WebCore::TextRunWalker::TextRunWalker): + (WebCore::TextRunWalker::~TextRunWalker): + (WebCore::TextRunWalker::nextScriptRun): + (WebCore::TextRunWalker::fontPlatformDataForScriptRun): + (WebCore::TextRunWalker::setupFontForScriptRun): + (WebCore::TextRunWalker::allocHarfbuzzFont): + (WebCore::setupForTextPainting): + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + (WebCore::Font::selectionRectForComplexText): + * platform/graphics/chromium/FontPlatformDataLinux.cpp: + (WebCore::FontPlatformData::setupPaint): + +2009-06-30 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt, Dan Bernstein. + + <rdar://problem/6191676> Redraw issues scrolling overflow:scroll div with compositing + + There are two parts to this fix. First, if a compositing layer has overflow clipping + or a mask, then the compositing layer does not need to be sized to encompass all + non-composited children. + + Second, when scrolling, we have to back up to the compositing ancestor and have + it reposition descendant compositing layers, because overflow doesn't follow + the z-order tree. + + Test: compositing/overflow/overflow-scroll.html + + * page/FrameView.cpp: + (WebCore::FrameView::layout): + Pass the UpdateCompositingLayers flag when updating layers after layout, so that + we can reposition compositing layers if we're not about to do a layer rebuild. + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateLayerPositions): + Only update compositing layers if the flag is set. + + (WebCore::RenderLayer::scrollToOffset): + Do compositing layer updates from the compositing ancestor in one fell swoop. + + * rendering/RenderLayer.h: + Replace the unused FullUpdate flag with one that allows us to specify whether + compositing layers should be updated. + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateAfterLayout): + * rendering/RenderLayerBacking.h: + New param that we can pass to updateCompositingDescendantGeometry to control + whether the update goes deep. + + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::calculateCompositedBounds): + We can return earlier if this is not a self-painting layer. + If the layer has overflow clip or a mask, then the composited bounds are just the + local bounds, excluding descendants. + + (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): + * rendering/RenderLayerCompositor.h: + Renamed from updateCompositingChildrenGeometry, and added a flag that allows + us to do a deep update. + +2009-06-30 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=26764 + Uncaught NOT_FOUND_ERR: DOMException 8 loading empty text file + + Test: fast/parser/empty-text-resource.html + + * loader/TextDocument.cpp: (WebCore::TextTokenizer::finish): Create document tree if it + hasn't been created yet. + +2009-06-30 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Adam Roben. + + Renamed scrollbarUnderPoint to scrollbarAtPoint. + + * page/EventHandler.cpp: + (WebCore::EventHandler::hitTestResultAtPoint): + (WebCore::EventHandler::handleMousePressEvent): + (WebCore::EventHandler::handleMouseMoveEvent): + * platform/ScrollView.cpp: + (WebCore::ScrollView::scrollbarAtPoint): + * platform/ScrollView.h: + * platform/chromium/PopupMenuChromium.cpp: + (WebCore::PopupListBox::handleMouseDownEvent): + (WebCore::PopupListBox::handleMouseMoveEvent): + +2009-06-30 Oliver Hunt <oliver@apple.com> + + Reviewed by Geoff Garen. + + <rdar://problem/6960286> CrashTracer: [REGRESSION] 1120 crashes in Safari at com.apple.WebCore WebCore::JSLazyEventListener::parseCode const + 62 + + <select> elements and other elements the produce popups can keep their popups + live across a page load. If this occurs and the <select> element has an + onchange handler it is possible to get into a state where we try to execute + JS on a page that no longer has an execution context. + + * bindings/js/JSLazyEventListener.cpp: + (WebCore::JSLazyEventListener::parseCode): + Be paranoid and add a null check, but assert as well because we shouldn't + actually get to this point. + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::valueChanged): + +2009-06-30 Drew Wilson <atwilson@google.com> + + Reviewed by David Levin. + + <https://bugs.webkit.org/show_bug.cgi?id=25435> + + Added support for sending MessagePorts to/from Workers via postMessage(). + + * bindings/js/JSWorkerContextCustom.cpp: + (WebCore::JSWorkerContext::messageChannel): + Exposes MessageChannel constructor WorkerContext. + * bindings/js/JSWorkerCustom.cpp: + * bindings/v8/custom/V8MessageChannelConstructor.cpp: + (WebCore::CALLBACK_FUNC_DECL): + Now correctly handles being instantiated from within a Worker. + * platform/CrossThreadCopier.h: + (WebCore::GenericWorkerTaskTraits<PassOwnPtr>): + Added support for passing PassOwnPtr as argument to GenericWorkerTask + * workers/GenericWorkerTask.h: + (WebCore::): + * workers/Worker.cpp: + (WebCore::Worker::postMessage): + Now handles disentangling/entangling MessagePorts sent to/from via postMessage. + (WebCore::Worker::dispatchMessage): + * workers/Worker.h: + * workers/Worker.idl: + Added an optional MessagePort argument to postMessage() + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::hasPendingActivity): + Workers now report pending activity whenever there are remotely entangled ports. + (WebCore::WorkerContext::postMessage): + Now handles disentangling/entangling MessagePorts sent to/from via postMessage. + (WebCore::WorkerContext::dispatchMessage): + * workers/WorkerContext.h: + * workers/WorkerContext.idl: + Added an optional MessagePort argument to postMessage() + * workers/WorkerContextProxy.h: + * workers/WorkerMessagingProxy.cpp: + Updated messaging infrastructure to transport an optional MessagePort/MessagePortChannel. + (WebCore::MessageWorkerContextTask::create): + (WebCore::MessageWorkerContextTask::MessageWorkerContextTask): + (WebCore::MessageWorkerContextTask::performTask): + (WebCore::MessageWorkerTask::create): + (WebCore::MessageWorkerTask::MessageWorkerTask): + (WebCore::MessageWorkerTask::performTask): + (WebCore::WorkerMessagingProxy::postMessageToWorkerObject): + (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): + * workers/WorkerMessagingProxy.h: + Added additional postMessage() API that accepts a MessagePort + * workers/WorkerObjectProxy.h: + Added additional postMessage() API that accepts a MessagePort + +2009-06-30 Adam Langley <agl@google.com> + + Reviewed by Eric Seidel. + + Chromium: Add complex text support on Linux. + + https://bugs.webkit.org/show_bug.cgi?id=25068 + + This patch adds complex text support on Linux using Harfbuzz. It's not + the fastest code possible: some caching of font tables will certainly + be required. However, it's probably the simplest code that works. + + This will require checking in new baselines in the Chromium tree for + those layout tests which now pass. + + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::Font::drawGlyphs): + (WebCore::truncateFixedPointToInteger): + (WebCore::TextRunWalker::TextRunWalker): + (WebCore::TextRunWalker::~TextRunWalker): + (WebCore::TextRunWalker::reset): + (WebCore::TextRunWalker::setXOffsetToZero): + (WebCore::TextRunWalker::rtl): + (WebCore::TextRunWalker::setBackwardsIteration): + (WebCore::TextRunWalker::nextScriptRun): + (WebCore::TextRunWalker::glyphs): + (WebCore::TextRunWalker::length): + (WebCore::TextRunWalker::xPositions): + (WebCore::TextRunWalker::advances): + (WebCore::TextRunWalker::width): + (WebCore::TextRunWalker::logClusters): + (WebCore::TextRunWalker::numCodePoints): + (WebCore::TextRunWalker::widthOfFullRun): + (WebCore::TextRunWalker::allocHarfbuzzFont): + (WebCore::TextRunWalker::deleteGlyphArrays): + (WebCore::TextRunWalker::createGlyphArrays): + (WebCore::TextRunWalker::expandGlyphArrays): + (WebCore::TextRunWalker::shapeGlyphs): + (WebCore::TextRunWalker::setGlyphXPositions): + (WebCore::setupForTextPainting): + (WebCore::fontPlatformDataForTextRun): + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::glyphIndexForXPositionInScriptRun): + (WebCore::Font::offsetForPositionForComplexText): + (WebCore::Font::selectionRectForComplexText): + * platform/graphics/chromium/HarfbuzzSkia.cpp: Added. + (WebCore::SkiaScalarToHarfbuzzFixed): + (WebCore::stringToGlyphs): + (WebCore::glyphsToAdvances): + (WebCore::canRender): + (WebCore::getOutlinePoint): + (WebCore::getGlyphMetrics): + (WebCore::getFontMetric): + (WebCore::harfbuzzSkiaGetTable): + +2009-06-30 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/7019799> Slow loading MediaDocument can fall back to plug-in unnecessarily + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::updateStates): + Always fall back to a plug-in if m_hasUnsupportedTracks is set. + (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): + Set m_hasUnsupportedTracks if we disable a track. + +2009-06-30 Nate Chapin <japhet@chromium.org> + + Reviewed by Dimitri Glazkov. + + Fix inverted if/else that's causing a layout test in src.chromium.org to fail. + + https://bugs.webkit.org/show_bug.cgi?id=26820 + + * bindings/v8/V8Proxy.cpp: + (WebCore::GCPrologueVisitor::visitDOMWrapper): if (port2), not if (!port2). + +2009-06-30 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix <rdar://problem/6946611> REGRESSION (r30673): Shade10:" D_Snap + to Grid" window is clipping + + Added an app-specific quirk to revert the behavior of <link> elements + to the way it was before r30673, namely that if the rel attribute + is not "stylesheet" but the type attribute contains "text/css", the + link behaves as a stylesheet link. + + * WebCore.base.exp: Exported setTreatsAnyTextCSSLinkAsStylesheet(). + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::process): Check + Settings::treatsAnyTextCSSLinkAsStylesheet() and if true, allow a + style sheet link if the type contains "text/css". + * page/Settings.cpp: + (WebCore::Settings::Settings): + Initialize m_treatsAnyTextCSSLinkAsStylesheet. + (WebCore::Settings::setTreatsAnyTextCSSLinkAsStylesheet): Added. + * page/Settings.h: + (WebCore::Settings::treatsAnyTextCSSLinkAsStylesheet): Added. + +2009-06-30 Adrien Nader <camaradetux@gmail.com> + + Reviewed by Xan Lopez. + + Fix typo in GNUMakefile.am: it reads WebCOre instead of WebCore. + + * GNUmakefile.am: + +2009-06-30 Jan Michael Alonzo <jmalonzo@webkit.org> + + Reviewed by Xan Lopez. + + [Gtk] Turn on ENABLE_DATAGRID so we can run the layout tests. + + * GNUmakefile.am: + +2009-06-30 Raju Kunnath <raju.kunnath@nokia.com> + + Reviewed by Simon Hausmann. + + <https://bugs.webkit.org/show_bug.cgi?id=26752> + + [Qt] Windows release build issue with Qt4.5 due to -GL flag on msvc2005 and msvc2008. + + * WebCore.pro: Removed -GL compiler option for win32-msvc2005|win32-msvc2008. + +2009-06-30 Xan Lopez <xlopez@igalia.com> + + Reviewed by Jan Alonzo. + + Initialize member variables in the right order. Fixes compiler + warning. + + * platform/image-decoders/bmp/BMPImageReader.cpp: + (WebCore::BMPImageReader::BMPImageReader): + +2009-06-29 Xan Lopez <xlopez@igalia.com> + + Reviewed by David Levin. + + https://bugs.webkit.org/show_bug.cgi?id=26831 + Fix compiler warning in WorkerLoaderProxy.h + + Forward declaration of a class within a class is not allowed, + since the compiler can't know if the declaration is legal at that + point. This gives the following compiler warning: + + ../../WebCore/workers/WorkerLoaderProxy.h:40: warning: declaration + "class WebCore::ScriptExecutionContext::Task" does not declare + anything + + Include the full ScriptExecutionHeader header instead. + + * workers/WorkerLoaderProxy.h: + +2009-06-29 Xan Lopez <xlopez@igalia.com> + + Reviewed by Jan Alonzo. + + Remove unused function. + + * plugins/gtk/PluginPackageGtk.cpp: + +2009-06-29 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Change RenderLayer::updateLayerPositions() to use a bitmask instead of two + boolean arguments. FullUpdate is unused at present, but will be used soon. + + * page/FrameView.cpp: + (WebCore::FrameView::layout): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateLayerPositions): + (WebCore::RenderLayer::scrollToOffset): + * rendering/RenderLayer.h: + (WebCore::RenderLayer::): + +2009-06-29 Nate Chapin <japhet@chromium.org> + + Reviewed by Dimitri Glazkov. + + Fix one more bad merge in V8Proxy. + + https://bugs.webkit.org/show_bug.cgi?id=26819 + + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::setDOMException): setDOMExceptionHelper() instead of convertToV8Object(). + +2009-06-29 Sam Weinig <sam@webkit.org> + + Reviewed by Mark Rowe. + + Remove more unused scons support. + + * SConstruct: Removed. + +2009-06-29 Sam Weinig <sam@webkit.org> + + Reviewed by Dave Hyatt. + + Fix some incorrect create functions. + + * html/DataGridColumn.h: + (WebCore::DataGridColumn::create): + * html/DataGridColumnList.h: + (WebCore::DataGridColumnList::create): + +2009-06-29 Sam Weinig <sam@webkit.org> + + Reviewed by Dave Hyatt. + + Remove initialize method from DataGridDataSource and add + DOMDataGridDataSource. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * bindings/js/JSDataGridDataSource.cpp: + * bindings/js/JSDataGridDataSource.h: + * bindings/js/JSHTMLDataGridElementCustom.cpp: + (WebCore::JSHTMLDataGridElement::setDataSource): + * html/DOMDataGridDataSource.cpp: Added. + (WebCore::DOMDataGridDataSource::DOMDataGridDataSource): + (WebCore::DOMDataGridDataSource::~DOMDataGridDataSource): + * html/DOMDataGridDataSource.h: Added. + (WebCore::DOMDataGridDataSource::create): + (WebCore::DOMDataGridDataSource::isDOMDataGridDataSource): + (WebCore::asDOMDataGridDataSource): + * html/DataGridDataSource.h: + (WebCore::DataGridDataSource::isDOMDataGridDataSource): + (WebCore::DataGridDataSource::isJSDataGridDataSource): + * html/HTMLDataGridElement.cpp: + (WebCore::HTMLDataGridElement::HTMLDataGridElement): + (WebCore::HTMLDataGridElement::setDataSource): + (WebCore::HTMLDataGridElement::dataSource): + * html/HTMLDataGridElement.h: + +2009-06-29 Nate Chapin <japhet@chromium.org> + + Reviewed by Dimitri Glazkov. + + Fix a couple of bad merge items from my previous V8Proxy patch. + + https://bugs.webkit.org/show_bug.cgi?id=26813 + + * bindings/v8/V8Collection.h: + (WebCore::nodeCollectionNamedPropertyGetter): Fix a bad function name that slipped through. + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::setDOMException): Fix a bad merge that caused a couple of lines of extraneous, breaking code to get in. + +2009-06-29 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser <simon.fraser@apple.com>. + + https://bugs.webkit.org/show_bug.cgi?id=26706 + + Fixed crash due to dereference of m_toStyle + + * page/animation/ImplicitAnimation.cpp: + (WebCore::ImplicitAnimation::isTargetPropertyEqual): + +2009-06-29 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded. + + * WebCore.base.exp: + Export _wkQTMovieGetType + + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::hasSingleSecurityOrigin): + Move to keep with other non-callback functions. + (WebCore::MediaPlayer::movieLoadType): + New, returns the movie type. + * platform/graphics/MediaPlayer.h: + Declare MovieLoadType enum and movieLoadType method. + + * platform/graphics/MediaPlayerPrivate.h: + (WebCore::MediaPlayerPrivateInterface::movieLoadType): + Default implementation of movieLoadType + + * platform/graphics/mac/MediaPlayerPrivateQTKit.h: + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::createQTMovie): + Don't base m_isStreaming on protocol, there are other types of streaming movies. + (WebCore::MediaPlayerPrivate::maxTimeBuffered): + Don't assume all streams are unbuffered. + (WebCore::MediaPlayerPrivate::updateStates): + Update m_isStreaming once we have metadata. + (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): + Tracks that are disabled to begin with shouldn't be included in m_enabledTrackCount. + (WebCore::MediaPlayerPrivate::movieLoadType): + New, return movie type. + + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + Add wkQTMovieGetType. + +2009-06-29 Alice Liu <alice.liu@apple.com> + + Fixed <rdar://problem/6930280> Reproducible crash at USA Today photo gallery + + Reviewed by Anders Carlsson. + + No test added because the crash requires a flash plugin + + * plugins/win/PluginMessageThrottlerWin.cpp: + Rely on the hWnd of the plugin to tell us whether the PluginView has + been deleted during execution of its wndProc. + (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired): + +2009-06-29 Dmitry Titov <dimich@chromium.org> + + Reviewed by David Levin. + + https://bugs.webkit.org/show_bug.cgi?id=26811 + [Chromium] Remove a flag and functions used to enable workers in runtime. + + * bindings/v8/WorkerContextExecutionProxy.cpp: + * bindings/v8/WorkerContextExecutionProxy.h: + +2009-06-29 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt. + + <rdar://problem/6976712> Text antialiasing problems when rendering into compositing layers. + + Improve the appearance of text in compositing layers by making use of + CA's layer geometry flipping, rather that doing it ourselves with a flip + transform. This allows CG to use font autohinting in the layer text. + + * platform/graphics/GraphicsLayer.h: + (WebCore::GraphicsLayer::setGeometryOrientation): + (WebCore::GraphicsLayer::geometryOrientation): + New methods to set whether this layer uses flipped geometry. + + * platform/graphics/mac/GraphicsLayerCA.h: + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::GraphicsLayerCA::setGeometryOrientation): + (WebCore::GraphicsLayerCA::geometryOrientation): + Subclass in order to call into CA + + (WebCore::GraphicsLayerCA::setContentsLayer): + Now that CA is doing the geometry flipping, we no longer need to flip the content + layers for image and video manually + + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): + Turn on flipping on the root layer. + +2009-06-29 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> + + Reviewed by Adam Treat. + + Fixes: https://bugs.webkit.org/show_bug.cgi?id=26246 + + Implement most WML specific <select> element features. + Add 'iname' / 'ivalue' support and support variable references. + + Add two tests covering most select/variable related functionality. + Needs more tests when adding full 'iname' / 'ivalue' support (used in conjuction with onpick). + + Tests: http/tests/wml/post-data-to-server.html + wml/select-element-variables.html + + * dom/SelectElement.cpp: + (WebCore::SelectElement::optionCount): Refactored from HTMLSelectElement::length() for use within HTML & WML. + * dom/SelectElement.h: + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::length): Use new SelectElement::optionCount() function. (no functional changes for HTML). + * wml/WMLCardElement.cpp: + (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): Activated commented code taking care of WMLSelectElement initialization. + * wml/WMLSelectElement.cpp: Add a bunch of new code handling WML specific feature processing. + (WebCore::WMLSelectElement::title): + (WebCore::WMLSelectElement::formControlName): + (WebCore::WMLSelectElement::defaultEventHandler): + (WebCore::WMLSelectElement::selectInitialOptions): + (WebCore::WMLSelectElement::calculateDefaultOptionIndices): + (WebCore::WMLSelectElement::selectDefaultOptions): + (WebCore::WMLSelectElement::initializeVariables): + (WebCore::WMLSelectElement::updateVariables): + (WebCore::WMLSelectElement::parseIndexValueString): + (WebCore::WMLSelectElement::valueStringToOptionIndices): + (WebCore::WMLSelectElement::optionIndicesToValueString): + (WebCore::WMLSelectElement::optionIndicesToString): + (WebCore::WMLSelectElement::name): + (WebCore::WMLSelectElement::value): + (WebCore::WMLSelectElement::iname): + (WebCore::WMLSelectElement::ivalue): + * wml/WMLSelectElement.h: + +2009-06-29 David Hyatt <hyatt@apple.com> + + Reviewed by Adam Roben. + + Put <datagrid> behind an ifdef. + + * Configurations/FeatureDefines.xcconfig: + * bindings/js/JSDataGridColumnListCustom.cpp: + * bindings/js/JSDataGridDataSource.cpp: + * bindings/js/JSDataGridDataSource.h: + * bindings/js/JSHTMLDataGridElementCustom.cpp: + * html/DataGridColumn.cpp: + * html/DataGridColumn.h: + * html/DataGridColumn.idl: + * html/DataGridColumnList.cpp: + * html/DataGridColumnList.h: + * html/DataGridColumnList.idl: + * html/DataGridDataSource.h: + * html/HTMLDataGridCellElement.cpp: + * html/HTMLDataGridCellElement.h: + * html/HTMLDataGridCellElement.idl: + * html/HTMLDataGridColElement.cpp: + * html/HTMLDataGridColElement.h: + * html/HTMLDataGridColElement.idl: + * html/HTMLDataGridElement.cpp: + * html/HTMLDataGridElement.h: + * html/HTMLDataGridElement.idl: + * html/HTMLDataGridRowElement.cpp: + * html/HTMLDataGridRowElement.h: + * html/HTMLDataGridRowElement.idl: + * html/HTMLTagNames.in: + * page/DOMWindow.idl: + * rendering/RenderDataGrid.cpp: + * rendering/RenderDataGrid.h: + +2009-06-29 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Ariya Hidayat and Adam Roben. + + Fix compilation with MINGW. Ported MSVC inline assembly to + GNU inline assembly. Also fixed casting errors where gcc + refused to cast a pointer-to-function to a pointer-to-object, + without an intermediate cast to a non-pointer type. + + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::hookedBeginPaint): + (WebCore::PluginView::hookedEndPaint): + (WebCore::hook): + (WebCore::setUpOffscreenPaintingHooks): + 2009-06-26 John Sullivan <sullivan@apple.com> Added Speech submenu to context menu on Mac when there's a non-editable selection |