2009-07-13 Gustavo Noronha Silva Unreviewed make dist build fix. * GNUmakefile.am: 2009-07-13 Cédric Luthi 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 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 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 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 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 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 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 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 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 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 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 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 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 - Windows build fix * platform/graphics/cg/PDFDocumentImage.cpp: (WebCore::PDFDocumentImage::dataChanged): 2009-07-12 Dan Bernstein 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 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 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 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 Reviewed by Simon Fraser. Bug 27187 - Match Gecko behaviour for canvas path mutation APIs on an empty path 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 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 Reviewed by Mark Rowe. A worker-thread inspired follow-up for: https://bugs.webkit.org/show_bug.cgi?id=26496 and 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 Enable support for accelerated compositing and 3d transforms on Leopard. Reviewed by Oliver Hunt. * Configurations/FeatureDefines.xcconfig: 2009-07-11 Simon Hausmann 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 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 Bug 27007: Build fixes when ICONDATABASE is disabled 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 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 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 Reviewed by Simon Fraser. . 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 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 Style cleanup over my last patch. * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::~XMLHttpRequest): 2009-07-10 Kevin McCullough 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 Reviewed by Antti Koivisto. https://bugs.webkit.org/show_bug.cgi?id=26496 and 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 Try to unbreak non-Mac build. * page/ChromeClient.h: (WebCore::ChromeClient::formDidFocus): (WebCore::ChromeClient::formDidBlur): 2009-07-10 Beth Dakin Reviewed by Anders Carlsson. The rest of the fix for 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 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 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 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 Sort all our Xcode projects Accomplished using sort-Xcode-project-file. Requested by Dave Kilzer. * WebCore.xcodeproj/project.pbxproj: 2009-07-10 Adam Langley 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 Reviewed by John Sullivan. Fix crash when changing the zoom level in http://iphone.akamai.com/ 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 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 - fix the build by reverting the ill-advised r45711 * page/FrameView.cpp: (WebCore::FrameView::scrollToAnchor): 2009-07-09 Brian Weinstein Reviewed by Tim Hatcher. Updated WebCore.base.exp to add some needed functions. * WebCore.base.exp: 2009-07-10 Dan Bernstein - 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 Reviewed by Simon Fraser. - fix https://bugs.webkit.org/show_bug.cgi?id=27137 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 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 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 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 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 Reviewed by Maciej Stachowiak. Bug 27142 - canPlayType() should return empty string for unsupported content Return "" instead of "no" for unsupport media types. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::canPlayType): 2009-07-09 Roland Steiner Reviewed by Maciej Stachowiak. Implement the part of HTML5 spec that deals with parsing of and tags in that their end tags are optional if followed by /. Also specify a new accessibility role "annotation" for and . 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 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 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 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 Reviewed by Simon Fraser. Full page zoom breaks remaining and elapsed time display in the