diff options
Diffstat (limited to 'Source/WebCore/ChangeLog')
-rw-r--r-- | Source/WebCore/ChangeLog | 18164 |
1 files changed, 18164 insertions, 0 deletions
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 46a64cd..204f540 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,18167 @@ +2011-03-30 Martin Robinson <mrobinson@igalia.com> + + Try to fix the EFL build. + + * platform/efl/RenderThemeEfl.cpp: + (WebCore::RenderThemeEfl::paintThemePart): Use the new cairo_t accessor on the platform context. + +2011-03-30 Abhishek Arya <inferno@chromium.org> + + Reviewed by Simon Fraser. + + Fix wrong type assumptions in editing code. Move code + from ASSERTs to hard checks. + https://bugs.webkit.org/show_bug.cgi?id=57348 + + Test: editing/execCommand/remove-format-non-html-element-crash.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * editing/ApplyStyleCommand.cpp: + (WebCore::getRGBAFontColor): + (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): + * editing/DeleteButtonController.cpp: + (WebCore::enclosingDeletableElement): + * editing/EditingStyle.cpp: + (WebCore::EditingStyle::textDirection): + (WebCore::EditingStyle::prepareToApplyAt): + * editing/Editor.cpp: + (WebCore::Editor::textDirectionForSelection): + * editing/FormatBlockCommand.cpp: + (WebCore::FormatBlockCommand::elementForFormatBlockCommand): + +2011-03-30 Stephen White <senorblanco@chromium.org> + + Reviewed by Kenneth Russell. + + Speed up clipping in accelerated 2D canvas. + https://bugs.webkit.org/show_bug.cgi?id=57464 + + Instead of clearing the entire stencil buffer when removing clipping paths, we erase the path with a DECR stencil operation. + Covered by canvas/philip/tests/2d.path.clip.intersect.html, and others. + + * platform/graphics/chromium/GLES2Canvas.cpp: + (WebCore::PathAndTransform::PathAndTransform): + New structure to keep track of the CTM at the time the clipping path was added. + (WebCore::GLES2Canvas::State::State): + Replace m_clippingEnabled with a count of total clipping paths. + (WebCore::GLES2Canvas::clearRect): + Check the total clipping path count, instead of m_clippingEnabled. + (WebCore::GLES2Canvas::fillPath): + (WebCore::GLES2Canvas::fillRect): + Perform state application after doing shadows. This is necessary + since restore() may now leave clipping enabled. + (WebCore::GLES2Canvas::clipPath): + Explicitly specify the stencil operation as INCR. Store the current + transformation when saving clipping paths. + (WebCore::GLES2Canvas::restore): + Don't clear the stencil buffer and re-draw active paths on each restore. + Erase the old paths with DECR. + (WebCore::GLES2Canvas::drawTexturedRect): + Check m_numClippingPaths instead of m_clippingEnabled. + (WebCore::GLES2Canvas::beginShadowDraw): + Perform state application when drawing hard shadows. + (WebCore::GLES2Canvas::endShadowDraw): + Check m_numClippingPaths instead of m_clippingEnabled. + (WebCore::GLES2Canvas::beginStencilDraw): + Make the stencil op a parameter to beginShadowDraw(). + (WebCore::GLES2Canvas::applyClipping): + Compare against the total number of stencil paths, not just the ones in + the current state. + * platform/graphics/chromium/GLES2Canvas.h: + Make the stencil op a parameter to beginShadowDraw(). + +2011-03-29 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + Move factory-like things in EventDispatcher::dispatchMouseEvent to a factory, clean up names and ordering. + https://bugs.webkit.org/show_bug.cgi?id=57419 + + Refactoring, covered by existing tests. + + * dom/EventDispatcher.cpp: + (WebCore::EventDispatcher::dispatchMouseEvent): Reordered and clarified names. + * dom/MouseEvent.cpp: + (WebCore::MouseEvent::create): Added a new factory method that takes PlatformMouseEvent. + * dom/MouseEvent.h: Added decl. + +2011-03-30 Erik Arvidsson <arv@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Missing DOM bindings for a ping + https://bugs.webkit.org/show_bug.cgi?id=51955 + + Test: fast/dom/ping-attribute-dom-binding.html + + * html/HTMLAnchorElement.idl: + * html/HTMLAreaElement.idl: + +2011-03-30 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Dirk Schulze. + + [Cairo] Better separate the concerns of GraphicsContextCairo + https://bugs.webkit.org/show_bug.cgi?id=55150 + + Add a PlatformContextCairo which right now stores the cairo_t* for a + GraphicsContextCairo. Later patches will move logic for tracking ContextShadow + and image masking layers into this PlatformContextCairo class. + + No new tests. This patch is only a code cleanup. + + * GNUmakefile.am: + * platform/graphics/GraphicsContext.h: The platform context is no longer a + cairo_t, but our new class the PlatformContextCairo. + * platform/graphics/cairo/ContextShadowCairo.cpp: Updated to reflect new class.j + * platform/graphics/cairo/FontCairo.cpp: Ditto. + * platform/graphics/cairo/GradientCairo.cpp: Ditto. + * platform/graphics/cairo/GraphicsContextCairo.cpp: Mostly mechanical + changes which now reference platformContext()->cr() to get the cairo_t. + * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Now hold the + PlatformContextCairo instead of the cairo_t. + * platform/graphics/cairo/ImageBufferCairo.cpp: Update to reflect new class. + * platform/graphics/cairo/ImageCairo.cpp: Ditto. + * platform/graphics/cairo/PathCairo.cpp: Ditto. + * platform/graphics/cairo/PlatformContextCairo.cpp: Added. + * platform/graphics/cairo/PlatformContextCairo.h: Added. + * platform/graphics/gtk/FontGtk.cpp: Update to reflect new class. + * platform/graphics/gtk/IconGtk.cpp: Ditto. + * platform/graphics/win/GraphicsContextCairoWin.cpp: Now fill out + m_data with a private section containing the platform context instead of + just a cairo_t. + * platform/gtk/RenderThemeGtk.cpp: Update to reflect new class. + * platform/gtk/WidgetRenderingContext.cpp: Ditto. + (WebCore::WidgetRenderingContext::~WidgetRenderingContext): Ditto. + * plugins/gtk/PluginViewGtk.cpp: Ditto. + +2011-03-30 Patrick Gansterer <paroga@webkit.org> + + Unreviewed WinCE build fix for r82465. + + * CMakeListsWinCE.txt: + +2011-03-30 Steve Falkenburg <sfalken@apple.com> + + Reviewed by Adam Roben. + + Update Windows production build logic for new production configurations + https://bugs.webkit.org/show_bug.cgi?id=57494 + + * WebCore.vcproj/QTMovieWinProduction.vsprops: + * WebCore.vcproj/WebCore.make: + * WebCore.vcproj/WebCoreProduction.vsprops: + +2011-03-30 Sam Weinig <sam@webkit.org> + + Reviewed by Brady Eidson. + + WebKit2: Attempting to view css file from url causes it to download + <rdar://problem/9102611> + https://bugs.webkit.org/show_bug.cgi?id=57501 + + * WebCore.exp.in: + * platform/MIMETypeRegistry.cpp: + (WebCore::initializeUnsupportedTextMIMETypes): + (WebCore::initializeMIMETypeRegistry): + (WebCore::MIMETypeRegistry::isUnsupportedTextMIMEType): + (WebCore::MIMETypeRegistry::getUnsupportedTextMIMETypes): + * platform/MIMETypeRegistry.h: + Add set of unsupported text MIME types, taken from WebKit/mac. + +2011-03-30 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Darin Adler. + + Crash when closing "Add Bookmark" dialog using the Enter Key + https://bugs.webkit.org/show_bug.cgi?id=57294 + <rdar://problem/9044756> + + Protect the FrameView in EventHandler::keyEvent, like we do in other EventHandler + functions that could destroy the frame. + + * page/EventHandler.cpp: + (WebCore::EventHandler::keyEvent): + +2011-03-30 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r82463. + http://trac.webkit.org/changeset/82463 + https://bugs.webkit.org/show_bug.cgi?id=57482 + + Assertion failure in Node::rendererIsEditable on multiple + editing tests (Requested by aroben|meeting on #webkit). + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + (WebCore::CSSPrimitiveValue::operator EUnicodeBidi): + * css/CSSValueKeywords.in: + * rendering/style/RenderStyle.h: + * rendering/style/RenderStyleConstants.h: + +2011-03-24 Luiz Agostini <luiz.agostini@openbossa.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] QNetworkReplyHandler refactoring: signal sequence. + https://bugs.webkit.org/show_bug.cgi?id=57049 + + This is the first step in QNetworkReplyHandler. The main objective here is to create simple invariants: + + 1 - that the signals metadatachanged, readyRead and finished will come in this order. + 2 - that signals metadatachanged and finished will be called exactly once. + + Having these invariants further simplifications will be possible and will come in future patches. + + Class QNetworkReplyWrapper was created to handle QNetworkReply object. To connect to the signals of it + instead of connecting to the signals of QNetworkReply is what guarantees the sequence of the signals. + QNetworkReplyWrapper will be used in future to perform mime type sniffing before sending + metadatachanged signal. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper): + (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper): + (WebCore::QNetworkReplyWrapper::release): + (WebCore::QNetworkReplyWrapper::resetConnections): + (WebCore::QNetworkReplyWrapper::receiveMetaData): + (WebCore::QNetworkReplyWrapper::didReceiveFinished): + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + (WebCore::QNetworkReplyHandler::resetState): + (WebCore::QNetworkReplyHandler::release): + (WebCore::QNetworkReplyHandler::finish): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + (WebCore::QNetworkReplyHandler::redirect): + (WebCore::QNetworkReplyHandler::forwardData): + (WebCore::QNetworkReplyHandler::sendNetworkRequest): + (WebCore::QNetworkReplyHandler::start): + * platform/network/qt/QNetworkReplyHandler.h: + (WebCore::QNetworkReplyWrapper::reply): + (WebCore::QNetworkReplyWrapper::redirectionTargetUrl): + (WebCore::QNetworkReplyWrapper::encoding): + (WebCore::QNetworkReplyWrapper::advertisedMimeType): + (WebCore::QNetworkReplyHandler::reply): + +2011-03-30 Steve Falkenburg <sfalken@apple.com> + + Reviewed by Adam Roben. + + Rename Windows configuration Release_LTCG to Production for clarity + https://bugs.webkit.org/show_bug.cgi?id=57465 + + * WebCore.vcproj/QTMovieWin.vcproj: + * WebCore.vcproj/QTMovieWinProduction.vsprops: Copied from Source/WebCore/WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops. + * WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops: Removed. + * WebCore.vcproj/WebCore.sln: + * WebCore.vcproj/WebCore.submit.sln: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/WebCoreGenerated.vcproj: + * WebCore.vcproj/WebCoreProduction.vsprops: Copied from Source/WebCore/WebCore.vcproj/WebCoreReleaseLTCG.vsprops. + * WebCore.vcproj/WebCoreReleaseLTCG.vsprops: Removed. + +2011-03-30 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Anders Carlsson. + + ASSERT(cookieStorageAdapter) when calling stopObservingCookieChanges after WebProcess has crashed + https://bugs.webkit.org/show_bug.cgi?id=57477 + <rdar://problem/9178751> + + If someone has called startObservingCookieChanges, and the WebProcess crashes and restarts, the UIProcess + will call stopObservingCookieChanges when cookieStorageAdapter is nil. + + The assert is wrong when the web process crashes, and there is no harm in dispatching a message to nil, + so remove the assert. + + * platform/network/mac/CookieStorageMac.mm: + (WebCore::stopObservingCookieChanges): + +2011-03-30 Sam Weinig <sam@webkit.org> + + Fix Leopard build. + + * platform/DefaultLocalizationStrategy.cpp: + (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary): + +2011-03-30 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Add default localization strategy that can be shared by WebKit1 and WebKit2 + https://bugs.webkit.org/show_bug.cgi?id=57406 + + Currently, only WebKit2 uses this default strategy, but WebKit1 should be able + to adopt it soon. + + * platform/DefaultLocalizationStrategy.cpp: Copied from Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp. + (WebCore::DefaultLocalizationStrategy::DefaultLocalizationStrategy): + * platform/DefaultLocalizationStrategy.h: Copied from Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h. + Copy the implementation of the Localization strategy from WebKit2 into a shared default strategy. + + * platform/LocalizedStrings.cpp: + (WebCore::localizedString): + Add default implementation of localization bottleneck function. + + * platform/LocalizedStrings.h: + Add localization macros here, instead of defining them in the above layer. + + * platform/PlatformStrategies.cpp: + (WebCore::PlatformStrategies::createLocalizationStrategy): + * platform/PlatformStrategies.h: + Add default implementation of strategy creation function which creates the default strategy. + + * platform/win/LocalizedStringsWin.cpp: Copied from Source/WebCore/platform/mac/LocalizedStringsMac.mm. + (WebCore::localizedString): + Add stub for windows, this will be update to pull from the bundle in a follow up patch. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.exp.in: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + Add new files. + +2011-03-30 Andras Becsi <abecsi@webkit.org> + + Reviewed by Darin Adler. + + CSS: Slow parsing of rgb() with percent values + https://bugs.webkit.org/show_bug.cgi?id=16708 + + Implement fast-path parsing for percentage color values. + + Gain ~30% speedup on http://canvex.lazyilluminati.com/misc/3d.html + + Relanding with rounding fix after it was rolled out in r82315. + + * css/CSSParser.cpp: + (WebCore::checkForValidDouble): Extend to return the number of characters forming a valid double. + (WebCore::parseDouble): Function for parsing double values if they are valid. + (WebCore::parseColorIntOrPercentage): Extend parseColorInt to deal with percentage values. + (WebCore::parseAlphaValue): Use the new functions. + (WebCore::CSSParser::parseColor): Ditto. + +2011-03-30 Ofri Wolfus <ofri@dhcp-172-28-40-178.tlv.corp.google.com> + + Reviewed by Eric Seidel. + + Add support for parsing unicode-bidi: -webkit-plaintext. + https://bugs.webkit.org/show_bug.cgi?id=57457 + + Test: css3/unicode-bidi-plaintext-parse.html + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + (WebCore::CSSPrimitiveValue::operator EUnicodeBidi): + * css/CSSValueKeywords.in: + * rendering/style/RenderStyle.h: + * rendering/style/RenderStyleConstants.h: + +2011-03-30 Andreas Kling <kling@webkit.org> + + Reviewed by Benjamin Poulain. + + [Qt] Remove unused variables in GraphicsContext::fillRect() + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::fillRect): + +2011-03-30 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Eric Seidel. + + REGRESSION(r82419): New pixel test failure fast/box-shadow/basic-shadows.html + https://bugs.webkit.org/show_bug.cgi?id=57442 + + When checking the position of the inline iterator in the logicallyLastRun, we should not consider BR as text. + + No new tests as existing test covers this case. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::reachedEndOfTextRenderer): + +2011-03-30 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Chris Fleizach. + + AX: GTK: ARIA role is not respected on <p> <label> <div> and <form> + https://bugs.webkit.org/show_bug.cgi?id=47636 + + Define new roles in WebCore and map them to ATK accordingly. + + Test: platform/gtk/accessibility/aria-roles-unignored.html + + * accessibility/AccessibilityObject.h: Added new roles to + represent paragraphs, labels, forms and div sections. + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::determineAccessibilityRole): + Return ParagraphRole, LabelRole, FormRole and DivRole when needed + for the GTK platform only. + * accessibility/gtk/AccessibilityObjectAtk.cpp: + (WebCore::AccessibilityObject::allowsTextRanges): Consider the new + roles now that those kind of nodes won't return true to isGroup(). + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (atkRole): Map new WebCore roles to ATK Roles. + (webkit_accessible_get_role): Remove code to define roles for + paragraphs, labels, forms and divs based on node's tag name. + + Update mappings for the Mac platform. + + * accessibility/mac/AccessibilityObjectWrapper.mm: + (createAccessibilityRoleMap): Add explicit mappings from the new + roles introduced to NSAccessibilityGroupRole. + +2011-03-30 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Build fix for Efl and Qt Win. + + * inspector/PageDebuggerAgent.cpp: removed ENABLE(WORKERS) guard from code that has nothing to do with workers. + +2011-03-30 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: audit run never completes, fails in DOMAgent.js + https://bugs.webkit.org/show_bug.cgi?id=57349 + + - assure document is present before calling DOMAgent.querySelectAll() + + * inspector/front-end/AuditRules.js: + (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): + +2011-03-30 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Build fix. + + * UseJSC.cmake: fix typo PageDebugServer -> PageScriptDebugServer + +2011-03-30 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: split debugger agent into Page and Worker-specific ones + https://bugs.webkit.org/show_bug.cgi?id=57345 + + ScriptDebugServer and InspectorDebuggerAgent contain only functionality common + for Worker and Page debugger. All specifics is moved into Page/WorkerScriptDebugServer + and Page/WorkerDebuggerAgent. + + * CMakeLists.txt: + * GNUmakefile.am: + * UseJSC.cmake: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSInjectedScriptHostCustom.cpp: + (WebCore::JSInjectedScriptHost::currentCallFrame): + * bindings/js/PageScriptDebugServer.cpp: Added. + (WebCore::toPage): + (WebCore::PageScriptDebugServer::shared): + (WebCore::PageScriptDebugServer::PageScriptDebugServer): + (WebCore::PageScriptDebugServer::~PageScriptDebugServer): + (WebCore::PageScriptDebugServer::addListener): + (WebCore::PageScriptDebugServer::removeListener): + (WebCore::PageScriptDebugServer::recompileAllJSFunctions): + (WebCore::PageScriptDebugServer::getListenersForGlobalObject): + (WebCore::PageScriptDebugServer::didPause): + (WebCore::PageScriptDebugServer::didContinue): + (WebCore::PageScriptDebugServer::didRemoveLastListener): + (WebCore::PageScriptDebugServer::setJavaScriptPaused): + * bindings/js/PageScriptDebugServer.h: Added. + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::ScriptDebugServer): + (WebCore::ScriptDebugServer::sourceParsed): + (WebCore::ScriptDebugServer::dispatchFunctionToListeners): + (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded): + (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded): + (WebCore::ScriptDebugServer::pauseIfNeeded): + * bindings/js/ScriptDebugServer.h: + * bindings/js/WorkerScriptDebugServer.cpp: Added. + (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer): + (WebCore::WorkerScriptDebugServer::addListener): + (WebCore::WorkerScriptDebugServer::removeListener): + * bindings/js/WorkerScriptDebugServer.h: Added. + (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer): + (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions): + (WebCore::WorkerScriptDebugServer::getListenersForGlobalObject): + (WebCore::WorkerScriptDebugServer::didPause): + (WebCore::WorkerScriptDebugServer::didContinue): + * bindings/v8/PageScriptDebugServer.cpp: Added. + (WebCore::retrieveFrame): + (WebCore::PageScriptDebugServer::shared): + (WebCore::PageScriptDebugServer::PageScriptDebugServer): + (WebCore::PageScriptDebugServer::addListener): + (WebCore::PageScriptDebugServer::removeListener): + (WebCore::PageScriptDebugServer::setClientMessageLoop): + (WebCore::PageScriptDebugServer::getDebugListenerForContext): + (WebCore::PageScriptDebugServer::runMessageLoopOnPause): + (WebCore::PageScriptDebugServer::quitMessageLoopOnPause): + * bindings/v8/PageScriptDebugServer.h: Added. + (WebCore::PageScriptDebugServer::setEnabled): + (WebCore::PageScriptDebugServer::ClientMessageLoop::~ClientMessageLoop): + (WebCore::PageScriptDebugServer::~PageScriptDebugServer): + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::ScriptDebugServer): + (WebCore::ScriptDebugServer::setPauseOnNextStatement): + (WebCore::ScriptDebugServer::breakProgram): + (WebCore::ScriptDebugServer::continueProgram): + (WebCore::ScriptDebugServer::stepIntoStatement): + (WebCore::ScriptDebugServer::stepOverStatement): + (WebCore::ScriptDebugServer::stepOutOfFunction): + (WebCore::ScriptDebugServer::editScriptSource): + (WebCore::toScriptDebugServer): + (WebCore::ScriptDebugServer::breakProgramCallback): + (WebCore::ScriptDebugServer::v8DebugEventCallback): + (WebCore::ScriptDebugServer::handleV8DebugEvent): + (WebCore::ScriptDebugServer::isPaused): + * bindings/v8/ScriptDebugServer.h: + * bindings/v8/WorkerScriptDebugServer.cpp: Added. + (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer): + (WebCore::WorkerScriptDebugServer::addListener): + (WebCore::WorkerScriptDebugServer::removeListener): + * bindings/v8/WorkerScriptDebugServer.h: Added. + (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer): + (WebCore::WorkerScriptDebugServer::getDebugListenerForContext): + (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause): + (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause): + * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: + (WebCore::V8InjectedScriptHost::currentCallFrameCallback): + * inspector/InjectedScriptHost.h: + (WebCore::InjectedScriptHost::init): + (WebCore::InjectedScriptHost::debuggerAgent): + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::InspectorAgent): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): + (WebCore::InspectorDebuggerAgent::enable): + (WebCore::InspectorDebuggerAgent::disable): + (WebCore::InspectorDebuggerAgent::setBreakpointsActive): + (WebCore::InspectorDebuggerAgent::removeBreakpoint): + (WebCore::InspectorDebuggerAgent::continueToLocation): + (WebCore::InspectorDebuggerAgent::resolveBreakpoint): + (WebCore::InspectorDebuggerAgent::editScriptSource): + (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement): + (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement): + (WebCore::InspectorDebuggerAgent::resume): + (WebCore::InspectorDebuggerAgent::stepOver): + (WebCore::InspectorDebuggerAgent::stepInto): + (WebCore::InspectorDebuggerAgent::stepOut): + (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState): + (WebCore::InspectorDebuggerAgent::didPause): + (WebCore::InspectorDebuggerAgent::breakProgram): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::disable): + (WebCore::InspectorProfilerAgent::enable): + (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling): + * inspector/PageDebuggerAgent.cpp: Added. + (WebCore::PageDebuggerAgent::create): + (WebCore::PageDebuggerAgent::PageDebuggerAgent): + (WebCore::PageDebuggerAgent::~PageDebuggerAgent): + (WebCore::PageDebuggerAgent::startListeningScriptDebugServer): + (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer): + (WebCore::PageDebuggerAgent::scriptDebugServer): + * inspector/PageDebuggerAgent.h: Added. + * inspector/WorkerDebuggerAgent.cpp: Added. + (WebCore::WorkerDebuggerAgent::create): + (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent): + (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent): + (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer): + (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer): + (WebCore::WorkerDebuggerAgent::scriptDebugServer): + * inspector/WorkerDebuggerAgent.h: Added. + +2011-03-30 Levi Weintraub <leviw@chromium.org> + + Reviewed by Ryosuke Niwa. + + Clicking below last line of right-to-left editable text that puts caret in the wrong place + https://bugs.webkit.org/show_bug.cgi?id=38087 + + Moving getLogical[Start/End]BoxWithNode to RootInlineBox and using it in positionForPointWithInlineChildren + instead of lastLeafChild, which wasn't correct in the RTL case. + + Test: editing/selection/click-below-rtl-text.html + + * editing/visible_units.cpp: + (WebCore::logicalStartPositionForLine): Moved to RootInlineBox. + (WebCore::logicalEndPositionForLine): Ditto. + * editing/visible_units.h: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::positionForPointWithInlineChildren): Useing getLogicalEndBoxWithNode instead + of lastLeafChild. + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::getLogicalStartBoxWithNode): Moved and refactored. + (WebCore::RootInlineBox::getLogicalEndBoxWithNode): Ditto. + * rendering/RootInlineBox.h: + +2011-03-30 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Rollout r82438 and r82436. + + * CMakeLists.txt: + * GNUmakefile.am: + * UseJSC.cmake: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSInjectedScriptHostCustom.cpp: + (WebCore::JSInjectedScriptHost::currentCallFrame): + * bindings/js/PageScriptDebugServer.cpp: Removed. + * bindings/js/PageScriptDebugServer.h: Removed. + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::shared): + (WebCore::ScriptDebugServer::ScriptDebugServer): + (WebCore::ScriptDebugServer::addListener): + (WebCore::ScriptDebugServer::removeListener): + (WebCore::ScriptDebugServer::hasListenersInterestedInPage): + (WebCore::toPage): + (WebCore::ScriptDebugServer::sourceParsed): + (WebCore::ScriptDebugServer::dispatchFunctionToListeners): + (WebCore::ScriptDebugServer::setJavaScriptPaused): + (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded): + (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded): + (WebCore::ScriptDebugServer::pauseIfNeeded): + (WebCore::ScriptDebugServer::recompileAllJSFunctions): + (WebCore::ScriptDebugServer::didAddListener): + (WebCore::ScriptDebugServer::didRemoveListener): + * bindings/js/ScriptDebugServer.h: + * bindings/js/WorkerScriptDebugServer.cpp: Removed. + * bindings/js/WorkerScriptDebugServer.h: Removed. + * bindings/v8/PageScriptDebugServer.cpp: Removed. + * bindings/v8/PageScriptDebugServer.h: Removed. + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::retrieveFrame): + (WebCore::ScriptDebugServer::shared): + (WebCore::ScriptDebugServer::ScriptDebugServer): + (WebCore::ScriptDebugServer::addListener): + (WebCore::ScriptDebugServer::removeListener): + (WebCore::ScriptDebugServer::setPauseOnNextStatement): + (WebCore::ScriptDebugServer::breakProgram): + (WebCore::ScriptDebugServer::continueProgram): + (WebCore::ScriptDebugServer::stepIntoStatement): + (WebCore::ScriptDebugServer::stepOverStatement): + (WebCore::ScriptDebugServer::stepOutOfFunction): + (WebCore::ScriptDebugServer::editScriptSource): + (WebCore::ScriptDebugServer::setEnabled): + (WebCore::ScriptDebugServer::breakProgramCallback): + (WebCore::ScriptDebugServer::v8DebugEventCallback): + (WebCore::ScriptDebugServer::handleV8DebugEvent): + (WebCore::ScriptDebugServer::didResume): + * bindings/v8/ScriptDebugServer.h: + (WebCore::ScriptDebugServer::pageCreated): + (WebCore::ScriptDebugServer::ClientMessageLoop::~ClientMessageLoop): + (WebCore::ScriptDebugServer::setClientMessageLoop): + * bindings/v8/WorkerScriptDebugServer.cpp: Removed. + * bindings/v8/WorkerScriptDebugServer.h: Removed. + * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: + (WebCore::V8InjectedScriptHost::currentCallFrameCallback): + * inspector/InjectedScriptHost.h: + (WebCore::InjectedScriptHost::init): + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::InspectorAgent): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::create): + (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): + (WebCore::InspectorDebuggerAgent::enable): + (WebCore::InspectorDebuggerAgent::disable): + (WebCore::InspectorDebuggerAgent::setBreakpointsActive): + (WebCore::InspectorDebuggerAgent::removeBreakpoint): + (WebCore::InspectorDebuggerAgent::continueToLocation): + (WebCore::InspectorDebuggerAgent::resolveBreakpoint): + (WebCore::InspectorDebuggerAgent::editScriptSource): + (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement): + (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement): + (WebCore::InspectorDebuggerAgent::resume): + (WebCore::InspectorDebuggerAgent::stepOver): + (WebCore::InspectorDebuggerAgent::stepInto): + (WebCore::InspectorDebuggerAgent::stepOut): + (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState): + (WebCore::InspectorDebuggerAgent::didPause): + (WebCore::InspectorDebuggerAgent::breakProgram): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::disable): + (WebCore::InspectorProfilerAgent::enable): + (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling): + * inspector/PageDebuggerAgent.cpp: Removed. + * inspector/PageDebuggerAgent.h: Removed. + * inspector/WorkerDebuggerAgent.cpp: Removed. + * inspector/WorkerDebuggerAgent.h: Removed. + +2011-03-30 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Fix compilation on Windows and EFL. + + * CMakeLists.txt: + * bindings/js/JSBindingsAllInOne.cpp: + +2011-03-30 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: split debugger agent into Page and Worker-specific ones + https://bugs.webkit.org/show_bug.cgi?id=57345 + + ScriptDebugServer and InspectorDebuggerAgent contain only functionality common + for Worker and Page debugger. All specifics is moved into Page/WorkerScriptDebugServer + and Page/WorkerDebuggerAgent. + + * GNUmakefile.am: + * UseJSC.cmake: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSInjectedScriptHostCustom.cpp: + (WebCore::JSInjectedScriptHost::currentCallFrame): + * bindings/js/PageScriptDebugServer.cpp: Added. + (WebCore::toPage): + (WebCore::PageScriptDebugServer::shared): + (WebCore::PageScriptDebugServer::PageScriptDebugServer): + (WebCore::PageScriptDebugServer::~PageScriptDebugServer): + (WebCore::PageScriptDebugServer::addListener): + (WebCore::PageScriptDebugServer::removeListener): + (WebCore::PageScriptDebugServer::recompileAllJSFunctions): + (WebCore::PageScriptDebugServer::getListenersForGlobalObject): + (WebCore::PageScriptDebugServer::didPause): + (WebCore::PageScriptDebugServer::didContinue): + (WebCore::PageScriptDebugServer::didRemoveLastListener): + (WebCore::PageScriptDebugServer::setJavaScriptPaused): + * bindings/js/PageScriptDebugServer.h: Added. + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::ScriptDebugServer): + (WebCore::ScriptDebugServer::sourceParsed): + (WebCore::ScriptDebugServer::dispatchFunctionToListeners): + (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded): + (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded): + (WebCore::ScriptDebugServer::pauseIfNeeded): + * bindings/js/ScriptDebugServer.h: + * bindings/js/WorkerScriptDebugServer.cpp: Added. + (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer): + (WebCore::WorkerScriptDebugServer::addListener): + (WebCore::WorkerScriptDebugServer::removeListener): + * bindings/js/WorkerScriptDebugServer.h: Added. + (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer): + (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions): + (WebCore::WorkerScriptDebugServer::getListenersForGlobalObject): + (WebCore::WorkerScriptDebugServer::didPause): + (WebCore::WorkerScriptDebugServer::didContinue): + * bindings/v8/PageScriptDebugServer.cpp: Added. + (WebCore::retrieveFrame): + (WebCore::PageScriptDebugServer::shared): + (WebCore::PageScriptDebugServer::PageScriptDebugServer): + (WebCore::PageScriptDebugServer::addListener): + (WebCore::PageScriptDebugServer::removeListener): + (WebCore::PageScriptDebugServer::setClientMessageLoop): + (WebCore::PageScriptDebugServer::getDebugListenerForContext): + (WebCore::PageScriptDebugServer::runMessageLoopOnPause): + (WebCore::PageScriptDebugServer::quitMessageLoopOnPause): + * bindings/v8/PageScriptDebugServer.h: Added. + (WebCore::PageScriptDebugServer::setEnabled): + (WebCore::PageScriptDebugServer::ClientMessageLoop::~ClientMessageLoop): + (WebCore::PageScriptDebugServer::~PageScriptDebugServer): + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::ScriptDebugServer): + (WebCore::ScriptDebugServer::setPauseOnNextStatement): + (WebCore::ScriptDebugServer::breakProgram): + (WebCore::ScriptDebugServer::continueProgram): + (WebCore::ScriptDebugServer::stepIntoStatement): + (WebCore::ScriptDebugServer::stepOverStatement): + (WebCore::ScriptDebugServer::stepOutOfFunction): + (WebCore::ScriptDebugServer::editScriptSource): + (WebCore::toScriptDebugServer): + (WebCore::ScriptDebugServer::breakProgramCallback): + (WebCore::ScriptDebugServer::v8DebugEventCallback): + (WebCore::ScriptDebugServer::handleV8DebugEvent): + (WebCore::ScriptDebugServer::isPaused): + * bindings/v8/ScriptDebugServer.h: + * bindings/v8/WorkerScriptDebugServer.cpp: Added. + (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer): + (WebCore::WorkerScriptDebugServer::addListener): + (WebCore::WorkerScriptDebugServer::removeListener): + * bindings/v8/WorkerScriptDebugServer.h: Added. + (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer): + (WebCore::WorkerScriptDebugServer::getDebugListenerForContext): + (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause): + (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause): + * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: + (WebCore::V8InjectedScriptHost::currentCallFrameCallback): + * inspector/InjectedScriptHost.h: + (WebCore::InjectedScriptHost::init): + (WebCore::InjectedScriptHost::debuggerAgent): + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::InspectorAgent): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): + (WebCore::InspectorDebuggerAgent::enable): + (WebCore::InspectorDebuggerAgent::disable): + (WebCore::InspectorDebuggerAgent::setBreakpointsActive): + (WebCore::InspectorDebuggerAgent::removeBreakpoint): + (WebCore::InspectorDebuggerAgent::continueToLocation): + (WebCore::InspectorDebuggerAgent::resolveBreakpoint): + (WebCore::InspectorDebuggerAgent::editScriptSource): + (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement): + (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement): + (WebCore::InspectorDebuggerAgent::resume): + (WebCore::InspectorDebuggerAgent::stepOver): + (WebCore::InspectorDebuggerAgent::stepInto): + (WebCore::InspectorDebuggerAgent::stepOut): + (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState): + (WebCore::InspectorDebuggerAgent::didPause): + (WebCore::InspectorDebuggerAgent::breakProgram): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::disable): + (WebCore::InspectorProfilerAgent::enable): + (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling): + * inspector/PageDebuggerAgent.cpp: Added. + (WebCore::PageDebuggerAgent::create): + (WebCore::PageDebuggerAgent::PageDebuggerAgent): + (WebCore::PageDebuggerAgent::~PageDebuggerAgent): + (WebCore::PageDebuggerAgent::startListeningScriptDebugServer): + (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer): + (WebCore::PageDebuggerAgent::scriptDebugServer): + * inspector/PageDebuggerAgent.h: Added. + * inspector/WorkerDebuggerAgent.cpp: Added. + (WebCore::WorkerDebuggerAgent::create): + (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent): + (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent): + (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer): + (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer): + (WebCore::WorkerDebuggerAgent::scriptDebugServer): + * inspector/WorkerDebuggerAgent.h: Added. + +2011-03-30 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Make the getStylesForNode result "styleAttributes" value an array rather than a map + https://bugs.webkit.org/show_bug.cgi?id=57440 + + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::getStylesForNode): + (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles): + * inspector/InspectorCSSAgent.h: + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel.prototype.getStylesAsync): + +2011-03-30 Evan Martin <evan@chromium.org> + + Reviewed by Ryosuke Niwa. + + Fix a last-second ASSERT in previous change that was wrong. + + * dom/Document.cpp: + (WebCore::Document::setTitle): + +2011-03-30 Levi Weintraub <leviw@chromium.org> + + Reviewed by Eric Seidel. + + RTL: Directionality always reset on hard line break + https://bugs.webkit.org/show_bug.cgi?id=23124 + + No longer clearing all BidiContexts when we hit a hard line break. + Instead, directionality applied by DOM elements is preserved by + reconstructing the context stack ignoring those that didn't come + from the DOM. + + Test: fast/text/international/bidi-br-as-paragraph-separator.html + + * platform/text/BidiContext.cpp: + (WebCore::BidiContext::createUncached): + (WebCore::BidiContext::create): + (WebCore::copyContextAndRebaselineLevel): Helper to make a copy of a context + and recalculate its bidi level. + (WebCore::BidiContext::copyStackRemovingUnicodeEmbeddingContexts): Returns the top of + a BidiContext stack that's equivalent but without contexts from Unicode directional + characters. + (WebCore::operator==): Now takes into account embedding source. + * platform/text/BidiContext.h: + (WebCore::BidiContext::source): Enum to specify whether an embedded + bidirectional control came from the DOM/Style or Unicode characters + (WebCore::BidiContext::BidiContext): + * platform/text/BidiResolver.h: + (WebCore::BidiEmbedding::BidiEmbedding): An embedding is now a direction + and a hint about where it came from so we can differentiate DOM directions + from unicode direction control characters. + (WebCore::BidiEmbedding::direction): + (WebCore::BidiEmbedding::source): + (WebCore::::embed): Now takes a source as well as a direction. + (WebCore::::commitExplicitEmbedding): + (WebCore::::createBidiRunsForLine): + * rendering/InlineIterator.h: + (WebCore::bidiNext): + (WebCore::bidiFirst): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::determineStartPosition): + +2011-03-30 Steve Block <steveblock@google.com> + + Reviewed by Jeremy Orlow. + + JavaMethod should not expose JavaString in its API + https://bugs.webkit.org/show_bug.cgi?id=55765 + + - Factors out a JavaMethod interface which does not use JNI types. + This will allow the Java bridge to be used with objects that + don't use JNI directly. The existing jobject-backed + implementation is moved to a new JavaMethodJobject class which + implements the interface. + - Use WTF::String in place of JavaString in the API, as JavaString + exposes JNI types in its interface. + - Remove the method ID as it uses JNI types. + + No new tests, refactoring only. + + * Android.jscbindings.mk: + * Android.v8bindings.mk: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.xcodeproj/project.pbxproj: + * bridge/jni/JavaMethod.h: + * bridge/jni/JavaMethodJobject.cpp: + (JavaMethodJobject::JavaMethodJobject): + (JavaMethodJobject::~JavaMethodJobject): + (appendClassName): + (JavaMethodJobject::signature): + * bridge/jni/JavaMethodJobject.h: Copied from Source/WebCore/bridge/jni/JavaMethod.h. + (JSC::Bindings::JavaMethodJobject::name): + (JSC::Bindings::JavaMethodJobject::returnTypeClassName): + (JSC::Bindings::JavaMethodJobject::parameterAt): + (JSC::Bindings::JavaMethodJobject::returnType): + (JSC::Bindings::JavaMethodJobject::isStatic): + (JSC::Bindings::JavaMethodJobject::numParameters): + * bridge/jni/jsc/JavaClassJSC.cpp: + (JavaClass::JavaClass): + * bridge/jni/jsc/JavaInstanceJSC.cpp: + (JavaInstance::invokeMethod): + * bridge/jni/v8/JavaClassV8.cpp: + (JavaClass::JavaClass): + * bridge/jni/v8/JavaInstanceV8.cpp: + (JavaInstance::invokeMethod): + +2011-03-30 Evan Martin <evan@chromium.org> + + Reviewed by Ryosuke Niwa. + + clean up Document's handling of title changes + https://bugs.webkit.org/show_bug.cgi?id=57433 + + Document::setTitle has two entry points: + 1) from DOM bindings, like document.title="foo" + 2) from title tags, like <title>foo</title> in HTML + + Split these two code paths to make the code easier to follow. + Also, replace the repeated pattern of + m_rawTitle = "foo"; updateTitle(); + with + updateTitle("foo"); + + * dom/Document.cpp: + (WebCore::Document::updateTitle): + (WebCore::Document::setTitle): + (WebCore::Document::setTitleElement): + (WebCore::Document::removeTitle): + * dom/Document.h: + * html/HTMLTitleElement.cpp: + (WebCore::HTMLTitleElement::insertedIntoDocument): + (WebCore::HTMLTitleElement::childrenChanged): + * svg/SVGTitleElement.cpp: + (WebCore::SVGTitleElement::insertedIntoDocument): + (WebCore::SVGTitleElement::childrenChanged): + +2011-03-30 Levi Weintraub <leviw@chromium.org> + + Reviewed by Ryosuke Niwa. + + BreakBlockQuoteCommand assumes all li tags have list item renderers + https://bugs.webkit.org/show_bug.cgi?id=57253 + + Checking that the renderers of li nodes are actually RenderListItems + before treating them as such. + + Test: editing/execCommand/crash-breaking-blockquote-with-list.html + + * editing/BreakBlockquoteCommand.cpp: + (WebCore::BreakBlockQuoteCommand::doApply): + +2011-03-30 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed: fixing typo in the inspector front-end. + + Web Inspector: REGRESSION: Broken live edit errors handling + https://bugs.webkit.org/show_bug.cgi?id=57436 + + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype._didEditScriptSource): + +2011-03-30 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Eric Seidel. + + Left/Right borders/padding/margins are not always added correctly when rendering multiline inline boxes with bidi elements + https://bugs.webkit.org/show_bug.cgi?id=9272 + + + Also fixes https://bugs.webkit.org/show_bug.cgi?id=47210 and https://bugs.webkit.org/show_bug.cgi?id=8392. + + Change how we decide if an InlineFlowBox is the last one for its renderer. Use the position of resolver's logicallyLastRun + to decide if there is more text in the next line. + + Tests: fast/borders/rtl-border-01.html + fast/borders/rtl-border-02.html + fast/borders/rtl-border-03.html + fast/borders/rtl-border-04.html + fast/borders/rtl-border-05.html + + * rendering/InlineFlowBox.cpp: + (WebCore::isAnsectorAndWithinBlock): + (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): + * rendering/InlineFlowBox.h: + * rendering/RenderBlock.h: + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::constructLine): + (WebCore::reachedEndOfTextRenderer): + (WebCore::RenderBlock::layoutInlineChildren): + +2011-03-29 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Eric Seidel. + + REGRESSION (r68976): Incorrect bidi rendering in SVG text + https://bugs.webkit.org/show_bug.cgi?id=53980 + + Deconvolute SVGTextLayoutEngine code, which was confusing due to the simultaneous processing of the rendered text + in visual and logical order. Added several helper methods to make the code more readable. + + Fix Unicode directional formatting characters support, now works as expected. + + Test: svg/text/bidi-embedded-direction.svg + + * editing/visible_units.cpp: Refactor getLeafBoxesInLogicalOrder(), move to InlineFlowBox. + (WebCore::getLogicalStartBoxAndNode): Use new collectLeafBoxesInLogicalOrder() method in InlineFlowBox. + (WebCore::getLogicalEndBoxAndNode): Ditto. + * rendering/InlineFlowBox.cpp: Add new helper function, that returns a list of all leaf boxes in logical order. + (WebCore::InlineFlowBox::collectLeafBoxesInLogicalOrder): + * rendering/InlineFlowBox.h: + * rendering/svg/RenderSVGText.cpp: Actually trigger reordering the x/y/dx/dy/rotate value lists, if needed. + (WebCore::RenderSVGText::RenderSVGText): + (WebCore::RenderSVGText::layout): + * rendering/svg/RenderSVGText.h: Ditto. + (WebCore::RenderSVGText::layoutAttributes): + (WebCore::RenderSVGText::needsReordering): + * rendering/svg/SVGRootInlineBox.cpp: Use new InlineFlowBox::collectLeafBoxesINLogicalOrder(), with a custom "inline box reverse" implementation, + which not only reverses the order of InlineBoxes, but also the order of the x/y/dx/dy/rotate value lists, if needed. + (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): + (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes): + (WebCore::swapItems): + (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded): + (WebCore::SVGRootInlineBox::reorderValueLists): + * rendering/svg/SVGRootInlineBox.h: + * rendering/svg/SVGTextLayoutAttributes.cpp: Store RenderSVGInlineText* pointer, where we belong to. + (WebCore::SVGTextLayoutAttributes::SVGTextLayoutAttributes): + (WebCore::SVGTextLayoutAttributes::dump): + * rendering/svg/SVGTextLayoutAttributes.h: + (WebCore::SVGTextLayoutAttributes::context): + * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Pass RenderSVGInlineText* object when creating SVGTextLayoutAttributes. + (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextSubtree): + (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes): + * rendering/svg/SVGTextLayoutAttributesBuilder.h: + * rendering/svg/SVGTextLayoutEngine.cpp: Rewrite & cleanup the main layout algorithm, to be less confusing. + (WebCore::SVGTextLayoutEngine::SVGTextLayoutEngine): + (WebCore::SVGTextLayoutEngine::updateRelativePositionAdjustmentsIfNeeded): + (WebCore::SVGTextLayoutEngine::recordTextFragment): + (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes): + (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics): + (WebCore::SVGTextLayoutEngine::currentVisualCharacterMetrics): + (WebCore::SVGTextLayoutEngine::advanceToNextLogicalCharacter): + (WebCore::SVGTextLayoutEngine::advanceToNextVisualCharacter): + (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): + * rendering/svg/SVGTextLayoutEngine.h: + +2011-03-30 Ilya Tikhonovsky <loislo@chromium.org> + + Not reviewed trivial change. + + Web Inspector: Remove unnecessary function arguments after r82281. + https://bugs.webkit.org/show_bug.cgi?id=57327 + + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::didCommitLoad): + (WebCore::InspectorAgent::domContentLoadedEventFired): + * inspector/InspectorAgent.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl): + (WebCore::InspectorInstrumentation::didCommitLoadImpl): + +2011-03-30 Kent Tamura <tkent@chromium.org> + + Reviewed by Ojan Vafai. + + H1 element should have different default style if it is in HTML5 sectioning elements. + https://bugs.webkit.org/show_bug.cgi?id=52693 + + Test: fast/css/h1-in-section-elements.html + + * css/html.css: Add font-size and margin declarations to follow HTML5 specification. + (:-webkit-any(article,aside,nav,section) h1): + (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1): + (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1): + (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1): + (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1): + +2011-03-29 Beth Dakin <bdakin@apple.com> + + Reviewed by Maciej Stachowiak. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=57408 + webkit-min-device-pixel-ratio media query doesn't work post-SnowLeopard + -and corresponding- + <rdar://problem/8665411> + + * platform/mac/PlatformScreenMac.mm: + (WebCore::windowScaleFactor): + (WebCore::toUserSpace): + (WebCore::toDeviceSpace): + +2011-03-29 Eric Seidel <eric@webkit.org> + + Reviewed by Dimitri Glazkov. + + Rename BidiResolver::eor and sor to m_eor and m_sor to match modern style + https://bugs.webkit.org/show_bug.cgi?id=57369 + + I considered renaming these to m_endOfRun and m_startOfRun but decided + that was too verbose for now (given how often they're used). I suspect + with a bit more refactoring we'll find they're not used very often and can be renamed + if so desired. + + * platform/text/BidiResolver.h: + (WebCore::::appendRun): + (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel): + (WebCore::::lowerExplicitEmbeddingLevel): + (WebCore::::raiseExplicitEmbeddingLevel): + (WebCore::::createBidiRunsForLine): + * rendering/InlineIterator.h: + (WebCore::InlineBidiResolver::appendRun): + +2011-03-29 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Chromium] Remove exact retained size request in detailed heap snapshots. + https://bugs.webkit.org/show_bug.cgi?id=57351 + + * bindings/js/ScriptHeapSnapshot.h: + * bindings/v8/ScriptHeapSnapshot.cpp: + * bindings/v8/ScriptHeapSnapshot.h: + * inspector/Inspector.json: + * inspector/InspectorProfilerAgent.cpp: + * inspector/InspectorProfilerAgent.h: + * inspector/front-end/DetailedHeapshotGridNodes.js: + (WebInspector.HeapSnapshotGenericObjectNode): + (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data): + * inspector/front-end/DetailedHeapshotView.js: + (WebInspector.DetailedHeapshotView.prototype._mouseClickInContainmentGrid): + +2011-03-29 Eric Seidel <eric@webkit.org> + + Reviewed by Ryosuke Niwa. + + Split more logic out from createBidiRunsForLine for readability + https://bugs.webkit.org/show_bug.cgi?id=57341 + + I marked reorderRunsFromLevels inline, but it probably doesn't actually need to (or want to) be. + This lops another large hunk off of reorderRunsFromLevels further reducing the size and complexity. + + * platform/text/BidiResolver.h: + (WebCore::::reorderRunsFromLevels): + (WebCore::::createBidiRunsForLine): + +2011-03-29 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + Make validation message bubble testable + https://bugs.webkit.org/show_bug.cgi?id=57290 + + Introduce a setting for validation message timer so that we can configure + how long we show a validation message bubble. + + Test: fast/forms/validation-message-appearance.html + + * html/ValidationMessage.cpp: + (WebCore::ValidationMessage::setMessageDOMAndStartTimer): + Don't set a timer if the timer magnification value is 0 or negative. + Otherwise, hides the bubble length * magnification / 1000 seconds. + * page/Settings.cpp: + (WebCore::Settings::Settings): Initialize the timer magnification value. + * page/Settings.h: + (WebCore::Settings::setValidationMessageTimerMagnification): Added. + (WebCore::Settings::validationMessageTimerMaginification): Added. + +2011-03-29 Dimitri Glazkov <dglazkov@chromium.org> + + Remove the extraneous declaration I accidentally added in r82376. + + * dom/MouseEvent.h: Removed createSimulated decl. + +2011-03-29 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Compositor crash with show-layer-borders flag + https://bugs.webkit.org/show_bug.cgi?id=57292 + + Synchronize the debug border color/width with other properties to ensure the appropriate + CCLayerImpl exists. Code is only exercised with a debugging command line flag so no layout + test. + + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::LayerChromium::pushPropertiesTo): + (WebCore::LayerChromium::setBorderColor): + (WebCore::LayerChromium::setBorderWidth): + * platform/graphics/chromium/LayerChromium.h: + +2011-03-29 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Adam Barth. + + Teach the preload scanner about <input type=image> + https://bugs.webkit.org/show_bug.cgi?id=57404 + + I did a very rough sample of the top 50 web pages to see how many of each + HTML resource type they include: + img src: 1,359 + script src: 276 + link href: 256 + iframe src: 104 + input src: 50 + embed src: 37 + @import: 13 + object data: 11 + + Based on this, it seems worthwhile to preload inputs and iframes (possibly embed). + This patch only does inputs. + + Test: fast/preloader/input.html + + * html/parser/HTMLPreloadScanner.cpp: + (WebCore::HTMLNames::PreloadTask::PreloadTask): + (WebCore::HTMLNames::PreloadTask::processAttributes): + (WebCore::HTMLNames::PreloadTask::inputTypeAttributeIsImage): + (WebCore::HTMLNames::PreloadTask::preload): + +2011-03-29 Luke Macpherson <macpherson@chromium.org> + + Reviewed by David Levin. + + Improve the massive switch statement in CSSStyleSelector::applyProperty. + https://bugs.webkit.org/show_bug.cgi?id=56288 + + No new tests are needed because no new functionality exposed. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + Asserted that cases implemented in the CSSStyleApplyProperty lookup table are unreachable. + Updated comment. + +2011-03-29 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + Introduce SimulatedMouseEvent and teach EventDispatcher how to use it. + https://bugs.webkit.org/show_bug.cgi?id=57402 + + No functional changes, covered by existing tests. + + * dom/EventDispatcher.cpp: + (WebCore::EventDispatcher::dispatchSimulatedClick): Changed to use SimulatedMouseEvent. + (WebCore::EventDispatcher::dispatchMouseEvent): Combined two dispatchMouseEvent methods + into one, now that simulated-click events don't need one. + * dom/EventDispatcher.h: Updated decls. + * dom/MouseEvent.cpp: + (WebCore::SimulatedMouseEvent::create): Added. + (WebCore::SimulatedMouseEvent::~SimulatedMouseEvent): Added. + (WebCore::SimulatedMouseEvent::SimulatedMouseEvent): Added. + * dom/MouseEvent.h: Made constructor protected. + +2011-03-29 Anders Carlsson <andersca@apple.com> + + Fix build. + + * WebCore.exp.in: + +2011-03-29 Steve Block <steveblock@google.com> + + Reviewed by Jeremy Orlow. + + JavaInstance should not use jvalue in its API + https://bugs.webkit.org/show_bug.cgi?id=57019 + + This change updates JavaInstance for V8 to use JavaValue, rather than + jvalue, in its API. This will allow us to create an API for + JavaInstance that is independent of JNI, to allow it to be + implemented on platforms that do not use JNI directly. + + Refactoring only, no new tests. + + * bridge/jni/v8/JavaInstanceV8.cpp: + (JavaInstance::invokeMethod): + (JavaInstance::getField): + * bridge/jni/v8/JavaInstanceV8.h: + * bridge/jni/v8/JavaNPObjectV8.cpp: + (JSC::Bindings::JavaNPObjectInvoke): + (JSC::Bindings::JavaNPObjectGetProperty): + * bridge/jni/v8/JavaValueV8.h: + +2011-03-29 Eric Seidel <eric@webkit.org> + + Reviewed by Dimitri Glazkov. + + Rename BidiResolver::last to m_last to match modern style + https://bugs.webkit.org/show_bug.cgi?id=57367 + + * platform/text/BidiResolver.h: + (WebCore::::lowerExplicitEmbeddingLevel): + (WebCore::::raiseExplicitEmbeddingLevel): + (WebCore::::createBidiRunsForLine): + +2011-03-29 Justin Schuh <jschuh@chromium.org> + + Reviewed by Maciej Stachowiak. + + SVGComponentTransferFunctionElement should validate type + https://bugs.webkit.org/show_bug.cgi?id=56960 + + Test: svg/filters/feComponentTransfer-style-crash.xhtml + + * svg/SVGComponentTransferFunctionElement.cpp: + (WebCore::SVGComponentTransferFunctionElement::svgAttributeChanged): + * svg/SVGComponentTransferFunctionElement.h: + +2011-03-29 Thomas Klausner <tk@giga.or.at> + + Reviewed by David Levin. + + png-1.5 fixes + https://bugs.webkit.org/show_bug.cgi?id=54406 + + Fix compilation with png-1.5: struct members were hidden, and + a new API to terminate data processing was added (especially for + WebKit). + + Compilation fixes, so no new tests. + + * platform/image-decoders/png/PNGImageDecoder.cpp: + (WebCore::PNGImageDecoder::headerAvailable): + (WebCore::PNGImageDecoder::rowAvailable): + +2011-03-29 Gavin Peters <gavinp@chromium.org> + + Reviewed by Tony Gentilcore. + + Add beforeload to icon and prefetch link rel types + https://bugs.webkit.org/show_bug.cgi?id=56424 + + Over in https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html , a webkit-dev + thread, I've discussed my hopes for the link element, and adding the link header. This + change helps improve the link header by making it participate in the beforeload event in + two more important cases. + + Tests: fast/dom/HTMLLinkElement/prefetch-beforeload.html + http/tests/misc/link-rel-icon-beforeload.html + webarchive/test-link-rel-icon-beforeload.html + + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::checkBeforeLoadEvent): + (WebCore::HTMLLinkElement::process): + * html/HTMLLinkElement.h: + +2011-03-29 Eric Seidel <eric@webkit.org> + + Reviewed by Dimitri Glazkov. + + Rename BidiResolver::current to BidiResolver::m_current to match modern style + https://bugs.webkit.org/show_bug.cgi?id=57363 + + I was very confused by current until I realized it was a member variable. + I also did m_reachedEndOfLine since that was small. + + * platform/text/BidiResolver.h: + (WebCore::BidiResolver::position): + (WebCore::BidiResolver::setPosition): + (WebCore::BidiResolver::increment): + (WebCore::::createBidiRunsForLine): + +2011-03-29 Geoff Pike <gpike@chromium.org> + + Reviewed by Dimitri Glazkov. + + In HitTestResult objects, initialize the ListHashSet<RefPtr<Node> > + lazily. In my informal testing it seems to be used hardly at all, so + it's wasteful to create it eagerly. Initializing a ListHashSet + is expensive because a ListHashSet initially has space for 256 + elements, and that space is memset to 0. + + This change should improve performance but have no impact on + correctness. On x86-64, for example, the change cuts the + cost of HitTestResult(IntPoint()) in EventHandler::mouseMoved() + from ~1700 cycles to ~300 cycles. + + * rendering/HitTestResult.cpp: + (WebCore::HitTestResult::HitTestResult): copy *m_rectBasedTestResult if m_rectBasedTestResult isn't 0 + (WebCore::HitTestResult::operator=): copy *m_rectBasedTestResult if m_rectBasedTestResult isn't 0 + (WebCore::HitTestResult::addNodeToRectBasedTestResult): use mutableRectBasedTestResult() rather than m_rectBasedTestResult + (WebCore::HitTestResult::append): append *(other.m_rectBasedTestResult) if other.m_rectBasedTestResult isn't 0 + * rendering/HitTestResult.h: + (WebCore::HitTestResult::rectBasedTestResult): Add a typedef for ListHashSet<RefPtr<Node> > to ease readability. Change m_rectBasedTestResult from ListHashSet<RefPtr<Node> > to an OwnPtr of same. Modify rectBasedTestResult() and add mutableRectBasedTestResult(). + +2011-03-29 Timothy Hatcher <timothy@apple.com> + + Update the order of the context menu to better match AppKit on Mac. + + <rdar://problem/9054893> + + Reviewed by John Sullivan. + + * English.lproj/Localizable.strings: Updated. + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::populate): Update the order of items on Mac. + * platform/LocalizationStrategy.h: + * platform/LocalizedStrings.cpp: + (WebCore::contextMenuItemTagLookUpInDictionary): Added argument for selected string. + * platform/LocalizedStrings.h: + * platform/android/LocalizedStringsAndroid.cpp: + (WebCore::contextMenuItemTagLookUpInDictionary): Ditto. + * platform/brew/LocalizedStringsBrew.cpp: + (WebCore::contextMenuItemTagLookUpInDictionary): Ditto. + * platform/efl/LocalizedStringsEfl.cpp: + (WebCore::contextMenuItemTagLookUpInDictionary): Ditto. + * platform/gtk/LocalizedStringsGtk.cpp: + (WebCore::contextMenuItemTagLookUpInDictionary): Ditto. + * platform/haiku/LocalizedStringsHaiku.cpp: + (WebCore::contextMenuItemTagLookUpInDictionary): Ditto. + * platform/wx/LocalizedStringsWx.cpp: + (WebCore::contextMenuItemTagLookUpInDictionary): Ditto. + +2011-03-29 Dean Jackson <dino@apple.com> + + Reviewed by Chris Marrin and Ken Russell. + + https://bugs.webkit.org/show_bug.cgi?id=57248 + Occlusion issues with WebGL in Safari + + The depth buffer on Safari ports was being set up with a + maximum of 16 bits. Now we use a combined 24/8 depth/stencil + buffer on Mac ports. + + No new tests as this is the setting for a particular port. Other + ports may use different defaults. + + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::validateAttributes): + - use Extensions3D to test for depth and multisample extensions + rather than querying OpenGL directly. + (WebCore::GraphicsContext3D::reshape): + - use a 24bit depth buffer when the extension is enabled. + +2011-03-29 Dimitri Glazkov <dglazkov@chromium.org> + + Sorted XCode project. It's gotten quite out of sorts. + + * WebCore.xcodeproj/project.pbxproj: Ran sort-XCode-project-file. + +2011-03-29 Emil A Eklund <eae@chromium.org> + + Reviewed by Dimitri Glazkov. + + DatasetDOMStringMap::item and ::contains copies attribute name string + https://bugs.webkit.org/show_bug.cgi?id=55645 + + Change propertyNameMatchesAttributeName to match without creating a copy + of the string. + + * dom/DatasetDOMStringMap.cpp: + (WebCore::propertyNameMatchesAttributeName): + +2011-03-29 Csaba Osztrogonác <ossy@webkit.org> + + Unreviewed rollout r82282, part of r82288, r82298. + + * css/CSSParser.cpp: + (WebCore::parseColorInt): + (WebCore::isValidDouble): + (WebCore::parseAlphaValue): + (WebCore::CSSParser::parseColor): + +2011-03-25 Brent Fulgham <bfulgham@webkit.org> + + Reviewed by Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=55981 + Second round of clean-ups, aimed at supporting GTK with the + same unified FontPlatformData header. This version removes + some unneeded WinCairo code, and aligns the WinCairo and + GTK ports to reduce code duplication. + + * WebCore.vcproj/WebCore.vcproj: Get rid of a dangling reference + to an old WinCairo file. + * platform/graphics/FontPlatformData.h: Remove unneeded member + for m_fontFace, which is a member of m_scaledFont. Switch to + standard Cairo hashing. + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::font): + (WebCore::FontPlatformData::scaledFont): + (WebCore::FontPlatformData::hash): + (WebCore::FontPlatformData::isHashTableDeletedValue): + (WebCore::FontPlatformData::hashTableDeletedFontValue): + * platform/graphics/win/FontCacheWin.cpp: Update to no longer use + the unnecessary fontFace() accessor. + (WebCore::FontCache::createFontPlatformData): + * platform/graphics/win/FontCustomPlatformDataCairo.cpp: + * platform/graphics/win/FontPlatformDataCairoWin.cpp: + (WebCore::FontPlatformData::platformDataInit): + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::~FontPlatformData): + (WebCore::FontPlatformData::platformDataAssign): + (WebCore::FontPlatformData::platformIsEqual): + * platform/graphics/win/FontPlatformDataWin.cpp: + (WebCore::FontPlatformData::FontPlatformData): + +2011-03-29 Jian Li <jianli@chromium.org> + + Reviewed by Adam Barth. + + Inline worker powered by blob URL does not work with files URL even if + allowFileAccessFromFileURLs is enabled + https://bugs.webkit.org/show_bug.cgi?id=56063 + + Test: fast/files/workers/inline-worker-via-blob-url.html + + * fileapi/BlobURL.cpp: Removed unneeded getOrigin() method. + * fileapi/BlobURL.h: Removed unneeded getOrigin() method. + * page/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::SecurityOrigin): Extended the logic to handle + filesystem URL also to blob URL. Also fixed the problem that m_isUnique + is incorrectly set for blob and filesystem URLs. + (WebCore::SecurityOrigin::create): Removed the special logic for blob URL + since we use the same logic in SecurityOrigin constructor as filesystem + URL. + (WebCore::SecurityOrigin::canRequest): Removed the special logic for blob + URL since it is not needed with the fix in SecurityOrigin constructor. + +2011-03-29 Timothy Hatcher <timothy@apple.com> + + Update WebCore Localizable.strings to contain WebCore, WebKit/mac and WebKit2 strings. + + https://webkit.org/b/57354 + + Reviewed by Sam Weinig. + + * English.lproj/Localizable.strings: Updated. + * StringsNotToBeLocalized.txt: Removed. To hard to maintain in WebCore. + * platform/network/cf/LoaderRunLoopCF.h: Remove a single quote in an #error so + extract-localizable-strings does not complain about unbalanced single quotes. + +2011-03-29 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r82295 and r82300. + http://trac.webkit.org/changeset/82295 + http://trac.webkit.org/changeset/82300 + https://bugs.webkit.org/show_bug.cgi?id=57380 + + This patch breaks compile on Chromium (Requested by + abarth|gardener on #webkit). + + * accessibility/AccessibilityObject.h: + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::determineAccessibilityRole): + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (atkRole): + (webkit_accessible_get_role): + * accessibility/mac/AccessibilityObjectWrapper.mm: + +2011-03-29 Anders Carlsson <andersca@apple.com> + + Fix clang build. + + * platform/text/BidiResolver.h: + (WebCore::::createBidiRunsForLine): + +2011-03-29 Steve Falkenburg <sfalken@apple.com> + + Reviewed by Adam Roben. + + Use per-configuration vsprops in WebCore to avoid WebKitVSPropsRedirectionDir removal by MSVC IDE + https://bugs.webkit.org/show_bug.cgi?id=57378 + + Visual Studio's IDE was removing instances of $(WebKitVSPropsRedirectionDir) from + InheritedPropertySheet rules in our vcproj files when the vcproj was edited from within + the IDE. To avoid this, add a separate vsprops file for each project configuration that + contains the required inherited property sheets. + + * WebCore.vcproj/QTMovieWin.vcproj: + * WebCore.vcproj/QTMovieWinDebug.vsprops: Added. + * WebCore.vcproj/QTMovieWinDebugAll.vsprops: Added. + * WebCore.vcproj/QTMovieWinDebugCairoCFLite.vsprops: Added. + * WebCore.vcproj/QTMovieWinRelease.vsprops: Added. + * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops: Added. + * WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops: Added. + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/WebCoreDebug.vsprops: Added. + * WebCore.vcproj/WebCoreDebugAll.vsprops: Added. + * WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops: Added. + * WebCore.vcproj/WebCoreRelease.vsprops: Added. + * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops: Added. + * WebCore.vcproj/WebCoreReleaseLTCG.vsprops: Added. + +2011-03-29 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/9194927> REGRESSION (r81691): Page at www.mondaynote.com lays out incorrectly + + Back out the optimization that stopped when it hit the first float. This was an incorrect optimization + and can't be done without more work. + + Added fast/block/float/float-forced-below-other-floats.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::logicalLeftOffsetForLine): + (WebCore::RenderBlock::logicalRightOffsetForLine): + +2011-03-29 Eric Seidel <eric@webkit.org> + + Reviewed by Ryosuke Niwa. + + Start to clean up BidiResolver::createBidiRunsForLine so that mere mortals can understand it + https://bugs.webkit.org/show_bug.cgi?id=57338 + + I'm attempting to break createBidiRunsForLine into understandable pieces + so that we can tell what it's actually doing. Our implementation of the + unicode bidi algorithm is slightly different from the spec in that we + run it per-line (instead of over the entire paragraph at once). This is + great for performance (our implementation is resumable), but it makes + things a bit tricky to understand. Splitting createBidiRunsForLine into + pieces should help make our UBA implementation more readable. + + * platform/text/BidiResolver.h: + (WebCore::::updateStatusLastFromCurrentDirection): + (WebCore::::createBidiRunsForLine): + +2011-03-29 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Martin Robinson. + + [Gtk] Consistent crash from Google/ARIA combobox click + https://bugs.webkit.org/show_bug.cgi?id=55883 + + Do not call to firstChild() to avoid entering into infinite loops. + + This would happen when current item is a WebCore Group and some of + its children have either role 'option' or 'menuitem'. Other than + that the logic behind that call to firstChild() seems to be no + longer needed so it's safe to remove it. + + Test: platform/gtk/accessibility/aria-options-and-menuitems-crash.html + + * accessibility/gtk/AccessibilityObjectAtk.cpp: + (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): + Remove call to firsChild, which was leading to crashes sometimes. + +2011-03-29 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Chris Fleizach. + + AX: GTK: ARIA role is not respected on <p> <label> <div> and <form> + https://bugs.webkit.org/show_bug.cgi?id=47636 + + Define new roles in WebCore and map them to ATK accordingly. + + Test: platform/gtk/accessibility/aria-roles-unignored.html + + * accessibility/AccessibilityObject.h: Added new roles to + represent paragraphs, labels, forms and div sections. + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::determineAccessibilityRole): + Return ParagraphRole, LabelRole, FormRole and DivRole when needed. + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (atkRole): Map new WebCore roles to ATK Roles. + (webkit_accessible_get_role): Remove code to define roles for + paragraphs, labels, forms and divs based on node's tag name. + + Update mappings for the Mac platform. + + * accessibility/mac/AccessibilityObjectWrapper.mm: + (createAccessibilityRoleMap): Add explicit mappings from the new + roles introduced to NSAccessibilityGroupRole. + +2011-03-29 Philippe Normand <pnormand@igalia.com> + + Unreviewed build fix. Remove ASSERT hitting consitently on GTK. + + * rendering/InlineIterator.h: + (WebCore::InlineIterator::moveToStartOf): + +2011-03-29 Darin Adler <darin@apple.com> + + Fix some just-introduced build failures. + + * WebCore.pro: Correct spelling of filename. + + * css/CSSParser.cpp: + (WebCore::parseColorIntOrPercentage): Fix double/int conversion that fails to compile + on Leopard. Also renamed one local variabel. + + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::didCommitLoad): Removed unused argument names to avoid warning. + (WebCore::InspectorAgent::domContentLoadedEventFired): Ditto. + +2011-03-29 Andras Becsi <abecsi@webkit.org> + + Reviewed by Darin Adler. + + CSS: Slow parsing of rgb() with percent values + https://bugs.webkit.org/show_bug.cgi?id=16708 + + Implement fast-path parsing for percentage color values. + + Gain ~30% speedup on http://canvex.lazyilluminati.com/misc/3d.html. + + * css/CSSParser.cpp: + (WebCore::checkForValidDouble): Extend to return the number of characters forming a valid double. + (WebCore::parseDouble): Function for parsing double values if they are valid. + (WebCore::parseColorIntOrPercentage): Extend parseColorInt to deal with percentage values. + (WebCore::parseAlphaValue): Use the new functions. + (WebCore::CSSParser::parseColor): Ditto. + +2011-03-29 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: extract InspectorPageAgent from InspectorAgent. + https://bugs.webkit.org/show_bug.cgi?id=57327 + + There are page related methods and inspector related methods in InspectorAgent. + It would be nice to extract page specific methods for future usage the rest of methods in workers debugger. + + * GNUmakefile.am: + * WebCore.gypi: + * inspector/CodeGeneratorInspector.pm: + * inspector/Inspector.json: + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::InspectorAgent): + (WebCore::InspectorAgent::restoreInspectorStateFromCookie): + (WebCore::InspectorAgent::didClearWindowObjectInWorld): + (WebCore::InspectorAgent::setFrontend): + (WebCore::InspectorAgent::disconnectFrontend): + (WebCore::InspectorAgent::didCommitLoad): + (WebCore::InspectorAgent::domContentLoadedEventFired): + * inspector/InspectorAgent.h: + (WebCore::InspectorAgent::pageAgent): + * inspector/InspectorPageAgent.cpp: Added. + (WebCore::InspectorPageAgent::create): + (WebCore::InspectorPageAgent::InspectorPageAgent): + (WebCore::InspectorPageAgent::setFrontend): + (WebCore::InspectorPageAgent::clearFrontend): + (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad): + (WebCore::InspectorPageAgent::removeAllScriptsToEvaluateOnLoad): + (WebCore::InspectorPageAgent::reloadPage): + (WebCore::InspectorPageAgent::openInInspectedWindow): + (WebCore::InspectorPageAgent::setUserAgentOverride): + (WebCore::buildObjectForCookie): + (WebCore::buildArrayForCookies): + (WebCore::InspectorPageAgent::getCookies): + (WebCore::InspectorPageAgent::deleteCookie): + (WebCore::InspectorPageAgent::inspectedURLChanged): + (WebCore::InspectorPageAgent::restore): + (WebCore::InspectorPageAgent::didCommitLoad): + (WebCore::InspectorPageAgent::domContentEventFired): + (WebCore::InspectorPageAgent::loadEventFired): + (WebCore::InspectorPageAgent::didClearWindowObjectInWorld): + (WebCore::InspectorPageAgent::applyUserAgentOverride): + * inspector/InspectorPageAgent.h: Added. + * inspector/InspectorController.cpp: + (WebCore::InspectorController::connectFrontend): + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl): + (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl): + (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl): + (WebCore::InspectorInstrumentation::loadEventFiredImpl): + (WebCore::InspectorInstrumentation::didCommitLoadImpl): + (WebCore::InspectorInstrumentation::retrievePageAgent): + * inspector/InspectorInstrumentation.h: + * inspector/InstrumentingAgents.h: + (WebCore::InstrumentingAgents::InstrumentingAgents): + (WebCore::InstrumentingAgents::inspectorPageAgent): + (WebCore::InstrumentingAgents::setInspectorPageAgent): + * inspector/front-end/AuditsPanel.js: + (WebInspector.AuditsPanel.prototype._reloadResources): + * inspector/front-end/CookieItemsView.js: + (WebInspector.CookieItemsView.prototype._deleteCookie): + (WebInspector.Cookies.getCookiesAsync): + * inspector/front-end/ExtensionServer.js: + (WebInspector.ExtensionServer.prototype._onReload): + * inspector/front-end/NetworkPanel.js: + (WebInspector.NetworkDataGridNode.prototype._openInNewTab): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.FrameResourceTreeElement.prototype.ondblclick): + * inspector/front-end/WorkersSidebarPane.js: + (WebInspector.WorkersSidebarPane.prototype.setInstrumentation): + * inspector/front-end/inspector.js: + (WebInspector.openResource): + (WebInspector.documentKeyDown): + +2011-03-29 David Hyatt <hyatt@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=57276 + + Add optimizations to make the vertical placement of boxes much faster. Whenever a box is added + to a line, compare it with the parent box. If we can determine that the child box has the exact + same height and baseline position as the parent box, then we keep a boolean flag set called + descendantsHaveSameLineHeightAndBaseline(). If the box is different for any reason then we clear the + flag up the line box parent chain. + + When it comes time to do computeLogicalboxHeights, we can avoid recurring into the children of + a box whose descendants all have the same position. When we do placeBoxesInBlockDirection, we + can do a simplified recursion that just calls adjustBlockDirectionPosition to offset the boxes + without doing anything else. + + Because of the quirks mode rule of only shrinking boxes with no immediate text children, we need + to track whether a box has text descendants now as well. When we avoid doing the recursion + this flag tells us whether the collection of boxes should have an effect on the ascent and descent + of the line in quirks mode. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::addToLine): + (WebCore::InlineFlowBox::computeLogicalBoxHeights): + (WebCore::InlineFlowBox::placeBoxesInBlockDirection): + (WebCore::InlineFlowBox::nodeAtPoint): + (WebCore::InlineFlowBox::paintBoxDecorations): + (WebCore::InlineFlowBox::paintMask): + * rendering/InlineFlowBox.h: + (WebCore::InlineFlowBox::InlineFlowBox): + (WebCore::InlineFlowBox::hasTextDescendants): + (WebCore::InlineFlowBox::descendantsHaveSameLineHeightAndBaseline): + (WebCore::InlineFlowBox::clearDescendantsHaveSameLineHeightAndBaseline): + * rendering/RenderBlock.h: + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::createLineBoxes): + (WebCore::RenderBlock::constructLine): + (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): + +2011-03-29 Eric Seidel <eric@webkit.org> + + Reviewed by Ryosuke Niwa. + + Remove a bunch of duplicate code by adding some InlineIterator helper methods + https://bugs.webkit.org/show_bug.cgi?id=57326 + + Once I started adding these it became clear how much crazy duplicated code + we had due to treating InlineIterator as a struct and accessing its + members directly. We can't quite make the members private yet since + findNextLineBreak still splits out the members. But this change + makes the code much cleaner. + + * rendering/InlineIterator.h: + (WebCore::InlineIterator::clear): + (WebCore::InlineIterator::moveToStartOf):i + (WebCore::InlineIterator::moveTo): + (WebCore::InlineIterator::increment): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::tryHyphenating): + (WebCore::RenderBlock::findNextLineBreak): + +2011-03-29 Eric Seidel <eric@webkit.org> + + Reviewed by Ryosuke Niwa. + + Clean up bidiNext by abstracting repeated code + https://bugs.webkit.org/show_bug.cgi?id=57335 + + I also added a comment to explain what bidiNext is actually doing. + This whole area of code is confusing but need not be. + + * rendering/InlineIterator.h: + (WebCore::embedCharFromDirection): + (WebCore::notifyResolverEnteredObject): + (WebCore::notifyResolverWillExitObject): + (WebCore::bidiNext): + (WebCore::bidiFirst): + +2011-03-29 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Support external CSS stylesheet freeflow text editing + https://bugs.webkit.org/show_bug.cgi?id=54397 + + In this implementation, Ctrl/Cmd-S commits the current changes into the model. + + * inspector/front-end/ResourceView.js: + (WebInspector.ResourceView.createResourceView): + (WebInspector.CSSSourceFrameDelegateForResourcesPanel): + (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.canEditScriptSource): + (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.editScriptSource): + (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.editScriptSource.handleInfos): + (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype._saveStyleSheet): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype._applyDiffMarkup): + (WebInspector.FrameResourceTreeElement.prototype._contentChanged): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._createTextViewer): + +2011-03-29 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Dan Bernstein. + + playbackRate should not be set to defaultPlaybackRate in play() + https://bugs.webkit.org/show_bug.cgi?id=55943 + + Test: media/video-playbackrate.html + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::playbackRate): No need to ask the media engine for the current + rate, we already have the current value cached. + (WebCore::HTMLMediaElement::playInternal): Don't reset the engine's playback rate to + the default rate. + (WebCore::HTMLMediaElement::togglePlayState): Do reset the engine's playback rate to + the default rate before triggering playback. + * manual-tests/media-default-playback-rate.html: Added. + +2011-03-28 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + Remove specialization of EventDispatcher with inversion of control. + https://bugs.webkit.org/show_bug.cgi?id=57285 + + Since some events have extra logic around their dispatch, allow them + to dispatch themselves and specialize the logic. This change only + converts KeyboardEvent to this model. + + No functional change, covered by existing tests. + + * dom/Event.cpp: + (WebCore::Event::dispatch): Added. + * dom/Event.h: Updated decls. + * dom/EventDispatcher.cpp: + (WebCore::EventDispatcher::dispatchEvent): Changed to ask event to dispatch + itself. + * dom/EventDispatcher.h: Updated decls. + * dom/KeyboardEvent.cpp: + (WebCore::KeyboardEvent::dispatch): Added, moving code from EventDispatcher. + * dom/KeyboardEvent.h: Updated decls. + * dom/Node.cpp: + (WebCore::Node::dispatchKeyEvent): Changed to use the new ways. + +2011-03-29 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: InspectorDOMAgent has unnecessary dependency from InspectorAgent. + https://bugs.webkit.org/show_bug.cgi?id=57329 + + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::InspectorAgent): + (WebCore::InspectorAgent::setFrontend): + * inspector/InspectorAgent.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::inspect): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::InspectorDOMAgent): + (WebCore::InspectorDOMAgent::setFrontend): + (WebCore::InspectorDOMAgent::handleMousePress): + (WebCore::InspectorDOMAgent::inspect): + (WebCore::InspectorDOMAgent::focusNode): + (WebCore::InspectorDOMAgent::highlight): + (WebCore::InspectorDOMAgent::hideHighlight): + * inspector/InspectorDOMAgent.h: + (WebCore::InspectorDOMAgent::create): + +2011-03-29 Eric Seidel <eric@webkit.org> + + Reviewed by Nikolas Zimmermann. + + Rename InlineIterator::pos to m_pos to match modern style + https://bugs.webkit.org/show_bug.cgi?id=57342 + + Somehow I failed to upload this one earlier, no wonder later patches didn't apply. + + * rendering/InlineIterator.h: + (WebCore::InlineIterator::InlineIterator): + (WebCore::operator==): + (WebCore::operator!=): + (WebCore::InlineIterator::increment): + (WebCore::InlineIterator::current): + (WebCore::InlineBidiResolver::appendRun): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::checkMidpoints): + (WebCore::RenderBlock::appendRunsForObject): + (WebCore::RenderBlock::layoutInlineChildren): + (WebCore::RenderBlock::matchedEndLine): + (WebCore::tryHyphenating): + (WebCore::RenderBlock::findNextLineBreak): + +2011-03-29 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: document BrowserDebugger agent. + https://bugs.webkit.org/show_bug.cgi?id=57331 + + * inspector/Inspector.json: + +2011-03-29 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Fix handling of the CSSAgent.setStyleSheetText() results in CSSStyleModel.js + https://bugs.webkit.org/show_bug.cgi?id=56310 + + Instead of stylesheet ids, CSSAgent.getAllStyleSheets() now returns metainfo objects containing + "styleSheetId", "sourceURL", "disabled", and "title" fields. The latter three are not returned + by CSSAgent.getStyleSheet() anymore. + + Test: inspector/styles/get-set-stylesheet-text.html + + * inspector/Inspector.json: + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::getAllStyleSheets): + * inspector/InspectorCSSAgent.h: + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyleSheet::buildObjectForStyleSheet): + (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo): + * inspector/InspectorStyleSheet.h: + * inspector/front-end/AuditRules.js: + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback): + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback): + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback): + (WebInspector.CSSStyleModel.prototype._styleSheetChanged): + (WebInspector.CSSStyleModel.prototype._onRevert): + (WebInspector.CSSStyleSheet): + (WebInspector.CSSStyleSheet.prototype.setText): + +2011-03-29 Jeremy Moskovich <jeremy@chromium.org> + + Reviewed by Eric Seidel. + + Implement text-align:match-parent as -webkit-match-parent. + https://bugs.webkit.org/show_bug.cgi?id=50951 + + Add support to the CSS parser. + + Tests: fast/css/text-align-webkit-match-parent-parse.html + fast/css/text-align-webkit-match-parent.html + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * css/CSSValueKeywords.in: + +2011-03-29 Eric Seidel <eric@webkit.org> + + Reviewed by Ryosuke Niwa. + + Rename InlineIterator::nextBreakablePosition to m_nextBreakablePosition to match modern style + https://bugs.webkit.org/show_bug.cgi?id=57323 + + All of these m_nextBreakablePosition = -1 could probably be replaced with + some new methods. But I'll do that in a separate change. Clearly + m_nextBreakablePosition is just a cached value which should be cleared + at the right times. I suspect we may even fail to clear it sometimes when + we should due to the current used of direct access instead of smarter functions. + + * rendering/InlineIterator.h: + (WebCore::InlineIterator::InlineIterator): + (WebCore::InlineIterator::increment): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::tryHyphenating): + (WebCore::RenderBlock::findNextLineBreak): + +2011-03-29 Jeff Miller <jeffm@apple.com> + + Reviewed by Jon Honeycutt. + + Add WebCore::copyCertificateToData() on Windows + https://bugs.webkit.org/show_bug.cgi?id=57296 + + Create a new win directory in platform/cf and add CertificateCFWin.cpp and CertificateCFWin.h to it. + + * WebCore.vcproj/WebCore.vcproj: Added CertificateCFWin.cpp and CertificateCFWin.h. + * WebCore.vcproj/copyForwardingHeaders.cmd: Copy all header files in \platform\cf\win\. + * platform/cf/win: Added. + * platform/cf/win/CertificateCFWin.cpp: Added. + (WebCore::deallocCertContext): Added. + (WebCore::createCertContextDeallocator): Added. + (WebCore::copyCertificateToData): Added. + * platform/cf/win/CertificateCFWin.h: Added. + +2011-03-29 Eric Seidel <eric@webkit.org> + + Reviewed by Ryosuke Niwa. + + Rename InlineIterator::block to m_block to match modern style + https://bugs.webkit.org/show_bug.cgi?id=57321 + + I could have made m_block private, since it's only accessed in + one place outside of InlineIterator (for an ASSERT). But I chose + not to do so in this change. + + * rendering/InlineIterator.h: + (WebCore::InlineIterator::InlineIterator): + (WebCore::InlineIterator::increment): + (WebCore::InlineBidiResolver::appendRun): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::findNextLineBreak): + +2011-03-29 Leo Yang <leo.yang@torchmobile.com.cn> + + Reviewed by Nikolas Zimmermann. + + Incorrect offset of svg <use> element which is in <symbol> element + https://bugs.webkit.org/show_bug.cgi?id=57318 + + When webkit expanded a svg <symbol> element in the shadow tree it + would clone the children of the <symbol>. The children may contain + SVGShadowTreeContainerElement which was expanded from svg <use> + element. But the clone operation would clone a + SVGShadowTreeContainerElement as a svg <g> element. This resulted + that updateContainerOffset wouldn't update offset for those elements + which were expand from <use> elements. + + This patch implements cloneElementWithoutAttributesAndChildren for + SVGShadowTreeContainerElement to make the container clone itself + correctly. + + Test: svg/custom/use-in-symbol-with-offset.svg + + * rendering/svg/SVGShadowTreeElements.cpp: + (WebCore::SVGShadowTreeContainerElement::cloneElementWithoutAttributesAndChildren): + * rendering/svg/SVGShadowTreeElements.h: + +2011-03-29 Eric Seidel <eric@webkit.org> + + Reviewed by Ryosuke Niwa. + + Rename InlineIterator::obj to m_obj to match modern style + https://bugs.webkit.org/show_bug.cgi?id=57319 + + I started this rename after confusion in InlineBidiResolver::appendRun. + (Which uses an "obj" local in InlineIterator.h. It's not actually + masking m_obj because it's a separate class, but I didn't realize + that at the time because it's in InlineIterator.h which is itself confusing!) + + * rendering/InlineIterator.h: + (WebCore::InlineIterator::InlineIterator): + (WebCore::operator==): + (WebCore::operator!=): + (WebCore::InlineIterator::increment): + (WebCore::InlineIterator::atEnd): + (WebCore::InlineIterator::current): + (WebCore::InlineIterator::direction): + (WebCore::InlineBidiResolver::appendRun): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::checkMidpoints): + (WebCore::RenderBlock::appendRunsForObject): + (WebCore::RenderBlock::layoutInlineChildren): + (WebCore::RenderBlock::matchedEndLine): + (WebCore::skipNonBreakingSpace): + (WebCore::RenderBlock::requiresLineBox): + (WebCore::RenderBlock::skipTrailingWhitespace): + (WebCore::RenderBlock::skipLeadingWhitespace): + (WebCore::tryHyphenating): + (WebCore::RenderBlock::findNextLineBreak): + +2011-03-29 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: document Timeline domain, make timeline event types of type string. + https://bugs.webkit.org/show_bug.cgi?id=57299 + + * inspector/Inspector.json: + * inspector/InspectorTimelineAgent.cpp: + (WebCore::InspectorTimelineAgent::pushGCEventRecords): + (WebCore::InspectorTimelineAgent::start): + (WebCore::InspectorTimelineAgent::stop): + (WebCore::InspectorTimelineAgent::willCallFunction): + (WebCore::InspectorTimelineAgent::didCallFunction): + (WebCore::InspectorTimelineAgent::willDispatchEvent): + (WebCore::InspectorTimelineAgent::didDispatchEvent): + (WebCore::InspectorTimelineAgent::willLayout): + (WebCore::InspectorTimelineAgent::didLayout): + (WebCore::InspectorTimelineAgent::willRecalculateStyle): + (WebCore::InspectorTimelineAgent::didRecalculateStyle): + (WebCore::InspectorTimelineAgent::willPaint): + (WebCore::InspectorTimelineAgent::didPaint): + (WebCore::InspectorTimelineAgent::willWriteHTML): + (WebCore::InspectorTimelineAgent::didWriteHTML): + (WebCore::InspectorTimelineAgent::didInstallTimer): + (WebCore::InspectorTimelineAgent::didRemoveTimer): + (WebCore::InspectorTimelineAgent::willFireTimer): + (WebCore::InspectorTimelineAgent::didFireTimer): + (WebCore::InspectorTimelineAgent::willChangeXHRReadyState): + (WebCore::InspectorTimelineAgent::didChangeXHRReadyState): + (WebCore::InspectorTimelineAgent::willLoadXHR): + (WebCore::InspectorTimelineAgent::didLoadXHR): + (WebCore::InspectorTimelineAgent::willEvaluateScript): + (WebCore::InspectorTimelineAgent::didEvaluateScript): + (WebCore::InspectorTimelineAgent::didScheduleResourceRequest): + (WebCore::InspectorTimelineAgent::willSendResourceRequest): + (WebCore::InspectorTimelineAgent::willReceiveResourceData): + (WebCore::InspectorTimelineAgent::didReceiveResourceData): + (WebCore::InspectorTimelineAgent::willReceiveResourceResponse): + (WebCore::InspectorTimelineAgent::didReceiveResourceResponse): + (WebCore::InspectorTimelineAgent::didFinishLoadingResource): + (WebCore::InspectorTimelineAgent::didMarkTimeline): + (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent): + (WebCore::InspectorTimelineAgent::didMarkLoadEvent): + (WebCore::InspectorTimelineAgent::addRecordToTimeline): + (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): + (WebCore::InspectorTimelineAgent::pushCurrentRecord): + * inspector/InspectorTimelineAgent.h: + (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry): + * inspector/front-end/TimelineAgent.js: + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel.prototype.get _recordStyles): + (WebInspector.TimelinePanel.prototype._createEventDivider): + (WebInspector.TimelinePanel.prototype._findParentRecord): + (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): + (WebInspector.TimelineDispatcher.prototype.started): + (WebInspector.TimelineDispatcher.prototype.stopped): + (WebInspector.TimelineDispatcher.prototype.eventRecorded): + (WebInspector.TimelinePanel.FormattedRecord): + (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): + (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): + +2011-03-29 Andrey Adaikin <aandrey@google.com> + + Reviewed by Pavel Feldman. + + Web Inspector: Fixing live edits tests on chromium. + https://bugs.webkit.org/show_bug.cgi?id=57316 + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource): + (WebInspector.SourceFrame.prototype._handleSave): + (WebInspector.SourceFrameDelegate.prototype.editScriptSource): + +2011-03-29 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: fix call frames positions in formatted scripts. + https://bugs.webkit.org/show_bug.cgi?id=57036 + + Introduce PresentationCallFrame class that encapsulates source mapping details from UI components. + + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLocation): + (WebInspector.CallStackSidebarPane.prototype.update): + (WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame): + (WebInspector.CallStackSidebarPane.prototype._placardSelected): + (WebInspector.CallStackSidebarPane.prototype._contextMenu): + (WebInspector.CallStackSidebarPane.prototype._copyStackTrace): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype._didEditScriptSource): + (WebInspector.DebuggerModel.prototype.get debuggerPausedDetails): + (WebInspector.DebuggerModel.prototype._pausedScript): + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel): + (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource): + (WebInspector.DebuggerPresentationModel.prototype.editScriptSource): + (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): + (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused): + (WebInspector.DebuggerPresentationModel.prototype._debuggerResumed): + (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame): + (WebInspector.DebuggerPresentationModel.prototype.get selectedCallFrame): + (WebInspector.DebuggerPresentationModel.prototype._reset): + (WebInspector.PresenationCallFrame): Call frame wrapper for UI. + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): + (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation): + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + (WebInspector.ScriptsPanel.prototype._debuggerResumed): + (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded): + (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation): + (WebInspector.ScriptsPanel.prototype._callFrameSelected): + (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.evaluateInSelectedCallFrame): + * inspector/front-end/SourceFile.js: + (WebInspector.SourceFile.prototype.get content): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._createTextViewer): + (WebInspector.SourceFrame.prototype.setExecutionLine): + (WebInspector.SourceFrame.prototype.clearExecutionLine): + (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup): + (WebInspector.SourceFrame.prototype._showPopup): + +2011-03-29 Emil A Eklund <eae@chromium.org> + + Reviewed by Darin Adler. + + Fix for execCommand("Delete") with an empty selection. + https://bugs.webkit.org/show_bug.cgi?id=56652 + + Test: editing/execCommand/delete-empty-container.html + + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::makeEditableRootEmpty): Add check for root element. + +2011-03-29 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Chromium] Refactor HeapSnapshot-related code to + make sure we don't return big amounts of data to forms. + https://bugs.webkit.org/show_bug.cgi?id=57227 + + * inspector/front-end/DetailedHeapshotGridNodes.js: + (WebInspector.HeapSnapshotGridNode.prototype.populateChildren): + (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _countPercent): + (WebInspector.HeapSnapshotObjectNode): + (WebInspector.HeapSnapshotObjectNode.prototype._createProvider): + (WebInspector.HeapSnapshotInstanceNode): + (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider): + (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider): + (WebInspector.HeapSnapshotConstructorNode.prototype.get _countPercent): + (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider): + (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider): + (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider): + * inspector/front-end/DetailedHeapshotView.js: + (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource): + (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.setDataSource): + * inspector/front-end/HeapSnapshot.js: + (WebInspector.HeapSnapshotNode.prototype.get dominatorIndex): + (WebInspector.HeapSnapshotNode.prototype.get retainers): + (WebInspector.HeapSnapshot): + (WebInspector.HeapSnapshot.prototype.get _allNodes): + (WebInspector.HeapSnapshot.prototype.get nodeCount): + (WebInspector.HeapSnapshot.prototype.get rootNodeIndex): + (WebInspector.HeapSnapshot.prototype.hasId): + (WebInspector.HeapSnapshot.prototype.get nodeIds): + (WebInspector.HeapSnapshot.prototype._retainersForNode): + (WebInspector.HeapSnapshot.prototype._buildRetainers): + (WebInspector.HeapSnapshot.prototype._buildAggregates): + (WebInspector.HeapSnapshot.prototype._buildAggregatesIndexes): + (WebInspector.HeapSnapshot.prototype._buildIdsList): + (WebInspector.HeapSnapshot.prototype._buildNodeIndex): + (WebInspector.HeapSnapshotFilteredOrderedIterator): + (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.next): + (WebInspector.HeapSnapshotEdgesProvider): + (WebInspector.HeapSnapshotNodesProvider): + +2011-03-29 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Chromium] Fix detailed heap snapshots UI. + https://bugs.webkit.org/show_bug.cgi?id=57235 + + Fix two problems: + 1. Text color of grid cells under selection needs to be white, otherwise it's unreadable for some colors; + 2. Long strings need to be truncated in grid, their contents can be shown on hover. + + * inspector/front-end/DetailedHeapshotView.js: + (WebInspector.DetailedHeapshotView.prototype._getHoverAnchor): + (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup): + * inspector/front-end/heapProfiler.css: + (.detailed-heapshot-view .console-formatted-string): + (.detailed-heapshot-view .data-grid tr.selected *): + (.detailed-heapshot-view .data-grid:focus tr.selected *): + +2011-03-29 Andrey Adaikin <aandrey@google.com> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Highlight visible lines first + https://bugs.webkit.org/show_bug.cgi?id=57013 + + * inspector/front-end/TextViewer.js: + (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleChunkNumber): + (WebInspector.TextEditorChunkedPanel.prototype._findVisibleChunks): + (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleLineNumber.compareLineRowOffsetTops): + (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleLineNumber): + (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines): + (WebInspector.TextEditorMainPanel.prototype._paintLines): + (WebInspector.TextEditorMainPanel.prototype._paintLineChunks): + (WebInspector.TextEditorMainPanel.prototype._paintLine): + (WebInspector.TextEditorMainChunk.prototype.set expanded): + +2011-03-29 Emil A Eklund <eae@chromium.org> + + Reviewed by Dimitri Glazkov. + + Relative mouse coordinates recalculated for each target + https://bugs.webkit.org/show_bug.cgi?id=57130 + + Calculate relative coordinates lazily for mouse events instead of doing + it for each target. Speeds up dispatching of mouse events in deep dom + structures significantly, O(n^2) to O(n). + + Also fixes https://bugs.webkit.org/show_bug.cgi?id=34973 + + Tests: fast/events/mouse-relative-position.html + perf/mouse-event.html + + * dom/Event.cpp: + (WebCore::Event::setTarget): + * dom/MouseRelatedEvent.cpp: + (WebCore::MouseRelatedEvent::MouseRelatedEvent): + (WebCore::MouseRelatedEvent::initCoordinates): + (WebCore::pageZoomFactor): + (WebCore::MouseRelatedEvent::receivedTarget): + (WebCore::MouseRelatedEvent::computeRelativePosition): + (WebCore::MouseRelatedEvent::layerX): + (WebCore::MouseRelatedEvent::layerY): + (WebCore::MouseRelatedEvent::offsetX): + (WebCore::MouseRelatedEvent::offsetY): + * dom/MouseRelatedEvent.h: + * dom/UIEvent.cpp: + (WebCore::UIEvent::layerX): + (WebCore::UIEvent::layerY): + * dom/UIEvent.h: + +2011-03-29 Emil A Eklund <eae@chromium.org> + + Reviewed by Darin Adler. + + getComputedStyle counterIncrement crash @ WebCore::counterToCSSValue + https://bugs.webkit.org/show_bug.cgi?id=57266 + + Add null check to counterToCSSValue. + + Test: fast/css/getComputedStyle/counterIncrement-without-counter.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::counterToCSSValue): + +2011-03-29 Gavin Peters <gavinp@chromium.org> + + Reviewed by Tony Gentilcore. + + Implement onerror events for <link rel=prefetch> + https://bugs.webkit.org/show_bug.cgi?id=57182 + + These events are equired on link elements, see + http://dev.w3.org/html5/spec/Overview.html#the-link-element + + After a discussion in WebKit-dev about the direction of prefetch in the loader, and about a path + to adding the Link header, we decided to look at making onerror, onload and onbeforeload events + more uniformly supported. See the thread at + https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html . + + It turned out that part of adding onerror for link prefetch was to make the top CachedResource less + abstract. It was pure virtual until prefetch became the first consumer to use an unspecialised + implementation, and this CL continues that by adding a default checkNotify method to it. As it + happens there were already two subclasses using what amounted to the generic checkNotify, so I + also removed those, buying us some code cleanup with the change. + + Test: fast/dom/HTMLLinkElement/prefetch-onerror.html + + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::parseMappedAttribute): + (WebCore::HTMLLinkElement::onloadTimerFired): + (WebCore::HTMLLinkElement::notifyFinished): + * loader/cache/CachedImage.cpp: + * loader/cache/CachedImage.h: + * loader/cache/CachedResource.cpp: + (WebCore::CachedResource::checkNotify): + (WebCore::CachedResource::data): + (WebCore::CachedResource::error): + * loader/cache/CachedResource.h: + * loader/cache/CachedScript.cpp: + * loader/cache/CachedScript.h: + +2011-03-29 Eric Seidel <eric@webkit.org> + + Reviewed by Ryosuke Niwa. + + Add support for parsing unicode-bidi: -webkit-isolate + https://bugs.webkit.org/show_bug.cgi?id=57181 + + Test: css3/unicode-bidi-insolate-parse.html + + * WebCore.xcodeproj/project.pbxproj: + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + (WebCore::CSSPrimitiveValue::operator EUnicodeBidi): + * css/CSSValueKeywords.in: + * rendering/style/RenderStyleConstants.h: + +2011-03-29 Patrick Gansterer <paroga@webkit.org> + + Unreviewed WinCE build fix for r82193. + + * platform/wince/FileSystemWinCE.cpp: + (WebCore::openTemporaryFile): + +2011-03-28 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r82198. + http://trac.webkit.org/changeset/82198 + https://bugs.webkit.org/show_bug.cgi?id=57304 + + Broke Chromium Win build. (Requested by dave_levin on + #webkit). + + * platform/image-decoders/png/PNGImageDecoder.cpp: + (WebCore::PNGImageDecoder::headerAvailable): + (WebCore::PNGImageDecoder::rowAvailable): + +2011-03-28 Ofri Wolfus <ofri@google.com> + + Reviewed by Eric Seidel. + + RTL: Select elements with a size attribute are always left aligned. + https://bugs.webkit.org/show_bug.cgi?id=50928 + + Added support for alignment in RenderListBox. + + Test: fast/forms/listbox-bidi-align.html + + * rendering/RenderListBox.cpp: + (WebCore::itemOffsetForAlignment): + (WebCore::RenderListBox::paintItemForeground): Add support for alignment and directionality. + +2011-03-28 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Benjamin Poulain. + + [Qt] Change TextureMapperVideoLayer to TextureMapperMediaLayer + https://bugs.webkit.org/show_bug.cgi?id=57142 + + TextureMapperMediaLayer is a better name here because both video and plugins use this layer. + Remove ENABLE(VIDEO) guard. + + * platform/graphics/qt/MediaPlayerPrivateQt.cpp: + * platform/graphics/qt/MediaPlayerPrivateQt.h: + * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: + (WebCore::GraphicsLayerTextureMapper::setContentsToMedia): + * platform/graphics/texmap/TextureMapperNode.h: + * platform/graphics/texmap/TextureMapperPlatformLayer.h: + (WebCore::TextureMapperMediaLayer::layerType): + +2011-03-28 Thomas Klausner <tk@giga.or.at> + + Reviewed by David Levin. + + png-1.5 fixes + https://bugs.webkit.org/show_bug.cgi?id=54406 + + Fix compilation with png-1.5: struct members were hidden, and + a new API to terminate data processing was added (especially for + WebKit). + + Compilation fixes, so no new tests. + + * platform/image-decoders/png/PNGImageDecoder.cpp: + (WebCore::PNGImageDecoder::headerAvailable): + (WebCore::PNGImageDecoder::rowAvailable): + +2011-03-28 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Adam Barth. + + Replace fprintf(stderr, ...) with LOG_ERROR + https://bugs.webkit.org/show_bug.cgi?id=57216 + + LOG_ERROR is a better choice here. + + * bridge/jni/v8/JavaClassV8.cpp: + (JavaClass::JavaClass): + +2011-03-28 Steve Block <steveblock@google.com> + + Reviewed by Jeremy Orlow. + + Add a new JavaValue to type to represent a Java value in the Java bridge + https://bugs.webkit.org/show_bug.cgi?id=57022 + + This change introduces a new JavaValue type and uses it in place of jvalue + in the conversions to and from JavaNPObject used in the V8 Java bridge. + + Refactoring only, no new tests. + + * WebCore.gypi: + * bridge/jni/JNIUtility.cpp: + (JSC::Bindings::javaTypeFromClassName): + (JSC::Bindings::signatureFromJavaType): + (JSC::Bindings::getJNIField): + (JSC::Bindings::callJNIMethod): + * bridge/jni/JavaType.h: + * bridge/jni/v8/JNIUtilityPrivate.cpp: + (JSC::Bindings::convertNPVariantToJavaValue): + (JSC::Bindings::convertJavaValueToNPVariant): + (JSC::Bindings::jvalueToJavaValue): + (JSC::Bindings::javaValueToJvalue): + * bridge/jni/v8/JNIUtilityPrivate.h: + * bridge/jni/v8/JavaNPObjectV8.cpp: + (JSC::Bindings::JavaNPObjectInvoke): + (JSC::Bindings::JavaNPObjectGetProperty): + * bridge/jni/v8/JavaValueV8.h: Added. + (JSC::Bindings::JavaValue::JavaValue): + +2011-03-28 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Darin Adler. + + Use String instead of CString as return value of openTemporaryFile + https://bugs.webkit.org/show_bug.cgi?id=55332 + + We usually store all paths as UTF-16. Do this for temporary files too. + + * WebCore.exp.in + * platform/FileSystem.h: + * platform/android/FileSystemAndroid.cpp: + * platform/brew/FileSystemBrew.cpp: + * platform/efl/FileSystemEfl.cpp: + * platform/gtk/FileSystemGtk.cpp: + * platform/haiku/FileSystemHaiku.cpp: + * platform/mac/FileSystemMac.mm: + * platform/qt/FileSystemQt.cpp: + * platform/win/FileSystemWin.cpp: + * platform/wince/FileSystemWinCE.cpp: + * platform/wx/FileSystemWx.cpp: + * plugins/PluginStream.cpp: + (WebCore::PluginStream::destroyStream): + * plugins/PluginStream.h: + +2011-03-28 Jeff Johnson <opendarwin@lapcatsoftware.com> + + Reviewed by Pavel Feldman. + + Web Inspector: empty, non-functional window + https://bugs.webkit.org/show_bug.cgi?id=56354 + + Check whether DOM local storage is enabled + before attempting to access window.localStorage. + + No new tests. + + * inspector/front-end/Settings.js: + (WebInspector.Settings.prototype.findSettingForAllProjects): + (WebInspector.Settings.prototype._get): + (WebInspector.Settings.prototype._set): + +2011-03-28 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=57286 Alternative fix for: + Horizontal scroller stops appearing after going Forward + -and corresponding- + <rdar://problem/9026946> + + This patch rolls out revision 79053 and fixes the same bug in a better way. + + New function resetScrollbarsAndClearContentsSize() calls resetScrollbars() and then + sets the contents size to 0. This is called when a document is going into the page + cache. + * dom/Document.cpp: + (WebCore::Document::setInPageCache): + (WebCore::FrameView::resetScrollbarsAndClearContentsSize): + + Roll-out of 79053. + * history/CachedFrame.cpp: + (WebCore::CachedFrameBase::restore): + * page/FrameView.cpp: + (WebCore::FrameView::FrameView): + (WebCore::FrameView::reset): + (WebCore::FrameView::layout): + * page/FrameView.h: + +2011-03-28 Ojan Vafai <ojan@chromium.org> + + Reviewed by Antti Koivisto. + + fix style sharing with :any and sibling selectors + https://bugs.webkit.org/show_bug.cgi?id=57211 + + Test: fast/css/sibling-selectors.html + + * css/CSSStyleSelector.cpp: + (WebCore::collectFeaturesFromList): + +2011-03-27 Ojan Vafai <ojan@chromium.org> + + Reviewed by Antti Koivisto. + + fix :-webkit-any(:last-child) + https://bugs.webkit.org/show_bug.cgi?id=57207 + + We were passing the wrong arguments to checkSelector. Also, we were not + passing through the encounteredLink bool. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + * css/CSSStyleSelector.h: + +2011-03-27 Ojan Vafai <ojan@chromium.org> + + Reviewed by Antti Koivisto. + + fix :-webkit-any(:last-child) + https://bugs.webkit.org/show_bug.cgi?id=57207 + + We were passing the wrong arguments to checkSelector. Also, we were not + passing through the encounteredLink bool. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + * css/CSSStyleSelector.h: + +2011-03-28 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin Adler. + + REGRESSION(r82152): fast/dom/HTMLAnchorElement/set-href-attribute-pathname.html + https://bugs.webkit.org/show_bug.cgi?id=57291 + + * platform/KURL.cpp: + (WebCore::KURL::parse): Instead of considering URLs with + credentials but no host invalid, consider them to have a host + ending in @ (which fails down the line)/ + +2011-03-28 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + Fix some problems of the appearance of form validation message bubble. + https://bugs.webkit.org/show_bug.cgi?id=57208 + + No new tests. Validation message bubble appearance is not testable + because it depends on a timer. + + * css/html.css: + (::-webkit-validation-bubble): + (::-webkit-validation-bubble-message): + (::-webkit-validation-bubble-arrow): + (::-webkit-validation-bubble-arrow-clipper): + - Explicitly set margin, padding, and color. + - Make the shadow darker. + - Make the background color darker. + - Make opacity larger. + - Make the border color lighter. + - Add inset shadows + - Change the implementation of an arrow. + Stop making a right triangle by the border trick. + Use -webkit-transform instead. + - Make min-width workable by changing display property of + -webkit-validation-bubble to "inline-block". + * html/ValidationMessage.cpp: + (WebCore::ValidationMessage::buildBubbleTree): + Change the node structure. Before this change, -webkit-validation-bubble + had three DIVs inside. After this change, it has two DIVs; + -webkit-validation-bubble-arrow-clipper and + -webkit-validation-bubble-message, and + -webkit-validation-bubble-arrow-clipper contains + -webkit-validation-bubble-arrow. + +2011-03-28 Enrica Casucci <enrica@apple.com> + + Reviewed by Sam Weinig. + + REGRESSION: Can't enter pasted with context or Edit menu text in search or address field in the browser. + https://bugs.webkit.org/show_bug.cgi?id=57275 + <rdar://problem/8246691> + + We need to classify cut and paste actions as user typing actions even when + the action is triggered by a context menu selection to + allow the propagation of the textDidChangeInTextField event. + + * editing/EditorCommand.cpp: + The following methods have been modified to properly set up + the UserTypingGestureAction when the command source is the + menu or a key binding sequence. + (WebCore::executeCut): + (WebCore::executePaste): + (WebCore::executePasteAndMatchStyle): + (WebCore::executePasteAsPlainText): + (WebCore::executeDelete): + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::contextMenuItemSelected): Changed to + call execute command instead of referring to the specific method in + the editor class. + +2011-03-28 Oliver Hunt <oliver@apple.com> + + Reviewed by Geoffrey Garen. + + instanceof Array test fails when using iframes + https://bugs.webkit.org/show_bug.cgi?id=17250 + + Update for new function and date apis + + Test: fast/js/js-constructors-use-correct-global.html + + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDOMBinding.cpp: + (WebCore::jsDateOrNull): + * bindings/js/JSLazyEventListener.cpp: + (WebCore::JSLazyEventListener::initializeJSFunction): + +2011-03-28 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=57124 When the scroller style is + changed via delegate method, the page needs a full relayout and repaint + -and corresponding- + <rdar://problem/9059129> + + Call into WebKitSystemInterface to associate the new painter with the existing + painter controller. Reset the scrollbar frame rects to the new thickness -- normally + this only happens when a scrollbar is created, so we have to reset the thickness + here to pick up the new theme thickness. Finally, force a full relayout and style + recall with setNeedsRecalcStyleInAllFrames() + * platform/mac/ScrollAnimatorMac.mm: + (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]): + + setNeedsRecalcStyleInAllFrames() used to be a static method in Settings.cpp. This + patch moves it to be a member function on Page so that it can be called from + FrameView when the scrollbar style changes. + * page/FrameView.cpp: + (WebCore::FrameView::setNeedsRecalcStyleInAllFrames): + * page/FrameView.h: + * page/Page.cpp: + (WebCore::Page::setNeedsRecalcStyleInAllFrames): + * page/Page.h: + * page/Settings.cpp: + (WebCore::Settings::setStandardFontFamily): + (WebCore::Settings::setFixedFontFamily): + (WebCore::Settings::setSerifFontFamily): + (WebCore::Settings::setSansSerifFontFamily): + (WebCore::Settings::setCursiveFontFamily): + (WebCore::Settings::setFantasyFontFamily): + (WebCore::Settings::setMinimumFontSize): + (WebCore::Settings::setMinimumLogicalFontSize): + (WebCore::Settings::setDefaultFontSize): + (WebCore::Settings::setDefaultFixedFontSize): + (WebCore::Settings::setTextAreasAreResizable): + (WebCore::Settings::setAuthorAndUserStylesEnabled): + (WebCore::Settings::setFontRenderingMode): + (WebCore::Settings::setAcceleratedCompositingEnabled): + (WebCore::Settings::setShowDebugBorders): + (WebCore::Settings::setShowRepaintCounter): + * platform/ScrollableArea.h: + (WebCore::ScrollableArea::setNeedsRecalcStyleInAllFrames): + +2011-03-28 Dirk Pranke <dpranke@chromium.org> + + RS=Tony Chang. + + r81977 moved FontPlatformData.h from + WebCore/platform/graphics/cocoa to platform/graphics. This + change updates the chromium build accordingly. + + https://bugs.webkit.org/show_bug.cgi?id=57281 + + * platform/graphics/chromium/CrossProcessFontLoading.mm: + +2011-03-28 Jer Noble <jer.noble@apple.com> + + Reviewed by Darin Adler. + + MediaPlayerPrivateAVFoundation should report that it supportsFullScreen() + https://bugs.webkit.org/show_bug.cgi?id=57249 + + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: + (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen): + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: + +2011-03-28 Jer Noble <jer.noble@apple.com> + + Reviewed by Darin Adler. + + AVFoundation can indeed support full screen. + + MediaPlayerPrivateAVFoundation should report that it supportsFullScreen() + https://bugs.webkit.org/show_bug.cgi?id=57249 + + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: + (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen): Return true if using + the new full screen APIs. + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: + +2011-03-28 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Darin Adler. + + http streams don't always display video with AVFoundation backend + https://bugs.webkit.org/show_bug.cgi?id=57203 + + No new tests, we don't currently have tests for http live streams. Changes verified manually. + + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::MediaPlayer): Initialize m_shouldPrepareToRender. + (WebCore::MediaPlayer::loadWithNextMediaEngine): Call prepareForRendering on new engine + if m_shouldPrepareToRender is set. + (WebCore::MediaPlayer::prepareForRendering): Set m_shouldPrepareToRender. + * platform/graphics/MediaPlayer.h: + + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: + (WebCore::MediaPlayerPrivateAVFoundation::isReadyForVideoSetup): Don't return true until + m_isAllowedToRender has been set. + (WebCore::MediaPlayerPrivateAVFoundation::prepareForRendering): Always call setUpVideoRendering, + it has logic to figure out when setup is required. + (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Call setUpVideoRendering when we aren't + using the preferred rendering mode because if we get a file's metadata between the + time supportsAcceleratedRendering() and paint() are called, we will allocate a software + renderer even when we prefer a layer backed renderer. + (WebCore::MediaPlayerPrivateAVFoundation::movieLoadType): Return "unknown" until we have metadata. + + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: + (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Use itemKVOProperties() instead of + an explicit list of key path names. + (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL): Ditto. + (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): metadataKeyNames renamed + to assetMetadataKeyNames, return an NSArray instead of a CFArrayRef since that is what the + callers need. + (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Return the duration of the + player item, not the asset, because AVAsset.duration always returns an indefinite time + for all streaming files. + (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): metadataKeyNames renamed + to assetMetadataKeyNames. + (WebCore::MediaPlayerPrivateAVFoundationObjC::paintCurrentFrameInContext): Do nothing until + metadata is available. + (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Ditto. + (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Split size calculation logic off + into sizeChanged(). + (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): New. Use AVPlayerItem.presentationSize + until tracks is non-NULL so we have a size as early as possible. + (WebCore::MediaPlayerPrivateAVFoundationObjC::assetMetadataKeyNames): Renamed from metadataKeyNames. + (WebCore::MediaPlayerPrivateAVFoundationObjC::itemKVOProperties): New, return an array of + KVO observable properties. + (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): Respond to + presentationSize change. + +2011-03-28 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Search field focus ring is missing + https://bugs.webkit.org/show_bug.cgi?id=57270 + <rdar://problem/8765555> + + Add an _automaticFocusRingDisabled method which returns YES. + + * platform/mac/ThemeMac.mm: + (-[WebCoreFlippedView _automaticFocusRingDisabled]): + +2011-03-28 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + Move more events to EventDispatcher. + https://bugs.webkit.org/show_bug.cgi?id=57247 + + No functional changes, covered by existing tests. + + * dom/EventDispatcher.cpp: + (WebCore::eventTargetRespectingSVGTargetRules): Made a static function, + since it's not used anywhere outside of the EventDispatcher. + (WebCore::EventDispatcher::dispatchScopedEvent): Moved from Node.cpp. + (WebCore::EventDispatcher::dispatchKeyEvent): Ditto. + (WebCore::EventDispatcher::dispatchWheelEvent): Ditto. + (WebCore::EventDispatcher::dispatchEvent): Changed to use eventTargetRespectingSVGTargetRules + as a static function. + * dom/EventDispatcher.h: Updated decls. + * dom/Node.cpp: + (WebCore::Node::dispatchScopedEvent): Replaced with calling EventDispatcher. + (WebCore::Node::dispatchKeyEvent): Ditto. + (WebCore::Node::dispatchWheelEvent): Ditto. + +2011-03-28 Adele Peterson <adele@apple.com> + + Reviewed by Eric Seidel. + + Fix for <rdar://problem/9112694> REGRESSION (r79411): "Check grammar with spelling" context menu doesn't check as you type + https://bugs.webkit.org/show_bug.cgi?id=57173 + + Test: editing/spelling/grammar.html + + * WebCore.exp.in: Add symbol for new selectionStartHasMarkerFor method. + * editing/Editor.cpp: + (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Every use of paragraph is specific to spelling or grammar, + so to avoid confusion, we should explicitly use spellingParagraph or grammarParagraph. In the case of this bug, + when we're consider ambiguous boundary characters (characters that could indicate word boundaries, but are used + in the middle of words too, like apostrophes), we should use the use the spellingParagraph since the spellingParagraph + is the only one operated on when this information is used. + (WebCore::Editor::selectionStartHasMarkerFor): Changed from selectionStartHasSpellingMarkerFor so it can check for grammar as well as spelling. + * editing/Editor.h: + +2011-03-28 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/8895977> REGRESSION: multicol crashes with positioned elements + https://bugs.webkit.org/show_bug.cgi?id=48983 + + Test: fast/multicol/paginated-layer-crash.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintPaginatedChildLayer): Bring the logic for finding pagintating layers + into sync with updatePagination() after r68069. + (WebCore::RenderLayer::hitTestPaginatedChildLayer): Ditto. + +2011-03-28 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin Adler' . + + URLSs with non-empty username but empty hostname treat first path segment as hostname, potentially enabling XSS + https://bugs.webkit.org/show_bug.cgi?id=57220 + + Test: http/tests/uri/username-with-no-hostname.html + + * platform/KURL.cpp: + (WebCore::hostPortIsEmptyButUserPassIsNot): + (WebCore::KURL::parse): + +2011-03-28 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + script-src should block inline event handlers + https://bugs.webkit.org/show_bug.cgi?id=57212 + + I considered wrapping this into the canExecute check, but that approach + would require passing that function a bunch of context information to + behave correctly once we add support for the "options" directive that + re-enables these features. + + Test: http/tests/security/contentSecurityPolicy/script-src-none-inline-event.html + + * bindings/js/JSLazyEventListener.cpp: + (WebCore::JSLazyEventListener::initializeJSFunction): + - This function was a mess. I couldn't resist cleaning it up a + bunch. Notice that we ASSERT at the beginning of the function + that scriptExecutionContext is a document and that both ways of + getting the global object are the same when document->frame() is + non-zero because the document must be active and there is a + one-to-one relation between Frames and active Documents. + * bindings/v8/V8LazyEventListener.cpp: + (WebCore::V8LazyEventListener::prepareListenerObject): + * page/ContentSecurityPolicy.cpp: + (WebCore::ContentSecurityPolicy::allowInlineEventHandlers): + * page/ContentSecurityPolicy.h: + +2011-03-28 Jeff Miller <jeffm@apple.com> + + Reviewed by Adam Roben. + + ResourceError::certificate() should return a PCCERT_CONTEXT + https://bugs.webkit.org/show_bug.cgi?id=57262 + + * platform/network/cf/ResourceError.h: certificate() now returns a PCCERT_CONTEXT. + * platform/network/cf/ResourceErrorCF.cpp: + (WebCore::ResourceError::certificate): Added. + +2011-03-28 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser and Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=57221, memory corruption/crashes when positioned objects + occur at the end of a line. + + The old code and new code for dealing with a trailing space object midpoint manipulated a raw + array instead of the Vector. Otherwise this corruption would have been caught prior to check-in. + + I have patched the code to only go through the Vector and to make it handle the case that led to + the corruption. Trailing positioned objects can occur both prior to and following the trailing space + object's midpoint, so we have to be prepared to deal with both cases. + + This is already tested by fast/block/positioning/052.html, and that test now properly progresses + like the other positioning tests did. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::findNextLineBreak): + +2011-03-28 Andrei Popescu <andreip@google.com> + + Reviewed by Steve Block. + + V8IDBKeyCustom.cpp does not compile with INDEXED_DATABASE disabled + https://bugs.webkit.org/show_bug.cgi?id=57100 + + Close the ENABLE guard and the namespace in the right order. + + No new tests, just cleanup. + + * bindings/v8/custom/V8IDBAnyCustom.cpp: + * bindings/v8/custom/V8IDBKeyCustom.cpp: + +2011-03-28 Jeff Miller <jeffm@apple.com> + + Reviewed by Adam Roben. + + Include certificate when sending a WebCore::ResourceError to UI process on Windows + https://bugs.webkit.org/show_bug.cgi?id=57195 + + Add support for tracking the certificate in WebCore::ResourceError. + + * platform/network/ResourceErrorBase.cpp: + (WebCore::ResourceErrorBase::copy): Call platformCopy() to copy platform-specific fields. + * platform/network/ResourceErrorBase.h: + (WebCore::ResourceErrorBase::platformCopy): Added. + * platform/network/cf/ResourceError.h: Added constructor that takes certificate data, shadowed platformCopy, added m_certificate. + (WebCore::ResourceError::certificate): Added. + * platform/network/cf/ResourceErrorCF.cpp: + (WebCore::ResourceError::ResourceError): Added constructor that takes certificate data. + (WebCore::ResourceError::platformLazyInit): Read any certificate from the userInfo dictionary. + (WebCore::ResourceError::platformCopy): Copy m_certificate. + (WebCore::ResourceError::cfError): Add any certificate data to the userInfo dictionary in the CFErrorRef. + +2011-03-28 Jessie Berlin <jberlin@apple.com> + + Rubber-stamped by Adam Roben. + + Add an extra newline to the end of the generated Inspector.idl file so that it does not + trigger the Windows "no newline at at end of file" warning. + + * inspector/generate-inspector-idl: + +2011-03-28 Csaba Osztrogonác <ossy@webkit.org> + + Buildfix after r82125. + + [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled + https://bugs.webkit.org/show_bug.cgi?id=57087 + + * platform/graphics/qt/MediaPlayerPrivateQt.cpp: Convert all char* to QString explicitly. + (WebCore::MediaPlayerPrivateQt::getSupportedTypes): + (WebCore::MediaPlayerPrivateQt::commitLoad): + +2011-03-28 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r82099. + http://trac.webkit.org/changeset/82099 + https://bugs.webkit.org/show_bug.cgi?id=57245 + + Breaks live edits tests on chromium. (Requested by pfeldman on + #webkit). + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._handleSave): + (WebInspector.SourceFrameDelegate.prototype.editScriptSource): + +2011-03-28 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: brush up and rename debugger domain functions. + https://bugs.webkit.org/show_bug.cgi?id=57240 + + * inspector/Inspector.json: + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::setFrontend): + (WebCore::InspectorAgent::postWorkerNotificationToFrontend): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::setBreakpointsActive): + (WebCore::InspectorDebuggerAgent::setBreakpointByUrl): + (WebCore::InspectorDebuggerAgent::setBreakpoint): + (WebCore::InspectorDebuggerAgent::removeBreakpoint): + (WebCore::InspectorDebuggerAgent::editScriptSource): + (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState): + (WebCore::InspectorDebuggerAgent::didParseSource): + (WebCore::InspectorDebuggerAgent::failedToParseSource): + (WebCore::InspectorDebuggerAgent::didPause): + (WebCore::InspectorDebuggerAgent::didContinue): + * inspector/InspectorDebuggerAgent.h: + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype.setBreakpoint): + (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId): + (WebInspector.DebuggerModel.prototype.removeBreakpoint): + (WebInspector.DebuggerModel.prototype._didEditScriptSource): + (WebInspector.DebuggerDispatcher.prototype.paused): + (WebInspector.DebuggerDispatcher.prototype.resumed): + (WebInspector.DebuggerDispatcher.prototype.scriptParsed): + (WebInspector.DebuggerDispatcher.prototype.scriptFailedToParse): + (WebInspector.DebuggerDispatcher.prototype.breakpointResolved): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked): + * inspector/front-end/inspector.js: + (WebInspector.didCreateWorker): + (WebInspector.didDestroyWorker): + +2011-03-28 David Kilzer <ddkilzer@apple.com> + + <http://webkit.org/b/57239> Use forward class declaration instead of including header + + Reviewed by Dan Bernstein. + + Adding a "using namespace WebCore;" statement in a header may + cause issues when <WebCore/Length.h> is included before + <CoreText/CoreText.h>. + + Length.h defines the LengthType enum with a 'Fixed' value. + CoreText.h includes MacTypes.h, which has a + "typedef SInt32 Fixed;" statement, and then CoreText.h includes + other headers that also use 'Fixed', but expect the typedef to + be defined, not the enum. If another header includes + "using namespace WebCore;" before CoreText.h, the + following compiler errors result (paths abbreviated): + + CoreText.framework/Headers/SFNTLayoutTypes.h:689: error: reference to 'Fixed' is ambiguous + MacTypes.h:184: error: candidates are: typedef SInt32 Fixed + Length.h:37: error: WebCore::LengthType WebCore::Fixed + SFNTLayoutTypes.h:689: error: 'Fixed' does not name a type + + * platform/mac/HTMLConverter.h: Use forward declaration of + DocumentLoader class instead of including header. Remove the + unused "using namespace WebCore;" statement. + +2011-03-26 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + Introduce EventDispatcher, the new common way to fire events. + https://bugs.webkit.org/show_bug.cgi?id=57168 + + The goal here is two-fold: + 1) reduce the need to randomly sprinkle guards around the dispatch code + by creating a well-scoped abstraction for dispatching events. + 2) create a place where fiddly event-related things like creating event + contexts for ancestors can be done lazily. + + Additionally, with all the free-standing static functions, this code was + just begging to come out of Node.cpp. + + The first step is a near-mechanical extraction of mouse-related events + from Node.cpp to EventDispatcher. For now, the call sites are just + replaced with invoking EventDispatcher. Later, we can remove these methods + from Node. + + Refactoring, no functional changes. + + * Android.mk: Added EventDispatcher to build system. + * CMakeLists.txt: Ditto. + * GNUmakefile.am: Ditto. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * dom/DOMAllInOne.cpp: Ditto. + * dom/EventDispatcher.cpp: Added. + * dom/EventDispatcher.h: Added. + * dom/Node.cpp: + (WebCore::Node::dispatchScopedEvent): Replaced to use EventDispatcher. + (WebCore::Node::dispatchEvent): Ditto. + (WebCore::Node::dispatchMouseEvent): Ditto. + (WebCore::Node::dispatchSimulatedClick): Ditto. + * dom/Node.h: Updated decls. + +2011-03-28 Dan Bernstein <mitz@apple.com> + + Reviewed by Maciej Stachowiak. + + <rdar://problem/9003382> Incomplete repaint of overflow in flipped lines writing modes + https://bugs.webkit.org/show_bug.cgi?id=57197 + + Tests: fast/repaint/overflow-flipped-writing-mode-block.html + fast/repaint/overflow-flipped-writing-mode-table.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paint): Flip the overflow rect before testing for intersection + with the damage rect. + * rendering/RenderTable.cpp: + (WebCore::RenderTable::paint): Made the intersection check more like the one in + RenderBlock::paint(). + +2011-03-28 Xiaomei Ji <xji@chromium.org> + + Reviewed by Ryosuke Niwa. + + move directionOfEnclosingBlock() to be global so that it could be reused. + https://bugs.webkit.org/show_bug.cgi?id=57233. + + Provide global function directionOfEnclosingBlock(Node*) so that it could be + reused in SelectionController and other functionalities that need enclosing + block's direcionality, such as moving caret by word in visual order. + + No new functionality, so no new tests. + + * editing/SelectionController.cpp: + (WebCore::SelectionController::directionOfEnclosingBlock): + * editing/htmlediting.cpp: + (WebCore::directionOfEnclosingBlock): + * editing/htmlediting.h: + +2011-03-28 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com> + + Reviewed by Benjamin Poulain. + + [Qt] fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html fails + https://bugs.webkit.org/show_bug.cgi?id=56825 + + Fixes for context attribute handling: + - Initialize depth and stencil buffer depending on whether they + are enabled in context attributes. + - Always enable depth buffer when stencil buffer is enabled. + - Disable stencil buffer on OpenGL ES 2.0 + - Cleaned up clutter code from initialization. Made code paths + more sane. + - Clear mask is now set correctly in reshape(). + + Tests: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html + + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3DInternal::isValid): + (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): + (WebCore::GraphicsContext3DInternal::reshape): + (WebCore::GraphicsContext3DInternal::paint): + (WebCore::GraphicsContext3DInternal::getProcAddress): + (WebCore::GraphicsContext3D::GraphicsContext3D): + (WebCore::GraphicsContext3D::reshape): + (WebCore::GraphicsContext3D::bindFramebuffer): + +2011-03-28 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: rename network domain events from didHappenSomething to somethingHappened. + https://bugs.webkit.org/show_bug.cgi?id=57226 + + * inspector/Inspector.json: + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::willSendRequest): + (WebCore::InspectorResourceAgent::markResourceAsCached): + (WebCore::InspectorResourceAgent::didReceiveResponse): + (WebCore::InspectorResourceAgent::didReceiveContentLength): + (WebCore::InspectorResourceAgent::didFinishLoading): + (WebCore::InspectorResourceAgent::didFailLoading): + (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache): + (WebCore::InspectorResourceAgent::setInitialContent): + (WebCore::InspectorResourceAgent::didCommitLoad): + (WebCore::InspectorResourceAgent::frameDetachedFromParent): + (WebCore::InspectorResourceAgent::didCreateWebSocket): + (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest): + (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse): + (WebCore::InspectorResourceAgent::didCloseWebSocket): + * inspector/front-end/NetworkManager.js: + (WebInspector.NetworkDispatcher.prototype.requestWillBeSent): + (WebInspector.NetworkDispatcher.prototype.resourceMarkedAsCached): + (WebInspector.NetworkDispatcher.prototype.responseReceived): + (WebInspector.NetworkDispatcher.prototype.dataReceived): + (WebInspector.NetworkDispatcher.prototype.loadingFinished): + (WebInspector.NetworkDispatcher.prototype.loadingFailed): + (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache): + (WebInspector.NetworkDispatcher.prototype.frameDetached): + (WebInspector.NetworkDispatcher.prototype.initialContentSet): + (WebInspector.NetworkDispatcher.prototype.frameNavigated): + (WebInspector.NetworkDispatcher.prototype.webSocketCreated): + (WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest): + (WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived): + (WebInspector.NetworkDispatcher.prototype.webSocketClosed): + +2011-03-28 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + WebInspector: [Chromium] Delete native CPU profiles and heap snapshots on binding disposal. + https://bugs.webkit.org/show_bug.cgi?id=57099 + + * bindings/v8/ScriptHeapSnapshot.cpp: + (WebCore::ScriptHeapSnapshot::~ScriptHeapSnapshot): + * bindings/v8/ScriptHeapSnapshot.h: + * bindings/v8/ScriptProfile.cpp: + (WebCore::ScriptProfile::~ScriptProfile): + * bindings/v8/ScriptProfile.h: + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::resetState): + +2011-03-24 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: fix console messages positions in formatted scripts. + https://bugs.webkit.org/show_bug.cgi?id=57010 + + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel): + (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): + (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage.didRequestMapping): + (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage): + (WebInspector.DebuggerPresentationModel.prototype.clearConsoleMessages): + (WebInspector.DebuggerPresentationModel.prototype._reset): + * inspector/front-end/ResourceTreeModel.js: + (WebInspector.ResourceTreeModel.prototype.addConsoleMessage): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype.addConsoleMessage): + (WebInspector.ScriptsPanel.prototype.clearConsoleMessages): + (WebInspector.ScriptsPanel.prototype._consoleMessageAdded): + (WebInspector.ScriptsPanel.prototype.reset): + (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded): + * inspector/front-end/SourceFile.js: + (WebInspector.SourceFile): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype.addMessage): + (WebInspector.SourceFrame.prototype._addExistingMessagesToSource): + (WebInspector.SourceFrame.prototype.addMessageToSource): + +2011-03-27 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: refactor ResourceTreeModel to remove poor dependencies. + https://bugs.webkit.org/show_bug.cgi?id=57186 + + - ResourceTreeModel is now event target (Object) + - There is no ResourceTreeModel -> UI dependencies + - NetworkManager -> ResourceTreeModel dependencies has been removed + - NetworkManager is no longer dealing with the resources tree, it is only responsible for network events + - ResourceTreeModel requests tree structure from the backend separately + - Cached resources tree payload is now limited to url and type (no headers involved) + - Resources tree is being rendered lazily upon request from the panel. + + * inspector/Inspector.json: + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::resourceContent): + (WebCore::InspectorResourceAgent::resourceContentBase64): + (WebCore::buildObjectForFrameTree): + (WebCore::InspectorResourceAgent::enable): + (WebCore::InspectorResourceAgent::getCachedResources): + (WebCore::InspectorResourceAgent::getResourceContent): + * inspector/InspectorResourceAgent.h: + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyleSheet::resourceStyleSheetText): + * inspector/front-end/InspectorFrontendHostStub.js: + (.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend): + (.WebInspector.InspectorFrontendHostStub.prototype.loadSessionSetting): + * inspector/front-end/NetworkManager.js: + (WebInspector.NetworkManager): + (WebInspector.NetworkManager.prototype.frontendReused): + (WebInspector.NetworkManager.prototype.requestContent): + (WebInspector.NetworkDispatcher): + (WebInspector.NetworkDispatcher.prototype.didReceiveResponse): + (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache): + (WebInspector.NetworkDispatcher.prototype.frameDetachedFromParent): + (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame): + * inspector/front-end/NetworkPanel.js: + (WebInspector.NetworkPanel): + (WebInspector.NetworkPanel.prototype._updateSummaryBar): + (WebInspector.NetworkPanel.prototype._onFrameCommitLoad): + * inspector/front-end/ResourceTreeModel.js: + (WebInspector.ResourceTreeModel): + (WebInspector.ResourceTreeModel.prototype.frontendReused): + (WebInspector.ResourceTreeModel.prototype._processCachedResources): + (WebInspector.ResourceTreeModel.prototype._addOrUpdateFrame): + (WebInspector.ResourceTreeModel.prototype.frames): + (WebInspector.ResourceTreeModel.prototype.subframes): + (WebInspector.ResourceTreeModel.prototype.resources): + (WebInspector.ResourceTreeModel.prototype._onCommitLoad): + (WebInspector.ResourceTreeModel.prototype._onFrameDetachedFromParent): + (WebInspector.ResourceTreeModel.prototype._onResourceUpdated): + (WebInspector.ResourceTreeModel.prototype._addResourceToFrame): + (WebInspector.ResourceTreeModel.prototype.resourceForURL): + (WebInspector.ResourceTreeModel.prototype._bindResourceURL): + (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources): + (WebInspector.ResourceTreeModel.prototype._clearResources): + (WebInspector.ResourceTreeModel.prototype._callForFrameResources): + (WebInspector.ResourceTreeModel.prototype._unbindResourceURL): + (WebInspector.ResourceTreeModel.prototype._addFramesRecursively): + (WebInspector.ResourceTreeModel.prototype._createResource): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel): + (WebInspector.ResourcesPanel.prototype.show): + (WebInspector.ResourcesPanel.prototype._populateResourceTree.populateFrame): + (WebInspector.ResourcesPanel.prototype._populateResourceTree): + (WebInspector.ResourcesPanel.prototype._frameAdded): + (WebInspector.ResourcesPanel.prototype._frameDetached): + (WebInspector.ResourcesPanel.prototype._resourceAdded): + (WebInspector.ResourcesPanel.prototype._frameNavigated): + (WebInspector.FrameTreeElement.prototype.setTitles): + * inspector/front-end/inspector.js: + (WebInspector.frontendReused): + +2011-03-27 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + WebKit's behavior for text-align inherit differs from other browsers + https://bugs.webkit.org/show_bug.cgi?id=56377 + + The bug was caused by WebKit's resolving text-align: start and text-align: end too early. + As discussed on the bug, when text-align: start and text-align: end are inherited by descendent nodes, + the alignment of the text in those nodes should be determined based on the directionality of the text, + not by the directionality of the ancestor node from which text-align property is inherited. + + Fixed the bug by introducing new enum values to ETextAlign: TASTART and TAEND. These two values will + align text to the left in a LTR context and to the right in a RTL context respectively. + + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added the support for TASTART and TAEND. + (WebCore::CSSPrimitiveValue::operator ETextAlign): Ditto. + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): No longer processes CSSValueStart and CSSValueEnd. + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::localCaretRect): Added the support for TASTART and TAEND. + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Added the support for TASTART and TAEND. + * rendering/RenderText.cpp: + (WebCore::RenderText::localCaretRect): Ditto. + * rendering/style/RenderStyle.h: ETextAlign now has 10 values and requires 4 bits. + * rendering/style/RenderStyleConstants.h: Added TASTART and TAEND to ETextAlign. + +2011-03-28 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: fix breakpoints positions in formatted scripts. + https://bugs.webkit.org/show_bug.cgi?id=56931 + + Add async requestMapping method to SourceFile interface as required for populating + breakpoints sidebar pane when in "format all scripts" mode. + + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel.prototype.continueToLine): + (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.didRequestSourceMapping): + (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping): + (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): + (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame.didRequestSourceMapping): + (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame): + (WebInspector.PresentationBreakpoint): Breakpoint wrapper for UI. + (WebInspector.PresentationBreakpoint.prototype.get sourceFileId): + (WebInspector.PresentationBreakpoint.prototype.get lineNumber): + (WebInspector.PresentationBreakpoint.prototype.get condition): + (WebInspector.PresentationBreakpoint.prototype.get enabled): + (WebInspector.PresentationBreakpoint.prototype.get url): + (WebInspector.PresentationBreakpoint.prototype.get resolved): + (WebInspector.PresentationBreakpoint.prototype.loadSnippet): + * inspector/front-end/ScriptFormatter.js: + (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks): + (WebInspector.ScriptFormatter.prototype.formatContent): + * inspector/front-end/SourceFile.js: + (WebInspector.SourceFile.prototype.requestSourceMapping): + (WebInspector.FormattedSourceFile.prototype.requestSourceMapping): + (WebInspector.FormattedSourceFile.prototype._didRequestContent): + (WebInspector.SourceMapping): + (WebInspector.SourceMapping.prototype.scriptLocationToSourceLocation): + (WebInspector.SourceMapping.prototype.sourceLocationToScriptLocation): + (WebInspector.FormattedSourceMapping): + (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLocation): + (WebInspector.FormattedSourceMapping.prototype.sourceLocationToScriptLocation): + (WebInspector.FormattedSourceMapping.prototype._convertPosition): + +2011-03-28 Nancy Piedra <nancy.piedra@nokia.com> + + Reviewed by Csaba Osztrogonác. + + This patch fixes linking errors on Qt Webkit Windows MinGW builds. + This patch sets the BUILDING_WEBKIT & QT_MAKEDLL macros so that + QWEBKIT_EXPORT is defined as follows: + #define QWEBKIT_EXPORT Q_DECL_EXPORT + + No new tests needed since only changing .pro file. + + * WebCore.pro: + +2011-03-28 Andrey Adaikin <aandrey@google.com> + + Reviewed by Yury Semikhatsky. + + Web Inspector: source frame should show the error to user when live edit is failed + https://bugs.webkit.org/show_bug.cgi?id=57002 + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._handleSave.didSaveScriptSource): + (WebInspector.SourceFrame.prototype._handleSave): + (WebInspector.SourceFrameDelegate.prototype.editScriptSource): + +2011-03-26 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Expose the AtkValue interface for WAI-ARIA sliders + https://bugs.webkit.org/show_bug.cgi?id=56655 + + Implement AtkValue interface for WAI-ARIA sliders. + + Test: platform/gtk/accessibility/aria-slider-required-attributes.html + + * accessibility/gtk/AXObjectCacheAtk.cpp: + (WebCore::AXObjectCache::postPlatformNotification): Emit the + 'property-change::accessible-value' signal when needed. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (core): New, returns a core object from an AtkValue. + (webkitAccessibleValueGetCurrentValue): New, implements AtkValue. + (webkitAccessibleValueGetMaximumValue): Ditto. + (webkitAccessibleValueGetMinimumValue): Ditto. + (webkitAccessibleValueSetCurrentValue): Ditto. + (webkitAccessibleValueGetMinimumIncrement): Ditto. + (atkValueInterfaceInit): Ditto. + (GetAtkInterfaceTypeFromWAIType): Add ATK_TYPE_VALUE. + (getInterfaceMaskFromObject): Set the WAI_VALUE bit for sliders. + +2011-03-28 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Dan Bernstein. + + Assigning location.path to something that doesn't start with / mangles the authority + https://bugs.webkit.org/show_bug.cgi?id=57209 + <rdar://problem/9195132> + + Tests: http/tests/uri/assign-path-with-leading-slash.html + http/tests/uri/assign-path-without-leading-slash.html + + * platform/KURL.cpp: + (WebCore::KURL::setPath): If the new path does not have a leading slash, add one. + +2011-03-28 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + Extract functions to update logical width from computeInlineDirectionPositionsForLine + https://bugs.webkit.org/show_bug.cgi?id=57213 + + Extracted updateLogicalWidthForLeftAlignedBlock, updateLogicalWidthForRightAlignedBlock, + and updateLogicalWidthForCenterAlignedBlock from computeInlineDirectionPositionsForLine. + + They are used to update logical widths, logical left, and total logical width for left, + right, and center aligned blocks. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::updateLogicalWidthForLeftAlignedBlock): + (WebCore::updateLogicalWidthForRightAlignedBlock): + (WebCore::updateLogicalWidthForCenterAlignedBlock): + (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): + +2011-03-28 Evan Martin <evan@chromium.org> + + Reviewed by Ryosuke Niwa. + + Refactor duplicate code in HTMLTextElement + https://bugs.webkit.org/show_bug.cgi?id=57215 + + * html/HTMLTitleElement.cpp: + (WebCore::HTMLTitleElement::childrenChanged): + This method did an equivalent loop to the text() method on + the same object. + +2011-03-27 Fumitoshi Ukai <ukai@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Don't call WebSocket::didClose() more than once. + https://bugs.webkit.org/show_bug.cgi?id=57081 + + If WebSocket close() is called, and connection is established, then + it will call didClose() that resets m_channel to 0. + After that, when connection is closed, WebSocketChannel will call + didClose for the WebSocket instance. + + Call WebSocketChannel::disconnect() before m_channel = 0 to make sure + WebSocketChannel suppress the second didClose(). + + Test: http/tests/websocket/tests/close-unref-websocket.html + + * websockets/WebSocket.cpp: + (WebCore::WebSocket::didClose): + +2011-03-27 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Fix script-src redirect handling + https://bugs.webkit.org/show_bug.cgi?id=57196 + + Resource-loading requirements in CSP apply to each hop in the redirect + chain. To make that work properly, we need to move enforcement into + the loader. Fortunately, we already have a choke-point in the loader + for enforcing this kind of policy. + + * dom/ScriptElement.cpp: + (WebCore::ScriptElement::requestScript): + * html/parser/HTMLDocumentParser.cpp: + * html/parser/HTMLDocumentParser.h: + * html/parser/HTMLScriptRunnerHost.h: + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::canRequest): + * page/ContentSecurityPolicy.cpp: + (WebCore::ContentSecurityPolicy::allowScriptFromSource): + * page/ContentSecurityPolicy.h: + +2011-03-27 Jer Noble <jer.noble@apple.com> + + Reviewed by Maciej Stachowiak. + + Full Screen: disable keyboard access by default + https://bugs.webkit.org/show_bug.cgi?id=56684 + + Pass whether keyboard access was requested up to ChromeClient when asking + if fullscreen mode is supported. + + * dom/Document.cpp: + (WebCore::Document::webkitRequestFullScreenForElement): + * page/ChromeClient.h: + (WebCore::ChromeClient::supportsFullscreenForElement): + +2011-03-27 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Andreas Kling. + + [CMake] Generate WebKitVersion.h + https://bugs.webkit.org/show_bug.cgi?id=57128 + + This file will be used for the user agent string by the CMake based ports. + + * CMakeLists.txt: + +2011-03-27 Ben Taylor <bentaylor.solx86@gmail.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=57170 Fix last elements + in an enum to remove a trailing comma. Sun Studio 12 CC errors out. + + Compile fix only, no actual code change. + + * dom/ExceptionCode.h: + * editing/EditorInsertAction.h: + * loader/FrameLoaderTypes.h: + * platform/PlatformKeyboardEvent.h: + * platform/ScrollTypes.h: + * platform/graphics/BitmapImage.h: + * platform/image-decoders/ImageDecoder.h: + * platform/network/ProtectionSpace.h: + * platform/network/ResourceHandleClient.h: + * platform/network/ResourceRequestBase.h: + * platform/text/TextCodec.h: + +2011-03-27 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Nikolas Zimmermann. + + Text on path positioning at zero startOffset + https://bugs.webkit.org/show_bug.cgi?id=56245 + + Since for length 0 no previous point is set, choose epsilon + length to get normal at starting point of the path. + + Test: svg/text/text-path-middle-align.svg + + * platform/graphics/Path.cpp: + (WebCore::Path::normalAngleAtLength): + +2011-03-27 Ben Taylor <bentaylor.solx86@gmail.com> + + Reviewed by Oliver Hunt. + + https://bugs.webkit.org/show_bug.cgi?id=57151, patch derived from set + created by Thiago Macieria in bug https://bugs.webkit.org/show_bug.cgi?id=24932 + + Fix compile issue on Solaris 10/Sun Studio 12 regarding ambiguity on ?: functions + + * bindings/js/JSJavaScriptCallFrameCustom.cpp: + (WebCore::JSJavaScriptCallFrame::thisObject): + +2011-03-26 Jer Noble <jer.noble@apple.com> + + Unreviewed build fix. + + Fix a bug which was causing the "skip back" button to be missing, causing + the media layout tests to fail. + + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::shouldRenderMediaControlPart): + +2011-03-26 Dan Bernstein <mitz@apple.com> + + Reviewed by Maciej Stachowiak. + + <rdar://problem/9180716> REGRESSION (r80582): Angle bracket rendered upright in vertical mode + https://bugs.webkit.org/show_bug.cgi?id=57169 + + Test: fast/blockflow/fallback-orientation.html + + * platform/graphics/FontFastPath.cpp: + (WebCore::Font::glyphDataForCharacter): If the font has vertical glyphs, use it, rather + than continuing down the fallback list. + +2011-03-26 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin Adler. + + Follow-up fix for crash with giant inline stylesheets - actually don't crash, and add test + https://bugs.webkit.org/show_bug.cgi?id=56150 + + Test: fast/css/giant-stylesheet-crash.html + + * dom/StyleElement.cpp: + (WebCore::StyleElement::process): + +2011-03-22 Jer Noble <jer.noble@apple.com> + + Reviewed by Eric Carlson. + + Media controls must use full screen style when in new full screen mode. + https://bugs.webkit.org/show_bug.cgi?id=56851 + + Add new full screen styles for the full screen media elements. + + * DerivedSources.make: Add fullScreenQuickTime.css. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * css/CSSStyleSelector.cpp: Removed loadFullScreenRulesIfNeeded(). + (WebCore::CSSStyleSelector::CSSStyleSelector): Ditto. + (WebCore::CSSStyleSelector::styleForElement): Load full screen rules + if needed. + * css/fullscreenQuickTime.css: Added. + * css/mediaControls.css: + * html/shadow/MediaControls.cpp: + (WebCore::isFullScreen): Added. + (WebCore::MediaControls::create): Add new full screen volume controls. + (WebCore::MediaControls::updateStyle): Ditto. + (WebCore::MediaControls::update): Ditto. + (WebCore::MediaControls::updateVolumeSliderContainer): Ditto. + (WebCore::MediaControls::forwardEvent): Ditto. + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlFullscreenVolumeSliderElement::MediaControlFullscreenVolumeSliderElement): Added. + (WebCore::MediaControlFullscreenVolumeSliderElement::create): Added. + (WebCore::MediaControlFullscreenVolumeSliderElement::shadowPseudoId): Added. + (WebCore::MediaControlFullscreenVolumeMinButtonElement::MediaControlFullscreenVolumeMinButtonElement): Addet + (WebCore::MediaControlFullscreenVolumeMinButtonElement::create): Added. + (WebCore::MediaControlFullscreenVolumeMinButtonElement::defaultEventHandler): Added. + (WebCore::MediaControlFullscreenVolumeMinButtonElement::shadowPseudoId): Added. + (WebCore::MediaControlFullscreenVolumeMaxButtonElement::MediaControlFullscreenVolumeMaxButtonElement): Added. + (WebCore::MediaControlFullscreenVolumeMaxButtonElement::create): Added. + (WebCore::MediaControlFullscreenVolumeMaxButtonElement::defaultEventHandler): Added. + (WebCore::MediaControlFullscreenVolumeMaxButtonElement::shadowPseudoId): Added. + * rendering/MediaControlElements.h: + Added m_overridePosition. + (WebCore::MediaControlVolumeSliderContainerElement::setOverridesPosition): Added. + * rendering/MediaControlElements.h: + (WebCore::MediaControlVolumeSliderContainerElement::overridesPosition): Added. + * rendering/RenderTheme.h: + (WebCore::RenderTheme::extraFullScreenStyleSheet): Added. + * rendering/RenderThemeMac.h: + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::extraFullScreenStyleSheet): Added. + (WebCore::RenderThemeMac::shouldRenderMediaControlPart): Render seek forward and backward + buttons. + +2011-03-26 Jer Noble <jer.noble@apple.com> + + Reviewed by Dan Bernstein. + + RenderMedia should obey the view's flattening bit. + https://bugs.webkit.org/show_bug.cgi?id=57156 + + Paint the current frame in software when the associated FrameView + has its flattening bit set. + + * rendering/RenderVideo.cpp: + (WebCore::RenderVideo::paintReplaced): + +2011-03-26 Patrick Gansterer <paroga@webkit.org> + + Unreviewed build fix for !ENABLE(DOM_STORAGE). + + * storage/StorageTracker.cpp: + Added #if ENABLE(DOM_STORAGE) like in the other storage files. + +2011-03-26 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Benjamin Poulain. + + [Qt] Remove GraphicsLayerTextureMapper::nativeLayer + https://bugs.webkit.org/show_bug.cgi?id=57141 + + GraphicsLayer::nativeLayer was removed in r73380. + + * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: + * platform/graphics/texmap/GraphicsLayerTextureMapper.h: + +2011-03-26 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Teach Content Security Policy how to parse source-list + https://bugs.webkit.org/show_bug.cgi?id=54799 + + This patch is larger than I would like, but I wasn't sure how to make + it any smaller while still being reasonably testable. I've left out + some features (such as host wildcarding and 'self') so I can add them + in later patches with tests. + + Test: http/tests/security/contentSecurityPolicy/source-list-parsing.html + + * bindings/ScriptControllerBase.cpp: + * dom/ScriptElement.cpp: + * html/parser/HTMLDocumentParser.cpp: + * loader/FrameLoader.cpp: + - Add include explicitly now that we're not spamming the include + everywhere. + * dom/Document.cpp: + (WebCore::Document::initSecurityContext): + - We need to pass the SecurityOrigin object to + ContentSecurityPolicy so that it can resolve implicit parts of + source patterns, such as the scheme. + * dom/Document.h: + - Forward declare ContentSecurityPolicy rather than including the + header. Technically this could be a separate change, but I was + getting annoyed at the world re-builds. + * page/ContentSecurityPolicy.cpp: + (WebCore::skipExactly): + (WebCore::skipUtil): + (WebCore::skipWhile): + - Clean up these parser helper functions. We might consider moving + them to a more general location. They're very helpful for + writing secure HTTP header parsers. + (WebCore::CSPSource::CSPSource): + - New class to represent one source in a source-list. + (WebCore::CSPSource::matches): + (WebCore::CSPSource::schemeMatches): + (WebCore::CSPSource::hostMatches): + (WebCore::CSPSource::portMatches): + (WebCore::CSPSource::isSchemeOnly): + - Currently we represent scheme-only sources using with an empty + m_host. Another approach I considered was using another bool, + but that seemed slighly messier. + (WebCore::CSPSourceList::CSPSourceList): + - CSPSourceList doesn't need to ref SecurityOrigin because + CSPSourceList is owned by ContentSecurityPolicy, which holds a + ref. + (WebCore::CSPSourceList::parse): + (WebCore::CSPSourceList::matches): + (WebCore::CSPSourceList::parseSource): + (WebCore::CSPSourceList::parseScheme): + (WebCore::CSPSourceList::parseHost): + (WebCore::CSPSourceList::parsePort): + - A basic "segment and recurse" parser. This parser causes us to + take more branches than we need, but I don't think we need to + squeeze every last ouch of performance out of this parser. This + approach is more simple than some of the other approaches I + tried. + (WebCore::CSPSourceList::addSourceSelf): + (WebCore::CSPDirective::CSPDirective): + (WebCore::CSPDirective::allows): + (WebCore::ContentSecurityPolicy::ContentSecurityPolicy): + (WebCore::ContentSecurityPolicy::parse): + (WebCore::ContentSecurityPolicy::parseDirective): + (WebCore::ContentSecurityPolicy::addDirective): + - I couldn't resist re-writing this parser to use the helper + functions and to match the style of the source-list parser. + * page/ContentSecurityPolicy.h: + (WebCore::ContentSecurityPolicy::create): + - Accept a SecurityOrigin context object. + +2011-03-26 Patrick Gansterer <paroga@webkit.org> + + Unreviewed EFL and WinCE build fix for r81977. + + * platform/graphics/FontPlatformData.h: + +2011-03-26 Patrick Gansterer <paroga@webkit.org> + + Unreviewed WinCE build fix for r82000. + + * platform/wince/FileSystemWinCE.cpp: + (WebCore::openFile): Added missing function. + +2011-03-25 Kevin Ollivier <kevino@theolliviers.com> + + [wx] Build fix, don't use the new FPD implementation yet, until we can merge ours with it. + + * platform/graphics/FontPlatformData.h: + +2011-03-25 Jer Noble <jer.noble@apple.com> + + Reviewed by Eric Carlson. + + MediaPlayerPrivateQuickTimeVisualContext should use the Application Cache during load. + https://bugs.webkit.org/show_bug.cgi?id=57047 + + No new tests. + + When loading a URL, checkk osee if the Appplication Cache has a version of that URL + stored; if so, use the local path to that cached media instead of the remote URL. + + * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal): + * platform/graphics/win/QTMovie.cpp: + (QTMovie::loadPath): + * platform/graphics/win/QTMovie.h: + +2011-03-25 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/9134330> Missing expansion before ideograph at the beginning or end of a text run + https://bugs.webkit.org/show_bug.cgi?id=57106 + + Test: fast/text/justify-ideograph-leading-expansion.html + + * platform/graphics/TextRun.h: + Replaced TrailingExpansionBehavior enum with ExpansionBehavior flags. + (WebCore::TextRun::TextRun): Constructors now take an expansionBehavior parameter. + (WebCore::TextRun::allowsLeadingExpansion): Added this accessor. + (WebCore::TextRun::allowsTrailingExpansion): Changed to use the m_expansionBehavior member. + * platform/graphics/WidthIterator.cpp: + (WebCore::WidthIterator::WidthIterator): Initialize m_isAfterExpansion from the TextRun, allowing + leading expansion when appropriate. + (WebCore::WidthIterator::advance): Moved the last-glyph-in-run check to only apply to expansion + after the glyph, not expansion before the glyph, since that is not trailing expansion. Added code + to handle expansion before the first glyph. + * platform/graphics/mac/ComplexTextController.cpp: + (WebCore::ComplexTextController::ComplexTextController): Initialize m_afterExpansion from the + TextRun, allowing leading expansion when appropriate. Set m_runWidthSoFar to the leading expansion. + (WebCore::ComplexTextController::offsetForPosition): Account for leading expansion. + (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Similar to WidthIterator::advance() + * platform/graphics/mac/ComplexTextController.h: Added m_leadingExpansion member variable. + * rendering/InlineBox.h: + (WebCore::InlineBox::InlineBox): Renamed m_hasSelectedChildren to m_hasSelectedChildrenOrCanHaveLeadingExpansion + to reflect the use of this bit by InlineTextBox. + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::selectionRect): Replaced calls to trailingExpansionBehavior() with expansionBehavior(). + (WebCore::InlineTextBox::paint): Ditto. + (WebCore::InlineTextBox::paintSelection): Ditto. + (WebCore::InlineTextBox::paintCompositionBackground): Ditto. + (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto. + (WebCore::InlineTextBox::paintTextMatchMarker): Ditto. + (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto. + (WebCore::InlineTextBox::offsetForPosition): Ditto. + (WebCore::InlineTextBox::positionForOffset): Ditto. + * rendering/InlineTextBox.h: + (WebCore::InlineTextBox::canHaveLeadingExpansion): Added this accessor. + (WebCore::InlineTextBox::setCanHaveLeadingExpansion): Ditto. + (WebCore::InlineTextBox::expansionBehavior): Replaced trailingExpansionBehavior() with this function, + which also considers canHaveLeadingExpansion(). + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Call setCanHaveLeadingExpansion() on + text boxes that can have leading expansion. Avoid negative expansion. + * rendering/RootInlineBox.cpp: + * rendering/RootInlineBox.h: + (WebCore::RootInlineBox::hasSelectedChildren): Updated for renaming of the flag. + (WebCore::RootInlineBox::setHasSelectedChildren): Ditto. + +2011-03-23 Jer Noble <jer.noble@apple.com> + + Reviewed by Maciej Stachowiak. + + MediaPlayerPrivateAVFoundation should use the Application Cache during load. + https://bugs.webkit.org/show_bug.cgi?id=56997 + + No new tests. + + When loading a URL, check to see if the Application Cache has a version of that URL + stored; if so, use the local path to that cached media instead of the remote URL. + + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: + (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Check to see if the media should be loaded + from the application cache. + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: + (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL): + (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForCacheResource): Added. + (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Split out from createAVPlayerForURL. + +2011-03-25 Ben Taylor <bentaylor.solx86@gmail.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=57122. Solaris 10/SunStudio 12 expect + both sides of a ?: operation to have the same types. Extracted from original + https://bugs.webkit.org/show_bug.cgi?id=24932, patch 13 of 17, and originally + created by Thiago Macieira. + + fixes a compile issue on Solaris 10/SunStudio 12 + + * loader/DocumentLoader.h: + (WebCore::DocumentLoader::serverRedirectSourceForHistory): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::load): + (WebCore::FrameLoader::loadWithNavigationAction): + +2011-02-03 Jer Noble <jer.noble@apple.com> + + Reviewed by Maciej Stachowiak. + + MediaPlayerPrivateQTKit should use the Application Cache during load. + https://bugs.webkit.org/show_bug.cgi?id=53818 + + No new tests. + + When loading a URL, check to see if the Application Cache has a version of that URL + stored; if so, use that data instead of the remote URL. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.h: + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes): + (WebCore::MediaPlayerPrivateQTKit::createQTMovie): + (WebCore::MediaPlayerPrivateQTKit::loadInternal): + +2011-03-25 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Move draw implementations to CCLayerImpl for everything except content layers + https://bugs.webkit.org/show_bug.cgi?id=56793 + + Moves the implementation of the layer's draw() function from LayerChromium subclasses to CCLayerImpl subclasses for + all layer types except content layers. This gets us closer to decoupling the composite step itself from updating the layers. + + The biggest change in this patch is adding a set of CCLayerImpl subclasses to implement the different drawing routines + and moving the code from each XXXLayerChromium to CCXXXLayerImpl. In order to render from the CCLayerImpl side all state + needed at draw time also has to be synchronized, which is performed in pushPropertiesTo(). + + On the LayerRendererChromium side there are a few changes. I've split the updateContents calls on LayerChromiums into two operations + tentatively named 'paintContentsIfNeeded' and 'updateCompositorResources'. paintContents() is used for any code that calls into WebKit in order to generate + new pixel data. It's expected that this call may take a long period of time and may involve "odd" side effects. updateCompositorResources() is used for + code that needs to update the compositor's texture data or other state. It is not expected that this callback will take long (since it's just inserting + commands into the GL command stream, ideally) and this call is expected to have access to the compositor's context, unlike paintContents(). + + The updateAndDrawLayers cycle now looks like this: + 1.) update the root content layer + 2.) update the root layer scrollbars + 3.) for each LayerChromium in tree order: + a.) ensure a CCLayerImpl of the correct type exists for this layer + b.) push all draw time properties from the LayerChromium to the CCLayerImpl + c.) construct the appropriate draw transforms, render surfaces and render surface z-order sublayer lists + 4.) for each LayerChromium in tree order, paint the layer's contents + 5.) for each LayerChromium in tree order, update the associate compositor resources (textures, etc) + 6.) draw the root layer and its scrollbars + 7.) for each CCLayerImpl in render surface order, draw it + + Step 3 should really happen after step 5, but right now painting a content layer requires knowledge of the render surface properties and draw transforms + in order to paint. We also currently push layer properties from LayerChromium->CCLayerImpls twice now - once at 3.b and once after 5 so we can pick + up any texture updates. This will also get fixed when the paint dependency on render surfaces is resolved. + + I haven't modified the root layer or content layers in order to minimize conflicts with the other pending work in that area. + + Tests: compositing/ + + * WebCore.gypi: + * platform/graphics/chromium/Canvas2DLayerChromium.cpp: + (WebCore::Canvas2DLayerChromium::updateCompositorResources): + * platform/graphics/chromium/Canvas2DLayerChromium.h: + * platform/graphics/chromium/CanvasLayerChromium.cpp: + (WebCore::CanvasLayerChromium::createCCLayerImpl): + (WebCore::CanvasLayerChromium::pushPropertiesTo): + * platform/graphics/chromium/CanvasLayerChromium.h: + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerChromium::requiresClippedUpdateRect): + (WebCore::ContentLayerChromium::paintContentsIfDirty): + (WebCore::ContentLayerChromium::updateCompositorResources): + (WebCore::ContentLayerChromium::bindContentsTexture): + * platform/graphics/chromium/ContentLayerChromium.h: + * platform/graphics/chromium/ImageLayerChromium.cpp: + (WebCore::ImageLayerChromium::paintContentsIfDirty): + * platform/graphics/chromium/ImageLayerChromium.h: + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::LayerChromium::LayerChromium): + (WebCore::LayerChromium::cleanupResources): + (WebCore::LayerChromium::setLayerRenderer): + (WebCore::LayerChromium::setName): + (WebCore::LayerChromium::pushPropertiesTo): + (WebCore::LayerChromium::dumpLayer): + (WebCore::LayerChromium::createCCLayerImpl): + (WebCore::LayerChromium::createCCLayerImplIfNeeded): + (WebCore::LayerChromium::ccLayerImpl): + (WebCore::LayerChromium::layerRenderer): + * platform/graphics/chromium/LayerChromium.h: + (WebCore::LayerChromium::paintContentsIfDirty): + (WebCore::LayerChromium::updateCompositorResources): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::updateLayers): + (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces): + (WebCore::LayerRendererChromium::paintContentsRecursive): + (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive): + (WebCore::LayerRendererChromium::drawLayer): + (WebCore::LayerRendererChromium::initializeSharedObjects): + * platform/graphics/chromium/LayerRendererChromium.h: + (WebCore::LayerRendererChromium::canvasLayerProgram): + (WebCore::LayerRendererChromium::pluginLayerProgram): + (WebCore::LayerRendererChromium::videoLayerRGBAProgram): + (WebCore::LayerRendererChromium::videoLayerYUVProgram): + * platform/graphics/chromium/PluginLayerChromium.cpp: + (WebCore::PluginLayerChromium::createCCLayerImpl): + (WebCore::PluginLayerChromium::setTextureId): + (WebCore::PluginLayerChromium::pushPropertiesTo): + * platform/graphics/chromium/PluginLayerChromium.h: + (WebCore::PluginLayerChromium::textureId): + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::createCCLayerImpl): + (WebCore::VideoLayerChromium::updateCompositorResources): + (WebCore::VideoLayerChromium::pushPropertiesTo): + * platform/graphics/chromium/VideoLayerChromium.h: + * platform/graphics/chromium/WebGLLayerChromium.cpp: + (WebCore::WebGLLayerChromium::updateCompositorResources): + * platform/graphics/chromium/WebGLLayerChromium.h: + * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp. + (WebCore::CCCanvasLayerImpl::CCCanvasLayerImpl): + (WebCore::CCCanvasLayerImpl::~CCCanvasLayerImpl): + (WebCore::CCCanvasLayerImpl::draw): + (WebCore::CCCanvasLayerImpl::dumpLayerProperties): + * platform/graphics/chromium/cc/CCCanvasLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h. + (WebCore::CCCanvasLayerImpl::create): + (WebCore::CCCanvasLayerImpl::setTextureId): + (WebCore::CCCanvasLayerImpl::setPremultipliedAlpha): + * platform/graphics/chromium/cc/CCLayerImpl.cpp: + (WebCore::CCLayerImpl::descendantsDrawsContent): + (WebCore::CCLayerImpl::updateCompositorResources): + (WebCore::CCLayerImpl::writeIndent): + * platform/graphics/chromium/cc/CCLayerImpl.h: + (WebCore::CCLayerImpl::setAnchorPoint): + (WebCore::CCLayerImpl::setAnchorPointZ): + (WebCore::CCLayerImpl::setMasksToBounds): + (WebCore::CCLayerImpl::setOpacity): + (WebCore::CCLayerImpl::setPosition): + (WebCore::CCLayerImpl::setPreserves3D): + (WebCore::CCLayerImpl::setSublayerTransform): + (WebCore::CCLayerImpl::setTransform): + * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp. + (WebCore::CCPluginLayerImpl::CCPluginLayerImpl): + (WebCore::CCPluginLayerImpl::~CCPluginLayerImpl): + (WebCore::CCPluginLayerImpl::draw): + (WebCore::CCPluginLayerImpl::dumpLayerProperties): + * platform/graphics/chromium/cc/CCPluginLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h. + (WebCore::CCPluginLayerImpl::create): + (WebCore::CCPluginLayerImpl::setTextureId): + * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: Added. + (WebCore::CCVideoLayerImpl::CCVideoLayerImpl): + (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl): + (WebCore::CCVideoLayerImpl::setTexture): + (WebCore::CCVideoLayerImpl::draw): + (WebCore::CCVideoLayerImpl::drawYUV): + (WebCore::CCVideoLayerImpl::drawRGBA): + (WebCore::CCVideoLayerImpl::dumpLayerProperties): + * platform/graphics/chromium/cc/CCVideoLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h. + (WebCore::CCVideoLayerImpl::create): + (WebCore::CCVideoLayerImpl::setSkipsDraw): + (WebCore::CCVideoLayerImpl::setFrameFormat): + +2011-03-25 Oliver Hunt <oliver@apple.com> + + Reviewed by Darin Adler. + + Allow defineOwnProperty to work on DOMObjects + https://bugs.webkit.org/show_bug.cgi?id=57129 + + As other engines are allowing defineOwnProperty to be applied + to host objects there's no reason for us to retain this + restriction. + + * bindings/js/JSDOMWrapper.cpp: + * bindings/js/JSDOMWrapper.h: + +2011-03-25 Andy Estes <aestes@apple.com> + + Reviewed by Adele Peterson. + + REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js + https://bugs.webkit.org/show_bug.cgi?id=49016 + + AC_QuickTime.js uses the common <object>/<embed> paradigm to embed the + QuickTime plug-in in web pages. r70748 removed our mapping of classids + to MIME types, which causes WebKit to fall back from the object to the + embed tag when QuickTime is embedded by this script. The script emits + the following embed tag to embed a QuickTime movie with a poster frame: + + <embed src="poster-frame.png" target="quicktimeplayer" href="movie.mov"> + + The expectation is that a QuickTime plug-in is instantiated to display the + poster frame, since QuickTime registers for many common image MIME + types. This is how Gecko behaves for embed. However, WebKit prefers to + use its native image rendering for image embeds, in which case no movie + is played when the poster frame is clicked. + + Fix this by changing embed to check for a plug-in that can handle the + image type before rendering the image natively. This matches Gecko. + + Test: plugins/embed-prefers-plugins-for-images.html + + * html/HTMLEmbedElement.cpp: + (WebCore::HTMLEmbedElement::HTMLEmbedElement): + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::HTMLObjectElement): + (WebCore::HTMLObjectElement::parametersForPlugin): + * html/HTMLPlugInImageElement.cpp: + (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): + (WebCore::HTMLPlugInImageElement::isImageType): + (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin): + * html/HTMLPlugInImageElement.h: + (WebCore::HTMLPlugInImageElement::shouldPreferPlugInsForImages): + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::objectContentType): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::defaultObjectContentType): + * loader/FrameLoader.h: + * loader/FrameLoaderClient.h: + * loader/SubframeLoader.cpp: + (WebCore::SubframeLoader::resourceWillUsePlugin): + (WebCore::SubframeLoader::requestPlugin): + (WebCore::SubframeLoader::requestObject): + (WebCore::SubframeLoader::shouldUsePlugin): + * loader/SubframeLoader.h: + +2011-03-23 Jer Noble <jer.noble@apple.com> + + Reviewed by Eric Carlson. + + Application Cache should save audio/ and video/ mime types as flat files + https://bugs.webkit.org/show_bug.cgi?id=53784 + <rdar://problem/8932473> + + No new tests, as this behavior is not possible to test without changes to the MediaPlayer engines. + + Store certain mime types as flat files alongside the Application Cache database. + This requires plumbing the saved file path from ApplicationCacheStorage through + to ApplicationCacheResource. + + (WebCore::ApplicationCacheStorage::openDatabase): Modify the CacheResourceData schema and + add a new DeletedCacheResources table, add a new CacheResourceDataDeleted trigger. + (WebCore::ApplicationCacheStorage::store): Add the new path data when adding new rows in + CacheResourceData, and store media resources as flat files. + (WebCore::ApplicationCacheStorage::loadCache): Pull the "path" column from CacheResourceData + when loading cache items. + (WebCore::ApplicationCacheStorage::remove): Call checkForDeletedResources. + (WebCore::ApplicationCacheStorage::empty): Ditto. + (WebCore::ApplicationCacheStorage::storeCopyOfCache): Ditto. + (WebCore::ApplicationCacheStorage::deleteCacheGroup): Ditto. + (WebCore::ApplicationCacheStorage::checkForDeletedResources): Walk through DeletedCacheResourceData + looking for entries with non-empty "path" columns; if found, delete. + (WebCore::ApplicationCacheStorage::flatFileAreaSize): Walk through CacheResourceData rows + and sum the file size of those rows with flat file storage. + (WebCore::ApplicationCacheStorage::verifySchemaVersion): Call deleteTables() instead of + clearAllTables() directly. + (WebCore::ApplicationCacheStorage::deleteTables): Call empty() before deleting the tables, + so that flat files get deleted. + (WebCore::ApplicationCacheStorage::shouldStoreResourceAsFlatFile): Added. + (WebCore::ApplicationCacheStorage::writeDataToUniqueFileInDirectory): Added. + * loader/appcache/ApplicationCacheStorage.h: + * platform/win/FileSystemWin.cpp: + (WebCore::openFile): Implement openFile on Windows. + +2011-03-24 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=56909 + + Add a simplified normal flow layout path optimization for overflow recomputation + and for positioned objects inside relative positioned containers. + + Currently there is an optimized code path for positioned objects, but as soon as + we encounter a normal flow object in the containing block chain, we lose the + optimization. + + This patch adds a new type of style difference called SimplifiedLayout that is + returned when only overflow needs to be recomputed. Whenever a transform changes, + this is the hint returned now instead of a full layout. + + In addition, when positioned objects need layout and start marking up the + containing block chain, we now propagate the fact that the layout is simplified + all the way up to the root, even when we encounter normal flow containing + blocks. + + The layoutOnlyPositionedObjects function has been renamed to simplifiedLayout() + and is now used for all of these cases (in addition to what it handled before). + + The simplified layout optimization (even in ToT) did not work correctly when + static distances needed to be recomputed. In order to make static distance + computations work with simplified layout, positioned objects now always compute + their static offsets, even if they explicitly specify left/top. That way normal + flow layout never has to re-run when the positioned object moves. This makes + movement of a positioned object along a single non-auto axis much faster when the + other axis is auto. Because this code kicked in more often for absolutely positioned + objects whose original display was inline, I went ahead and fixed the trailing space + issue with those objects. This causes a bunch of layout tests to progress. + + Added fast/block/positioning/static-inline-position-dynamic.html and trailing-space-test.html. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::adjustPositionedBlock): + (WebCore::RenderBlock::simplifiedNormalFlowLayout): + (WebCore::RenderBlock::simplifiedLayout): + * rendering/RenderBlock.h: + * rendering/RenderBlockLineLayout.cpp: + (WebCore::setStaticPositions): + (WebCore::RenderBlock::findNextLineBreak): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::styleDidChange): + (WebCore::RenderBox::positionLineBox): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::styleWillChange): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutBlock): + (WebCore::RenderFlexibleBox::layoutHorizontalBox): + (WebCore::RenderFlexibleBox::layoutVerticalBox): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::RenderObject): + (WebCore::RenderObject::adjustStyleDifference): + (WebCore::RenderObject::setStyle): + (WebCore::RenderObject::styleDidChange): + * rendering/RenderObject.h: + (WebCore::RenderObject::needsLayout): + (WebCore::RenderObject::needsPositionedMovementLayoutOnly): + (WebCore::RenderObject::needsSimplifiedNormalFlowLayout): + (WebCore::RenderObject::setNeedsLayout): + (WebCore::RenderObject::setChildNeedsLayout): + (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout): + (WebCore::RenderObject::markContainingBlocksForLayout): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::layout): + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::diff): + * rendering/style/RenderStyleConstants.h: + * rendering/svg/RenderSVGText.cpp: + (WebCore::RenderSVGText::layout): + +2011-03-25 Martin Robinson <mrobinson@igalia.com> + + Fix the GTK+ build until we can implement the new cross-platform + FontPlatformData.h bits. + + * platform/graphics/FontPlatformData.h: Include the proper old font headers. + (WebCore::FontPlatformData::FontPlatformData): Eliminate GTK+ specific bits of this file + which reference our obsolete font implementation. + (WebCore::FontPlatformData::hash): Ditto. + +2011-03-25 Steve Falkenburg <sfalken@apple.com> + + Reviewed by Brian Weinstein. + + Microsoft Windows Presentation Foundation (WPF) plug-in complains about missing xpcom.dll + https://bugs.webkit.org/show_bug.cgi?id=57119 + <rdar://problem/9054148> + + This plug-in from Microsoft links against xpcom.dll, which is a Firefox-specific DLL + not available in WebKit. The plug-in is fairly widespread, since it was included in + a Windows Update push at one point. + + * plugins/win/PluginPackageWin.cpp: + (WebCore::PluginPackage::isPluginBlacklisted): Blacklist npwpf.dll. + +2011-03-25 Tony Chang <tony@chromium.org> + + Try to fix the chromium mac build. + We used the mac FontPlatformData on chromium mac. + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * platform/graphics/FontPlatformData.h: + +2011-03-25 Tony Chang <tony@chromium.org> + + Build fix: + have chromium and qt use the correct FontPlatformData.h + https://bugs.webkit.org/show_bug.cgi?id=57115 + + * platform/graphics/FontPlatformData.h: + +2011-03-25 Beth Dakin <bdakin@apple.com> + + Reviewed by Dave Hyatt. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=57057 Overlay scrollbars in overflow + areas paint behind positive z-index content + -and corresponding- + <rdar://problem/9070500> + + Since overlay scrollbars don't clip the scrollable content like other scrollbars do, + the only way to get them to paint on top of all possible scrollable content is to + make them paint on top of everything. To do this, this patch adds a second trip + through the layer tree if it contains overlay scrollbars that need painting. + + After calling paint() on the rootLayer, call paintOverlayScrollers() if + containsDirtyOverlayScrollbars() is true. + * page/FrameView.cpp: + (WebCore::FrameView::paintContents): + + RenderLayer has two new member variable. m_containsDirtyOverlayScrollbars is a bool + that is set on the root layer when it has child layers that need overlay scrollbars + to be painted. m_cachedOverlayScrollbarOffset is an IntPoint to cache the tx and ty + of the overlay scrollbars on the first (normal) pass through the layer tree. This + prevents us from having to re-enter the render tree during the second (overlay-only) + pass. Finally, there is also a new paint flag: PaintLayerPaintingOverlayScrollbars. + * rendering/RenderLayer.h: + (WebCore::RenderLayer::containsDirtyOverlayScrollbars): + (WebCore::RenderLayer::setContainsDirtyOverlayScrollbars): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::RenderLayer): + (WebCore::RenderLayer::paintOverflowControls): + (WebCore::RenderLayer::paintOverlayScrollbars): + (WebCore::RenderLayer::paintLayer): + +2011-03-25 Jessie Berlin <jberlin@apple.com> + + Reviewed by Sam Weinig. + + WebKit2: Need to be able to set and get the Cookie Storage Policy. + https://bugs.webkit.org/show_bug.cgi?id=50780 + + * platform/network/cf/CookieStorageCFNet.cpp: + (WebCore::privateCookieStorage): + Rename privateBrowsingCookieStorage to privateCookieStorage. + (WebCore::currentCookieStorage): + Ditto. + (WebCore::setCurrentCookieStorage): + Ditto. + (WebCore::setCookieStoragePrivateBrowsingEnabled): + Ditto. + (WebCore::defaultCookieStorage): + Return the default cookie storage. + (WebCore::privateBrowsingCookieStorage): + Return privateCookieStorage().get() + * platform/network/cf/CookieStorageCFNet.h: + +2011-03-25 Emil A Eklund <eae@chromium.org> + + Reviewed by Dimitri Glazkov. + + Text field "onchange" event is triggered if actual value unchanged + https://bugs.webkit.org/show_bug.cgi?id=36314 + + Change RenderTextControl::subtreeHasChanged to only return true if the + subtree has changed since the last event was triggered. + + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLTextFormControlElement::insertedIntoDocument): + (WebCore::HTMLTextFormControlElement::dispatchFormControlChangeEvent): + * html/HTMLFormControlElement.h: + (WebCore::HTMLTextFormControlElement::setTextAsOfLastFormControlChangeEvent): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::setChecked): + (WebCore::HTMLInputElement::setValue): + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::setValue): + (WebCore::HTMLTextAreaElement::setNonDirtyValue): + +2011-03-25 Brent Fulgham <bfulgham@webkit.org> + + Reviewed by David Hyatt. + + Clean up FontPlatformData structure so that a single implementation + is used across all ports. This first patch works for the Windows + build (both CG and WinCairo), and Cocoa. + + * WebCore.vcproj/WebCore.vcproj: + * platform/graphics/FontPlatformData.cpp: Added. + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::operator=): + * platform/graphics/FontPlatformData.h: Added. + (WebCore::toCTFontRef): + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::hfont): + (WebCore::FontPlatformData::useGDI): + (WebCore::FontPlatformData::font): + (WebCore::FontPlatformData::cgFont): + (WebCore::FontPlatformData::size): + (WebCore::FontPlatformData::setSize): + (WebCore::FontPlatformData::syntheticBold): + (WebCore::FontPlatformData::syntheticOblique): + (WebCore::FontPlatformData::isColorBitmapFont): + (WebCore::FontPlatformData::orientation): + (WebCore::FontPlatformData::textOrientation): + (WebCore::FontPlatformData::widthVariant): + (WebCore::FontPlatformData::setOrientation): + (WebCore::FontPlatformData::scaledFont): + (WebCore::FontPlatformData::fontFace): + (WebCore::FontPlatformData::hash): + (WebCore::FontPlatformData::operator==): + (WebCore::FontPlatformData::isHashTableDeletedValue): + (WebCore::FontPlatformData::hashTableDeletedFontValue): + * platform/graphics/cg/FontPlatformData.h: Removed. + * platform/graphics/cocoa/FontPlatformData.h: Removed. + * platform/graphics/cocoa/FontPlatformDataCocoa.mm: + (WebCore::~FontPlatformData): + (WebCore::FontPlatformData::platformDataInit): + (WebCore::FontPlatformData::platformDataAssign): + * platform/graphics/win/FontPlatformDataCGWin.cpp: + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::~FontPlatformData): + (WebCore::FontPlatformData::platformDataInit): + (WebCore::FontPlatformData::platformDataAssign): + * platform/graphics/win/FontPlatformDataCairoWin.cpp: + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::~FontPlatformData): + (WebCore::FontPlatformData::platformDataInit): + (WebCore::FontPlatformData::platformDataAssign): + * platform/graphics/win/FontPlatformDataWin.cpp: + (WebCore::FontPlatformData::FontPlatformData): + * platform/graphics/win/cairo/FontPlatformData.h: Removed. + +2011-03-25 Enrica Casucci <enrica@apple.com> + + Reviewed by Oliver Hunt. + + Pasteboard data's RTF data doesn't always include URLs via NSLinkAttributeName. + https://bugs.webkit.org/show_bug.cgi?id=57107 + <rdar://problem/9084267> + + If the selection is at the beginning of content inside an anchor tag + we move the selection start to include the anchor. + + * platform/mac/PasteboardMac.mm: + (WebCore::Pasteboard::writeSelection): Modified to change the selection + start according to the new rule. + +2011-03-25 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: refactor Network domain's frame tree API + https://bugs.webkit.org/show_bug.cgi?id=57103 + + * inspector/Inspector.json: + * inspector/InspectorResourceAgent.cpp: + (WebCore::buildObjectForFrameResource): + (WebCore::buildObjectForCachedResource): + (WebCore::InspectorResourceAgent::willSendRequest): + (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache): + (WebCore::buildObjectForFrame): + (WebCore::buildObjectForFrameTree): + (WebCore::InspectorResourceAgent::didCommitLoad): + (WebCore::InspectorResourceAgent::enable): + * inspector/front-end/NetworkManager.js: + (WebInspector.NetworkManager.prototype.requestContent): + (WebInspector.NetworkDispatcher): + (WebInspector.NetworkDispatcher.prototype.willSendRequest): + (WebInspector.NetworkDispatcher.prototype.didReceiveResponse): + (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache): + (WebInspector.NetworkDispatcher.prototype.frameDetachedFromParent): + (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame): + (WebInspector.NetworkDispatcher.prototype.didCreateWebSocket): + (WebInspector.NetworkDispatcher.prototype._appendRedirect): + (WebInspector.NetworkDispatcher.prototype._addFramesRecursively): + (WebInspector.NetworkDispatcher.prototype._createResource): + * inspector/front-end/ResourceTreeModel.js: + (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame): + (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame): + (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources): + (WebInspector.ResourceTreeModel.prototype._clearResources): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.addOrUpdateFrame): + (WebInspector.ResourcesPanel.prototype.addResourceToFrame): + +2011-03-25 Dave Hyatt <hyatt@apple.com> + + Reviewed by Adele Peterson. + + REGRESSION(r77257): Only first page of a document is printed + https://bugs.webkit.org/show_bug.cgi?id=56958 + + Test: printing/page-count-layout-overflow.html + + * page/FrameView.cpp: + (WebCore::FrameView::forceLayoutForPagination): Moved clearing of overflow + to the right place. + +2011-03-25 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled + https://bugs.webkit.org/show_bug.cgi?id=57087 + + Use explicit conversion for string to avoid depending on the default codec + installed by the user code. + + * bridge/qt/qt_pixmapruntime.cpp: + (JSC::Bindings::QtPixmapToDataUrlMethod::invoke): + (JSC::Bindings::QtPixmapInstance::valueOf): + * platform/qt/LanguageQt.cpp: + (WebCore::platformDefaultLanguage): + * platform/qt/PasteboardQt.cpp: + (WebCore::Pasteboard::writeSelection): + * plugins/qt/PluginPackageQt.cpp: + (WebCore::initializeGtk): + * plugins/qt/PluginViewQt.cpp: + (WebCore::getPluginDisplay): + +2011-03-25 Chang Shu <cshu@webkit.org> + + Reviewed by Ryosuke Niwa. + + rename Node::isContentEditable and all call sites to rendererIsEditable + https://bugs.webkit.org/show_bug.cgi?id=54290 + + This is part of the effort to separate JS API HTMLElement isContentEditable from + internal Node::rendererIsEditable. + + Code refactoring. No new tests. + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::isReadOnly): + (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): + * dom/Document.cpp: + (WebCore::acceptsEditingFocus): + * dom/Node.cpp: + (WebCore::Node::rendererIsEditable): + (WebCore::Node::shouldUseInputMethod): + (WebCore::Node::canStartSelection): + (WebCore::Node::rootEditableElement): + * dom/Node.h: + (WebCore::Node::isContentEditable): + (WebCore::Node::rendererIsEditable): + (WebCore::Node::rendererIsRichlyEditable): + * dom/Position.cpp: + (WebCore::nextRenderedEditable): + (WebCore::previousRenderedEditable): + (WebCore::Position::atEditingBoundary): + (WebCore::Position::parentEditingBoundary): + (WebCore::Position::upstream): + (WebCore::Position::downstream): + (WebCore::Position::isCandidate): + * dom/PositionIterator.cpp: + (WebCore::PositionIterator::isCandidate): + * editing/AppendNodeCommand.cpp: + (WebCore::AppendNodeCommand::AppendNodeCommand): + (WebCore::AppendNodeCommand::doApply): + (WebCore::AppendNodeCommand::doUnapply): + * editing/ApplyStyleCommand.cpp: + (WebCore::containsNonEditableRegion): + (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): + (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): + (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): + * editing/DeleteButtonController.cpp: + (WebCore::isDeletableElement): + (WebCore::enclosingDeletableElement): + * editing/DeleteFromTextNodeCommand.cpp: + (WebCore::DeleteFromTextNodeCommand::doApply): + (WebCore::DeleteFromTextNodeCommand::doUnapply): + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::removeNode): + * editing/Editor.cpp: + (WebCore::Editor::canDeleteRange): + (WebCore::Editor::markMisspellingsOrBadGrammar): + (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): + * editing/EditorCommand.cpp: + (WebCore::verticalScrollDistance): + * editing/FormatBlockCommand.cpp: + (WebCore::enclosingBlockToSplitTreeTo): + * editing/IndentOutdentCommand.cpp: + (WebCore::IndentOutdentCommand::outdentParagraph): + * editing/InsertIntoTextNodeCommand.cpp: + (WebCore::InsertIntoTextNodeCommand::doApply): + (WebCore::InsertIntoTextNodeCommand::doUnapply): + * editing/InsertNodeBeforeCommand.cpp: + (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): + (WebCore::InsertNodeBeforeCommand::doApply): + (WebCore::InsertNodeBeforeCommand::doUnapply): + * editing/JoinTextNodesCommand.cpp: + (WebCore::JoinTextNodesCommand::doApply): + (WebCore::JoinTextNodesCommand::doUnapply): + * editing/MergeIdenticalElementsCommand.cpp: + (WebCore::MergeIdenticalElementsCommand::doApply): + (WebCore::MergeIdenticalElementsCommand::doUnapply): + * editing/RemoveNodeCommand.cpp: + (WebCore::RemoveNodeCommand::doApply): + (WebCore::RemoveNodeCommand::doUnapply): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + * editing/SelectionController.cpp: + (WebCore::SelectionController::selectFrameElementInParentIfFullySelected): + (WebCore::SelectionController::setSelectionFromNone): + * editing/SplitElementCommand.cpp: + (WebCore::SplitElementCommand::executeApply): + (WebCore::SplitElementCommand::doUnapply): + * editing/SplitTextNodeCommand.cpp: + (WebCore::SplitTextNodeCommand::doApply): + (WebCore::SplitTextNodeCommand::doUnapply): + (WebCore::SplitTextNodeCommand::doReapply): + * editing/SplitTextNodeContainingElementCommand.cpp: + (WebCore::SplitTextNodeContainingElementCommand::doApply): + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::canonicalPosition): + * editing/WrapContentsInDummySpanCommand.cpp: + (WebCore::WrapContentsInDummySpanCommand::doUnapply): + (WebCore::WrapContentsInDummySpanCommand::doReapply): + * editing/htmlediting.cpp: + (WebCore::highestEditableRoot): + (WebCore::lowestEditableAncestor): + (WebCore::isEditablePosition): + (WebCore::isRichlyEditablePosition): + (WebCore::firstEditablePositionAfterPositionInRoot): + (WebCore::extendRangeToWrappingNodes): + (WebCore::enclosingNodeWithTag): + (WebCore::enclosingNodeOfType): + (WebCore::highestEnclosingNodeOfType): + (WebCore::canMergeLists): + * editing/visible_units.cpp: + (WebCore::previousLeafWithSameEditability): + (WebCore::previousLinePosition): + (WebCore::nextLeafWithSameEditability): + (WebCore::nextLinePosition): + (WebCore::startOfParagraph): + (WebCore::endOfParagraph): + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::supportsFocus): + (WebCore::HTMLAnchorElement::defaultEventHandler): + (WebCore::HTMLAnchorElement::setActive): + (WebCore::HTMLAnchorElement::canStartSelection): + (WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType): + * html/HTMLBodyElement.cpp: + (WebCore::HTMLBodyElement::supportsFocus): + * html/HTMLElement.cpp: + (WebCore::HTMLElement::supportsFocus): + (WebCore::HTMLElement::isContentEditable): + (WebCore::HTMLElement::contentEditable): + * html/HTMLElement.h: + * page/DragController.cpp: + (WebCore::DragController::operationForLoad): + (WebCore::DragController::canProcessDrag): + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMouseReleaseEvent): + (WebCore::EventHandler::selectCursor): + * page/FocusController.cpp: + (WebCore::relinquishesEditingFocus): + * rendering/HitTestResult.cpp: + (WebCore::HitTestResult::isContentEditable): + * rendering/RenderBlock.cpp: + (WebCore::positionForPointRespectingEditingBoundaries): + (WebCore::RenderBlock::hasLineIfEmpty): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::addOverflowFromInlineChildren): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::canBeProgramaticallyScrolled): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::createVisiblePosition): + * rendering/RootInlineBox.cpp: + (WebCore::isEditableLeaf): + * svg/SVGAElement.cpp: + (WebCore::SVGAElement::supportsFocus): + +2011-03-25 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Antti Koivisto. + + Crash when a wbr element is inserted inside mroot + https://bugs.webkit.org/show_bug.cgi?id=56352 + + Test: mathml/wbr-in-mroot-crash.html + + * rendering/mathml/RenderMathMLRoot.cpp: + (WebCore::RenderMathMLRoot::layout): Look for the first box model child of the first + child, instead of just assuming. + +2011-03-25 Vsevolod Vlasov <vsevik@chromium.org> + + Reviewed by Pavel Feldman. + + XML Viewer: extensions can't render original XML + https://bugs.webkit.org/show_bug.cgi?id=56263 + + Added source xml to transformed document, renamed onload function. + + * xml/XMLTreeViewer.cpp: + (WebCore::XMLTreeViewer::transformDocumentToTreeView): + * xml/XMLViewer.xsl: + +2011-03-25 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] Get rid of the invalid string conversion with ::fromAscii() + https://bugs.webkit.org/show_bug.cgi?id=57102 + + Replace ::fromAscii() with ::fromLatin1() to make sure the codec does not depend on the user code. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + * platform/qt/CookieJarQt.cpp: + (WebCore::cookies): + (WebCore::cookieRequestHeaderFieldValue): + +2011-03-25 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r81953. + http://trac.webkit.org/changeset/81953 + https://bugs.webkit.org/show_bug.cgi?id=57096 + + "inspector test breakage: part 2/2" (Requested by apavlov on + #webkit). + + * inspector/Inspector.json: + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::getAllStyles): + * inspector/InspectorCSSAgent.h: + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyleSheet::buildObjectForStyleSheet): + * inspector/InspectorStyleSheet.h: + * inspector/front-end/AuditRules.js: + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback): + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback): + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback): + (WebInspector.CSSStyleModel.prototype._styleSheetChanged): + (WebInspector.CSSStyleModel.prototype._onRevert): + (WebInspector.CSSStyleSheet): + (WebInspector.CSSStyleSheet.prototype.setText): + +2011-03-15 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Fix handling of the CSSAgent.setStyleSheetText() results in CSSStyleModel.js + https://bugs.webkit.org/show_bug.cgi?id=56310 + + Instead of stylesheet ids, CSSAgent.getAllStyleSheets() now returns metainfo objects containing + "styleSheetId", "sourceURL", "disabled", and "title" fields. The latter three are not returned + by CSSAgent.getStyleSheet() anymore. + + Test: inspector/styles/get-set-stylesheet-text.html + + * inspector/Inspector.json: + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::getAllStyleSheets): + * inspector/InspectorCSSAgent.h: + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyleSheet::buildObjectForStyleSheet): + (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo): + * inspector/InspectorStyleSheet.h: + * inspector/front-end/AuditRules.js: + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback): + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback): + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback): + (WebInspector.CSSStyleModel.prototype._styleSheetChanged): + (WebInspector.CSSStyleModel.prototype._onRevert): + (WebInspector.CSSStyleSheet): + (WebInspector.CSSStyleSheet.prototype.setText): + +2011-03-25 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: extension server should not convert all resources to HAR when there are no extensions. + https://bugs.webkit.org/show_bug.cgi?id=57044 + + * inspector/front-end/ExtensionServer.js: + (WebInspector.ExtensionServer.prototype._notifyResourceFinished): + (WebInspector.ExtensionServer.prototype._hasSubscribers): + +2011-03-25 Leo Yang <leo.yang@torchmobile.com.cn> + + Reviewed by Nikolas Zimmermann. + + SVG <use> element performance improvement + https://bugs.webkit.org/show_bug.cgi?id=57077 + + SVG <use> element was expanding nesting <use> and <symbol> elements + in an inefficient way. After it expanded an <use> or a <symbol> + element it would restart expanding from the shadow tree root. + This behavior was leading about 160 millions of calls to + expandUseElementInShadowTree or expandSymbolElementInShadowTree for + a single shadow tree which is illustrated by + http://upload.wikimedia.org/wikipedia/commons/4/4e/Sierpinski_carpet_6.svg. + But the effective calls, which really expand <use> or <symbol> + elements, were about 5200; others were passing-by calls, which are + recursively down to the children. + + This patch is altering the expanding path to reduce the passing-by + calls. It will expand elements in sibling chain where there is an + effective call, because the effective call replaces element which is + expanded and the replacement results lose of the sibling chain of + the replaced on the upper recursion stack. With this patch the + passing-by calls are reduced from about 160 millions to about 30 + thousands. + + No functionality change, no new tests. + + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::expandUseElementsInShadowTree): + (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): + * svg/SVGUseElement.h: + +2011-03-25 Dominic Cooney <dominicc@google.com> + + Reviewed by Kent Tamura. + + Makes keygen support autofocus attribute. + https://bugs.webkit.org/show_bug.cgi?id=57091 + + Test: fast/forms/autofocus-keygen.html + + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLFormControlElement::attach): + +2011-03-24 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Reviewed by Antonio Gomes. + + [EFL] Add sound / mute button to MediaControl UI + https://bugs.webkit.org/show_bug.cgi?id=56726 + + Add sound / mute button to MediaControl UI. + + * platform/efl/RenderThemeEfl.cpp: + (WebCore::RenderThemeEfl::edjeGroupFromFormType): + (WebCore::RenderThemeEfl::emitMediaButtonSignal): + (WebCore::RenderThemeEfl::paintMediaMuteButton): + * platform/efl/RenderThemeEfl.h: + +2011-03-24 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Darin Adler. + + Introduce WTF HexNumber.h + https://bugs.webkit.org/show_bug.cgi?id=56099 + + Introduce a set of functions that ease converting from a bye or a number to a hex string, + replacing several of these conversions and String::format("%x") usages all over WebCore. + + * ForwardingHeaders/wtf/HexNumber.h: Added. + * css/CSSOMUtils.cpp: + (WebCore::serializeCharacterAsCodePoint): + * css/CSSParser.cpp: + (WebCore::quoteCSSString): + * inspector/InspectorResourceAgent.cpp: + (WebCore::createReadableStringFromBinary): + * platform/FileSystem.cpp: + (WebCore::encodeForFileName): + * platform/KURL.cpp: + (WebCore::appendEscapedChar): + * platform/UUID.cpp: + (WebCore::createCanonicalUUIDString): + * platform/graphics/Color.cpp: + (WebCore::Color::serialized): + * platform/network/FormDataBuilder.cpp: + (WebCore::FormDataBuilder::encodeStringAsFormData): + * rendering/RenderTreeAsText.cpp: + (WebCore::quoteAndEscapeNonPrintables): + +2011-03-24 Stephanie Lewis <slewis@apple.com> + + Reviewed by Geoff Garen. + + <rdar://problem/9146716> REGRESSION: ~10 MB increase in memory under CachedScripts + Add back a call to destroy decoded data after access. Keep the SourceProviderCache + around as long as their are still clients to use it. + + No new tests because there is no change in behavior. Current tests pass. + + * loader/cache/CachedScript.cpp: + (WebCore::CachedScript::script): + (WebCore::CachedScript::destroyDecodedData): + +2011-03-24 Stephanie Lewis <slewis@apple.com> + + Reviewed by Geoff Garen. + + https://bugs.webkit.org/show_bug.cgi?id=57073 + Rework the AtomicHTMLConstructor to reserve space for attributes based on the size of the attribute list. + Saves 1.5 MB on Membuster. + + No new tests because there was no change in behavior. Current tests pass. + + * html/parser/HTMLToken.h: + (WebCore::AtomicHTMLToken::AtomicHTMLToken): + (WebCore::AtomicHTMLToken::initializeAttributes): + +2011-03-24 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r81916 and r81917. + http://trac.webkit.org/changeset/81916 + http://trac.webkit.org/changeset/81917 + https://bugs.webkit.org/show_bug.cgi?id=57071 + + broke a test on platforms that do not have QuickTime installed + (Requested by estes on #webkit). + + * html/HTMLEmbedElement.cpp: + (WebCore::HTMLEmbedElement::HTMLEmbedElement): + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::HTMLObjectElement): + (WebCore::HTMLObjectElement::parametersForPlugin): + * html/HTMLPlugInImageElement.cpp: + (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): + (WebCore::HTMLPlugInImageElement::isImageType): + (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin): + * html/HTMLPlugInImageElement.h: + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::objectContentType): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::defaultObjectContentType): + * loader/FrameLoader.h: + * loader/FrameLoaderClient.h: + * loader/SubframeLoader.cpp: + (WebCore::SubframeLoader::resourceWillUsePlugin): + (WebCore::SubframeLoader::requestObject): + (WebCore::SubframeLoader::shouldUsePlugin): + * loader/SubframeLoader.h: + +2011-03-24 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + Eliminate Node::dispatchGenericEvent. + https://bugs.webkit.org/show_bug.cgi?id=57045 + + No functional change, covered by existing tests. + + * dom/Node.cpp: + (WebCore::Node::dispatchEvent): Combined with the body of dispatchGenericEvent, + removed unnecessary extra refs and a stale comment. + * dom/Node.h: + * page/DOMWindow.cpp: + (WebCore::DOMWindow::dispatchLoadEvent): Changed to use dispatchEvent. + * svg/SVGElement.cpp: + (WebCore::SVGElement::sendSVGLoadEventIfPossible): Ditto. + * svg/SVGElementInstance.cpp: + (WebCore::SVGElementInstance::dispatchEvent): Ditto. The code here still + works thanks to SVG-aware retargeting in Node. + +2011-03-24 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + web audio: Properly sample-rate convert audio assets in chromium port + https://bugs.webkit.org/show_bug.cgi?id=56980 + + No new tests since audio API is not yet implemented. + + * WebCore.gypi: + * platform/audio/AudioBus.cpp: + (WebCore::AudioBus::createBySampleRateConverting): + (WebCore::AudioBus::createByMixingToMono): + * platform/audio/AudioBus.h: + * platform/audio/HRTFKernel.cpp: + (WebCore::extractAverageGroupDelay): + (WebCore::HRTFKernel::HRTFKernel): + * platform/audio/SincResampler.cpp: + * platform/audio/chromium/AudioBusChromium.cpp: + (WebCore::AudioBus::loadPlatformResource): + (WebCore::createBusFromInMemoryAudioFile): + +2011-03-24 Rik Cabanier <cabanier@adobe.com> + + Reviewed by David Hyatt. + + REGRESSION (r81625): fast/css/percentage-non-integer.html fails on Windows + https://bugs.webkit.org/show_bug.cgi?id=56829 + + Test: fast/css/percentage-non-integer.html + + * platform/Length.h: + (WebCore::Length::calcValue): + (WebCore::Length::calcMinValue): + (WebCore::Length::calcFloatValue): + +2011-03-24 Mihai Parparita <mihaip@chromium.org> + + Reviewed by James Robinson. + + [Chromium] Vertical Japanese text is not displayed on Snow Leopard + https://bugs.webkit.org/show_bug.cgi?id=56962 + + Make Snow Leopard check added by r80740 into a runtime check for + Chromium, since it uses the same binary on both Leopard and Snow Leopard. + + * platform/graphics/mac/FontMac.mm: + (WebCore::hasBrokenCTFontGetVerticalTranslationsForGlyphs): + (WebCore::showGlyphsWithAdvances): + +2011-03-24 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=57058 + Hookup the UIProcess WebIconDatabase to a WebCore::IconDatabase as its implementation + + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::synchronousLoadDecisionForIconURL): Only add the DocumentLoader to the set if it's non-zero. + (WebCore::IconDatabase::IconDatabase): Add more logging. + (WebCore::IconDatabase::performURLImport): Dispatch the "didFinishURLImport" client callback using the following 3 methods. + (WebCore::FinishedURLImport::FinishedURLImport): + (WebCore::FinishedURLImport::performWork): + (WebCore::IconDatabase::dispatchDidFinishURLImportOnMainThread): + + * loader/icon/IconDatabase.h: + (WebCore::IconDatabase::create): Expose a PassOwnPtr<> creator. + + * WebCore.exp.in: + +2011-03-23 Jer Noble <jer.noble@apple.com> + + Reviewed by Maciej Stachowiak. + + Application Cache should save audio/ and video/ mime types as flat files + https://bugs.webkit.org/show_bug.cgi?id=53784 + <rdar://problem/8932473> + + No new tests. + + ApplicationCacheResource::create() now takes an additional "path" parameter. To facilitate + extracting this path information, two functions in ApplicationCacheHost have been made public. + + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::didReceiveResponse): Pass along new "path" parameter. + (WebCore::ApplicationCacheGroup::didFail): Ditto. + * loader/appcache/ApplicationCacheHost.h: + (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache): Made public. + (WebCore::ApplicationCacheHost::getApplicationCacheFallbackResource): Made public. + * loader/appcache/ApplicationCacheResource.cpp: + (WebCore::ApplicationCacheResource::ApplicationCacheResource): Add new "path" parameter. + * loader/appcache/ApplicationCacheResource.h: + (WebCore::ApplicationCacheResource::create): Ditto. + (WebCore::ApplicationCacheResource::path): New accessor. + +2011-03-24 Andy Estes <aestes@apple.com> + + Reviewed by Darin Adler. + + REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js + https://bugs.webkit.org/show_bug.cgi?id=49016 + + AC_QuickTime.js uses the common <object>/<embed> paradigm to embed the + QuickTime plug-in in web pages. r70748 removed our mapping of classids + to MIME types, which causes WebKit to fall back from the object to the + embed tag when QuickTime is embedded by this script. The script emits + the following embed tag to embed a QuickTime movie with a poster frame: + + <embed src="poster-frame.png" target="quicktimeplayer" href="movie.mov"> + + The expectation is that a QuickTime plug-in is instantiated to display the + poster frame, since QuickTime registers for many common image MIME + types. This is how Gecko behaves for embed. However, WebKit prefers to + use its native image rendering for image embeds, in which case no movie + is played when the poster frame is clicked. + + Fix this by changing embed to check for a plug-in that can handle the + image type before rendering the image natively. This matches Gecko. + + Test: fast/images/embed-image-plugins-disabled.html + + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::parametersForPlugin): + * html/HTMLPlugInImageElement.cpp: + (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): + (WebCore::HTMLPlugInImageElement::isImageType): + (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin): + * html/HTMLPlugInImageElement.h: + (WebCore::HTMLPlugInImageElement::preferPluginsForImages): + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::objectContentType): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::defaultObjectContentType): + * loader/FrameLoader.h: + * loader/FrameLoaderClient.h: + * loader/SubframeLoader.cpp: + (WebCore::SubframeLoader::resourceWillUsePlugin): + (WebCore::SubframeLoader::requestPlugin): + (WebCore::SubframeLoader::requestObject): + (WebCore::SubframeLoader::shouldUsePlugin): + * loader/SubframeLoader.h: + +2011-03-24 Mike Reed <reed@google.com> + + Reviewed by James Robinson. + + Move lifetime management of grContext from a global to being + per-SharedGraphicsContext3D, which correctly is 1:1 with the + underlying opengl context. + https://bugs.webkit.org/show_bug.cgi?id=54330 + + No new tests. Existing <canvas> tests exercise this: + + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBuffer::DrawingBuffer): + (WebCore::DrawingBuffer::~DrawingBuffer): + (WebCore::DrawingBuffer::publishToPlatformLayer): + (WebCore::DrawingBuffer::setGrContext): + * platform/graphics/gpu/DrawingBuffer.h: + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D): + (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D): + (WebCore::SharedGraphicsContext3D::getGrContext): + * platform/graphics/gpu/SharedGraphicsContext3D.h: + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::~PlatformContextSkia): + (WebCore::PlatformContextSkia::setSharedGraphicsContext3D): + +2011-03-24 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + Untangle dependency between event ancestor chain computation and InspectorDOMAgent. + https://bugs.webkit.org/show_bug.cgi?id=57050 + + Inspector's list of event listeners does not need to invoke Node::getEventListeners, + because it simply wants to collect all ancestors and never uses EventContext bits. + + No functional change, covered by existing tests. + + * dom/Node.cpp: + (WebCore::getEventAncestors): Converted into a static function. + (WebCore::Node::dispatchGenericEvent): Changed to pass node to getEventAncestors. + * dom/Node.h: Removed decl, moved EventDispatchBehavior enum inside. + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::getEventListenersForNode): Replaced the call + to getEventAncestors with a simple ancestor traversal loop. + +2011-03-24 Adam Klein <adamk@chromium.org> + + Reviewed by David Levin. + + [fileapi] Make FileError and FileException accessible from WorkerContext + https://bugs.webkit.org/show_bug.cgi?id=57041 + + * workers/WorkerContext.idl: + +2011-03-24 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Remove legacy version of findPlainText. + https://bugs.webkit.org/show_bug.cgi?id=57056 + + * editing/TextIterator.cpp: + * editing/TextIterator.h: + Remove legacy overload of findPlainText that doesn't + take an options parameter. + +2011-03-24 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Oliver Hunt. + + Ensure that all compilation takes place within a dynamic global object scope + https://bugs.webkit.org/show_bug.cgi?id=57054 + + * bindings/js/JSErrorHandler.cpp: + (WebCore::JSErrorHandler::handleEvent): + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::handleEvent): Updated for signature change. + +2011-03-24 John Bauman <jbauman@chromium.org> + + Reviewed by Kenneth Russell. + + preserveDrawingBuffer=true is ignored + https://bugs.webkit.org/show_bug.cgi?id=56987 + + Add code to the V8 and JSC bindings to support grabbing the value of + preserveDrawingBuffer from the input context attributes. Also, in + WebGLRenderingContext use the WebGLContextAttributes that were input + directly, not those from the GraphicsContext3D which could have been + changed. + + No new tests, as this can't be tested with DRT. However, this works + when tested manually. + + * bindings/js/JSHTMLCanvasElementCustom.cpp: + (WebCore::JSHTMLCanvasElement::getContext): + * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: + (WebCore::V8HTMLCanvasElement::getContextCallback): + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::clearIfComposited): + (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas): + +2011-03-24 Enrica Casucci <enrica@apple.com> + + Reviewed by Alexey Proskuryakov. + + WebKit2:Services menu item to convert selected Simplified/Traditional Chinese Text is not working. + https://bugs.webkit.org/show_bug.cgi?id=56975 + <rdar://problem/8915066> + + Adding support in WebCore to implement readSelectionFromPasteboard + to support Mac OS X services from WebKit2. + + * WebCore.exp.in: + * editing/Editor.h: + * editing/mac/EditorMac.mm: + (WebCore::Editor::readSelectionFromPasteboard): Added entry point + to call the paste functions with the specified pasteboard. + +2011-03-24 Vsevolod Vlasov <vsevik@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Inspector does not show correct transfer size for synchronous requests + https://bugs.webkit.org/show_bug.cgi?id=56951 + + Fixed transfer size for synchronous load. + + Test: http/tests/inspector/network/network-size-sync.html + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::willLoadMediaElementURL): + (WebCore::FrameLoader::commitProvisionalLoad): + (WebCore::FrameLoader::loadResourceSynchronously): + (WebCore::FrameLoader::loadedResourceFromMemoryCache): + * loader/ResourceLoadNotifier.cpp: + (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages): + * loader/ResourceLoadNotifier.h: + +2011-03-24 Brady Eidson <beidson@apple.com> + + Reviewed by Adam Roben. + + https://bugs.webkit.org/show_bug.cgi?id=57030 + REGRESSION (r81782): http/tests/inspector/extensions-resources-redirect.html sometimes crashes WebKit2's + web process while handling a WebIconDatabaseProxy::ReceivedIconLoadDecision message + + The callback objects had some bogus ASSERTs and missed a relevant null check. If a callback was waiting on + a message back from the UIProcess, but was invalidated from within the WebProcess in the meantime, it's + perfectly valid to attempt to performCallback() after the callback function pointer has been cleared. + + * loader/icon/IconDatabaseBase.h: + (WebCore::EnumCallback::performCallback): + (WebCore::EnumCallback::invalidate): + (WebCore::EnumCallback::EnumCallback): + (WebCore::ObjectCallback::performCallback): + (WebCore::ObjectCallback::invalidate): + (WebCore::ObjectCallback::ObjectCallback): + +2011-03-24 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Dictionary text extraction is not correctly detecting word boundaries on bing.com + <rdar://problem/9078569> + https://bugs.webkit.org/show_bug.cgi?id=56995 + + * WebCore.exp.in: + Add some editing related exports needed by WebKit2. + +2011-03-24 Andy Estes <aestes@apple.com> + + Reviewed by Eric Seidel. + + REGRESSION (r80231): Bad cast in HTMLTreeBuilder with closed </form> tags + https://bugs.webkit.org/show_bug.cgi?id=56836 + + During fragment parsing, HTMLConstructionSite holds a reference to the + fragment context's closest form ancestor. If a misnested form end tag is + then encountered as the first node of the fragment, we will check to see + if a corresponding form start tag is in scope even though no such tag + exists. This led to isScope() walking the HTMLElementStack all the way + to the root DocumentFragment and attempting to cast it to Element*. + + Fix this by ensuring that the inScope() family of functions operate in + terms of ContainerNodes to account for the fragment case. + + Test: fast/parser/fragment-closest-form-ancestor.html + + * html/parser/HTMLElementStack.cpp: + (WebCore::HTMLNames::isRootNode): + (WebCore::HTMLNames::isScopeMarker): + (WebCore::HTMLNames::isTableScopeMarker): + (WebCore::HTMLNames::isTableBodyScopeMarker): + (WebCore::HTMLNames::isTableRowScopeMarker): + (WebCore::HTMLElementStack::hasOnlyHTMLElementsInScope): + (WebCore::HTMLElementStack::inScope): + +2011-03-24 Enrica Casucci <enrica@apple.com> + + Reviewed by Darin Adler. + + Repeated copy and paste-in-place operation results in increasingly verbose HTML. + <rdar://problem/8690506> + https://bugs.webkit.org/show_bug.cgi?id=56874 + + When we calculate the style to apply at the insertion point we compare the initial + style at the insertion point against the style calculated at the span we wrap the + copied markup fragment with. We could end up with a series of unnecessary spans + to remove the initial style that simply grow our markup. + The consists in moving the insertion point outside any inline element that could + affect the fragment being inserted when we are not pasting and matching the style. + + Test: editing/pasteboard/paste-text-with-style.html + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::isInlineNodeWithStyle): Added. + (WebCore::ReplaceSelectionCommand::doApply): Added logic to change the insertion + point according to the new rules. + +2011-03-24 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] When we render WebGL offscreen, color conversion cost a lot of CPU cycles + https://bugs.webkit.org/show_bug.cgi?id=40884 + + The software fallback is now only needed for corner cases like a manual rendering + of the page to QImage. + + Keeping the image with the last pixel values is no longer needed. Removing it reduce the + performance for real-time rendering on software surface, but this case should no longer be + supported. + + The conversion from OpenGL color space and coordinates is done manually for performance. This + also fix the bug of the inverted X axis due to the transformation. + + The tests and benchmarks are done through Qt API tests. + + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::swapBgrToRgb): + (WebCore::GraphicsContext3DInternal::paint): + (WebCore::GraphicsContext3D::reshape): + +2011-03-24 Nat Duca <nduca@chromium.org> + + Reviewed by James Robinson. + + [chromium] Remove bool that forces compositor HUD to always be enabled + https://bugs.webkit.org/show_bug.cgi?id=57034 + + * platform/graphics/chromium/cc/CCHeadsUpDisplay.h: + (WebCore::CCHeadsUpDisplay::enabled): + +2011-03-24 Nat Duca <nduca@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Add traceEvents to compositor + https://bugs.webkit.org/show_bug.cgi?id=56965 + + * WebCore.gypi: + * platform/chromium/TraceEvent.h: Added. + (WebCore::internal::ScopeTracer::ScopeTracer): + (WebCore::internal::ScopeTracer::~ScopeTracer): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::updateRootLayerContents): + (WebCore::LayerRendererChromium::updateRootLayerScrollbars): + (WebCore::LayerRendererChromium::updateLayers): + (WebCore::LayerRendererChromium::drawLayers): + (WebCore::LayerRendererChromium::finish): + (WebCore::LayerRendererChromium::present): + * platform/graphics/chromium/LayerTilerChromium.cpp: + (WebCore::LayerTilerChromium::update): + +2011-03-24 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: render XHRs matching JSON regex as JSON. + https://bugs.webkit.org/show_bug.cgi?id=57035 + + * English.lproj/localizedStrings.js: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/NetworkItemView.js: + (WebInspector.NetworkItemView): + * inspector/front-end/RemoteObject.js: + (WebInspector.LocalJSONObject.prototype.get description.switch.case): + (WebInspector.LocalJSONObject.prototype.get description): + (WebInspector.LocalJSONObject.prototype._concatenate): + (WebInspector.LocalJSONObject.prototype.getProperties): + (WebInspector.LocalJSONObject.prototype._children): + * inspector/front-end/ResourceJSONView.js: Added. + (WebInspector.ResourceJSONView): + (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype.hasContent): + (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype.show): + (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype._initialize): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.css: + (.resource-view.json): + * inspector/front-end/inspector.html: + +2011-03-24 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + Move media controls subtree creation into one method. + https://bugs.webkit.org/show_bug.cgi?id=56969 + + Mechanical move, no changes in functionality. + + The purpose of this patch is to align existing code closer with its + future version, when MediaControls is an element whose tree is created + at the instantiation. + + * html/shadow/MediaControls.cpp: + (WebCore::MediaControls::create): Added, consolidating all subtree generation logic into one place. + (WebCore::MediaControls::update): Replaced methods with one call. + * html/shadow/MediaControls.h: Updated decls. + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlTimelineElement::create): Moved setting of attributes here. + (WebCore::MediaControlVolumeSliderElement::create): Ditto. + +2011-03-24 Steve Falkenburg <sfalken@apple.com> + + Reviewed by Darin Adler. + + Use proper string method to generate webloc string. + https://bugs.webkit.org/show_bug.cgi?id=57028 + <rdar://problem/9181955> + + * platform/win/ClipboardUtilitiesWin.cpp: + (WebCore::getWebLocData): + +2011-03-24 Ben Taylor <bentaylor.solx86@gmail.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=32821 + Fix conditionals which had an int for one case and a pointer for another. + Fix is similar to https://bugs.webkit.org/show_bug.cgi?id=56198 + + No new tests. Fix compilation on Solaris 10 with SunStudio 12 C++ + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::valueForShadow): + +2011-03-24 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: provide live edit callback to source frame delegate. + https://bugs.webkit.org/show_bug.cgi?id=57003 + + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype.editScriptSource): + (WebInspector.DebuggerModel.prototype._didEditScriptSource): + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel): + (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource): + (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource): + (WebInspector.DebuggerPresentationModel.prototype.editScriptSource): + (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit): + (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._createSourceFrame): + (WebInspector.SourceFrameDelegateForScriptsPanel): + (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.canEditScriptSource): + (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource): + +2011-03-24 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Andreas Kling. + + Regression: WebKit does not build with Python 3 following 56807 + https://bugs.webkit.org/show_bug.cgi?id=56923 + + The module string does not have the function replace in Python 3. The str.replace function + can do the same operation in this case and works with the versions 2 and 3. + + * inspector/generate-inspector-idl: + +2011-03-24 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: brush up Network agent API. + https://bugs.webkit.org/show_bug.cgi?id=57001 + + * inspector/Inspector.json: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::willSendRequestImpl): + * inspector/InspectorInstrumentation.h: + (WebCore::InspectorInstrumentation::willSendRequest): + * inspector/InspectorResourceAgent.cpp: + (WebCore::buildObjectForResourceRequest): + (WebCore::buildObjectForResourceResponse): + (WebCore::buildObjectForCachedResource): + (WebCore::InspectorResourceAgent::willSendRequest): + (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest): + (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse): + (WebCore::InspectorResourceAgent::setExtraHeaders): + * inspector/InspectorResourceAgent.h: + * inspector/TimelineRecordFactory.cpp: + (WebCore::TimelineRecordFactory::createResourceReceiveResponseData): + * inspector/front-end/NetworkManager.js: + (WebInspector.NetworkDispatcher.prototype._updateResourceWithRequest): + (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse): + (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource): + (WebInspector.NetworkDispatcher.prototype.willSendRequest): + (WebInspector.NetworkDispatcher.prototype.didReceiveWebSocketHandshakeResponse): + (WebInspector.NetworkDispatcher.prototype.didCloseWebSocket): + * inspector/front-end/Resource.js: + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): + * loader/ResourceLoadNotifier.cpp: + (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest): + (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::createResourceHandle): + +2011-03-11 Steve Block <steveblock@google.com> + + Reviewed by Jeremy Orlow. + + JNIType is not specific to JNI so should be renamed + https://bugs.webkit.org/show_bug.cgi?id=56197 + + This patch renames JNIType to JavaType, renames the values of + the enum, and moves it out of JNIUtility.h to its own file. + Also renames the corresponding JavaField and JavaMethod getters. + + No new tests, refactoring only. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.xcodeproj/project.pbxproj: + * bridge/jni/JNIUtility.cpp: + (JSC::Bindings::javaTypeFromClassName): + (JSC::Bindings::signatureFromJavaType): + (JSC::Bindings::javaTypeFromPrimitiveType): + (JSC::Bindings::getJNIField): + (JSC::Bindings::callJNIMethod): + * bridge/jni/JNIUtility.h: + * bridge/jni/JavaMethod.cpp: + (JavaMethod::JavaMethod): + (JavaMethod::signature): + * bridge/jni/JavaMethod.h: + (JSC::Bindings::JavaMethod::returnTypeClassName): + (JSC::Bindings::JavaMethod::returnType): + * bridge/jni/JavaType.h: Copied from Source/WebCore/bridge/jni/JavaMethod.h. + * bridge/jni/jni_jsobject.mm: + (JavaJSObject::toString): + * bridge/jni/jni_objc.mm: + (JSC::Bindings::dispatchJNICall): + * bridge/jni/jsc/JNIUtilityPrivate.cpp: + (JSC::Bindings::convertArrayInstanceToJavaArray): + (JSC::Bindings::convertValueToJValue): + * bridge/jni/jsc/JNIUtilityPrivate.h: + * bridge/jni/jsc/JavaArrayJSC.cpp: + (JavaArray::setValueAt): + (JavaArray::valueAt): + * bridge/jni/jsc/JavaClassJSC.cpp: + * bridge/jni/jsc/JavaFieldJSC.cpp: + (JavaField::JavaField): + (JavaField::dispatchValueFromInstance): + (JavaField::valueFromInstance): + (JavaField::dispatchSetValueToInstance): + (JavaField::setValueToInstance): + * bridge/jni/jsc/JavaFieldJSC.h: + (JSC::Bindings::JavaField::typeClassName): + (JSC::Bindings::JavaField::type): + * bridge/jni/jsc/JavaInstanceJSC.cpp: + (JavaInstance::invokeMethod): + * bridge/jni/v8/JNIUtilityPrivate.cpp: + (JSC::Bindings::convertNPVariantToJValue): + (JSC::Bindings::convertJValueToNPVariant): + * bridge/jni/v8/JNIUtilityPrivate.h: + * bridge/jni/v8/JavaFieldV8.cpp: + (JavaField::JavaField): + * bridge/jni/v8/JavaFieldV8.h: + (JSC::Bindings::JavaField::typeClassName): + (JSC::Bindings::JavaField::type): + * bridge/jni/v8/JavaInstanceV8.cpp: + (JavaInstance::invokeMethod): + (JavaInstance::getField): + * bridge/jni/v8/JavaNPObjectV8.cpp: + (JSC::Bindings::JavaNPObjectInvoke): + (JSC::Bindings::JavaNPObjectGetProperty): + +2011-03-24 Ojan Vafai <ojan@chromium.org> + + Was being a little braindead when I committed this. + Only simple selectors are allowed, but sibling selectors + are sibling selectors. + + * css/CSSStyleSelector.cpp: + (WebCore::collectFeaturesFromList): + +2011-03-23 MORITA Hajime <morrita@google.com> + + Reviewed by Kent Tamura. + + Spellcheck feature specific symbols should be defined. + https://bugs.webkit.org/show_bug.cgi?id=56818 + + * Introduced USE(UNIFIED_TEXT_CHECKING), USE(GRAMMAR_CHECKING) and USE(AUTOMATIC_TEXT_REPLACEMENT) + * Replaced a part of of BUILDING_ON_* conditionals with them. + + Note that small amount of code path on Editor.cpp is now compiled under USE(GRAMMAR_CHECKING) + because these code path is already built under non-Mac ports and + Keeping them buildable for such platforms reduces the build breakage risk. + These path is guarded by Settings thus should never get reached. + + No new tests. No behavioral change. + + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * editing/Editor.cpp: + (WebCore::Editor::advanceToNextMisspelling): + (WebCore::Editor::isSelectionUngrammatical): + (WebCore::Editor::guessesForUngrammaticalSelection): + (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection): + (WebCore::Editor::markMisspellingsAfterTypingToWord): + (WebCore::Editor::markMisspellingsOrBadGrammar): + (WebCore::Editor::markBadGrammar): + (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): + (WebCore::Editor::changeBackToReplacedString): + (WebCore::Editor::markMisspellingsAndBadGrammar): + * editing/Editor.h: + * editing/TextCheckingHelper.cpp: + (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar): + (WebCore::TextCheckingHelper::findFirstGrammarDetail): + (WebCore::TextCheckingHelper::findFirstBadGrammar): + (WebCore::TextCheckingHelper::isUngrammatical): + (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): + (WebCore::TextCheckingHelper::markAllBadGrammar): + * loader/EmptyClients.h: + * platform/text/TextCheckerClient.h: + * platform/text/TextChecking.h: Added. + +2011-03-23 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + [Chromium] Force to make validation bubble DIV position:absolute + https://bugs.webkit.org/show_bug.cgi?id=56901 + + Test: fast/forms/interactive-validation-crash-by-style-override.html + + * html/ValidationMessage.cpp: + (WebCore::ValidationMessage::buildBubbleTree): Add position:absolute + because we need to move the validation message to a good position. + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::addChild): + +2011-03-23 Mike Lawther <mikelawther@chromium.org> + + Reviewed by Ojan Vafai. + + flex/bison tokens and grammar for CSS calc + https://bugs.webkit.org/show_bug.cgi?id=54412 + + Tests: css3/calc/calc-errors.html + css3/calc/minmax-errors.html + css3/calc/simple-calcs.html + css3/calc/simple-minmax.html + + * css/CSSGrammar.y: + * css/CSSParserValues.cpp: + (WebCore::CSSParserValueList::insertValueAt): + (WebCore::CSSParserValueList::extend): + * css/CSSParserValues.h: + * css/tokenizer.flex: + +2011-03-23 Adam Klein <adamk@chromium.org> + + Reviewed by David Levin. + + Fix resolveLocalFileSystemURL (and sync version) error codes to match the spec + https://bugs.webkit.org/show_bug.cgi?id=56961 + + See error code listing in the Files & Directories spec: + http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#widl-LocalFileSystemSync-resolveLocalFileSystemSyncURL + + Note that the spec currently only specifies errors for the sync + version; I've used the same codes for the async version. + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::resolveLocalFileSystemURL): + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::resolveLocalFileSystemURL): + (WebCore::WorkerContext::resolveLocalFileSystemSyncURL): + +2011-03-23 Jia Pu <jpu@apple.com> + + Reviewed by Darin Adler. + + Hook up new AppKit autocorrection UI with WK2. + https://bugs.webkit.org/show_bug.cgi?id=56055 + <rdar://problem/8947463> + + This patch is to enable WK2 to utilize autocorrection UI on Mac OS X. It contains following + major changes: + + 1. All but one autocorrection related message is synchronous. Since dismissing autocorrection + panel can potentially cause editing to occur, a synchronous dismissCorrectionPanelSoon() function + is introduced to ensure all editing commands occur in correct order. + + 2. Additional condition variable is needed to implement dismissCorrectionPanelSoon(). + To improve maintainability, CorrectionPanel class is introduced to manage the + internal state related to correction panel. This change is applied to both WK1 and WK2. + + 3. EditorClient::isShowingCorrectionPanel() has been removed. The original purpose is to allow + editor to know when to handle ESC key event. Now this is handled internally in AppKit, so + EditorClient::isShowingCorrectionPanel() isn't necessary anymore. + + 4. The Editor* argument in EditorClient::showCorrectionPanel() has been removed, since we can + access object via WebView or WKView. + + * editing/Editor.cpp: + (WebCore::Editor::markMisspellingsAfterTypingToWord): + (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): + (WebCore::Editor::correctionPanelTimerFired): + (WebCore::Editor::dismissCorrectionPanel): + (WebCore::Editor::dismissCorrectionPanelSoon): + (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): + * editing/Editor.h: + * editing/EditorCommand.cpp: + (WebCore::createCommandMap): + * loader/EmptyClients.h: + (WebCore::EmptyEditorClient::showCorrectionPanel): + (WebCore::EmptyEditorClient::dismissCorrectionPanelSoon): + * manual-tests/autocorrection/close-window-when-correction-is-shown.html: Added. + * page/EditorClient.h: + +2011-03-22 Ojan Vafai <ojan@chromium.org> + + Reviewed by Antti Koivisto. + + move :not over to using selectorList instead of simpleSelector + https://bugs.webkit.org/show_bug.cgi?id=56894 + + Saves memory and simplifies code. + + No new tests since existing tests cover this code. + + * css/CSSGrammar.y: + Also removed extranenous calls to updateLastSelectorLineAndPosition in + simple_selector_list. These happened to work, but are only actually + needed in selector_list. + * css/CSSParserValues.h: + * css/CSSSelector.cpp: + (WebCore::CSSSelector::specificityForOneSelector): + Removed null-check. The parser null-checks, I don't see why we need to here. + (WebCore::CSSSelector::selectorText): + Ditto. + (WebCore::CSSSelector::setArgument): + (WebCore::CSSSelector::isSimple): + * css/CSSSelector.h: + * css/CSSSelectorList.cpp: + (WebCore::forEachTagSelector): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + (WebCore::collectFeaturesFromSelector): + (WebCore::collectFeaturesFromList): + +2011-03-23 Carol Szabo <carol.szabo@nokia.com> + + Reviewed by David Hyatt. + + Made sure that renderers displaying counters are invalidated upon + counter destruction. + + Assertion and incorrect rendering of counters. + https://bugs.webkit.org/show_bug.cgi?id=56896 + + Test: fast/css/counters/2displays.html + + * rendering/CounterNode.cpp: + (WebCore::CounterNode::~CounterNode): + Added to make sure that its display renderers are always reset when + the node is deleted. + (WebCore::CounterNode::resetRenderers): + Fixed bug that would prevent reset of second and subsequent + display renderers. + * rendering/CounterNode.h: + * rendering/RenderCounter.cpp: + (WebCore::destroyCounterNodeWithoutMapRemoval): + removed unnecessary calls to resetRenderers() as the CounterNode + destructor takes care of that now. + +2011-03-23 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Maciej Stachowiak. + + WebKit2: Need API to manage the Media Cache + https://bugs.webkit.org/show_bug.cgi?id=56878 + <rdar://problem/9082503> + + Add functions that need to be exported. + + * WebCore.exp.in: + +2011-03-23 Robert Kroeger <rjkroege@chromium.org> + + Reviewed by James Robinson. + + Correct use of ENABLE() Macro + + In http://trac.webkit.org/changeset/81618, I mis-used the ENABLE() + macro. This patch corrects. + + https://bugs.webkit.org/show_bug.cgi?id=56964 + + * page/EventHandler.cpp: + (WebCore::EventHandler::EventHandler): + (WebCore::EventHandler::handleTouchEvent): + * page/EventHandler.h: + +2011-03-23 Jer Noble <jer.noble@apple.com> + + Reviewed by Simon Fraser. + + Scrubbing <video> with HTTP Live Stream resizes element to 0x0 + https://bugs.webkit.org/show_bug.cgi?id=55702 + + QTKit will occasionally set the natural size of a QTMovie to 0x0 while scrubbing + an HTTP Live Stream. So we will cache the last valid value returned by QTKit + and use that as our naturalSize until a new valid value is returned. + + Unfortunately, QTKit will also fail to generate a notification when the natural size + changes, so we are forced to cache the natural size from within naturalSize(), which + is a const function, necessitating a const_cast to set m_cachedNaturalSize. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Added m_cachedNaturalSize. + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit): Initialize m_cachedNaturalSize. + (WebCore::MediaPlayerPrivateQTKit::naturalSize): + +2011-03-23 Alexey Proskuryakov <ap@apple.com> + + Build fix. + + * loader/FrameLoader.cpp: (WebCore::FrameLoader::checkLoadCompleteForThisFrame): + Removed a stray parenthesis. + +2011-03-23 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Maciej Stachowiak. + + REGRESSION: Infinite recursion in recursiveCheckLoadComplete()/checkLoadCompleteForThisFrame()/stopLoading() + https://bugs.webkit.org/show_bug.cgi?id=56978 + <rdar://problem/9041670> + + No new tests, because there is no known way to reproduce. + + Removed strange code that was trying to stop a non-loading provisional document loader and + even its subframes (?!). Added assertions to catch it if we can actually be loading here in + some sense. + Rewrote a condition for clarity - starting with r43148, it was acting as an opposite of a + recursion guard (but that didn't cause immediate problems then). + + * loader/FrameLoader.cpp: (WebCore::FrameLoader::checkLoadCompleteForThisFrame): + +2011-03-23 Brady Eidson <beidson@apple.com> + + Attempt to fix the build for platforms that have the icon database + disabled but still provide settings API for it...? + + * loader/icon/IconDatabase.h: + (WebCore::IconDatabase::defaultDatabaseFilename): + +2011-03-23 Mark Rowe <mrowe@apple.com> + + Fix the build. + + * WebCore.exp.in: Export the new version of IconDatabase::open. + +2011-03-23 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig. + + Change IconDatabase opening to allow for arbitrary filenames + https://bugs.webkit.org/show_bug.cgi?id=56977 + + * WebCore.exp.in: + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::open): + * loader/icon/IconDatabase.h: + * loader/icon/IconDatabaseBase.cpp: + (WebCore::IconDatabaseBase::open): + * loader/icon/IconDatabaseBase.h: + * loader/icon/IconDatabaseClient.h: + +2011-03-23 Kenneth Russell <kbr@google.com> + + Reviewed by James Robinson. + + [chromium] WebGLRenderingContext and other DOMWindow properties should remain if WebGL is disabled + https://bugs.webkit.org/show_bug.cgi?id=56947 + + Removed the RuntimeEnabledFeatures setting for WebGL and the + EnabledAtRuntime extended attribute from the WebGL-related + properties on the DOMWindow. WebGL support is now controlled + exclusively through the page's Settings. + + No new tests; tested manually in Chromium with --disable-webgl + command line argument and blacklist. + + * bindings/generic/RuntimeEnabledFeatures.cpp: + * bindings/generic/RuntimeEnabledFeatures.h: + * page/DOMWindow.idl: + +2011-03-23 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r81802. + http://trac.webkit.org/changeset/81802 + https://bugs.webkit.org/show_bug.cgi?id=56963 + + Broke a layout test, and this fix is not trivial. (Requested + by dhyatt on #webkit). + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::layoutOnlyPositionedObjects): + * rendering/RenderBlock.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::styleDidChange): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::styleWillChange): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutBlock): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::RenderObject): + (WebCore::RenderObject::adjustStyleDifference): + (WebCore::RenderObject::setStyle): + (WebCore::RenderObject::styleDidChange): + * rendering/RenderObject.h: + (WebCore::RenderObject::needsLayout): + (WebCore::RenderObject::needsPositionedMovementLayoutOnly): + (WebCore::RenderObject::setNeedsLayout): + (WebCore::RenderObject::setChildNeedsLayout): + (WebCore::RenderObject::markContainingBlocksForLayout): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::layout): + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::diff): + * rendering/style/RenderStyleConstants.h: + * rendering/svg/RenderSVGText.cpp: + (WebCore::RenderSVGText::layout): + +2011-03-23 Luiz Agostini <luiz.agostini@openbossa.org> + + Reviewed by David Hyatt. + + REGRESSION(81035): crash in RenderDetails::removeChild + https://bugs.webkit.org/show_bug.cgi?id=56773 + + Test: fast/html/details-children-merge-crash.html + + Preventing merging of RenderDetails's anonymous children. + + * rendering/RenderBlock.cpp: + (WebCore::canMergeContiguousAnonymousBlocks): + + Fixing RenderDetails::removeChild and cleaning m_marker in RenderDetails::destroy. + + * rendering/RenderDetails.cpp: + (WebCore::RenderDetails::destroy): + (WebCore::RenderDetails::removeChild): + +2011-03-23 Xiaomei Ji <xji@chromium.org> + + Reviewed by David Hyatt. + + Preserve unicode-bidi:bidi-override in anonymous block. + https://bugs.webkit.org/show_bug.cgi?id=21440 + + unicode-bidi:bidi-override should be preserved in anonymous block + according to http://www.w3.org/TR/CSS21/visuren.html#propdef-unicode-bidi. + + Introduce a helper function RenderStyle()::createAnonymousStyle() which + creates a default RenderStyle, inherits the inherited style from parent, + and inherit unicode-bidi:bidi-override from parent. + And replace the style creation when anonymous block is created. + + Note: the TABLE releated anonymous blocks are untouched, including: + TABLE, TABLE_CELL, TABLE_ROW, TABLE_ROW_GROUP anonymous blocks created in + RenderObject, RenderTable, RenderTableRow, and RenderTableSection, + due to the expected behavior is not clear. + Please refer to https://bugs.webkit.org/show_bug.cgi?id=56594. + + Test: fast/css/bidi-override-in-anonymous-block.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::styleDidChange): + (WebCore::RenderBlock::removeChild): + (WebCore::RenderBlock::createAnonymousBlock): + (WebCore::RenderBlock::createAnonymousColumnsBlock): + (WebCore::RenderBlock::createAnonymousColumnSpanBlock): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::addChildIgnoringContinuation): + * rendering/RenderRubyRun.cpp: + (WebCore::RenderRubyRun::createRubyBase): + (WebCore::RenderRubyRun::staticCreateRubyRun): + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::createAnonymousStyle): + * rendering/style/RenderStyle.h: + +2011-03-23 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=56909 + + Add a simplified normal flow layout path optimization for overflow recomputation + and for positioned objects inside relative positioned containers. + + Currently there is an optimized code path for positioned objects, but as soon as + we encounter a normal flow object in the containing block chain, we lose the + optimization. + + This patch adds a new type of style difference called SimplifiedLayout that is + returned when only overflow needs to be recomputed. Whenever opacity changes or + a transform changes, this is the hint returned now instead of a full layout. + + In addition, when positioned objects need layout and start marking up the + containing block chain, we now propagate the fact that the layout is simplified + all the way up to the root, even when we encounter normal flow containing + blocks. + + The layoutOnlyPositionedObjects function has been renamed to simplifiedLayout() + and is now used for all of these cases (in addition to what it handled before). + + No new tests, since existing tests covered this very well (especially the opacity + and transforms repaint tests in fast/repaint). + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::simplifiedNormalFlowLayout): + (WebCore::RenderBlock::simplifiedLayout): + * rendering/RenderBlock.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::styleDidChange): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::styleWillChange): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutBlock): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::RenderObject): + (WebCore::RenderObject::adjustStyleDifference): + (WebCore::RenderObject::setStyle): + (WebCore::RenderObject::styleDidChange): + * rendering/RenderObject.h: + (WebCore::RenderObject::needsLayout): + (WebCore::RenderObject::needsPositionedMovementLayoutOnly): + (WebCore::RenderObject::needsSimplifiedNormalFlowLayout): + (WebCore::RenderObject::setNeedsLayout): + (WebCore::RenderObject::setChildNeedsLayout): + (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout): + (WebCore::RenderObject::markContainingBlocksForLayout): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::layout): + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::diff): + * rendering/style/RenderStyleConstants.h: + * rendering/svg/RenderSVGText.cpp: + (WebCore::RenderSVGText::layout): + +2011-03-23 Tyler Close <tjclose@chromium.org> + + Reviewed by Jeremy Orlow. + + Fix ambiguous method call in V8 IDL generated code for DOMStringList callback parameter + https://bugs.webkit.org/show_bug.cgi?id=56950 + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/scripts/test/CPP/WebDOMTestCallback.cpp: + (WebDOMTestCallback::callbackWithStringList): + * bindings/scripts/test/CPP/WebDOMTestCallback.h: + * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: + (webkit_dom_test_callback_callback_with_string_list): + * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: + * bindings/scripts/test/JS/JSTestCallback.cpp: + (WebCore::JSTestCallback::callbackWithStringList): + * bindings/scripts/test/JS/JSTestCallback.h: + * bindings/scripts/test/ObjC/DOMTestCallback.h: + * bindings/scripts/test/ObjC/DOMTestCallback.mm: + (-[DOMTestCallback callbackWithStringList:]): + * bindings/scripts/test/TestCallback.idl: + * bindings/scripts/test/V8/V8TestCallback.cpp: + (WebCore::V8TestCallback::callbackWithStringList): + * bindings/scripts/test/V8/V8TestCallback.h: + +2011-03-23 Cris Neckar <cdn@chromium.org> + + Reviewed by Eric Seidel. + + Add refptr for widget. Mutations can happen within the event handler. + https://bugs.webkit.org/show_bug.cgi?id=56774 + + Test: plugins/change-widget-and-click-crash.html + + * html/HTMLPlugInElement.cpp: + (WebCore::HTMLPlugInElement::defaultEventHandler): + +2011-03-23 Abhishek Arya <inferno@chromium.org> + + Reviewed by Dave Hyatt. + + Add combine text cast checks since style property is insufficient + in telling object types. + https://bugs.webkit.org/show_bug.cgi?id=56358 + + Test: fast/text/input-box-text-fragment-combine-text-crash.html + + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paint): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::computeInlinePreferredLogicalWidths): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::findNextLineBreak): + * rendering/RenderText.cpp: + (WebCore::RenderText::widthFromCache): + +2011-03-23 Andreas Kling <kling@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] "Unwavering" HTML5 game freezes the web page. + https://bugs.webkit.org/show_bug.cgi?id=56944 + + For canvas's getImageData() API, we don't want to make a deep-copy of + the pixels, which is the case on Qt's "raster" graphics system. + + To work around this, we trick QPixmap::toImage() into giving us the + QPixmap's backing QImage by temporarily pointing the paint engine to + a null paint device. + + * platform/graphics/qt/ImageBufferData.h: + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::ImageBufferData::toQImage): Added, returns the + ImageBufferData as a QImage, avoiding a backend deep-copy if possible. + (WebCore::ImageBuffer::platformTransformColorSpace): + (WebCore::getImageData): + +2011-03-23 Viet-Trung Luu <viettrungluu@chromium.org> + + Reviewed by Tony Chang. + + [chromium] Add FormatPlainText to WebClipboard::Format enumeration. + https://bugs.webkit.org/show_bug.cgi?id=56868 + + Chromium's WebClipboard::isFormatAvailable() will be correspondingly + extended. + + * platform/chromium/PasteboardPrivate.h: Add corresponding enum entry. + This part of the change is inert and should have no effect. + +2011-03-23 Tyler Close <tjclose@chromium.org> + + Reviewed by Jeremy Orlow. + + run-bindings-tests reference files are out of sync with CodeGenerator*.pm + https://bugs.webkit.org/show_bug.cgi?id=56934 + + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: + * bindings/scripts/test/GObject/WebKitDOMTestObj.h: + * bindings/scripts/test/JS/JSTestInterface.cpp: + (WebCore::JSTestInterfaceConstructor::createStructure): + (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor): + (WebCore::JSTestInterface::createPrototype): + * bindings/scripts/test/JS/JSTestInterface.h: + (WebCore::JSTestInterface::createStructure): + (WebCore::JSTestInterfacePrototype::createStructure): + * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: + (WebCore::JSTestMediaQueryListListenerConstructor::createStructure): + (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor): + (WebCore::JSTestMediaQueryListListener::createPrototype): + * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: + (WebCore::JSTestMediaQueryListListener::createStructure): + (WebCore::JSTestMediaQueryListListenerPrototype::createStructure): + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore::JSTestObjConstructor::createStructure): + (WebCore::JSTestObjConstructor::JSTestObjConstructor): + (WebCore::JSTestObj::createPrototype): + * bindings/scripts/test/JS/JSTestObj.h: + (WebCore::JSTestObj::createStructure): + (WebCore::JSTestObjPrototype::createStructure): + * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: + (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure): + (WebCore::JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor): + (WebCore::JSTestSerializedScriptValueInterface::createPrototype): + * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: + (WebCore::JSTestSerializedScriptValueInterface::createStructure): + (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure): + * bindings/scripts/test/V8/V8TestCallback.cpp: + * bindings/scripts/test/V8/V8TestInterface.cpp: + (WebCore::V8TestInterface::wrapSlow): + * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: + (WebCore::V8TestMediaQueryListListener::wrapSlow): + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::V8TestObj::wrapSlow): + * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: + (WebCore::V8TestSerializedScriptValueInterface::wrapSlow): + +2011-03-23 Daniel Bates <dbates@rim.com> + + Reviewed by Antonio Gomes. + + Clean up: Rename HTMLFrameSetElement::{noresize, frameborder, and frameBorderSet} + to conform to the WebKit Code style guidelines + https://bugs.webkit.org/show_bug.cgi?id=56871 + + No functionality changed. So, no new tests. + + * html/HTMLFrameSetElement.cpp: + (WebCore::HTMLFrameSetElement::HTMLFrameSetElement): + (WebCore::HTMLFrameSetElement::parseMappedAttribute): + (WebCore::HTMLFrameSetElement::attach): + (WebCore::HTMLFrameSetElement::defaultEventHandler): + * html/HTMLFrameSetElement.h: + (WebCore::HTMLFrameSetElement::hasFrameBorder): + (WebCore::HTMLFrameSetElement::noResize): + +2011-03-23 Abhishek Arya <inferno@chromium.org> + + Reviewed by Dan Bernstein. + + Replace height with logicalHeight when removing items from + gPercentHeightDescendantMap so that it is writing mode aware. + https://bugs.webkit.org/show_bug.cgi?id=56902 + + Test: fast/block/percent-height-descendant-not-removed-crash.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::destroy): + (WebCore::RenderBox::styleDidChange): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::destroy): + +2011-03-23 Anders Carlsson <andersca@apple.com> + + Fix clang build. + + * inspector/DOMNodeHighlighter.cpp: + Remove an unused function. + +2011-03-22 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig. + + Add asynchronous load decision call to WebKit2 IconDatabase + https://bugs.webkit.org/show_bug.cgi?id=56887 + + Clear the callback when it's made: + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::continueIconLoadWithDecision): + + Don't load icons when using new-style icon database if in private browsing: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::continueIconLoadWithDecision): + + Enhance the IconDatabase callbacks to have an ID and inherit from a common base: + * loader/icon/IconDatabaseBase.h: + (WebCore::CallbackBase::~CallbackBase): + (WebCore::CallbackBase::callbackID): + (WebCore::CallbackBase::CallbackBase): + (WebCore::CallbackBase::context): + (WebCore::CallbackBase::generateCallbackID): + (WebCore::EnumCallback::performCallback): + (WebCore::EnumCallback::EnumCallback): + (WebCore::ObjectCallback::performCallback): + (WebCore::ObjectCallback::ObjectCallback): + +2011-03-21 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: move scripts concatenation logic to SourceFile. + https://bugs.webkit.org/show_bug.cgi?id=56756 + + * inspector/front-end/ScriptsPanel.js: + * inspector/front-end/SourceFile.js: + (WebInspector.SourceFile.prototype._requestContent): + (WebInspector.SourceFile.prototype._loadResourceContent): + (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent): + (WebInspector.SourceFile.prototype._concatenateScriptsContent): + +2011-03-23 Leandro Gracia Gil <leandrogracia@chromium.org> + + Reviewed by Steve Block. + + Media Stream API: add a flag to RuntimeEnabledFeatures. + https://bugs.webkit.org/show_bug.cgi?id=56921 + + Add a flag to RuntimeEnabledFeatures to check if the Media Stream API is enabled at runtime. + + Tests for the Media Stream API will be provided by the bug 56587. + + * bindings/generic/RuntimeEnabledFeatures.cpp: + * bindings/generic/RuntimeEnabledFeatures.h: + (WebCore::RuntimeEnabledFeatures::mediaStreamEnabled): + (WebCore::RuntimeEnabledFeatures::setMediaStreamEnabled): + (WebCore::RuntimeEnabledFeatures::webkitGetUserMediaEnabled): + +2011-03-23 Carol Szabo <carol.szabo@nokia.com> + + Reviewed by David Hyatt. + + Modified RenderCounter::originalText() to correctly attach + the created counter to the before/after container even when + that is not the RenderCounter's direct parent. + + CSS 2.1 failure: various before-after-* tests fail + https://bugs.webkit.org/show_bug.cgi?id=47207 + + Test: fast/css/counters/complex-before.html + + * rendering/RenderCounter.cpp: + (WebCore::RenderCounter::originalText): + +2011-03-23 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Reviewed by Antonio Gomes. + + [EFL] Add play / pause button to media control + https://bugs.webkit.org/show_bug.cgi?id=55463 + + Add play|pause button to media control. + + * platform/efl/RenderThemeEfl.cpp: + (WebCore::RenderThemeEfl::edjeGroupFromFormType): + (WebCore::RenderThemeEfl::emitMediaButtonSignal): Added. + (WebCore::RenderThemeEfl::paintMediaPlayButton): + * platform/efl/RenderThemeEfl.h: + +2011-03-23 Aparna Nandyal <aparna.nand@wipro.com> + + Reviewed by Andreas Kling. + + [Qt] QtWebKit rendering problem when maximizing and doing a back + https://bugs.webkit.org/show_bug.cgi?id=56669 + + Contents of the page are not re-sized on going back after + maximizing. ContentsResized() is not getting called. Hence old + document width and height are used. Corrected this behaviour by + calling setBoundsSize() which calls contentsSize(). + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::open): + +2011-03-21 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: add support for formating source files in debugger presentation model. + https://bugs.webkit.org/show_bug.cgi?id=56558 + + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype.reset): + (WebInspector.DebuggerModel.prototype.get scripts): + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel): + (WebInspector.DebuggerPresentationModel.prototype._addScript): + (WebInspector.DebuggerPresentationModel.prototype._refreshBreakpoints): + (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): + (WebInspector.DebuggerPresentationModel.prototype.continueToLine): + (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): + (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame): + (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript): + (WebInspector.DebuggerPresentationModel.prototype._reset): + * inspector/front-end/ScriptFormatter.js: + (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks): + (WebInspector.ScriptFormatter.prototype.formatContent): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype.reset): + (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles): + * inspector/front-end/Settings.js: + * inspector/front-end/SourceFile.js: + (WebInspector.SourceFile.prototype.scriptLocationToSourceLocation): + (WebInspector.SourceFile.prototype.sourceLocationToScriptLocation): + (WebInspector.FormattedSourceFile): + (WebInspector.FormattedSourceFile.prototype.scriptLocationToSourceLocation): + (WebInspector.FormattedSourceFile.prototype.sourceLocationToScriptLocation): + (WebInspector.FormattedSourceFile.prototype._didRequestContent): + +2011-03-23 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: use unsigned char instead of char when storing script source + https://bugs.webkit.org/show_bug.cgi?id=56920 + + * bindings/v8/DebuggerScript.js: + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled): + * inspector/InjectedScriptManager.cpp: + (WebCore::InjectedScriptManager::injectedScriptSource): + * inspector/InjectedScriptSource.js: whitespace change to trigger compilation + * inspector/xxd.pl: + * xml/XMLViewer.xsl: + +2011-03-23 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: move node searching and node highlight related methods from InspectorAgent to InspectorDOMAgent. + https://bugs.webkit.org/show_bug.cgi?id=56912 + + The next functions were moved: + setSearchingForNode + highlightDOMNode + hideDOMNodeHighlight + highlightFrame + hideFrameHighlight + mouseDidMoveOverElement + handleMousePress + + The code which does real highlight in Graphic context was moved to new files DOMNodeHighlighter.* + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * inspector/DOMNodeHighlighter.cpp: Added. + (WebCore::DOMNodeHighlighter::DrawNodeHighlight): + * inspector/DOMNodeHighlighter.h: Added. + * inspector/Inspector.json: + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::InspectorAgent): + (WebCore::InspectorAgent::~InspectorAgent): + (WebCore::InspectorAgent::inspectedPageDestroyed): + (WebCore::InspectorAgent::disconnectFrontend): + * inspector/InspectorAgent.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::drawNodeHighlight): + (WebCore::InspectorController::hideHighlight): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::InspectorDOMAgent): + (WebCore::InspectorDOMAgent::~InspectorDOMAgent): + (WebCore::InspectorDOMAgent::clearFrontend): + (WebCore::InspectorDOMAgent::handleMousePress): + (WebCore::InspectorDOMAgent::mouseDidMoveOverElement): + (WebCore::InspectorDOMAgent::searchingForNodeInPage): + (WebCore::InspectorDOMAgent::setSearchingForNode): + (WebCore::InspectorDOMAgent::highlight): + (WebCore::InspectorDOMAgent::highlightDOMNode): + (WebCore::InspectorDOMAgent::highlightFrame): + (WebCore::InspectorDOMAgent::hideHighlight): + (WebCore::InspectorDOMAgent::drawNodeHighlight): + * inspector/InspectorDOMAgent.h: + (WebCore::InspectorDOMAgent::hideDOMNodeHighlight): + (WebCore::InspectorDOMAgent::hideFrameHighlight): + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl): + (WebCore::InspectorInstrumentation::handleMousePressImpl): + * inspector/InstrumentingAgents.h: + (WebCore::InstrumentingAgents::InstrumentingAgents): + (WebCore::InstrumentingAgents::inspectorAgent): + (WebCore::InstrumentingAgents::setInspectorAgent): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.setSearchingForNode): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.FrameTreeElement.prototype.onselect): + (WebInspector.FrameTreeElement.prototype.set hovered): + * inspector/front-end/inspector.js: + (WebInspector.highlightDOMNode): + +2011-03-23 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Rollout r81768 which broke compilation on Win. + + * xml/XMLTreeViewer.cpp: + (WebCore::XMLTreeViewer::transformDocumentToTreeView): + * xml/XMLViewer.xsl: + +2011-03-23 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: remove unnecessary reinterpret_cast in XMLTreeViewer + https://bugs.webkit.org/show_bug.cgi?id=56919 + + * xml/XMLTreeViewer.cpp: + (WebCore::XMLTreeViewer::transformDocumentToTreeView): + * xml/XMLViewer.xsl: whitespace change to trigger compilation. + +2011-03-21 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: move content loading logic to a new SourceFile class. + https://bugs.webkit.org/show_bug.cgi?id=56748 + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent): + (WebInspector.DebuggerPresentationModel.prototype._addScript.contentChanged): + (WebInspector.DebuggerPresentationModel.prototype._addScript): + (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged): + (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame): + * inspector/front-end/SourceFile.js: Added. + (WebInspector.SourceFile): + (WebInspector.SourceFile.prototype.addScript): + (WebInspector.SourceFile.prototype.requestContent): + (WebInspector.SourceFile.prototype.forceLoadContent): + (WebInspector.SourceFile.prototype.reload): + (WebInspector.SourceFile.prototype._requestContent): + (WebInspector.SourceFile.prototype._loadResourceContent): + (WebInspector.SourceFile.prototype._loadScriptContent): + (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent): + (WebInspector.SourceFile.prototype._didRequestContent): + (WebInspector.SourceFile.prototype._hasPendingResource): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + +2011-03-23 Pavel Podivilov <podivilov@chromium.org> + + Unreviewed, fix compilation broken by r81758. + + * xml/XMLTreeViewer.cpp: + (WebCore::XMLTreeViewer::transformDocumentToTreeView): + +2011-03-23 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: define array types properly in the Inspector.json + https://bugs.webkit.org/show_bug.cgi?id=56915 + + * inspector/Inspector.json: + * inspector/generate-inspector-idl: + +2011-03-23 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + [V8] Web Inspector: compile DebuggerScript.js into DebuggerScriptSource.h + https://bugs.webkit.org/show_bug.cgi?id=56843 + + * inspector/front-end/WebKit.qrc: + +2011-03-23 Andrey Adaikin <aandrey@google.com> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Add a star while editing a source code + https://bugs.webkit.org/show_bug.cgi?id=56743 + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited): + (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSourceIsBeingEdited): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._startEditing): + (WebInspector.SourceFrame.prototype._registerShortcuts): + (WebInspector.SourceFrame.prototype._handleSave): + (WebInspector.SourceFrame.prototype._handleRevertEditing): + (WebInspector.SourceFrameDelegate.prototype.setScriptSourceIsBeingEdited): + +2011-03-23 Andrey Adaikin <aandrey@google.com> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Scrolling and navigation is not smooth on a script with many long lines + https://bugs.webkit.org/show_bug.cgi?id=56559 + + * inspector/front-end/TextViewer.js: + (WebInspector.TextEditorChunkedPanel.prototype._expandChunks): + (WebInspector.TextEditorMainPanel.prototype._expandChunks): + (WebInspector.TextEditorMainPanel.prototype._highlightDataReady): + (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines): + (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines): + (WebInspector.TextEditorMainPanel.prototype._restorePaintLinesOperationsCredit): + (WebInspector.TextEditorMainPanel.prototype._paintLines): + (WebInspector.TextEditorMainPanel.prototype._paintLine): + (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates): + +2011-03-22 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + [V8] Web Inspector: compile DebuggerScript.js into DebuggerScriptSource.h + https://bugs.webkit.org/show_bug.cgi?id=56843 + + DebuggerScript.js is now translated into a char[] array before inspector compilation. + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled): + * bindings/v8/ScriptDebugServer.h: + * inspector/InjectedScriptManager.cpp: + (WebCore::InjectedScriptManager::injectedScriptSource): + * inspector/InjectedScriptSource.js: whitespace change to trigger InjectedScriptSource.h generation. + * inspector/xxd.pl: + +2011-03-23 Mark Rowe <mrowe@apple.com> + + Fix the 32-bit build. + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::initializeNewContext): + +2011-03-22 Noel Gordon <noel.gordon@gmail.com> + + Reviewed by Ojan Vafai. + + [chromium] skia image encoders should use <wtf/Vector.h> + https://bugs.webkit.org/show_bug.cgi?id=56893 + + No new tests. Covered by existing canvas.toDataURL tests. + + * platform/image-encoders/skia/JPEGImageEncoder.h: + * platform/image-encoders/skia/PNGImageEncoder.h: + +2011-03-22 David Hyatt <hyatt@apple.com> + + Reviewed by Beth Dakin. + + Move the cellWidthChanged bit out of RenderObject and back down into RenderTableCell in order to + free up a bit for another performance optimization I have planned. + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::RenderObject): + * rendering/RenderObject.h: + (WebCore::RenderObject::setHasColumns): + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::RenderTableCell): + * rendering/RenderTableCell.h: + (WebCore::RenderTableCell::cellWidthChanged): + (WebCore::RenderTableCell::setCellWidthChanged): + +2011-03-22 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=56892 + + Adding floats to an empty block is O(n^2). + + If you just add floats back to back to an empty block, the addition is essentially O(n^2) + once the floats move below your current line position. This is because we repeatedly ask for the + available width for the line from scratch every time we add a float, regardless of whether the + float even vertically intersected our current line position. + + Change positionNewFloatOnLine to update left and right line offsets intelligently and to only + do it based off the single new float that just got added. + + This fix cuts the IE MazeSolver time in half. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::positionNewFloatOnLine): + * rendering/RenderBlock.h: + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::skipLeadingWhitespace): + (WebCore::RenderBlock::findNextLineBreak): + +2011-03-22 Beth Dakin <bdakin@apple.com> + + Reviewed by Sam Weinig. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=56890 It is possible to calculate a + NaN value for "value" in ScrollbarThemeMac::paint() + -and corresponding- + <rdar://problem/9160621> + + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::ScrollbarThemeMac::paint): + +2011-03-17 Ojan Vafai <ojan@chromium.org> + + Reviewed by Antti Koivisto. + + webkit should implement -moz-any selector (as -webkit-any obviously) + https://bugs.webkit.org/show_bug.cgi?id=38095 + + For now, match the Mozilla implementation with respect to specificity + and only allowing simple selectors. Both of these are likely to change + pending discussion on www-style@. + + Tests: fast/css/pseudo-any.html + fast/dom/SelectorAPI/unknown-pseudo.html + + * css/CSSGrammar.y: + Create simple_selector_list. This is exactly like selector_list + except it only allows simple selectors and creates a new vector + instead of a reusable one since there can be multiple in one rule. + * css/CSSParser.cpp: + (WebCore::CSSParser::~CSSParser): + (WebCore::CSSParser::lex): + (WebCore::CSSParser::createFloatingSelectorVector): + (WebCore::CSSParser::sinkFloatingSelectorVector): + * css/CSSParser.h: + * css/CSSParserValues.cpp: + (WebCore::CSSParserSelector::adoptSelectorVector): + * css/CSSParserValues.h: + * css/CSSSelector.cpp: + (WebCore::CSSSelector::specificityForOneSelector): + (WebCore::CSSSelector::pseudoId): + (WebCore::nameToPseudoTypeMap): + (WebCore::CSSSelector::extractPseudoType): + (WebCore::CSSSelector::selectorText): + (WebCore::CSSSelector::setSelectorList): + (WebCore::CSSSelector::RareData::RareData): + (WebCore::CSSSelector::RareData::~RareData): + These need to be moved into the cpp file so that we can + have an OwnPtr<CSSSelectorList> in CSSSelector::RareData. + * css/CSSSelector.h: + (WebCore::CSSSelector::selectorList): + * css/CSSSelectorList.cpp: + (WebCore::forEachTagSelector): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + (WebCore::collectFeaturesFromSelector): + * css/tokenizer.flex: + +2011-03-22 John Bauman <jbauman@chromium.org> + + Reviewed by Kenneth Russell. + + Add support for preserveDrawingBuffer context creation attribute + https://bugs.webkit.org/show_bug.cgi?id=56431 + + For the accelerated compositing case, only prepare the texture if it + has been updated since the last composite. For the non-accelerated case, make sure to + grab a copy of the image buffer and paint from that if the backbuffer + would be cleared. + + In both cases, make sure to clear the context's backbuffer before the + first operation that uses it. + + No new tests. It seems to be difficult/impossible to trigger an early + compositing operation in DumpRenderTree, making this hard to + test automatically. However, Chromium and Safari (Mac) have been + tested manually on the webgl conformance test for this. + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::paint): + (WebCore::HTMLCanvasElement::makePresentationCopy): + (WebCore::HTMLCanvasElement::clearPresentationCopy): + * html/HTMLCanvasElement.h: + * html/canvas/WebGLContextAttributes.cpp: + (WebCore::WebGLContextAttributes::preserveDrawingBuffer): + (WebCore::WebGLContextAttributes::setPreserveDrawingBuffer): + * html/canvas/WebGLContextAttributes.h: + * html/canvas/WebGLContextAttributes.idl: + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::initializeNewContext): + (WebCore::WebGLRenderingContext::markContextChanged): + (WebCore::WebGLRenderingContext::clearIfComposited): + (WebCore::WebGLRenderingContext::markLayerComposited): + (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas): + (WebCore::WebGLRenderingContext::paintRenderingResultsToImageData): + (WebCore::WebGLRenderingContext::clear): + (WebCore::WebGLRenderingContext::clearColor): + (WebCore::WebGLRenderingContext::clearDepth): + (WebCore::WebGLRenderingContext::clearStencil): + (WebCore::WebGLRenderingContext::colorMask): + (WebCore::WebGLRenderingContext::disable): + (WebCore::WebGLRenderingContext::drawArrays): + (WebCore::WebGLRenderingContext::drawElements): + (WebCore::WebGLRenderingContext::enable): + (WebCore::WebGLRenderingContext::readPixels): + * html/canvas/WebGLRenderingContext.h: + * platform/graphics/GraphicsContext3D.h: + (WebCore::GraphicsContext3D::Attributes::Attributes): + * platform/graphics/chromium/WebGLLayerChromium.cpp: + (WebCore::WebGLLayerChromium::updateContentsIfDirty): + (WebCore::WebGLLayerChromium::textureUpdated): + (WebCore::WebGLLayerChromium::setContext): + * platform/graphics/chromium/WebGLLayerChromium.h: + * platform/graphics/mac/GraphicsContext3DMac.mm + (WebCore::GraphicsContext3D::GraphicsContext3D): + (WebCore::GraphicsContext3D::~GraphicsContext3D): + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::reshape): + (WebCore::GraphicsContext3D::prepareTexture): + (WebCore::GraphicsContext3D::activeTexture): + (WebCore::GraphicsContext3D::bindTexture): + (WebCore::GraphicsContext3D::markContextChanged): + (WebCore::GraphicsContext3D::markLayerComposited): + (WebCore::GraphicsContext3D::layerComposited): + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): + (WebCore::GraphicsContext3D::markLayerComposited): + (WebCore::GraphicsContext3D::markContextChanged): + (WebCore::GraphicsContext3D::layerComposited): + +2011-03-22 Sam Weinig <sam@webkit.org> + + Reviewed by Mark Rowe. + + Remove USE_WK_SCROLLBAR_PAINTER_AND_CONTROLLER. + <rdar://problem/8944718> + + * DerivedSources.make: + Remove generation of HeaderDetection.h. + + * WebCore.xcodeproj/project.pbxproj: + Remove HeaderDetection.h. + + * platform/mac/ScrollAnimatorMac.h: + * platform/mac/ScrollAnimatorMac.mm: + * platform/mac/ScrollbarThemeMac.h: + * platform/mac/ScrollbarThemeMac.mm: + Replace use of USE_WK_SCROLLBAR_PAINTER_AND_CONTROLLER with USE(WK_SCROLLBAR_PAINTER). + +2011-03-22 Victoria Kirst <vrk@google.com> + + Reviewed by Kenneth Russell. + + [chromium] Properly reset VideoLayerChromium textures after lost renderer context + https://bugs.webkit.org/show_bug.cgi?id=56514 + + The VideoLayerChromium textures were still mapped to the old + renderer's context when LayerRendererChromium was being recreated + i.e. when GPU process is killed. This patch allows VideoLayerChromium + it recreate textures in the new context when the old renderer is lost. + Patch also does a bit of refactoring and code clean-up. + + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::~VideoLayerChromium): + (WebCore::VideoLayerChromium::cleanupResources): + (WebCore::VideoLayerChromium::updateContentsIfDirty): + (WebCore::VideoLayerChromium::allocateTexturesIfNeeded): + (WebCore::VideoLayerChromium::computeVisibleSize): + (WebCore::VideoLayerChromium::drawYUV): + (WebCore::VideoLayerChromium::drawRGBA): + (WebCore::VideoLayerChromium::resetFrameParameters): + (WebCore::VideoLayerChromium::saveCurrentFrame): + * platform/graphics/chromium/VideoLayerChromium.h: + +2011-03-22 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + WebCore GYP build should export the headers needed by WebKit + https://bugs.webkit.org/show_bug.cgi?id=56883 + + * WebCore.gypi: + * gyp/WebCore.gyp: + - Export a couple more headers. + - Remove FIXME comments for things we've already fixed. + +2011-03-22 Anton D'Auria <adauria@apple.com> + + Reviewed by Alexey Proskuryakov. + + Add +[WebApplicationCache getOriginsWithCache] + https://bugs.webkit.org/show_bug.cgi?id=56722 + + Added test that exercises WebCore API to get origins with application cache. + + Test: http/tests/appcache/origins-with-appcache.html + + * loader/appcache/ApplicationCacheStorage.cpp: + (WebCore::ApplicationCacheStorage::getOriginsWithCache): + * loader/appcache/ApplicationCacheStorage.h: + +2011-03-22 Carol Szabo <carol.szabo@nokia.com> + + Reviewed by David Hyatt. + + Introduced double linkage between a CounterNode and its display renderer. + + use of freed pointer in WebCore::RenderCounter::originalText() + https://bugs.webkit.org/show_bug.cgi?id=56065 + + No new tests. This bug could only be reproduced manually by + refreshing the page during load at a critical point. + See bug attachment for testing. + + * rendering/CounterNode.cpp: + Introduced new member "m_owner" to store the renderer that has the + style directives that produce the CounterNode. + Repurposed m_renderer to reffer to the RenderCounter that shows the + CounterNode. + (WebCore::CounterNode::CounterNode): + Updated member initialization. + (WebCore::CounterNode::create): + (WebCore::CounterNode::addRenderer): + (WebCore::CounterNode::removeRenderer): + Introduced to manage the renderer list associated wit this CounterNode. + (WebCore::CounterNode::resetRenderers): + This is the old resetRenderer. Renamed to take into account that there may be + more than one renderer to a CounterNode. + (WebCore::CounterNode::resetThisAndDescendantsRenderers): + This is the old resetRenderers renamed for clarity. + (WebCore::CounterNode::recount): + (WebCore::CounterNode::insertAfter): + (WebCore::CounterNode::removeChild): + No functional changes. + (WebCore::showTreeAndMark): + Added flushing to ensure that the output is complete. + * rendering/CounterNode.h: + (WebCore::CounterNode::owner): + Renamed from renderer() + * rendering/RenderCounter.cpp: + (WebCore::findPlaceForCounter): + Fixed comments. No functional changes. + (WebCore::RenderCounter::~RenderCounter): + Made sure that the CounterNode that this renderers displays is + detached from this. + (WebCore::RenderCounter::originalText): + (WebCore::RenderCounter::invalidate): + Changed to maintain the bidirectional relationship with the displayed CounterNode. + Also made "invalidate" private as it should be used only by CounterNode. + (WebCore::destroyCounterNodeWithoutMapRemoval): + (WebCore::RenderCounter::destroyCounterNodes): + (WebCore::RenderCounter::destroyCounterNode): + (WebCore::updateCounters): + No change, just kept code in line with the changes above. + (showCounterRendererTree): + Added fflush to ensure complete display. + * rendering/RenderCounter.h: + * rendering/RenderObjectChildList.cpp: + * rendering/RenderObjectChildList.h: + Removed unneeded invalidateCounters related functions. + +2011-03-22 Dean Jackson <dino@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=56242 + Interrupted accelerated animations/transitions were causing + subsequent animations to not start (because they were stuck + waiting for a response from the compositing layer). I renamed + the instance variable that indicates whether or not to + notify animations of start time, from m_waitingForStartTimeResponse + to m_waitingForAsyncStartNotification, so that it makes more sense. + The actual bug fix was changing the logic so that the flag is reset + when the list of waiting animations becomes empty. I mistakenly committed + the bad logic in r81613. + + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::updateStateMachine): + - Always set paused time as we enter the paused state + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): + (WebCore::AnimationControllerPrivate::endAnimationUpdate): + (WebCore::AnimationControllerPrivate::receivedStartTimeResponse): + (WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStartTimeResponse): + (WebCore::AnimationControllerPrivate::removeFromAnimationsWaitingForStartTimeResponse): + - reset the waiting flag when the list is empty (rather than not empty) + (WebCore::AnimationControllerPrivate::startTimeResponse): + * page/animation/AnimationControllerPrivate.h: + - rename m_waitingForStartTimeResponse to m_waitingForAsyncStartNotification + +2011-03-22 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56876 + WK2 Icon DB: Expand IconDatabaseClient interface and move it to the main thread + + * loader/icon/IconDatabase.cpp: + Add a dummy client implementation for non-Mac, non-Win ports: + (WebCore::DefaultIconDatabaseClient::performImport): + (WebCore::DefaultIconDatabaseClient::didImportIconURLForPageURL): + (WebCore::DefaultIconDatabaseClient::didImportIconDataForPageURL): + (WebCore::DefaultIconDatabaseClient::didChangeIconForPageURL): + (WebCore::DefaultIconDatabaseClient::didRemoveAllIcons): + (WebCore::DefaultIconDatabaseClient::didFinishURLImport): + (WebCore::defaultClient): + + Either call the client directly when on the main thread, or use the dispatch functions below + if on the background thread: + (WebCore::IconDatabase::setIconDataForIconURL): + (WebCore::IconDatabase::setIconURLForPageURL): + (WebCore::IconDatabase::performURLImport): + (WebCore::IconDatabase::readFromDatabase): + (WebCore::IconDatabase::removeAllIconsOnThread): + + Add a very targeted WorkItem interface for dispatching client calls on the main thread: + (WebCore::ClientWorkItem::ClientWorkItem): + (WebCore::ClientWorkItem::~ClientWorkItem): + (WebCore::ImportedIconURLForPageURLWorkItem::ImportedIconURLForPageURLWorkItem): + (WebCore::ImportedIconURLForPageURLWorkItem::~ImportedIconURLForPageURLWorkItem): + (WebCore::ImportedIconURLForPageURLWorkItem::performWork): + (WebCore::ImportedIconDataForPageURLWorkItem::ImportedIconDataForPageURLWorkItem): + (WebCore::ImportedIconDataForPageURLWorkItem::~ImportedIconDataForPageURLWorkItem): + (WebCore::ImportedIconDataForPageURLWorkItem::performWork): + (WebCore::RemovedAllIconsWorkItem::RemovedAllIconsWorkItem): + (WebCore::RemovedAllIconsWorkItem::performWork): + (WebCore::performWorkItem): + + Use the client WorkItem interface to perform these callbacks on the main thread: + (WebCore::IconDatabase::dispatchDidImportIconURLForPageURLOnMainThread): + (WebCore::IconDatabase::dispatchDidImportIconDataForPageURLOnMainThread): + (WebCore::IconDatabase::dispatchDidRemoveAllIconsOnMainThread): + * loader/icon/IconDatabase.h: + * loader/icon/IconDatabaseClient.h: + +2011-03-22 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=56869 + + Make horizontal writing mode a bit on RenderObject with a fast inlined method for access. This should be + a little faster than having to access the information from the RenderStyle's sub-structure. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::addOverflowFromChildren): + (WebCore::RenderBlock::computeOverflow): + (WebCore::RenderBlock::adjustPositionedBlock): + (WebCore::RenderBlock::setLogicalLeftForChild): + (WebCore::RenderBlock::setLogicalTopForChild): + (WebCore::RenderBlock::layoutPositionedObjects): + (WebCore::RenderBlock::paintColumnRules): + (WebCore::RenderBlock::paintColumnContents): + (WebCore::RenderBlock::flipFloatForWritingMode): + (WebCore::blockDirectionOffset): + (WebCore::inlineDirectionOffset): + (WebCore::RenderBlock::logicalRectToPhysicalRect): + (WebCore::RenderBlock::inlineSelectionGaps): + (WebCore::RenderBlock::addOverhangingFloats): + (WebCore::RenderBlock::addIntrudingFloats): + (WebCore::RenderBlock::hitTestColumns): + (WebCore::positionForPointRespectingEditingBoundaries): + (WebCore::RenderBlock::positionForPointWithInlineChildren): + (WebCore::RenderBlock::positionForPoint): + (WebCore::RenderBlock::columnRectAt): + (WebCore::RenderBlock::adjustPointToColumnContents): + (WebCore::RenderBlock::adjustRectForColumns): + (WebCore::RenderBlock::flipForWritingModeIncludingColumns): + (WebCore::RenderBlock::adjustForColumns): + (WebCore::RenderBlock::lastLineBoxBaseline): + (WebCore::RenderBlock::nextPageLogicalTop): + (WebCore::RenderBlock::adjustForUnsplittableChild): + (WebCore::RenderBlock::adjustLinePositionForPagination): + (WebCore::RenderBlock::collapsedMarginBeforeForChild): + (WebCore::RenderBlock::collapsedMarginAfterForChild): + (WebCore::RenderBlock::marginStartForChild): + (WebCore::RenderBlock::marginEndForChild): + (WebCore::RenderBlock::setMarginStartForChild): + (WebCore::RenderBlock::setMarginEndForChild): + (WebCore::RenderBlock::marginValuesForChild): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::logicalWidthForChild): + (WebCore::RenderBlock::logicalHeightForChild): + (WebCore::RenderBlock::logicalTopForChild): + (WebCore::RenderBlock::logicalRightOffsetForContent): + (WebCore::RenderBlock::logicalLeftOffsetForContent): + (WebCore::RenderBlock::logicalTopForFloat): + (WebCore::RenderBlock::logicalBottomForFloat): + (WebCore::RenderBlock::logicalLeftForFloat): + (WebCore::RenderBlock::logicalRightForFloat): + (WebCore::RenderBlock::logicalWidthForFloat): + (WebCore::RenderBlock::setLogicalTopForFloat): + (WebCore::RenderBlock::setLogicalLeftForFloat): + (WebCore::RenderBlock::setLogicalHeightForFloat): + (WebCore::RenderBlock::setLogicalWidthForFloat): + (WebCore::RenderBlock::xPositionForFloatIncludingMargin): + (WebCore::RenderBlock::yPositionForFloatIncludingMargin): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::createLineBoxes): + (WebCore::RenderBlock::layoutInlineChildren): + (WebCore::RenderBlock::checkFloatsInCleanLine): + (WebCore::setStaticPositions): + (WebCore::RenderBlock::findNextLineBreak): + (WebCore::RenderBlock::beforeSideVisualOverflowForLine): + (WebCore::RenderBlock::afterSideVisualOverflowForLine): + (WebCore::RenderBlock::beforeSideLayoutOverflowForLine): + (WebCore::RenderBlock::afterSideLayoutOverflowForLine): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::marginStart): + (WebCore::RenderBox::marginEnd): + (WebCore::RenderBox::setMarginStart): + (WebCore::RenderBox::setMarginEnd): + (WebCore::RenderBox::styleDidChange): + (WebCore::RenderBox::logicalScroll): + (WebCore::RenderBox::computeLogicalWidth): + (WebCore::RenderBox::computeLogicalHeight): + (WebCore::RenderBox::availableLogicalHeightUsing): + (WebCore::RenderBox::containingBlockLogicalWidthForPositioned): + (WebCore::RenderBox::containingBlockLogicalHeightForPositioned): + (WebCore::RenderBox::computePositionedLogicalWidth): + (WebCore::computeLogicalLeftPositionedOffset): + (WebCore::RenderBox::computePositionedLogicalHeight): + (WebCore::computeLogicalTopPositionedOffset): + (WebCore::RenderBox::computePositionedLogicalWidthReplaced): + (WebCore::RenderBox::computePositionedLogicalHeightReplaced): + (WebCore::RenderBox::addLayoutOverflow): + (WebCore::RenderBox::flipForWritingMode): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::RenderObject): + (WebCore::RenderObject::styleWillChange): + * rendering/RenderObject.h: + (WebCore::RenderObject::isHorizontalWritingMode): + (WebCore::RenderObject::setHorizontalWritingMode): + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::paddingTop): + (WebCore::RenderTableCell::paddingBottom): + (WebCore::RenderTableCell::paddingLeft): + (WebCore::RenderTableCell::paddingRight): + (WebCore::RenderTableCell::scrollbarsChanged): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::RootInlineBox): + (WebCore::RootInlineBox::lineSelectionGap): + (WebCore::RootInlineBox::verticalPositionForBox): + +2011-03-22 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Beth Dakin. + + Incorrect rendering of composited element with negative z-index child + https://bugs.webkit.org/show_bug.cgi?id=56846 + + When a composited element has a child with negative z-index, we make + a separate layer for that element's foreground content. This layer + was positioned incorrectly (but the content happened to paint at + the right location), resulting in right/bottom clipping. + + Fix this, remove the little-used graphicsLayerToContentsCoordinates() + contentsToGraphicsLayerCoordinates() methods, and optimize incremental + repaints in the foreground and mask layers. + + Tests: compositing/geometry/foreground-layer.html + compositing/geometry/repaint-foreground-layer.html + + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::setNeedsDisplayInRect): Cull repaints + which fall outside the layer bounds, so callers don't have to, + and to avoid unnecessary layer commits. + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): If + we have a foreground layer inside a clipping layer, the foreground + layer's offset is zero, since the clipping layer is its parent. + + (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Use + offsetFromRenderer() directly instead of contentsToGraphicsLayerCoordinates(). + Also do incremental repaints of the foreground and mask layers. + + (WebCore::RenderLayerBacking::paintContents): It was incorrect to always + use compositedBounds() to compute the painting offset, since that's + per-RenderLayerBacking, but a single RenderLayerBacking can have different + GraphicsLayers with different offsets (e.g. the foreground layer). + Instead, use offsetFromRenderer(), which gives has the correct offset. + + * rendering/RenderLayerBacking.h: Remove unused methods. + +2011-03-22 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Use default-output instead of default-input to get hardware sample-rate + https://bugs.webkit.org/show_bug.cgi?id=56858 + + No new tests since audio API is not yet implemented. + + * platform/audio/mac/AudioDestinationMac.cpp: + (WebCore::AudioDestination::hardwareSampleRate): + +2011-03-22 Pratik Solanki <psolanki@apple.com> + + Reviewed by David Kilzer. + + Implement -connection:didReceiveDataArray: NSURLConnection delegate method + https://bugs.webkit.org/show_bug.cgi?id=56838 + + Add experimental support for the didReceiveDataArray callback on + NSURLConnection. A RessourceHandleClient indicates its ability to + handle this callback by returning true from supportsDataArray() method. + Currently only SubresourceLoader uses this so we get the benefit for + CSS, JS and image loads. For other clients we call didReceiveData with + the CFData contents as before. + + * WebCore.xcodeproj/project.pbxproj: + * loader/ResourceLoader.h: + * loader/SubresourceLoader.h: + (WebCore::SubresourceLoader::supportsDataArray): + * loader/cf/SubresourceLoaderCF.cpp: Added. + (WebCore::SubresourceLoader::didReceiveDataArray): + * loader/mac/ResourceLoaderMac.mm: + (WebCore::ResourceLoader::didReceiveDataArray): + * platform/SharedBuffer.cpp: + (WebCore::SharedBuffer::clear): + (WebCore::SharedBuffer::buffer): + * platform/SharedBuffer.h: + * platform/cf/SharedBufferCF.cpp: + (WebCore::SharedBuffer::append): + (WebCore::SharedBuffer::copyDataArrayAndClear): + * platform/network/ResourceHandleClient.h: + (WebCore::ResourceHandleClient::supportsDataArray): + (WebCore::ResourceHandleClient::didReceiveDataArray): + * platform/network/mac/ResourceHandleMac.mm: + (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]): + +2011-03-22 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Make it possible to build JavaScriptCore and WebCore gyp builds outside of Source + https://bugs.webkit.org/show_bug.cgi?id=56867 + + This should make it possible to build the gyp-generated WebCore.xcodeproj + from a WebCore directory outside of Source. + + * gyp/WebCore.gyp: + * gyp/run-if-exists.sh: Added. + * gyp/update-info-plist.sh: Added. + +2011-03-22 Anders Carlsson <andersca@apple.com> + + Fix WebKit2 build. + + * WebCore.exp.in: + Export a symbol needed by WebKit2. + +2011-03-22 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add the remaining steps to WebCore GYP build + https://bugs.webkit.org/show_bug.cgi?id=56864 + + These steps match the normal build. After this patch, I believe the + WebCore GYP build is complete. + + * WebCore.gypi: + * gyp/WebCore.gyp: + * gyp/copy-inspector-resources.sh: Added. + +2011-03-22 Beth Dakin <bdakin@apple.com> + + Reviewed by Simon Fraser. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=56856 RenderListBox needs to be + added to Page::scrollableAreaSet() + + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::RenderListBox): + (WebCore::RenderListBox::~RenderListBox): + * rendering/RenderListBox.h: + (WebCore::RenderListBox::disconnectFromPage): + +2011-03-22 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add high-quality band-limited audio resampling algorithm + https://bugs.webkit.org/show_bug.cgi?id=56692 + + No new tests since audio API is not yet implemented. + + * platform/audio/SincResampler.cpp: Added. + (WebCore::SincResampler::SincResampler): + (WebCore::SincResampler::initializeKernel): + (WebCore::SincResampler::consumeSource): + (WebCore::SincResampler::process): + * platform/audio/SincResampler.h: Added. + +2011-03-22 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + WebCore GYP build should build without help from normal WebCore build + https://bugs.webkit.org/show_bug.cgi?id=56860 + + Before this patch, the WebCore GYP build wasn't generating the derived + sources quite right because the ENABLE macros were not being + communicated to the "Derived Sources" target. + + This patch also adds the "Copy Forwarding and ICU Headers" as well as + the "Streamline Inspector Source" steps, which are present in the + normal build. Unlike the normal build, these steps occur in a new + target, called "WebCore Support", which is less than aesthetically + beautiful. Hopefully we'll be able to move them into the WebCore + target proper in the future, but that will likely require some GYP + changes. + + This patch probably could have been broken down into a couple smaller + patches, but that doesn't seem necessary. + + * WebCore.gypi: + - This file appears to no longer exist. + * gyp/WebCore.gyp: + * gyp/copy-forwarding-and-icu-headers.sh: Added. + * gyp/streamline-inspector-source.sh: Added. + +2011-03-22 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=56859 + + Floats in the floating object list occur in the order that they are positioned. This means + that for a given vertical offset, the last left object in the list that intersects that offset + will be the rightmost float. There is no need to check any previous floats, since they have to be + further left than that rightmost float. The same rules hold true for right-aligned floats. + + Change logicalLeft/RightOffsetForLine to iterate backwards instead of forwards and to stop the moment + they encounter a float that intersects the vertical range. + + This cuts the maze solving time for a 20x20 maze in the IE MazeSolver test in half. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::logicalLeftOffsetForLine): + (WebCore::RenderBlock::logicalRightOffsetForLine): + +2011-03-22 Justin Schuh <jschuh@chromium.org> + + Reviewed by Dirk Schulze. + + SVG displacement map should validate channel selections + https://bugs.webkit.org/show_bug.cgi?id=56794 + + Test: svg/filters/feDisplacementMap-crash-test.xhtml + + * svg/SVGFEDisplacementMapElement.cpp: + (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged): + +2011-03-22 Huahui Wu <mediadependent@gmail.com> + + Reviewed by Steve Block. + + [Android] Update PlatformTouchEvent for android so it can pass IDs and states around. + https://bugs.webkit.org/show_bug.cgi?id=56763 + + No new tests as no new functionality is exposed. + + * platform/PlatformTouchEvent.h: + * platform/android/PlatformTouchEventAndroid.cpp: + (WebCore::PlatformTouchEvent::PlatformTouchEvent): + +2011-03-22 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + Implement the CSS3 line-box-contain property. This property provides authors with more control over spacing between lines. For example, + you can fix the height of lines and cause all line contents to be ignored. You can make lines fit to glyphs. You can ignore leading and + fit to the font size. You can ignore replaced elements, etc. + + Refactor the code in computeLogicalBoxHeights into helper methods on RootInlineBox. verticalPositionForBox moved over to RootInlineBox + so that it could be called from RenderBlockLineLayout. ascentAndDescentForBox is the new method that computes the appropriate box + height based off the block's line-box-contain value. + + GlyphOverflow can now have a computeBounds parameter set, in which case glyph bounds will be computed and stored in the overflow struct. + + RenderInline no longer returns 0 margins in the block direction, since line-box-contain can size around the margin box. + + Added new tests in fast/block/lineboxcontain + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::createLineBoxContainValue): + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSLineBoxContainValue.cpp: Added. + (WebCore::CSSLineBoxContainValue::CSSLineBoxContainValue): + (WebCore::CSSLineBoxContainValue::cssText): + * css/CSSLineBoxContainValue.h: Added. + (WebCore::CSSLineBoxContainValue::create): + (WebCore::CSSLineBoxContainValue::value): + (WebCore::CSSLineBoxContainValue::isCSSLineBoxContainValue): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + (WebCore::CSSParser::parseLineBoxContain): + * css/CSSParser.h: + * css/CSSPropertyNames.in: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * css/CSSValue.h: + (WebCore::CSSValue::isCSSLineBoxContainValue): + * css/CSSValueKeywords.in: + * platform/graphics/Font.cpp: + (WebCore::Font::width): + * platform/graphics/Font.h: + (WebCore::GlyphOverflow::GlyphOverflow): + * platform/graphics/FontFastPath.cpp: + (WebCore::Font::floatWidthForSimpleText): + * platform/graphics/mac/FontComplexTextMac.cpp: + (WebCore::Font::floatWidthForComplexText): + * platform/graphics/win/FontWin.cpp: + (WebCore::Font::floatWidthForComplexText): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::computeLogicalBoxHeights): + * rendering/InlineFlowBox.h: + * rendering/RenderBlock.h: + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): + (WebCore::RenderBlock::layoutInlineChildren): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::marginLeft): + (WebCore::RenderInline::marginRight): + (WebCore::RenderInline::marginTop): + (WebCore::RenderInline::marginBottom): + (WebCore::RenderInline::marginBefore): + (WebCore::RenderInline::marginAfter): + * rendering/RenderInline.h: + * rendering/RenderText.cpp: + (WebCore::RenderText::widthFromCache): + (WebCore::RenderText::width): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::alignBoxesInBlockDirection): + (WebCore::setAscentAndDescent): + (WebCore::RootInlineBox::ascentAndDescentForBox): + (WebCore::RootInlineBox::verticalPositionForBox): + (WebCore::RootInlineBox::includeLeadingForBox): + (WebCore::RootInlineBox::includeFontForBox): + (WebCore::RootInlineBox::includeGlyphsForBox): + (WebCore::RootInlineBox::includeMarginForBox): + (WebCore::RootInlineBox::fitsToGlyphs): + (WebCore::RootInlineBox::includesRootLineBoxFontOrLeading): + * rendering/RootInlineBox.h: + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::diff): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::lineBoxContain): + (WebCore::InheritedFlags::setLineBoxContain): + (WebCore::InheritedFlags::initialLineBoxContain): + * rendering/style/StyleRareInheritedData.cpp: + (WebCore::StyleRareInheritedData::StyleRareInheritedData): + (WebCore::StyleRareInheritedData::operator==): + * rendering/style/StyleRareInheritedData.h: + +2011-03-22 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r81653. + http://trac.webkit.org/changeset/81653 + https://bugs.webkit.org/show_bug.cgi?id=56839 + + Breaks fast/text/drawBidiText.html on Chromium. (Requested by + pfeldman on #webkit). + + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::paintItemForeground): + +2011-03-22 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed. Rolling out 81657, 81654, 81651 for breaking tests on chromium. + + * inspector/Inspector.json: + * inspector/InspectorDatabaseResource.cpp: + (WebCore::InspectorDatabaseResource::bind): + * inspector/front-end/Database.js: + (WebInspector.DatabaseDispatcher.prototype.addDatabase): + +2011-03-21 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [REGRESSION] scripts panel is broken when frontend is reopened. + https://bugs.webkit.org/show_bug.cgi?id=56747 + + Debugger should be enabled on front-end side to guarantee initialization sequence (resources come before scripts). + + * inspector/Inspector.json: + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::showProfilesPanel): + * inspector/InspectorAgent.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::showAndEnableDebugger): + * inspector/InspectorController.h: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::setFrontend): + (WebCore::InspectorDebuggerAgent::clearFrontend): + * inspector/InspectorDebuggerAgent.h: + +2011-03-22 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com> + + Reviewed by Benjamin Poulain. + + [Qt] WebGL: renderbufferStorage() fails with internal format GL_RGBA4 + https://bugs.webkit.org/show_bug.cgi?id=56824 + + On desktop OpenGL substitute in renderbufferStorage: + - GL_DEPTH24_STENCIL8 for GL_DEPTH_STENCIL + - GL_DEPTH_COMPONENT for GL_DEPTH_COMPONENT16 + - GL_RGBA for GL_RGBA4 and GL_RGBA565 + - GL_RGB for RGB5_A1. + + Tests: fast/canvas/webgl/uninitialized-test.html + + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3D::renderbufferStorage): + +2011-03-16 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + Move volume slider positioning logic to a custom renderer. + https://bugs.webkit.org/show_bug.cgi?id=56498 + + No functional change, covered by existing tests. + + * html/shadow/MediaControls.cpp: + (WebCore::MediaControls::updateVolumeSliderContainer): Removed positioning logic. + * rendering/MediaControlElements.cpp: + (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): Added. + (WebCore::RenderMediaVolumeSliderContainer::layout): Added. + (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement): Removed storing of coordinates. + (WebCore::MediaControlVolumeSliderContainerElement::createRenderer): Added. + (WebCore::MediaControlVolumeSliderContainerElement::styleForElement): Removed setting of coordinates. + * rendering/MediaControlElements.h: Changed corresponding decls. + +2011-03-22 Andrew Wason <rectalogic@rectalogic.com> + + Reviewed by Benjamin Poulain. + + [Qt] QWebPage with WebGL content crashes when rendering if no QWebView parent + https://bugs.webkit.org/show_bug.cgi?id=54138 + + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3DInternal::getViewportGLWidget): + Check if we actually have a QWebPageClient before dereferencing it. + +2011-03-22 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: document DOM domain types and protocol methods. + https://bugs.webkit.org/show_bug.cgi?id=56807 + + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::wrapNode): + * inspector/InjectedScript.h: + * inspector/Inspector.json: + * inspector/InspectorBrowserDebuggerAgent.cpp: + (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::removeNode): + (WebCore::InspectorDOMAgent::setNodeValue): + * inspector/InspectorDOMAgent.h: + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode): + (WebInspector.ElementsTreeElement.prototype._createTooltipForNode): + * inspector/front-end/EventListenersSidebarPane.js: + * inspector/front-end/PropertiesSidebarPane.js: + (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved): + * inspector/front-end/RemoteObject.js: + (WebInspector.RemoteObject.resolveNode): + +2011-03-22 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Production configuration in GYP isn't set up correctly + https://bugs.webkit.org/show_bug.cgi?id=56786 + + Update WebCore.gyp with information mined from WebCore.xcodeproj. + + * WebCore.gypi: + * gyp/WebCore.gyp: + +2011-03-22 Ofri Wolfus <ofri@google.com> + + Reviewed by Eric Seidel. + + RTL: Select elements with a size attribute are always left aligned. + https://bugs.webkit.org/show_bug.cgi?id=50928 + + Added support for alignment in RenderListBox. + + Test: fast/forms/listbox-bidi-align.html + + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::paintItemForeground): Add support for alignment and directionality. + +2011-03-22 Ilya Sherman <isherman@chromium.org> + + Reviewed by Kent Tamura. + + Clear autofilled flag when reseting a form + In service of https://code.google.com/p/chromium/issues/detail?id=70037 + https://bugs.webkit.org/show_bug.cgi?id=56802 + + Test: fast/forms/reset-autofilled.html + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::reset): Clear the autofilled flag. + +2011-03-22 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: protocol cleanup. DatabaseAgent. + https://bugs.webkit.org/show_bug.cgi?id=56815 + + see protocol metabug: + - All events should use notification wording, not command wording: + + addDatabase was renamed to DatabaseOpened. + + Test: inspector/protocol/database-agent.html + + * inspector/Inspector.json: + * inspector/InspectorDatabaseResource.cpp: + (WebCore::InspectorDatabaseResource::bind): + * inspector/front-end/Database.js: + (WebInspector.DatabaseDispatcher.prototype.DatabaseOpened): + +2011-03-22 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: protocol cleanup. ConsoleAgent. + https://bugs.webkit.org/show_bug.cgi?id=56806 + + renamed method: void setConsoleMessagesEnabled(in boolean enabled, out boolean newState); => void enable(out long expiredMessagesCount); + new method: disable() + deleted method: [event] void consoleMessageExpiredCountUpdate(out unsigned long count); delete it. The counter will be transfered as out argument of enable command. + + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::updateRepeatCountInConsole): + * inspector/Inspector.json: + * inspector/InspectorConsoleAgent.cpp: + (WebCore::InspectorConsoleAgent::enable): + (WebCore::InspectorConsoleAgent::disable): + * inspector/InspectorConsoleAgent.h: + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessageRepeatCountUpdated): + (WebInspector.ConsoleView.prototype.setConsoleMessageExpiredCount): + * inspector/front-end/inspector.js: + +2011-03-22 Kent Tamura <tkent@chromium.org> + + Reviewed by Eric Seidel. + + REGRESSION(r80096): Number type input unexpectedly rounds fractional values + https://bugs.webkit.org/show_bug.cgi?id=56367 + + Because the default value of the maximum fractional digits of NSNumberFormatter + and ICU NumberFormat is 3, the value 0.55555 is rounded to 0.556 in a + localized representation. This bug affects only in Mac and Chromium. + + To fix this bug, + - Add "maximum fractional digits" parameter to formatLocalizedNumber(), and + - NumberInputType::visibleValue uses parseToDoubleForNumberTypeWithDecimalPlaces() + instead of parseToDoubleForNumberType(). + + No automated tests because the behavior is locale-dependent. This change + updates a manual test. + + * html/NumberInputType.cpp: + (WebCore::NumberInputType::visibleValue): + Use parseToDoubleForNumberTypeWithDecimalPlaces() and passing fractional + part length to formatLocalizedNumber(). + * manual-tests/input-number-localization.html: + Update the test to cover this change. + * platform/text/LocalizedNumber.h: Add a parameter to formatLocalizedNumber(). + * platform/text/LocalizedNumberICU.cpp: + (WebCore::formatLocalizedNumber): Call setMaximumFractionalDigits(). + * platform/text/LocalizedNumberNone.cpp: + (WebCore::formatLocalizedNumber): + * platform/text/mac/LocalizedNumberMac.mm: + (WebCore::formatLocalizedNumber): Call setMaximumFractionalDigits(). + +2011-03-21 Abhishek Arya <inferno@chromium.org> + + Reviewed by Eric Seidel. + + Anonymous blocks need isRenderBlock cast check. Also, need + to allow display BOX for flexible boxes. + https://bugs.webkit.org/show_bug.cgi?id=56709 + + Test: accessibility/anchor-linked-anonymous-block-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::canMergeContiguousAnonymousBlocks): remove specific + fix in r81088 which is no longer needed. + * rendering/RenderObject.h: + (WebCore::RenderObject::isAnonymousBlock): Add isRenderBlock cast + check. + +2011-03-21 Abhishek Arya <inferno@chromium.org> + + Reviewed by Eric Seidel. + + Revert small change made in r78846 of replacing move with positionLineBox + in the adjusting position function for inline box. + https://bugs.webkit.org/show_bug.cgi?id=56300 + + The change in r78846 caused positioning line boxes during the step of adjusting + position for inline box, thereby causing line boxes to be nuked. This happens as + part of aligning boxes in block direction in RenderBlock::computeBlockDirectionPositionsForLine. + Later on, we do the positioning of line boxes again later in that function. This + causes use of removed inline box leading to crash. Also, it is unnecessary to do + this twice. + + Tests: fast/inline/inline-box-adjust-position-crash.html + fast/inline/inline-box-adjust-position-crash2.html + + * rendering/InlineBox.cpp: + (WebCore::InlineBox::adjustPosition): + +2011-03-21 Adam Klein <adamk@chromium.org> + + Reviewed by David Levin. + + [fileapi] Add URI resolution support to WorkerContext + https://bugs.webkit.org/show_bug.cgi?id=55644 + + Tests: http/tests/filesystem/workers/resolve-url-sync.html + http/tests/filesystem/workers/resolve-url.html + + * fileapi/LocalFileSystem.cpp: + (WebCore::LocalFileSystem::readFileSystem): + Add support for workers. + * fileapi/LocalFileSystem.h: + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::resolveLocalFileSystemURL): + (WebCore::WorkerContext::resolveLocalFileSystemSyncURL): + * workers/WorkerContext.h: + * workers/WorkerContext.idl: + +2011-03-21 David Levin <levin@chromium.org> + + Reviewed by Adam Barth. + + XHR in Workers doesn't set the referrer correctly. + https://bugs.webkit.org/show_bug.cgi?id=24683 + + Tests: http/tests/xmlhttprequest/workers/referer.html + http/tests/xmlhttprequest/workers/shared-worker-referer.html + + * loader/DocumentThreadableLoader.cpp: + (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Fill in empty string for the outgoing referrer. + (WebCore::DocumentThreadableLoader::create): Added the ability to set the outgoing referrer. + (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Ditto. + (WebCore::DocumentThreadableLoader::loadRequest): Ditto. + * loader/DocumentThreadableLoader.h: Ditto. + * loader/ResourceLoadScheduler.cpp: + (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad): Ditto. + * loader/ResourceLoadScheduler.h: Ditto. + * loader/SubresourceLoader.cpp: + (WebCore::SubresourceLoader::create): Fixed bug (caught by the test) in last minute change done in previous check-in. + * loader/WorkerThreadableLoader.cpp: + (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): Fill in the outgoing referrer. + (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Plumbing for the outgoing referrer. + (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): Plumbing for the outgoing referrer. + * loader/WorkerThreadableLoader.h: + +2011-03-21 Nate Chapin <japhet@chromium.org> + + Reviewed by Brady Eidson. + + Do not check the DocumentLoader's request cache policy + in determining whether we should force revalidation of a cached + subresource. If the main resource received headers telling it not + to cache, that policy will be propagated to subresources. + + The previous behavior is left in behind a flag in Settings, since + QuickLook depends on it. + + https://bugs.webkit.org/show_bug.cgi?id=38690 + + Tests: http/tests/cache/post-redirect-get.php + http/tests/cache/post-with-cached-subresources.php + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::subresourceCachePolicy): + (WebCore::FrameLoader::loadPostRequest): + * page/Settings.cpp: + (WebCore::Settings::Settings): + * page/Settings.h: + (WebCore::Settings::setUseQuickLookResourceCachingQuirks): + (WebCore::Settings::useQuickLookResourceCachingQuirks): + +2011-03-21 Rik Cabanier <cabanier@adobe.com> + + Reviewed by James Robinson. + + bug 56052: percentages are incorrectly rounded in WebKit + https://bugs.webkit.org/show_bug.cgi?id=56052 + + test: fast/css/percentage-non-integer.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * page/PrintContext.cpp: + (WebCore::PrintContext::pageProperty): + * platform/Length.h: + (WebCore::Length::Length): + (WebCore::Length::operator*=): + (WebCore::Length::value): + (WebCore::Length::percent): + (WebCore::Length::setValue): + (WebCore::Length::calcValue): + (WebCore::Length::calcMinValue): + (WebCore::Length::isUndefined): + (WebCore::Length::isZero): + (WebCore::Length::isPositive): + (WebCore::Length::isNegative): + * rendering/AutoTableLayout.cpp: + (WebCore::AutoTableLayout::recalcColumn): + (WebCore::AutoTableLayout::computePreferredLogicalWidths): + (WebCore::AutoTableLayout::calcEffectiveLogicalWidth): + (WebCore::AutoTableLayout::layout): + * rendering/FixedTableLayout.cpp: + (WebCore::FixedTableLayout::calcWidthArray): + (WebCore::FixedTableLayout::layout): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::addCell): + (WebCore::RenderTableSection::layoutRows): + * rendering/style/BorderData.h: + (WebCore::BorderData::hasBorderRadius): + +2011-03-21 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add WebCoreExportFileGenerator to WebCore GYP build + https://bugs.webkit.org/show_bug.cgi?id=56778 + + This target mirrors the eponymous target from WebCore.xcodeproj. + + * WebCore.gypi: + * gyp/WebCore.gyp: + * generate-webcore-export-file-generator.sh: Added. + +2011-03-21 Adam Barth <abarth@webkit.org> + + Reviewed by Dimitri Glazkov. + + WebCore GYP build shouldn't crash on startup + https://bugs.webkit.org/show_bug.cgi?id=56776 + + Debug builds shouldn't define NDEBUG. This same logic exists in the + project.pbxproj file. + + * gyp/WebCore.gyp: + +2011-03-21 Daniel Cheng <dcheng@chromium.org> + + Reviewed by Tony Chang. + + [chromium] Implement glue between DataTransferItems and the pasteboard. + https://bugs.webkit.org/show_bug.cgi?id=56330 + + Support retrieving clipboard data in a paste through DataTransferItems. + + Test: editing/pasteboard/data-transfer-items.html + + * platform/chromium/ClipboardChromium.cpp: + (WebCore::ClipboardChromium::items): + * platform/chromium/DataTransferItemChromium.cpp: + (WebCore::DataTransferItemChromium::createFromPasteboard): + (WebCore::DataTransferItemChromium::create): + (WebCore::DataTransferItemChromium::DataTransferItemChromium): + (WebCore::DataTransferItemChromium::getAsString): + * platform/chromium/DataTransferItemChromium.h: + * platform/chromium/DataTransferItemsChromium.cpp: + (WebCore::DataTransferItemsChromium::addPasteboardItem): + * platform/chromium/DataTransferItemsChromium.h: + +2011-03-21 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + AX: showContextMenu not working in WK2 + https://bugs.webkit.org/show_bug.cgi?id=56734 + + WebKit2 is not able to directly open a context menu because the UI is in the other process. + Instead the chrome client should be used. This also means implementing showContextMenu() in WebKit1 + code. + + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityShowContextMenu]): + +2011-03-21 Robert Kroeger <rjkroege@chromium.org> + + Reviewed by Antonio Gomes. + + Add Support to WebCore to optionally call a platform-specific gesture recognizer + https://bugs.webkit.org/show_bug.cgi?id=49345 + + Added an ability for the EventHandler to invoke an optional platform + specific gesture recognizer. + + No tests added because the change should be functionally invisible. + + * WebCore.gypi: + * page/EventHandler.cpp: + (WebCore::EventHandler::EventHandler): + (WebCore::EventHandler::handleTouchEvent): + * page/EventHandler.h: + * platform/PlatformGestureRecognizer.cpp: Added. + (WebCore::PlatformGestureRecognizer::PlatformGestureRecognizer): + (WebCore::PlatformGestureRecognizer::~PlatformGestureRecognizer): + (WebCore::PlatformGestureRecognizer::create): + * platform/PlatformGestureRecognizer.h: Added. + +2011-03-21 Dean Jackson <dino@apple.com> + + Reviewed by Chris Marrin and Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=56325 + ASSERTION FAILED: paused() in AnimationBase::updateStateMachine() + + AnimationBase had a custom linked-list/self-pointer for keeping + track of animations that needed to be notified of style updates + and start progress. This caused problems when AnimationBase was + destroyed, since the pointer wasn't managed in any way. I replaced + these pointers with HashSets and moved the code that removes animations + from the sets into AnimationControllerPrivate, where it belongs. + CompositeAnimation is also more careful to tell AnimationControllerPrivate + when it no longer needs to keep track of waiting animations. + + This should stop the style updates being called on non-active animations + (which was the cause of the state machine error here) and should also + stop a few of the related flakey test failures and occasional crashes. + + Test: animations/body-removal-crash.html + + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::AnimationBase): + (WebCore::AnimationBase::updateStateMachine): + * page/animation/AnimationBase.h: + (WebCore::AnimationBase::~AnimationBase): + - Remove the linked-list + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): + (WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStyle): + (WebCore::AnimationControllerPrivate::removeFromAnimationsWaitingForStyle): + (WebCore::AnimationControllerPrivate::styleAvailable): + (WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStartTimeResponse): + (WebCore::AnimationControllerPrivate::removeFromAnimationsWaitingForStartTimeResponse): + (WebCore::AnimationControllerPrivate::startTimeResponse): + (WebCore::AnimationControllerPrivate::animationWillBeRemoved): + - New method to remove animations from the waiting lists + * page/animation/AnimationControllerPrivate.h: + - use a HashSet rather than an AnimationBase* pointer. + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::~CompositeAnimation): + (WebCore::CompositeAnimation::clearRenderer): + (WebCore::CompositeAnimation::updateTransitions): + (WebCore::CompositeAnimation::updateKeyframeAnimations): + - remove the animations and transitions from the lists when we know + they are no longer active (rather than waiting for the AnimationBase + to do it when destructing) + +2011-03-21 Justin Schuh <jschuh@chromium.org> + + Reviewed by James Robinson. + + Stop inserting when the parent is removed + https://bugs.webkit.org/show_bug.cgi?id=56690 + + Tests: fast/dom/insertedIntoDocument-child.html + fast/dom/insertedIntoDocument-iframe.html + fast/dom/insertedIntoDocument-sibling.html + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::insertedIntoDocument): + * html/HTMLEmbedElement.cpp: + (WebCore::HTMLEmbedElement::insertedIntoDocument): + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::insertedIntoDocument): + +2011-03-07 David Levin <levin@chromium.org> + + Reviewed by Adam Barth. + + SubresourceLoader should expose a way to set the outgoing referer/origin + https://bugs.webkit.org/show_bug.cgi?id=55903 + + No new tests as no new functionality is exposed. + + * loader/SubresourceLoader.cpp: + (WebCore::SubresourceLoader::create): + * loader/SubresourceLoader.h: + +2011-03-21 Daniel Sievers <sievers@google.com> + + Reviewed by Simon Fraser. + + [Chromium] Make RenderAsTextBehavior and LayerTreeAsTextBehavior tweakable from the DumpRenderTree commandline + https://bugs.webkit.org/show_bug.cgi?id=56139 + + * WebCore.exp.in: + * WebCore.order: + * page/Frame.cpp: + (WebCore::Frame::layerTreeAsText): + * page/Frame.h: + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::layerTreeAsText): + * rendering/RenderLayerCompositor.h: + +2011-03-21 Chang Shu <cshu@webkit.org> + + Reviewed by Alexey Proskuryakov. + + REGRESSION (r79953): Can't type in MS Outlook 2011 + https://bugs.webkit.org/show_bug.cgi?id=56665 + + r79953 removed the WebView level editablity which is persistent no matter whether + underlying document itself is changed and editability gets lost. The resolution is to + set this WebView editable value to WebCore. This avoids the callback from WebCore to + WebKit which was the main goal in r79953 to improve performance. + + * WebCore.exp.in: + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::isReadOnly): + * dom/Node.cpp: + (WebCore::Node::isContentEditable): + * editing/SelectionController.cpp: + (WebCore::SelectionController::setSelectionFromNone): + * page/DragController.cpp: + (WebCore::DragController::operationForLoad): + * page/Page.cpp: + (WebCore::Page::Page): + * page/Page.h: + (WebCore::Page::setEditable): + (WebCore::Page::isEditable): + +2011-03-21 Eric Uhrhane <ericu@chromium.org> + + Reviewed by David Levin. + + [fileapi/chromium] Fetch platform path using GetMetadata before creating File from FileEntry* + https://bugs.webkit.org/show_bug.cgi?id=56704 + + * fileapi/DOMFileSystemSync.cpp + (DOMFileSystemSync::createFile) + (class GetPathHelper): Added, to look up path before creating File. + * fileapi/DOMFileSystem.cpp + (DOMFileSystem::createFile) + (GetPathCallback): Added, to look up path before creating File. + * platform/FileMetadata.h + (struct FileMetadata): Added new field platformPath. + +2011-03-21 Dominic Cooney <dominicc@google.com> + + Reviewed by Jeremy Orlow. + + Establishes a V8 context before executing MediaQueryList callbacks. + https://bugs.webkit.org/show_bug.cgi?id=56166 + + MediaQueryList listener callbacks didn't establish a V8 context + before running script, causing crashes on C++-only + callstacks (such as user resizing, printing, etc.) I believe this + could also be contrived to execute media query list listener + callbacks across domain. + + Test: fast/media/media-query-list-callback.html + + * css/MediaQueryListListener.cpp: + (WebCore::MediaQueryListListener::queryChanged): + +2011-03-21 Andreas Kling <kling@webkit.org> + + Reviewed by Tor Arne Vestbø. + + [Qt] Add QNetworkReplyHandler::wasAborted() + + Instead of checking if the ResourceHandle is null everywhere, + use a wasAborted() method to make the code readable. + + * platform/network/qt/QNetworkReplyHandler.h: + (WebCore::QNetworkReplyHandler::wasAborted): + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::finish): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + (WebCore::QNetworkReplyHandler::redirect): + (WebCore::QNetworkReplyHandler::forwardData): + (WebCore::QNetworkReplyHandler::uploadProgress): + +2011-03-21 Christian Dywan <christian@lanedo.com> + + Reviewed by Martin Robinson. + + WebKitIconDatabase may trigger crash in cairoImageSurfaceToGdkPixbuf + https://bugs.webkit.org/show_bug.cgi?id=56201 + + * platform/graphics/gtk/ImageGtk.cpp: Don't attempt to make a pixbuf + if there is no image. + +2011-03-21 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] [Stable] AtkHypertext exposes wrong offsets for links placed inside <span> nodes + https://bugs.webkit.org/show_bug.cgi?id=56737 + + Only consider parent objects not ignoring accessibility. + + * accessibility/gtk/WebKitAccessibleHyperlink.cpp: + (webkitAccessibleHyperlinkGetStartIndex): Look for the parent + object not ignoring accessibility for the current hyperlink. + (webkitAccessibleHyperlinkGetEndIndex): Ditto. + +2011-03-21 Andreas Kling <kling@webkit.org> + + Reviewed by Benjamin Poulain. + + [Qt] Remove handling of QNetworkAccessManager::UnknownOperation + + Now that Qt 4.7 is required we never have to fall back to UnknownOperation. + Custom verb requests are using CustomOperation already, so this was dead code. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::start): + +2011-03-21 Adam Roben <aroben@apple.com> + + Fix multiple-definition linker warnings on Windows + + * WebCore.vcproj/WebCore.vcproj: Exclude RenderSVGPath.cpp from the build, since it is + already being compiled via RenderingAllInOne.cpp. Let VS have its way with the rest of the + file. + +2011-03-21 Andreas Kling <kling@webkit.org> + + Reviewed by Benjamin Poulain. + + [Qt] Clean up QNetworkReplyHandler::release() + + Since QNetworkReplyHandler no longer uses queued connections to + the QNetworkReply, it's not necessary to mess with the event + queue when releasing a reply. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::abort): + (WebCore::QNetworkReplyHandler::release): + +2011-03-21 Vsevolod Vlasov <vsevik@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Inspector does not always show correct transfer size (for compressed/chunked data) + https://bugs.webkit.org/show_bug.cgi?id=56691 + + Added transfer size support in inspector for compressed data. + + Test: http/tests/inspector/network/network-size-chunked.html + + * inspector/Inspector.idl: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl): + * inspector/InspectorInstrumentation.h: + (WebCore::InspectorInstrumentation::didReceiveContentLength): + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::didReceiveResponse): + (WebCore::InspectorResourceAgent::didReceiveContentLength): + * inspector/InspectorResourceAgent.h: + * inspector/front-end/NetworkManager.js: + (WebInspector.NetworkDispatcher.prototype.didReceiveContentLength): + * inspector/front-end/Resource.js: + (WebInspector.Resource.prototype.get transferSize): + (WebInspector.Resource.prototype.increaseTransferSize): + * loader/ResourceLoadNotifier.cpp: + (WebCore::ResourceLoadNotifier::didReceiveData): + (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength): + (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages): + * loader/ResourceLoadNotifier.h: + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::didReceiveData): + * platform/network/mac/ResourceHandleMac.mm: + (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]): + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::forwardData): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::gotChunkCallback): + * platform/network/win/ResourceHandleWin.cpp: + (WebCore::ResourceHandle::onRequestComplete): + (WebCore::ResourceHandle::fileLoadTimer): + +2011-03-21 Leo Yang <leo.yang@torchmobile.com.cn> + + Reviewed by Dirk Schulze. + + symbol display <use> at wrong scale + https://bugs.webkit.org/show_bug.cgi?id=54538 + + SVG spec: http://www.w3.org/TR/SVG/struct.html#UseElement + Quotation for referenced <symbol>: "If attributes 'width' + and/or 'height' are provided on the 'use' element, then + these attributes will be transferred to the generated 'svg'." + Quotation for referenced <svg>: "If attributes 'width' + and/or 'height' are provided on the 'use' element, then + these values will override the corresponding attributes + on the 'svg' in the generated tree." + For above quotations, we should treat 'use' element as referencing + 'use' element, just like Firefox 3.6 and Opera 11, instead of + corrensponding 'use' element. + + Tests: svg/custom/use-transfer-width-height-properties-to-svg.svg + svg/custom/use-transfer-width-height-properties-to-svg1.svg + svg/custom/use-transfer-width-height-properties-to-svg2.svg + svg/custom/use-transfer-width-height-properties-to-symbol.svg + svg/custom/use-transfer-width-height-properties-to-symbol1.svg + svg/custom/use-transfer-width-height-properties-to-symbol2.svg + + * svg/SVGElementInstance.cpp: + (WebCore::SVGElementInstance::SVGElementInstance): + * svg/SVGElementInstance.h: + (WebCore::SVGElementInstance::create): + (WebCore::SVGElementInstance::correspondingUseElement): + (WebCore::SVGElementInstance::directUseElement): + (WebCore::SVGElementInstance::clearUseElements): + * svg/SVGUseElement.cpp: + (WebCore::updateContainerSize): + (WebCore::SVGUseElement::updateContainerSizes): + (WebCore::dumpInstanceTree): + (WebCore::SVGUseElement::detachInstance): + (WebCore::SVGUseElement::buildInstanceTree): + +2011-03-21 Jaehun Lim <ljaehun.lim@samsung.com> + + Reviewed by Pavel Feldman. + + Fix build break when inspector is enabled. + https://bugs.webkit.org/show_bug.cgi?id=56735 + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Add ENABLE(INSPECTOR). + +2011-03-21 Philippe Normand <pnormand@igalia.com> + + Unreviewed, GTK distcheck build fix. + + * GNUmakefile.am: + +2011-03-21 Julien Chaffraix <jchaffraix@webkit.org> + + Reviewed by Eric Seidel. + + Bug 51465 - chrome.dll!WebCore::RenderLayer::currentTransform + ReadAV@NULL (8968fc97874fa23b6799ff8f09c142e4) + + Test: fast/css/webkit-empty-transform-preserve3d-crash.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::layoutOverflowRectForPropagation): Mimicked the + rest of the code and check that the RenderBox has a layer to avoid + crashing on the layer() call. + +2011-03-21 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: move cookie processing and appcache from DOMAgent.js + https://bugs.webkit.org/show_bug.cgi?id=56713 + + * inspector/front-end/ApplicationCacheItemsView.js: + (WebInspector.ApplicationCacheDispatcher): + (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync): + (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus): + (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState): + * inspector/front-end/CookieItemsView.js: + (WebInspector.Cookies.getCookiesAsync): + (WebInspector.Cookies.buildCookiesFromString): + (WebInspector.Cookies.cookieMatchesResourceURL): + (WebInspector.Cookies.cookieDomainMatchesResourceDomain): + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMNode.prototype.eventListeners): + * inspector/front-end/EventListenersSidebarPane.js: + (WebInspector.EventListenersSidebarPane.prototype.update): + +2011-03-21 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: migrate Inspector.json to valid JSON types. + https://bugs.webkit.org/show_bug.cgi?id=56651 + + This change migrates inspector from long to int as + dom, storage, database and other id types. + + * inspector/InjectedScriptHost.cpp: + (WebCore::InjectedScriptHost::inspectedNode): + (WebCore::InjectedScriptHost::databaseIdImpl): + (WebCore::InjectedScriptHost::storageIdImpl): + (WebCore::InjectedScriptHost::didCreateWorker): + (WebCore::InjectedScriptHost::didDestroyWorker): + * inspector/InjectedScriptHost.h: + * inspector/InjectedScriptHost.idl: + * inspector/Inspector.json: + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::highlightDOMNode): + * inspector/InspectorAgent.h: + * inspector/InspectorBrowserDebuggerAgent.cpp: + (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent): + (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint): + * inspector/InspectorBrowserDebuggerAgent.h: + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::getStylesForNode): + (WebCore::InspectorCSSAgent::getInlineStyleForNode): + (WebCore::InspectorCSSAgent::getComputedStyleForNode): + (WebCore::InspectorCSSAgent::setPropertyText): + (WebCore::InspectorCSSAgent::toggleProperty): + (WebCore::InspectorCSSAgent::addRule): + (WebCore::InspectorCSSAgent::elementForId): + * inspector/InspectorCSSAgent.h: + * inspector/InspectorConsoleAgent.cpp: + (WebCore::InspectorConsoleAgent::count): + (WebCore::InspectorConsoleAgent::addInspectedNode): + (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): + * inspector/InspectorConsoleAgent.h: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::bind): + (WebCore::InspectorDOMAgent::unbind): + (WebCore::InspectorDOMAgent::assertNode): + (WebCore::InspectorDOMAgent::assertElement): + (WebCore::InspectorDOMAgent::assertHTMLElement): + (WebCore::InspectorDOMAgent::nodeToSelectOn): + (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): + (WebCore::InspectorDOMAgent::nodeForId): + (WebCore::InspectorDOMAgent::getChildNodes): + (WebCore::InspectorDOMAgent::querySelector): + (WebCore::InspectorDOMAgent::querySelectorAll): + (WebCore::InspectorDOMAgent::pushNodePathToFrontend): + (WebCore::InspectorDOMAgent::boundNodeId): + (WebCore::InspectorDOMAgent::setAttribute): + (WebCore::InspectorDOMAgent::removeAttribute): + (WebCore::InspectorDOMAgent::removeNode): + (WebCore::InspectorDOMAgent::setNodeName): + (WebCore::InspectorDOMAgent::getOuterHTML): + (WebCore::InspectorDOMAgent::setOuterHTML): + (WebCore::InspectorDOMAgent::setNodeValue): + (WebCore::InspectorDOMAgent::getEventListenersForNode): + (WebCore::InspectorDOMAgent::resolveNode): + (WebCore::InspectorDOMAgent::pushNodeToFrontend): + (WebCore::InspectorDOMAgent::buildObjectForNode): + (WebCore::InspectorDOMAgent::loadEventFired): + (WebCore::InspectorDOMAgent::didInsertDOMNode): + (WebCore::InspectorDOMAgent::didRemoveDOMNode): + (WebCore::InspectorDOMAgent::didModifyDOMAttr): + (WebCore::InspectorDOMAgent::characterDataModified): + (WebCore::InspectorDOMAgent::didInvalidateStyleAttr): + (WebCore::InspectorDOMAgent::reportNodesAsSearchResults): + (WebCore::InspectorDOMAgent::copyNode): + (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend): + * inspector/InspectorDOMAgent.h: + * inspector/InspectorDOMStorageAgent.cpp: + (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries): + (WebCore::InspectorDOMStorageAgent::setDOMStorageItem): + (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem): + (WebCore::InspectorDOMStorageAgent::storageId): + (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId): + * inspector/InspectorDOMStorageAgent.h: + * inspector/InspectorDOMStorageResource.cpp: + * inspector/InspectorDOMStorageResource.h: + (WebCore::InspectorDOMStorageResource::id): + * inspector/InspectorDatabaseAgent.cpp: + (WebCore::InspectorDatabaseAgent::getDatabaseTableNames): + (WebCore::InspectorDatabaseAgent::executeSQL): + (WebCore::InspectorDatabaseAgent::databaseId): + (WebCore::InspectorDatabaseAgent::databaseForId): + * inspector/InspectorDatabaseAgent.h: + * inspector/InspectorDatabaseResource.cpp: + * inspector/InspectorDatabaseResource.h: + (WebCore::InspectorDatabaseResource::id): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::getExactHeapSnapshotNodeRetainedSize): + * inspector/InspectorProfilerAgent.h: + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::identifierForInitialRequest): + (WebCore::InspectorResourceAgent::willSendRequest): + (WebCore::InspectorResourceAgent::markResourceAsCached): + (WebCore::InspectorResourceAgent::didReceiveResponse): + (WebCore::InspectorResourceAgent::didReceiveContentLength): + (WebCore::InspectorResourceAgent::didFinishLoading): + (WebCore::InspectorResourceAgent::didFailLoading): + (WebCore::InspectorResourceAgent::setInitialContent): + (WebCore::InspectorResourceAgent::didCreateWebSocket): + (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest): + (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse): + (WebCore::InspectorResourceAgent::didCloseWebSocket): + * inspector/generate-inspector-idl: + +2011-03-21 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: make frameId in network agent of type string, not unsigned long. + https://bugs.webkit.org/show_bug.cgi?id=56708 + + * inspector/Inspector.json: + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::highlightFrame): + * inspector/InspectorAgent.h: + * inspector/InspectorResourceAgent.cpp: + (WebCore::pointerAsId): + (WebCore::buildObjectForDocumentLoader): + (WebCore::buildObjectForFrame): + (WebCore::InspectorResourceAgent::frameDetachedFromParent): + (WebCore::InspectorResourceAgent::frameForId): + (WebCore::InspectorResourceAgent::resourceContent): + * inspector/InspectorResourceAgent.h: + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.addOrUpdateFrame): + +2011-03-21 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: expose object id as string, not JSON struct in the protocol. + https://bugs.webkit.org/show_bug.cgi?id=56681 + + * bindings/js/JSInjectedScriptHostCustom.cpp: + (WebCore::JSInjectedScriptHost::inspect): + * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: + (WebCore::V8InjectedScriptHost::inspectCallback): + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::evaluateOn): + (WebCore::InjectedScript::evaluateOnCallFrame): + (WebCore::InjectedScript::getProperties): + (WebCore::InjectedScript::nodeForObjectId): + (WebCore::InjectedScript::setPropertyValue): + (WebCore::InjectedScript::releaseObject): + * inspector/InjectedScript.h: + * inspector/InjectedScriptHost.cpp: + (WebCore::InjectedScriptHost::inspectImpl): + * inspector/InjectedScriptHost.h: + * inspector/InjectedScriptManager.cpp: + (WebCore::InjectedScriptManager::injectedScriptForObjectId): + (WebCore::InjectedScriptManager::releaseObjectGroup): + * inspector/InjectedScriptManager.h: + * inspector/InjectedScriptSource.js: + * inspector/Inspector.json: + * inspector/InspectorConsoleAgent.cpp: + (WebCore::InspectorConsoleAgent::clearConsoleMessages): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::pushNodeToFrontend): + * inspector/InspectorDOMAgent.h: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorRuntimeAgent.cpp: + (WebCore::InspectorRuntimeAgent::evaluateOn): + (WebCore::InspectorRuntimeAgent::getProperties): + (WebCore::InspectorRuntimeAgent::setPropertyValue): + (WebCore::InspectorRuntimeAgent::releaseObject): + (WebCore::InspectorRuntimeAgent::releaseObjectGroup): + * inspector/InspectorRuntimeAgent.h: + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype.completions.evaluatedProperties): + (WebInspector.ConsoleView.prototype.completions): + * inspector/front-end/PropertiesSidebarPane.js: + * inspector/front-end/ScriptsPanel.js: + (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult): + * inspector/front-end/WatchExpressionsSidebarPane.js: + (WebInspector.WatchExpressionsSection.prototype.update): + * inspector/front-end/inspector.js: + (WebInspector.inspect): + +2011-03-20 Bill Budge <bbudge@chromium.org> + + Reviewed by Adam Barth. + + Rename ThreadSafeShared to ThreadSafeRefCounted + https://bugs.webkit.org/show_bug.cgi?id=56714 + + No new tests. Exposes no new functionality. + + * ForwardingHeaders/wtf/ThreadSafeRefCounted.h: Copied from ForwardingHeaders/wtf/ThreadSafeShared.h. + * ForwardingHeaders/wtf/ThreadSafeShared.h: Removed. + * bindings/v8/SerializedScriptValue.h: + * dom/Document.cpp: + * dom/default/PlatformMessagePortChannel.h: + * fileapi/FileThread.h: + * loader/ThreadableLoaderClientWrapper.h: + (WebCore::ThreadableLoaderClientWrapper::create): + (WebCore::ThreadableLoaderClientWrapper::clearClient): + (WebCore::ThreadableLoaderClientWrapper::done): + (WebCore::ThreadableLoaderClientWrapper::didSendData): + (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse): + (WebCore::ThreadableLoaderClientWrapper::didReceiveData): + (WebCore::ThreadableLoaderClientWrapper::didReceiveCachedMetadata): + (WebCore::ThreadableLoaderClientWrapper::didFinishLoading): + (WebCore::ThreadableLoaderClientWrapper::didFail): + (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck): + (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation): + (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper): + * page/SecurityOrigin.h: + * platform/CrossThreadCopier.h: + * platform/network/BlobData.h: + * platform/network/cf/SocketStreamHandle.h: + * storage/AbstractDatabase.h: + * storage/DatabaseAuthorizer.h: + * storage/DatabaseCallback.h: + * storage/DatabaseThread.h: + * storage/IDBCallbacks.h: + * storage/IDBCursorBackendInterface.h: + * storage/IDBDatabaseBackendInterface.h: + * storage/IDBFactoryBackendInterface.h: + * storage/IDBIndexBackendInterface.h: + * storage/IDBKey.h: + * storage/IDBKeyRange.h: + * storage/IDBObjectStoreBackendInterface.h: + * storage/IDBRequest.h: + * storage/IDBTransactionBackendInterface.h: + * storage/SQLError.h: + * storage/SQLResultSet.h: + * storage/SQLStatement.h: + * storage/SQLStatementCallback.h: + * storage/SQLStatementErrorCallback.h: + * storage/SQLTransaction.h: + * storage/SQLTransactionCallback.h: + * storage/SQLTransactionErrorCallback.h: + * websockets/ThreadableWebSocketChannelClientWrapper.h: + * workers/DefaultSharedWorkerRepository.cpp: + +2011-03-20 Andreas Kling <kling@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Clean up redirection logic in QNetworkReplyHandler + https://bugs.webkit.org/show_bug.cgi?id=56717 + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + Use resetState() when constructing QNRH as well. + + (WebCore::QNetworkReplyHandler::resetState): + Delete (deferred) the m_reply if one exists (only when redirecting.) + + (WebCore::QNetworkReplyHandler::finish): + Return early when redirecting. + + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + (WebCore::QNetworkReplyHandler::redirect): + Move the redirection logic from sendResponseIfNeeded() into a + separate redirect() method. + +2011-03-19 Andreas Kling <kling@webkit.org> + + Reviewed by Benjamin Poulain. + + [Qt] Rename ignoreHttpError() to shouldIgnoreHttpError() + + The function doesn't ignore anything, thus it shouldn't have an imperative name. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::shouldIgnoreHttpError): + (WebCore::QNetworkReplyHandler::finish): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + +2011-03-19 Andreas Kling <kling@webkit.org> + + Reviewed by Benjamin Poulain. + + [Qt] Kill layer violation FIXME in ResourceHandleQt. + + We were including qwebframe_p.h from WebKit/qt for no reason. + + * platform/network/qt/ResourceHandleQt.cpp: + +2011-03-19 Andreas Kling <kling@webkit.org> + + Reviewed by Benjamin Poulain. + + [Qt] Refactor handling of deferred loads + https://bugs.webkit.org/show_bug.cgi?id=56715 + + Split QNetworkReplyHandler's "load mode" into two parameters + instead of trying to fit the deferral mechanism into it. + + Loads are now AsynchronousLoad (default) or SynchronousLoad (for sync XHR.) + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + (WebCore::QNetworkReplyHandler::setLoadingDeferred): + (WebCore::QNetworkReplyHandler::resumeDeferredLoad): + (WebCore::QNetworkReplyHandler::finish): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + (WebCore::QNetworkReplyHandler::forwardData): + (WebCore::QNetworkReplyHandler::start): + (WebCore::QNetworkReplyHandler::resetState): + * platform/network/qt/QNetworkReplyHandler.h: + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::ResourceHandle::start): + (WebCore::ResourceHandle::loadResourceSynchronously): + (WebCore::ResourceHandle::platformSetDefersLoading): + +2011-03-19 Anton D'Auria <adauria@apple.com> + + Reviewed by Alexey Proskuryakov. + + ApplicationCacheGroup is not obsolete after being deleted via ApplicationCacheStorage::deleteEntriesForOrigin + https://bugs.webkit.org/show_bug.cgi?id=56415 + + To delete all Application Cache for an origin, we must obsolete all + in-memory cache groups for that origin. If a cache group isn't in memory, + then it must be deleted from disk. The previous implementation correctly + removed on-disk cache groups, but did not mark in-memory cache groups as obsolete. + This caused an assertion failure in ApplicationCacheStorage::cacheGroupDestroyed() + when the DocumentLoader was destroyed. + + Test: http/tests/appcache/origin-delete.html + + * WebCore.exp.in: + * WebCore.xcodeproj/project.pbxproj: + * loader/appcache/ApplicationCache.cpp: + (WebCore::ApplicationCache::clearStorageID): + (WebCore::ApplicationCache::deleteCacheForOrigin): + * loader/appcache/ApplicationCache.h: + * loader/appcache/ApplicationCacheStorage.cpp: + (WebCore::ApplicationCacheStorage::findInMemoryCacheGroup): + * loader/appcache/ApplicationCacheStorage.h: + +2011-03-19 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Reviewed by Antonio Gomes. + + [EFL] Add dummy GeolocationServiceEfl. cpp | h + https://bugs.webkit.org/show_bug.cgi?id=56710 + + Add dummy GeolocationServiceEfl.cpp | h to platform/efl. + + * CMakeListsEfl.txt: + * platform/efl/GeolocationServiceEfl.cpp: Added. + (WebCore::GeolocationServiceEfl::create): + (WebCore::GeolocationServiceEfl::GeolocationServiceEfl): + (WebCore::GeolocationServiceEfl::~GeolocationServiceEfl): + (WebCore::GeolocationServiceEfl::startUpdating): + (WebCore::GeolocationServiceEfl::stopUpdating): + (WebCore::GeolocationServiceEfl::suspend): + (WebCore::GeolocationServiceEfl::resume): + (WebCore::GeolocationServiceEfl::lastPosition): + (WebCore::GeolocationServiceEfl::lastError): + * platform/efl/GeolocationServiceEfl.h: Added. + +2011-03-19 Patrick Gansterer <paroga@webkit.org> + + Unreviewed, rolling out r81551. + http://trac.webkit.org/changeset/81551 + https://bugs.webkit.org/show_bug.cgi?id=55336 + + Broke some storage tests on Win32. + + * platform/win/FileSystemWin.cpp: + (WebCore::statFile): + (WebCore::getFileSize): + (WebCore::getFileModificationTime): + (WebCore::fileExists): + +2011-03-19 Andreas Kling <kling@webkit.org> + + Reviewed by Benjamin Poulain. + + [Qt] Remove support for Qt 4.6 + https://bugs.webkit.org/show_bug.cgi?id=56712 + + * platform/graphics/qt/FontPlatformDataQt.cpp: + (WebCore::FontPlatformData::FontPlatformData): + * platform/graphics/qt/FontQt.cpp: + (WebCore::drawTextCommon): + (WebCore::Font::drawSimpleText): + (WebCore::Font::floatWidthForSimpleText): + (WebCore::Font::offsetForPositionForSimpleText): + (WebCore::Font::selectionRectForSimpleText): + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3DInternal::paint): + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::getImageData): + * platform/graphics/qt/ImageDecoderQt.cpp: + (WebCore::ImageDecoderQt::internalHandleCurrentImage): + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::transform): + * platform/network/qt/DnsPrefetchHelper.h: + (WebCore::DnsPrefetchHelper::DnsPrefetchHelper): + (WebCore::DnsPrefetchHelper::lookup): + * platform/network/qt/NetworkStateNotifierPrivate.h: + * platform/network/qt/NetworkStateNotifierQt.cpp: + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::httpMethod): + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + (WebCore::QNetworkReplyHandler::start): + * platform/network/qt/ResourceRequestQt.cpp: + (WebCore::ResourceRequest::toNetworkRequest): + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::paintMediaSliderTrack): + +2011-03-19 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Adam Roben. + + Use Win32 API to get file information + https://bugs.webkit.org/show_bug.cgi?id=55336 + + Use GetFileInformationByHandle() in favour over _wstat64(), GetFileSizeEx() + and GetFileAttributesEx() so we can share the code with WinCE. + + * platform/win/FileSystemWin.cpp: + (WebCore::createFileHandle): + (WebCore::getFileInformation): + (WebCore::getFileSize): + (WebCore::getFileModificationTime): + (WebCore::fileExists): + +2011-03-19 Xan Lopez <xlopez@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Simplify GObjectEventListener + https://bugs.webkit.org/show_bug.cgi?id=56698 + + Get rid of special case for DOMWindow, since it's also an + EventTarget. + + * bindings/gobject/GObjectEventListener.cpp: + (WebCore::GObjectEventListener::GObjectEventListener): remove + DOMWindow special casing. + (WebCore::GObjectEventListener::~GObjectEventListener): ditto. + (WebCore::GObjectEventListener::gobjectDestroyed): + * bindings/gobject/GObjectEventListener.h: + (WebCore::GObjectEventListener::addEventListener): ditto. + (WebCore::GObjectEventListener::removeEventListener): ditto. + +2011-03-19 Ben Taylor <bentaylor.solx86@gmail.com> + + Reviewed by Nikolas Zimmermann. + + https://bugs.webkit.org/show_bug.cgi?id=56195 + Fix conditional which had an int for one case and a pointer for another. + Similar fix as https://bugs.webkit.org/show_bug.cgi?id=56198 + + No new tests. Fix compilation on Solaris 10 with Sun Studio C++ + + * svg/SVGElement.cpp: + (WebCore::SVGElement::sendSVGLoadEventIfPossible): + +2011-03-19 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Darin Adler. + + Rename WTF::StringHasher methods + https://bugs.webkit.org/show_bug.cgi?id=53532 + + Rename createHash to computeHash and createBlobHash to hashMemory. + Also add a using WTF::StringHasher in the header file. + + * dom/Document.cpp: + (WebCore::FormElementKeyHash::hash): + * dom/QualifiedName.h: + (WebCore::hashComponents): + * dom/StyledElement.cpp: + (WebCore::MappedAttributeHash::hash): + * loader/appcache/ApplicationCacheStorage.cpp: + (WebCore::urlHostHash): + * page/SecurityOriginHash.h: + (WebCore::SecurityOriginHash::hash): + * platform/LinkHash.cpp: + (WebCore::visitedLinkHashInline): + * platform/cf/BinaryPropertyList.cpp: + (WebCore::IntegerArrayHash::hash): + * platform/cf/SchedulePair.h: + (WebCore::SchedulePairHash::hash): + * platform/graphics/FontCache.cpp: + (WebCore::computeHash): + * platform/graphics/chromium/FontPlatformDataChromiumWin.h: + (WebCore::FontPlatformData::RefCountedHFONT::hash): + * platform/graphics/cocoa/FontPlatformData.h: + (WebCore::FontPlatformData::hash): + * platform/graphics/pango/FontPlatformData.h: + (WebCore::FontPlatformData::hash): + * platform/graphics/wince/FontPlatformData.cpp: + (WebCore::FixedSizeFontDataKeyHash::hash): + * platform/graphics/wx/FontPlatformDataWx.cpp: + (WebCore::FontPlatformData::computeHash): + * platform/network/ProtectionSpaceHash.h: + (WebCore::ProtectionSpaceHash::hash): + * plugins/PluginPackage.cpp: + (WebCore::PluginPackage::hash): + * plugins/win/PluginPackageWin.cpp: + (WebCore::PluginPackage::hash): + * svg/properties/SVGAnimatedPropertyDescription.h: + (WebCore::SVGAnimatedPropertyDescriptionHash::hash): + +2011-03-18 David Kilzer <ddkilzer@apple.com> + + <http://webkit.org/b/56688> Fix clang static analyzer warning in WebCoreViewFactory.m + + Reviewed by Anders Carlsson. + + Fixes the following static analyzer warning: + + Source/WebCore/page/mac/WebCoreViewFactory.m:45:5: warning: Returning 'self' while it is not set to the result of '[(super or self) init...]' + return self; + ^ + + * page/mac/WebCoreViewFactory.m: + (-[WebCoreViewFactory init]): Assign the result of [super init] + to self. + +2011-03-18 Adam Barth <abarth@webkit.org> + + Reviewed by Dimitri Glazkov. + + WebCore GYP build should build + https://bugs.webkit.org/show_bug.cgi?id=56696 + + After this patch, the WebCore GYP build successfully compiles and + links. I haven't trying executing it yet. + + * WebCore.gypi: + - DOMMouseEvent should be included as part of the Objective-C bindings. + * WebCore.xcodeproj/project.pbxproj: + - RenderSVGPath.cpp was mistakenly included directly in the project + instead of being built by RenderSVGAllInOne. + * gyp/WebCore.gyp: + - Exclude some more files from the build. These files are absent + in the normal build. I didn't see them earlier because the dead + code stripping was hiding them. (They're probably unreferenced.) + - Switch to using RenderSVGAllInOne. I'm not entirely sure if this + part of the patch is necessary, but it matches the normal build + more closely. + * platform/mac/WebCoreObjCExtras.mm: + - The normal build passes the -Wdeprecated-declarations flag when + compiling this file. The GYP folks explicitly do not want to add + that feature to GYP, and there does not appear to be a way to + remove the deprecated call from this file. + * rendering/svg/RenderSVGAllInOne.cpp: + - Add RenderSVGPath.cpp, which was missing previously. + +2011-03-18 Adam Barth <abarth@webkit.org> + + Reviewed by Dimitri Glazkov. + + WebCore GYP build should (almost!) link + https://bugs.webkit.org/show_bug.cgi?id=56689 + + This patch is a grab-bag of small changes to bring the WebCore GYP + build down to two link errors or one compile error (take your pick). + We might need a GYP change to get this last file to compile, however. + + * WebCore.gypi: + * gyp/WebCore.gyp: + +2011-03-16 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Ojan Vafai. + + Add a test for r81266 and fix HTML Editing for fallback contents in object element + https://bugs.webkit.org/show_bug.cgi?id=56505 + + The bug was caused by canHaveChildrenForEditing's always returning false even when + object element used fallback content. Fixed the bug by adding a check. + + Test: editing/editability/ignored-content.html + + * editing/htmlediting.cpp: + (WebCore::canHaveChildrenForEditing): + +2011-03-18 Andy Estes <aestes@apple.com> + + Reviewed by Eric Seidel. + + REGRESSION (r80231): Bad cast in HTMLTreeBuilder::processStartTag + https://bugs.webkit.org/show_bug.cgi?id=56380 + + Fix two issues with parsing a fragment that has a foreign content + element as its context element. The first issue is that the parser will + initially be in the InForeignContentMode insertion mode when processing + the first tag in the fragment in this case so one call site needs to + change from currentElement() to currentNode(). The second issue is that + when we changed fragments from using a fake HTML root element to a + DocumentFragment we broke checks that assumed the root element was in + the HTML namespace. Fix this by claiming that the DocumentFragment is + also in the HTML namespace. + + Test: fast/parser/fragment-foreign-content-context.html + + * html/parser/HTMLElementStack.cpp: + (WebCore::HTMLNames::isForeignContentScopeMarker): + (WebCore::HTMLElementStack::hasOnlyHTMLElementsInScope): + * html/parser/HTMLElementStack.h: + (WebCore::isInHTMLNamespace): + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken): + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTag): + +2011-03-18 James Robinson <jamesr@chromium.org> + + Reviewed by Dimitri Glazkov. + + REGRESSION(78846) [chromium] Justified text renders at incorrect offsets on windows + https://bugs.webkit.org/show_bug.cgi?id=56629 + + Preserves offsets as absolute floating point offsets and rounds to + advances at the last possible second. I can't prove to myself that + this is sound but it seems to work on the test cases I've constructed. + + Will probably change the pixel tests on chromium windows given that we + were horribly broken before this patch. + + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::Font::drawGlyphs): + (WebCore::Font::drawComplexText): + +2011-03-18 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + REGRESSION(81374, 81384): editing/deleting/5206311-1.html hits assertion on non-Mac platforms + https://bugs.webkit.org/show_bug.cgi?id=56599 + + Debug build fix. + + * dom/Position.cpp: + (WebCore::Position::parentAnchoredEquivalent): If the original position was a position before a node, + then we can't necessarily instantiate a position inside the node. + * editing/VisibleSelection.cpp: + (WebCore::VisibleSelection::toNormalizedRange): Even if s and e were not null, container nodes of s and e + could be null. Exit early in those cases as well. + +2011-03-18 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add ObjC bindings to the WebCore GYP build + https://bugs.webkit.org/show_bug.cgi?id=56671 + + It turns out we generate a bunch of ObjC bindings files that we don't + actually build. I've manually synced the list of ObjC derived source + files to match the existing list. This brings us down to 19 link + errors. + + * WebCore.gypi: + * gyp/WebCore.gyp: + +2011-03-18 Ryuan Choi <ryuan.choi@samsung.com> + + Reviewed by Eric Seidel. + + [CMAKE] Split JSC related configurations from WebCore/CMakeLists.txt + https://bugs.webkit.org/show_bug.cgi?id=56624 + + No new tests, just splitting jsc related configuration. + + * CMakeLists.txt: + * UseJSC.cmake: Added. + +2011-03-16 Stephen White <senorblanco@chromium.org> + + Reviewed by Kenneth Russell. + + Implement GPU-accelerated shadows. + https://bugs.webkit.org/show_bug.cgi?id=56476 + + For hard shadows, we simply offset the CTM and draw in the shadow + color. For soft shadows, we use a separable Gaussian convolution, + with a bilinear downsample and Mitchell-Netravali upsample in order to + preserve quality. + + * WebCore.gypi: + Add BicubicShader and ConvolutionShader to the build. + * platform/graphics/chromium/GLES2Canvas.cpp: + (WebCore::GLES2Canvas::State::State): + Add shadow-related members to the GLES2Canvas::State + (WebCore::GLES2Canvas::State::shadowActive): + Add a helper function to know if shadows are active. + (WebCore::GLES2Canvas::clearRect): + (WebCore::GLES2Canvas::scissorClear): + Refactor the scissor clearing function out of clearRect(). + (WebCore::GLES2Canvas::fillPath): + Add hook for shadow rendering in paths. Bind framebuffer at this level. + (WebCore::GLES2Canvas::fillRect): + Add hook for shadow rendering in rects. Bind framebuffer at this level. + (WebCore::GLES2Canvas::fillRectInternal): + Rename fillRect() -> fillRectInternal(), which does bind its vertex + buffer, but does not bind the framebuffer. + (WebCore::GLES2Canvas::setShadowColor): + (WebCore::GLES2Canvas::setShadowOffset): + (WebCore::GLES2Canvas::setShadowBlur): + (WebCore::GLES2Canvas::setShadowsIgnoreTransforms): + Implement graphicsContext-style setters for shadow parameters. + (WebCore::GLES2Canvas::clipPath): + Call fillPathInternal(), not fillPath(). + (WebCore::GLES2Canvas::restore): + (WebCore::GLES2Canvas::drawTexturedRect): + Bind the framebuffer at this level. Do not bind vertices here (will + be done in drawTexturedQuad). + (WebCore::GLES2Canvas::drawTexturedRectTile): + drawQuad() -> drawTexturedQuad(). + (WebCore::GLES2Canvas::convolveRect): + Implement one pass of a convolution filter (X or Y). + (WebCore::gauss): + (WebCore::buildKernel): + Some helper functions to build a Gaussian convolution kernel. + (WebCore::GLES2Canvas::drawTexturedQuad): + Rename drawQuad() -> drawTexturedQuad(), to be more clear. Do not + bind the framebuffer at this level (it will be done higher). + (WebCore::GLES2Canvas::drawTexturedQuadMitchell): + Implement Mitchell-Netravali bicubic sampling, using BicubicShader. + (WebCore::GLES2Canvas::fillPathInternal): + Rename fillPath() -> fillPathInternal(), which does use quad vertices, + but does not bind the framebuffer or set the compositing mode. + (WebCore::GLES2Canvas::flipRect): + Implement a helper function to flip a rectangle in Y within the canvas. + (WebCore::GLES2Canvas::clearBorders): + Implement a helper function to clear an n-pixel border around a rect. + (WebCore::GLES2Canvas::beginShadowDraw): + Setup before drawing a primitive's shadow: for hard shadows, just + offset the CTM by the shadow offset. For soft shadows, bind to an + offscreen DrawingBuffer. + (WebCore::GLES2Canvas::endShadowDraw): + Tear-down after drawing a primitive's shadow: for hard shadows, just + restore the CTM. For soft shadows, downsample (if necessary), then + blur in X, blur in Y, upsample if necessary). + * platform/graphics/chromium/GLES2Canvas.h: + * platform/graphics/gpu/BicubicShader.cpp: Added. + (WebCore::BicubicShader::BicubicShader): + (WebCore::BicubicShader::create): + (WebCore::BicubicShader::use): + * platform/graphics/gpu/BicubicShader.h: Added. + Implement a bicubic image filtering shader. + * platform/graphics/gpu/ConvolutionShader.cpp: Added. + (WebCore::ConvolutionShader::ConvolutionShader): + (WebCore::ConvolutionShader::create): + (WebCore::ConvolutionShader::use): + * platform/graphics/gpu/ConvolutionShader.h: Added. + Implement a 1-dimensional convolution shader. In order to minimize + texture samples, this shader is parameterized at compile time by the + width of the convolution kernel. + * platform/graphics/gpu/DrawingBuffer.h: + (WebCore::DrawingBuffer::colorBuffer): + Add an accessor to retrieve a DrawingBuffer's texture ID. + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::create): + (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D): + (WebCore::SharedGraphicsContext3D::useBicubicProgram): + (WebCore::SharedGraphicsContext3D::useConvolutionProgram): + Create BicubicShader and cMaxKernelWidth ConvolutionShader's (one for + each possible kernel width). + (WebCore::SharedGraphicsContext3D::getOffscreenBuffer): + Implement a simple cache of offscreen DrawingBuffers, integer-indexed. + This is done to minimize the VRAM usage: only 2 buffers are used for + all canvases. + * platform/graphics/gpu/SharedGraphicsContext3D.h: + Add bicubic and convolution shader members, and useXXX() functions. + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::setPlatformShadow): + Hook into GraphicsContextSkia's platform shadow setters to set + parameters on GLES2Canvas. + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::canAccelerate): + Remove shadows (loopers) from the list of things we can't accelerate. + +2011-03-18 Andreas Kling <kling@webkit.org> + + Reviewed by Darin Adler. + + Remove unused method FontFallbackList::fontDataForCharacters() + https://bugs.webkit.org/show_bug.cgi?id=56657 + + * platform/graphics/Font.h: + * platform/graphics/FontFallbackList.cpp: + * platform/graphics/FontFallbackList.h: + +2011-03-18 Andreas Kling <kling@webkit.org> + + Reverting accidental changes in r81498. + +2011-03-18 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: rename console agent events. + https://bugs.webkit.org/show_bug.cgi?id=56646 + + addConsoleMessage -> consoleMessage + updateConsoleMessageExpiredCount -> consoleMessageExpiredCountUpdate + updateConsoleMessageRepeatCount -> consoleMessageRepeatCountUpdate + + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::addToFrontend): + (WebCore::ConsoleMessage::updateRepeatCountInConsole): + * inspector/Inspector.json: + * inspector/InspectorConsoleAgent.cpp: + (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessage): + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessageExpiredCountUpdate): + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessageRepeatCountUpdate): + +2011-03-18 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r81487. + http://trac.webkit.org/changeset/81487 + https://bugs.webkit.org/show_bug.cgi?id=56662 + + "Breaks inspector/styles/styles-add-blank-property.html" + (Requested by apavlov on #webkit). + + * inspector/Inspector.json: + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::getAllStyles): + * inspector/InspectorCSSAgent.h: + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyleSheet::buildObjectForStyleSheet): + * inspector/InspectorStyleSheet.h: + * inspector/front-end/AuditRules.js: + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback): + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback): + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback): + (WebInspector.CSSStyleModel.prototype._styleSheetChanged): + (WebInspector.CSSStyleModel.prototype._onRevert): + (WebInspector.CSSStyleSheet): + (WebInspector.CSSStyleSheet.prototype.setText): + +2011-03-18 Justin Novosad <junov@chromium.org> + + Reviewed by Kenneth Russell. + + [Chromium] Canvas shadow is not working with drawImage + https://bugs.webkit.org/show_bug.cgi?id=55506 + + Patch also fixes shadow blur quality and color. + Affects Chromium win/linux. Also fixes the following bugs: + https://bugs.webkit.org/show_bug.cgi?id=50112 + https://bugs.webkit.org/show_bug.cgi?id=51989 + https://bugs.webkit.org/show_bug.cgi?id=55410 + No tests were added, impact is already covered by multiple layout tests. + + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/skia/ImageSkia.cpp: + (WebCore::paintSkBitmap): + +2011-03-15 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Fix handling of the CSSAgent.setStyleSheetText() results in CSSStyleModel.js + https://bugs.webkit.org/show_bug.cgi?id=56310 + + Instead of stylesheet ids, CSSAgent.getAllStyleSheets() now returns metainfo objects containing + "styleSheetId", "sourceURL", "disabled", and "title" fields. The latter three are not returned + by CSSAgent.getStyleSheet() anymore. + + Test: inspector/styles/get-set-stylesheet-text.html + + * inspector/Inspector.json: + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::getAllStyleSheets): + * inspector/InspectorCSSAgent.h: + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyleSheet::buildObjectForStyleSheet): + (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo): + * inspector/InspectorStyleSheet.h: + * inspector/front-end/AuditRules.js: + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback): + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback): + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback): + (WebInspector.CSSStyleModel.prototype._styleSheetChanged): + (WebInspector.CSSStyleModel.prototype._onRevert): + (WebInspector.CSSStyleSheet): + (WebInspector.CSSStyleSheet.prototype.setText): + +2011-03-18 David Keijser <keijser@gmail.com> and Xan Lopez <xlopez@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] On-demand event-listeners for DOM event signals + https://bugs.webkit.org/show_bug.cgi?id=49649 + + Add explicit EventTarget API to add/remove event listeners instead + of using GSignal, which due to internal limitations in glib makes + us preemptively add listeners for all event types. + + * bindings/gobject/GObjectEventListener.cpp: add new + addEventListener/removeEventListener methods, and small + refactoring to store an EventTarget internally instead of a DOM + node, which is more generic and can be reused in more cases. + * bindings/gobject/GObjectEventListener.h: ditto. + * bindings/gobject/WebKitDOMEventTarget.cpp: + (webkit_dom_event_target_add_event_listener): new iface method to + add an event listener. + (webkit_dom_event_target_remove_event_listener): new iface method + to remove an event listener. + * bindings/gobject/WebKitDOMEventTarget.h: add new iface methods. + * bindings/scripts/CodeGeneratorGObject.pm: change code generation + accordingly. + +2011-03-18 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=56425 + More groundwork for WebKit2 IconDatabase + + -Update the synchronous method names to be prefixed with "synchronous." + -Call asynchronous versions of the appropriate methods if the IconDatabase supports them. + + Update icon database calls to be prefixed with "synchronous": + * loader/archive/cf/LegacyWebArchive.cpp: + (WebCore::LegacyWebArchive::create): + * loader/icon/IconDatabaseBase.h: + (WebCore::IconDatabaseBase::synchronousIconDataKnownForIconURL): + (WebCore::IconDatabaseBase::synchronousLoadDecisionForIconURL): + (WebCore::IconDatabaseBase::synchronousIconForPageURL): + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::synchronousIconForPageURL): + (WebCore::IconDatabase::readIconForPageURLFromDisk): + (WebCore::IconDatabase::synchronousIconURLForPageURL): + (WebCore::IconDatabase::synchronousLoadDecisionForIconURL): + (WebCore::IconDatabase::synchronousIconDataKnownForIconURL): + * loader/icon/IconDatabase.h: + * loader/icon/IconDatabaseBase.cpp: + (WebCore::IconDatabaseBase::synchronousIconURLForPageURL): + + Add nascent support for an asynchronous icon database mode: + * loader/icon/IconDatabaseBase.h: + (WebCore::EnumCallback::create): + (WebCore::EnumCallback::~EnumCallback): + (WebCore::EnumCallback::performCallback): + (WebCore::EnumCallback::invalidate): + (WebCore::EnumCallback::EnumCallback): + (WebCore::ObjectCallback::create): + (WebCore::ObjectCallback::~ObjectCallback): + (WebCore::ObjectCallback::performCallback): + (WebCore::ObjectCallback::invalidate): + (WebCore::ObjectCallback::ObjectCallback): + (WebCore::IconDatabaseBase::supportsAsynchronousMode): + (WebCore::IconDatabaseBase::loadDecisionForIconURL): + (WebCore::IconDatabaseBase::iconDataForIconURL): + + Add interfaces to use the asynchronous versions of certain IconDatabase calls: + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::~DocumentLoader): + (WebCore::DocumentLoader::iconLoadDecisionAvailable): + (WebCore::iconLoadDecisionCallback): + (WebCore::DocumentLoader::getIconLoadDecisionForIconURL): + (WebCore::DocumentLoader::continueIconLoadWithDecision): + (WebCore::iconDataCallback): + (WebCore::DocumentLoader::getIconDataForIconURL): + * loader/DocumentLoader.h: + + Break "startIconLoader" into two pieces so it can be used from both the synchronous and asynchronous + icon database modes: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::iconLoadDecisionReceived): + (WebCore::FrameLoader::startIconLoader): + (WebCore::FrameLoader::continueIconLoadWithDecision): + * loader/FrameLoader.h: + + * WebCore.exp.in: + +2011-03-18 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed: add missing brace to the generated Inspector.idl. + + * inspector/generate-inspector-idl: + +2011-03-18 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: migrate from Inspector.idl to InspectorAPI.json for protocol schema definition meta bug. + https://bugs.webkit.org/show_bug.cgi?id=56294 + + * CMakeLists.txt: + * CodeGenerators.pri: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gyp/WebCore.gyp: + * inspector/Inspector.idl: Removed. + * inspector/Inspector.json: Added. + * inspector/generate-inspector-idl: Added. + +2011-03-18 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: implement inspector session storage. + https://bugs.webkit.org/show_bug.cgi?id=56643 + + We would like to enable debugger/profiler from frontend side only. + However, when user clicks "Start Debugging JavaScript" in Safari, we + need to enable debugger when frontend is opened or re-opened for the + same page. The idea is to store debugger-enabled setting in session + storage and check it on frontend load. + + * inspector/InspectorFrontendClient.h: + (WebCore::InspectorFrontendClient::saveSessionSetting): + (WebCore::InspectorFrontendClient::loadSessionSetting): + * inspector/InspectorFrontendHost.cpp: + (WebCore::InspectorFrontendHost::saveSessionSetting): + (WebCore::InspectorFrontendHost::loadSessionSetting): + * inspector/InspectorFrontendHost.h: + * inspector/InspectorFrontendHost.idl: + +2011-03-18 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Enable GraphicsContext3D only when the window surface support OpenGL + https://bugs.webkit.org/show_bug.cgi?id=56555 + + Allow creation of WebGLRenderingContext in the HTMLCanvasElement + only if accelerated compositing is enabled. In GraphicsContext3D, + while blitting the surface check that viewport hasn't changed from + creation and painter is associated to the viewport. + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::getContext): + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): + (WebCore::GraphicsContext3DInternal::getViewportGLWidget): + (WebCore::GraphicsContext3DInternal::paint): + +2011-03-17 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: extract content loading logic from scripts panel. + https://bugs.webkit.org/show_bug.cgi?id=55237 + + Encapsulate source files creation logic in debugger presentation model + to support source mappings in a pluggable way. + + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel.prototype.sourceFile): + (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent.else.didRequestSource): + (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent): + (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource): + (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource): + (WebInspector.DebuggerPresentationModel.prototype._addScript.else.resourceFinished): + (WebInspector.DebuggerPresentationModel.prototype._addScript): + (WebInspector.DebuggerPresentationModel.prototype._ensureSourceFileAdded): + (WebInspector.DebuggerPresentationModel.prototype._resourceForURL): + (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged): + (WebInspector.DebuggerPresentationModel.prototype._sourceFileAdded): + (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId): + (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): + (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved): + (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved): + (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints): + (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame): + (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation): + (WebInspector.DebuggerPresentationModel.prototype.reset): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype._sourceFileAdded): + (WebInspector.ScriptsPanel.prototype._showSourceFrame): + (WebInspector.ScriptsPanel.prototype._sourceFileChanged): + (WebInspector.ScriptsPanel.prototype._callFrameSelected): + (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent): + +2011-03-18 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: console doesn't scroll when multiline expression is being evaluated + https://bugs.webkit.org/show_bug.cgi?id=56639 + + Always scoll in the console when command result is received. + + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype.addMessage): + +2011-03-18 Adam Roben <aroben@apple.com> + + Fix a CFNumber leak seen on the leaks bot + + Reviewed by Gavin Barraclough. + + * platform/network/mac/FormDataStreamMac.mm: + (WebCore::advanceCurrentStream): Use a RetainPtr to cause the CFNumber we allocate to be + released. + +2011-03-17 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add some of the remaining platform/mac files to WebCore GYP build + https://bugs.webkit.org/show_bug.cgi?id=56616 + + These files used to be hard, but are now magically easy. 76 link errors. + + * gyp/WebCore.gyp: + +2011-03-17 Adam Klein <adamk@chromium.org> + + Reviewed by Adam Barth. + + [filesystem] Rename toURI->toURL, resolveLocalFileSystemURI->resolveLocalFileSystemURL + https://bugs.webkit.org/show_bug.cgi?id=56502 + + * fileapi/Entry.idl: + * fileapi/EntryBase.cpp: + (WebCore::EntryBase::toURL): + * fileapi/EntryBase.h: + * fileapi/EntrySync.idl: + * page/DOMWindow.cpp: + (WebCore::DOMWindow::resolveLocalFileSystemURL): + * page/DOMWindow.h: + * page/DOMWindow.idl: + +2011-03-17 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Update CSP directive parser to match spec + https://bugs.webkit.org/show_bug.cgi?id=56582 + + Brandon updated the CSP spec. I've updated our implementation to + match. In the process, I found a couple bugs in the spec, which I've + sent to the working group. This patch assumes that the bugs will be + fixed in the way I suggested. If they get fixed a different way, we + might need to update the parser again. + + Test: http/tests/security/contentSecurityPolicy/directive-parsing.html + + * page/ContentSecurityPolicy.cpp: + (WebCore::isDirectiveNameCharacter): + (WebCore::isDirectiveValueCharacter): + (WebCore::advanceUntil): + (WebCore::ContentSecurityPolicy::parse): + (WebCore::ContentSecurityPolicy::parseDirective): + * page/ContentSecurityPolicy.h: + +2011-03-17 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + WebCore GYP build should have PrivateHeaders + https://bugs.webkit.org/show_bug.cgi?id=56604 + + I've manually verified that this produces the correct set of + PrivateHeaders (modulo the ForwardingHeaders and icu issue). + Unforunately, this patch breakes compile slightly, but I'll fix that + in a followup patch. + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * gyp/WebCore.gyp: + +2011-03-17 Victoria Kirst <vrk@google.com> + + Reviewed by Kenneth Russell. + + [chromium] Video colors have wrong brightness/contrast + https://bugs.webkit.org/show_bug.cgi?id=56598 + + This patch changes the YUV to RGB color conversion matrix + to have brighter whites and darker blacks in accordance to + the BT.601 standard. + + * platform/graphics/chromium/ShaderChromium.cpp: + (WebCore::FragmentShaderYUVVideo::FragmentShaderYUVVideo): + (WebCore::FragmentShaderYUVVideo::init): + (WebCore::FragmentShaderYUVVideo::getShaderString): + * platform/graphics/chromium/ShaderChromium.h: + (WebCore::FragmentShaderYUVVideo::yuvAdjLocation): + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::drawYUV): + * platform/graphics/chromium/VideoLayerChromium.h: + +2011-03-17 Zhenyao Mo <zmo@google.com> + + Reviewed by Adam Barth. + + RequestAnimationFrame callbacks prevent Document from being released on detach + https://bugs.webkit.org/show_bug.cgi?id=56607 + + * dom/Document.cpp: + (WebCore::Document::removedLastRef): Remove RequestAnimationFrame callbacks. + (WebCore::Document::detach): Ditto. + +2011-03-17 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=56596 Overlay scrollbars sometimes + fail to appear + -and corresponding- + <rdar://problem/8953779> + + * platform/mac/ScrollAnimatorMac.mm: + (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]): + +2011-03-17 Dan Bernstein <mitz@apple.com> + + Reviewed by Beth Dakin. + + <rdar://problem/9052166> Emphasis marks appear over combined text rather than beside it + https://bugs.webkit.org/show_bug.cgi?id=56480 + + Test: fast/text/emphasis-combined-text.html + + * rendering/InlineTextBox.cpp: + (WebCore::rotation): Added this helper. + (WebCore::InlineTextBox::paint): Paint a single emphasis mark beside the combined text, + centered vertically. + +2011-03-17 Jian Li <jianli@chromium.org> + + Reviewed by Adam Barth. + + Blob URL should not be allow to get created from the code running from data URI + https://bugs.webkit.org/show_bug.cgi?id=56600 + + Test: http/tests/fileapi/create-blob-url-from-data-url.html + + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::createPublicBlobURL): + * fileapi/BlobURL.cpp: + (WebCore::BlobURL::createBlobURL): + * fileapi/EntryBase.cpp: + (WebCore::EntryBase::toURI): + * fileapi/FileReaderLoader.cpp: + (WebCore::FileReaderLoader::start): + +2011-03-17 Jeff Miller <jeffm@apple.com> + + Use a consistent set of file patterns in the svn:ignore property for all .xcodeproj directories, specifically: + + *.mode* + *.pbxuser + *.perspective* + project.xcworkspace + xcuserdata + + * WebCore.xcodeproj: Modified property svn:ignore. + * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Modified property svn:ignore. + +2011-03-17 Sam Weinig <sam@webkit.org> + + Fix Mac build. + + * WebCore.exp.in: + Add missing symbol. + +2011-03-17 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Adele Peterson and Enrica Casucci. + + Assert that editing does not ignore position's anchorNode if position is an offset in anchor + https://bugs.webkit.org/show_bug.cgi?id=56027 + + Debug build fix. + + * dom/Element.cpp: + (WebCore::Element::updateFocusAppearance): "this" can be an input element so can't always instantiate + a position inside the node. Call firstPositionInOrBeforeNode instead. + * editing/ReplaceSelectionCommand.cpp: + (WebCore::positionAvoidingPrecedingNodes): Exit early when a node's content is ignored by editing instead + of just when the node is br. + * editing/htmlediting.cpp: + (WebCore::lastEditablePositionBeforePositionInRoot): The shadow ancestor node is usually an input element + so don't instantiate a position inside it. Call firstPositionInOrBeforeNode instead. + +2011-03-17 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r81369. + http://trac.webkit.org/changeset/81369 + https://bugs.webkit.org/show_bug.cgi?id=56579 + + breaks debugger test (Requested by podivilov on #webkit). + + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource): + (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource): + (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged): + (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId): + (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): + (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved): + (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved): + (WebInspector.DebuggerPresentationModel.prototype._encodeSourceLocation): + (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints): + (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame): + (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation): + (WebInspector.DebuggerPresentationModel.prototype.reset): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype._parsedScriptSource): + (WebInspector.ScriptsPanel.prototype._failedToParseScriptSource): + (WebInspector.ScriptsPanel.prototype._scriptSourceChanged): + (WebInspector.ScriptsPanel.prototype._addScript): + (WebInspector.ScriptsPanel.prototype._resourceForURL): + (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished): + (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelectAndShowSourceFrameIfNeeded): + (WebInspector.ScriptsPanel.prototype._showSourceFrame): + (WebInspector.ScriptsPanel.prototype._recreateSourceFrame): + (WebInspector.ScriptsPanel.prototype._sourceFileIdForScript): + (WebInspector.ScriptsPanel.prototype._callFrameSelected): + (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent): + +2011-03-17 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Justin Garcia. + + Assert that editing does not ignore position's anchorNode if position is an offset in anchor + https://bugs.webkit.org/show_bug.cgi?id=56027 + + Added the assertion in Position::Position and Position::moveToPosition. This assertion catches + places where we instantiate positions inside a node on which editingIgnoresContent returns true. + + Test: editing/execCommand/button.html + + * dom/Position.cpp: + (WebCore::Position::Position): Added an assertion. + (WebCore::Position::moveToPosition): Ditto. + * dom/PositionIterator.cpp: + (WebCore::PositionIterator::operator Position): Avoid creating a position immediately below + a node whose content is ignored by editing. While this does not avoid creation of positions + inside ignored contents completely, it works in most cases. Filed the bug 56027 to resolve + the underlying problem. Without this change, the assertion hits in existing layout tests. + cannot be tested directly. + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Call firstPositionInOrBeforeNode + instead of firstPositionInNode because startNode may as well be a br element. Without this change, + the assertion hits in existing layout tests. + * editing/htmlediting.cpp: + (WebCore::canHaveChildrenForEditing): button is editable so content is not ignored. Added a test + for this. + * editing/visible_units.cpp: + (WebCore::previousBoundary): Added a FIXME. + (WebCore::startPositionForLine): Because br can also have an inline text box, checking that + startBox is an inline text box isn't an adequate to instantiate a position inside startNode. + Call startNode->isTextNode() instead. Without this change, the assertion hits in existing layout + tests. + +2011-03-17 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: extract content loading logic from scripts panel. + https://bugs.webkit.org/show_bug.cgi?id=55237 + + Encapsulate source files creation logic in debugger presentation model + to support source mappings in a pluggable way. + + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel.prototype.sourceFile): + (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent.else.didRequestSource): + (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent): + (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource): + (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource): + (WebInspector.DebuggerPresentationModel.prototype._addScript.else.resourceFinished): + (WebInspector.DebuggerPresentationModel.prototype._addScript): + (WebInspector.DebuggerPresentationModel.prototype._ensureSourceFileAdded): + (WebInspector.DebuggerPresentationModel.prototype._resourceForURL): + (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged): + (WebInspector.DebuggerPresentationModel.prototype._sourceFileAdded): + (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId): + (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): + (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved): + (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved): + (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints): + (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame): + (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation): + (WebInspector.DebuggerPresentationModel.prototype.reset): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype._sourceFileAdded): + (WebInspector.ScriptsPanel.prototype._showSourceFrame): + (WebInspector.ScriptsPanel.prototype._sourceFileChanged): + (WebInspector.ScriptsPanel.prototype._callFrameSelected): + (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent): + +2011-03-17 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: add types markup to the IDL, remove Value types from the protocol. + https://bugs.webkit.org/show_bug.cgi?id=56562 + + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::addToFrontend): + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::evaluate): + (WebCore::InjectedScript::evaluateOn): + (WebCore::InjectedScript::evaluateOnCallFrame): + (WebCore::InjectedScript::getProperties): + (WebCore::InjectedScript::setPropertyValue): + (WebCore::InjectedScript::callFrames): + (WebCore::InjectedScript::makeCall): + (WebCore::InjectedScript::makeObjectCall): + * inspector/InjectedScript.h: + * inspector/InjectedScriptSource.js: + (.): + * inspector/Inspector.idl: + * inspector/InspectorApplicationCacheAgent.cpp: + (WebCore::InspectorApplicationCacheAgent::getApplicationCaches): + * inspector/InspectorApplicationCacheAgent.h: + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::getStylesForNode): + (WebCore::InspectorCSSAgent::getInlineStyleForNode): + (WebCore::InspectorCSSAgent::getComputedStyleForNode): + (WebCore::InspectorCSSAgent::getStyleSheet): + (WebCore::InspectorCSSAgent::setPropertyText): + (WebCore::InspectorCSSAgent::toggleProperty): + (WebCore::InspectorCSSAgent::setRuleSelector): + (WebCore::InspectorCSSAgent::addRule): + * inspector/InspectorCSSAgent.h: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::resolveNode): + * inspector/InspectorDOMAgent.h: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::editScriptSource): + (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): + (WebCore::InspectorDebuggerAgent::currentCallFrames): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::identifierForInitialRequest): + * inspector/InspectorRuntimeAgent.cpp: + (WebCore::InspectorRuntimeAgent::evaluate): + (WebCore::InspectorRuntimeAgent::evaluateOn): + (WebCore::InspectorRuntimeAgent::getProperties): + (WebCore::InspectorRuntimeAgent::setPropertyValue): + * inspector/InspectorRuntimeAgent.h: + * inspector/ScriptCallStack.cpp: + (WebCore::ScriptCallStack::buildInspectorArray): + * inspector/ScriptCallStack.h: + * inspector/TimelineRecordFactory.cpp: + (WebCore::TimelineRecordFactory::createGenericRecord): + * inspector/front-end/NetworkManager.js: + (WebInspector.NetworkDispatcher.prototype._createResource): + +2011-03-17 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r81350. + http://trac.webkit.org/changeset/81350 + https://bugs.webkit.org/show_bug.cgi?id=56560 + + "Breaks twenty Chromium Webkit Win builder webkit_gpu_tests" + (Requested by apavlov on #webkit). + + * WebCore.gypi: + * platform/graphics/chromium/GLES2Canvas.cpp: + (WebCore::GLES2Canvas::State::State): + (WebCore::GLES2Canvas::clearRect): + (WebCore::GLES2Canvas::fillPath): + (WebCore::GLES2Canvas::fillRect): + (WebCore::GLES2Canvas::clipPath): + (WebCore::GLES2Canvas::restore): + (WebCore::GLES2Canvas::drawTexturedRect): + (WebCore::GLES2Canvas::drawTexturedRectTile): + (WebCore::GLES2Canvas::drawQuad): + * platform/graphics/chromium/GLES2Canvas.h: + * platform/graphics/gpu/BicubicShader.cpp: Removed. + * platform/graphics/gpu/BicubicShader.h: Removed. + * platform/graphics/gpu/ConvolutionShader.cpp: Removed. + * platform/graphics/gpu/ConvolutionShader.h: Removed. + * platform/graphics/gpu/DrawingBuffer.h: + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::create): + (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D): + * platform/graphics/gpu/SharedGraphicsContext3D.h: + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::canAccelerate): + +2011-03-17 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Clean up Inspector strings. + https://bugs.webkit.org/show_bug.cgi?id=56557 + + * English.lproj/localizedStrings.js: + +2011-03-14 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: refactor event listener breakpoints. + https://bugs.webkit.org/show_bug.cgi?id=56305 + + - restore event listener breakpoints one by one instead of using setAllBrowserBreakpoints + - store event listener breakpoints in a separate separate setting + - move presentation-related code from BreakpointManager to EventListenerBreakpointsSidebarPane + + Test: inspector/debugger/event-listener-breakpoints.html + + * inspector/Inspector.idl: + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::setFrontend): + * inspector/InspectorBrowserDebuggerAgent.cpp: + (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded): + (WebCore::InspectorBrowserDebuggerAgent::clear): + * inspector/InspectorBrowserDebuggerAgent.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::didCommitLoadImpl): + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager.prototype.setEventListenerBreakpoint): + (WebInspector.BreakpointManager.prototype.removeEventListenerBreakpoint): + (WebInspector.BreakpointManager.prototype.breakpointViewForEventData): + (WebInspector.BreakpointManager.prototype._projectChanged): + (WebInspector.BreakpointManager.prototype._saveBreakpoints): + (WebInspector.BreakpointManager.prototype._validateBreakpoints): + (WebInspector.BreakpointManager.prototype._createDOMBreakpointId): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.EventListenerBreakpointsSidebarPane): + (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype.highlightBreakpoint): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype.clearBreakpointHighlight): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._saveBreakpoints): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._restoreBreakpoints): + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane.prototype.update): + (WebInspector.CallStackSidebarPane.prototype.setStatus): + (WebInspector.CallStackSidebarPane.prototype._domBreakpointHit): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + (WebInspector.ScriptsPanel.prototype._clearInterface): + * inspector/front-end/Settings.js: + (WebInspector.Settings): + +2011-03-16 Stephen White <senorblanco@chromium.org> + + Reviewed by Kenneth Russell. + + Implement GPU-accelerated shadows. + https://bugs.webkit.org/show_bug.cgi?id=56476 + + For hard shadows, we simply offset the CTM and draw in the shadow + color. For soft shadows, we use a separable Gaussian convolution, + with a bilinear downsample and Mitchell-Netravali upsample in order to + preserve quality. + + * WebCore.gypi: + Add BicubicShader and ConvolutionShader to the build. + * platform/graphics/chromium/GLES2Canvas.cpp: + (WebCore::GLES2Canvas::State::State): + Add shadow-related members to the GLES2Canvas::State + (WebCore::GLES2Canvas::State::shadowActive): + Add a helper function to know if shadows are active. + (WebCore::GLES2Canvas::clearRect): + (WebCore::GLES2Canvas::scissorClear): + Refactor the scissor clearing function out of clearRect(). + (WebCore::GLES2Canvas::fillPath): + Add hook for shadow rendering in paths. Bind framebuffer at this level. + (WebCore::GLES2Canvas::fillRect): + Add hook for shadow rendering in rects. Bind framebuffer at this level. + (WebCore::GLES2Canvas::fillRectInternal): + Rename fillRect() -> fillRectInternal(), which does bind its vertex + buffer, but does not bind the framebuffer. + (WebCore::GLES2Canvas::setShadowColor): + (WebCore::GLES2Canvas::setShadowOffset): + (WebCore::GLES2Canvas::setShadowBlur): + (WebCore::GLES2Canvas::setShadowsIgnoreTransforms): + Implement graphicsContext-style setters for shadow parameters. + (WebCore::GLES2Canvas::clipPath): + Call fillPathInternal(), not fillPath(). + (WebCore::GLES2Canvas::restore): + (WebCore::GLES2Canvas::drawTexturedRect): + Bind the framebuffer at this level. Do not bind vertices here (will + be done in drawTexturedQuad). + (WebCore::GLES2Canvas::drawTexturedRectTile): + drawQuad() -> drawTexturedQuad(). + (WebCore::GLES2Canvas::convolveRect): + Implement one pass of a convolution filter (X or Y). + (WebCore::gauss): + (WebCore::buildKernel): + Some helper functions to build a Gaussian convolution kernel. + (WebCore::GLES2Canvas::drawTexturedQuad): + Rename drawQuad() -> drawTexturedQuad(), to be more clear. Do not + bind the framebuffer at this level (it will be done higher). + (WebCore::GLES2Canvas::drawTexturedQuadMitchell): + Implement Mitchell-Netravali bicubic sampling, using BicubicShader. + (WebCore::GLES2Canvas::fillPathInternal): + Rename fillPath() -> fillPathInternal(), which does use quad vertices, + but does not bind the framebuffer or set the compositing mode. + (WebCore::GLES2Canvas::flipRect): + Implement a helper function to flip a rectangle in Y within the canvas. + (WebCore::GLES2Canvas::clearBorders): + Implement a helper function to clear an n-pixel border around a rect. + (WebCore::GLES2Canvas::beginShadowDraw): + Setup before drawing a primitive's shadow: for hard shadows, just + offset the CTM by the shadow offset. For soft shadows, bind to an + offscreen DrawingBuffer. + (WebCore::GLES2Canvas::endShadowDraw): + Tear-down after drawing a primitive's shadow: for hard shadows, just + restore the CTM. For soft shadows, downsample (if necessary), then + blur in X, blur in Y, upsample if necessary). + * platform/graphics/chromium/GLES2Canvas.h: + * platform/graphics/gpu/BicubicShader.cpp: Added. + (WebCore::BicubicShader::BicubicShader): + (WebCore::BicubicShader::create): + (WebCore::BicubicShader::use): + * platform/graphics/gpu/BicubicShader.h: Added. + Implement a bicubic image filtering shader. + * platform/graphics/gpu/ConvolutionShader.cpp: Added. + (WebCore::ConvolutionShader::ConvolutionShader): + (WebCore::ConvolutionShader::create): + (WebCore::ConvolutionShader::use): + * platform/graphics/gpu/ConvolutionShader.h: Added. + Implement a 1-dimensional convolution shader. In order to minimize + texture samples, this shader is parameterized at compile time by the + width of the convolution kernel. + * platform/graphics/gpu/DrawingBuffer.h: + (WebCore::DrawingBuffer::colorBuffer): + Add an accessor to retrieve a DrawingBuffer's texture ID. + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::create): + (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D): + (WebCore::SharedGraphicsContext3D::useBicubicProgram): + (WebCore::SharedGraphicsContext3D::useConvolutionProgram): + Create BicubicShader and cMaxKernelWidth ConvolutionShader's (one for + each possible kernel width). + (WebCore::SharedGraphicsContext3D::getOffscreenBuffer): + Implement a simple cache of offscreen DrawingBuffers, integer-indexed. + This is done to minimize the VRAM usage: only 2 buffers are used for + all canvases. + * platform/graphics/gpu/SharedGraphicsContext3D.h: + Add bicubic and convolution shader members, and useXXX() functions. + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::setPlatformShadow): + Hook into GraphicsContextSkia's platform shadow setters to set + parameters on GLES2Canvas. + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::canAccelerate): + Remove shadows (loopers) from the list of things we can't accelerate. + +2011-03-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Andreas Kling. + + Tiled backing store should only request repaint for updated areas + https://bugs.webkit.org/show_bug.cgi?id=56464 + + Reuse updateBackBuffer's dirty rectangle calculations to only + invalidate the necessary parts of the window. + + * platform/graphics/Tile.h: + * platform/graphics/TiledBackingStore.cpp: + (WebCore::TiledBackingStore::updateTileBuffers): + * platform/graphics/qt/TileQt.cpp: + (WebCore::Tile::updateBackBuffer): + +2011-03-17 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Chromium] Reduce memory consumption by detailed heap snapshots indexes. + https://bugs.webkit.org/show_bug.cgi?id=56395 + + * inspector/front-end/DetailedHeapshotGridNodes.js: + (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider): + (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider): + * inspector/front-end/HeapSnapshot.js: + (WebInspector.HeapSnapshotRetainerEdge): Added + (WebInspector.HeapSnapshotRetainerEdgeIterator): Added + (WebInspector.HeapSnapshotNode.prototype.get retainers): + (WebInspector.HeapSnapshot.prototype.dispose): + (WebInspector.HeapSnapshot.prototype.hasId): + (WebInspector.HeapSnapshot.prototype.retainers): + (WebInspector.HeapSnapshot.prototype._buildRetainers): + (WebInspector.HeapSnapshot.prototype._buildIdsList): + (WebInspector.HeapSnapshot.prototype._buildNodeIndex): + (WebInspector.HeapSnapshot.prototype._findNodePositionInIndex): + (WebInspector.HeapSnapshot.prototype._findNearestNodeIndex): + (WebInspector.HeapSnapshot.prototype._getRetainerIndex): + (WebInspector.HeapSnapshot.prototype._markInvisibleEdges): + (WebInspector.HeapSnapshot.prototype._numbersComparator): + (WebInspector.HeapSnapshotPathFinder.prototype.get _lastEdge): + (WebInspector.HeapSnapshotPathFinder.prototype._nextEdgeIter): + (WebInspector.HeapSnapshotPathFinder.prototype._buildNextPath): + (WebInspector.HeapSnapshotPathFinder.prototype._pathToString): + +2011-03-17 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r81243. + http://trac.webkit.org/changeset/81243 + https://bugs.webkit.org/show_bug.cgi?id=56471 + + Breaks GTK 64-bit Debug tests (Requested by podivilov on + #webkit). + + * inspector/Inspector.idl: + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::setFrontend): + * inspector/InspectorBrowserDebuggerAgent.cpp: + (WebCore::InspectorBrowserDebuggerAgent::setFrontend): + (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints): + (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged): + (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::discardBindings): + (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded): + (WebCore::InspectorBrowserDebuggerAgent::clear): + * inspector/InspectorBrowserDebuggerAgent.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::didCommitLoadImpl): + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint): + (WebInspector.BreakpointManager.prototype._createEventListenerBreakpoint): + (WebInspector.BreakpointManager.prototype.setXHRBreakpoint): + (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint): + (WebInspector.BreakpointManager.prototype.breakpointViewForEventData): + (WebInspector.BreakpointManager.prototype._projectChanged): + (WebInspector.BreakpointManager.prototype._saveBreakpoints): + (WebInspector.BreakpointManager.prototype._validateBreakpoints): + (WebInspector.BreakpointManager.prototype._createDOMBreakpointId): + (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId): + (WebInspector.EventListenerBreakpoint): + (WebInspector.EventListenerBreakpoint.prototype._enable): + (WebInspector.EventListenerBreakpoint.prototype._disable): + (WebInspector.EventListenerBreakpoint.prototype._serializeToJSON): + (WebInspector.EventListenerBreakpointView): + (WebInspector.EventListenerBreakpointView.eventNameForUI): + (WebInspector.EventListenerBreakpointView.prototype.get eventName): + (WebInspector.EventListenerBreakpointView.prototype.compareTo): + (WebInspector.EventListenerBreakpointView.prototype.populateLabelElement): + (WebInspector.EventListenerBreakpointView.prototype.populateStatusMessageElement): + (WebInspector.EventListenerBreakpointView.prototype._uiEventName): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint): + (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint): + (WebInspector.EventListenerBreakpointsSidebarPane): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointAdded): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointHitStateChanged): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointRemoved): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._projectChanged): + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane.prototype.update): + (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit): + (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit): + (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + (WebInspector.ScriptsPanel.prototype._clearInterface): + * inspector/front-end/Settings.js: + (WebInspector.Settings): + +2011-03-17 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add more ObjC++ files to the build + https://bugs.webkit.org/show_bug.cgi?id=56548 + + 96 link errors. + + * WebCore.gypi: + * gyp/WebCore.gyp: + +2011-03-17 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add a few Objective-C++ files to the WebCore GYP build + https://bugs.webkit.org/show_bug.cgi?id=56547 + + 464 link errors. + + * gyp/WebCore.gyp: + +2011-03-17 Yuta Kitamura <yutak@chromium.org> + + Unreviewed build fix. + + Non-ASCII characters in XMLTreeViewer.{cpp,h} + https://bugs.webkit.org/show_bug.cgi?id=56549 + + * xml/XMLTreeViewer.cpp: Replace non-ASCII characters with ASCII equivalents. + * xml/XMLTreeViewer.h: Ditto. + +2011-03-17 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add plugins and bridge to the WebCore GYP build + https://bugs.webkit.org/show_bug.cgi?id=56546 + + 506 link errors. + + * gyp/WebCore.gyp: + +2011-03-16 Jeff Johnson <github@lapcatsoftware.com> + + Reviewed by Alexey Proskuryakov. + + Logic error in -[WebHTMLView close] + https://bugs.webkit.org/show_bug.cgi?id=56445 + + The function setDraggingImageURL() is no longer called and can be deleted. + + No new tests. Deleting dead code. + + * page/DragController.h: + +2011-03-16 Naoki Takano <takano.naoki@gmail.com> + + Reviewed by Ryosuke Niwa. + + Textarea maxlength doesn't account for newlines + https://bugs.webkit.org/show_bug.cgi?id=54443 + + When a user presses a return key, TypingCommand::insertLineBreak() is called. + So before append a new line, check if we can add the new line. + + * editing/TypingCommand.cpp: + (WebCore::canAppendNewLineFeed): Implement new helper function to check if we can add new line. + (WebCore::TypingCommand::insertLineBreak): Added check logic before adding the new line. + (WebCore::TypingCommand::insertParagraphSeparator): Added check logic before adding the new line. + +2011-03-16 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + WebCore GYP build should build more derived sources + https://bugs.webkit.org/show_bug.cgi?id=56529 + + This patch brings us down to 597 link errors. + + * gyp/WebCore.gyp: + +2011-03-16 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + WebCore GYP should build (most) remaining source files + https://bugs.webkit.org/show_bug.cgi?id=56515 + + We're still not building all the files and we have 1305 link errors, + but this patch is progress. + + * WebCore.gypi: + * gyp/WebCore.gyp: + * plugins/PluginStream.cpp: + +2011-03-16 Dan Bernstein <mitz@apple.com> + + Reviewed by Alexey Proskuryakov. + + Update the default navigator.vendor value + https://bugs.webkit.org/show_bug.cgi?id=56449 + + * page/NavigatorBase.cpp: Updated the default value of + WEBCORE_NAVIGATOR_VENDOR. + +2011-03-16 John Bauman <jbauman@chromium.org> + + Reviewed by James Robinson. + + texImage2D gets old contents of canvas + https://bugs.webkit.org/show_bug.cgi?id=56414 + + Always update the canvas contents in copiedImage, as there's no reason + to ask for an out-of-date image. + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::copiedImage): + +2011-03-16 Adam Barth <abarth@webkit.org> + + Reviewed by James Robinson. + + Remove USE(BUILTIN_UTF8_CODEC) + https://bugs.webkit.org/show_bug.cgi?id=56508 + + * platform/text/TextCodecICU.cpp: + (WebCore::TextCodecICU::registerEncodingNames): + * platform/text/TextEncodingRegistry.cpp: + (WebCore::buildBaseTextCodecMaps): + +2011-03-16 Joseph Pecoraro <joepeck@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + Viewport no longer allows an auto value for "user-scalable" + https://bugs.webkit.org/show_bug.cgi?id=55416 + + This restores our behavior before r67376 the default "user-scalable" + behavior can be defined by a WebKit client if a value was not + explicitly provided in web content (via the viewport <meta> tag). + Here, all WebKit ports default to "yes" after computing + viewport arguments. However, in the future they may consider + changing the default user-scalable value based on the type + of the document being viewed, a user preference, or other reasons. + + Covered by existing tests. Should be no changes. + + * dom/ViewportArguments.cpp: + (WebCore::computeViewportAttributes): be explicit about 0. + (WebCore::findUserScalableValue): convert to return a float, the instance variable type. + * dom/ViewportArguments.h: + (WebCore::ViewportArguments::ViewportArguments): convert the boolean back to a float to + allow for 3 states. Explicit no, explicit yes, and ValueAuto to be defined by the + WebKit client. + +2011-03-16 David Levin <levin@chromium.org> + + Reviewed by Dmitry Titov. + + REGRESSION(r81289): Fix valgrind error (and crashes) when running the chromium unit test "test_shell_test". + + Conditional jump or move depends on uninitialised value(s) + WebCore::RenderLayerCompositor::RenderLayerCompositor(WebCore::RenderView*) (third_party/WebKit/Source/WebCore/rendering/RenderLayerCompositor.cpp:117) + + * page/Settings.cpp: + (WebCore::Settings::Settings): + +2011-03-16 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=56493 Drag-scrolling overlay + scrollbars thumb in overflow regions does not work + -and corresponding- + <rdar://problem/9112688> Drag-scrolling overlay scrollbars thumb in overflow + regions does not work + + Up until now, overlay scrollbars have always been treated in the Render Tree as if + they have a thickness of 0 because they should not affect layout. However, it is + important to consider their size when hit-testing because otherwise, we have this + bug! This patch adds a boolean parameter to overflowClipRect(), + RenderLayer::verticalScrollbarWidth(), and + RenderLayer::horizontalScrollbarHeight(). This bool indicates whether to include + the actual overlay scrollbar thickness. It defaults to false and is only sent is + as true from RenderBloc::nodeAtPoint(). + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::nodeAtPoint): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::overflowClipRect): + * rendering/RenderBox.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::verticalScrollbarWidth): + (WebCore::RenderLayer::horizontalScrollbarHeight): + * rendering/RenderLayer.h: + * rendering/RenderTable.cpp: + (WebCore::RenderTable::overflowClipRect): + * rendering/RenderTable.h: + +2011-03-16 Keith Kyzivat <keith.kyzivat@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] Fix std::swap not found issue on mobile Qt devices. + https://bugs.webkit.org/show_bug.cgi?id=56463 + + Include <algorithm> in TextBreakIteratorQt.cpp so std::swap is found + on some Qt mobile devices. + + No new tests: No tests needed - compilation verified manually. + + * platform/text/qt/TextBreakIteratorQt.cpp: + (WebCore::acquireLineBreakIterator): + +2011-03-16 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] WebGL content not shown when accelerated compositing is enabled + https://bugs.webkit.org/show_bug.cgi?id=56339 + + Removed all previously implemented WebGL code from GraphicsLayerQt + because API has changed. GraphicsContext3D provides PlatformLayer + that is added as a child of GraphicsLayer and is therefore painted + through QGraphicsView pipeline. + + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): + (WebCore::GraphicsContext3DInternal::paint): + (WebCore::GraphicsContext3DInternal::boundingRect): + (WebCore::GraphicsContext3D::platformLayer): + (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): + (WebCore::GraphicsContext3D::reshape): + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): + (WebCore::GraphicsLayerQtImpl::paint): + (WebCore::GraphicsLayerQtImpl::flushChanges): + (WebCore::GraphicsLayerQt::setContentsToCanvas): + * platform/graphics/qt/GraphicsLayerQt.h: + +2011-03-16 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang. + + Get rid of nearestMailBlockquote + https://bugs.webkit.org/show_bug.cgi?id=56439 + + Removed nearestMailBlockquote and replaced the calls to the function by calls + to enclosingNodeOfType and highestEnclosingNodeOfType. + + Also fixed a bug in BreakBlockquoteCommand and DeleteSelectionCommand not to + respect editing boundaries. Added a test for the former command. + + Test: editing/execCommand/break-non-editable-blockquote.html + + * editing/BreakBlockquoteCommand.cpp: + (WebCore::BreakBlockquoteCommand::doApply): No longer crosses editing boundary + when looking for a Mail blockquote. + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::saveTypingStyleState): Ditto. + (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::hasMatchingQuoteLevel): + (WebCore::handleStyleSpansBeforeInsertion): + (WebCore::ReplaceSelectionCommand::handleStyleSpans): + (WebCore::ReplaceSelectionCommand::doApply): + * editing/htmlediting.cpp: + (WebCore::enclosingNodeOfType): Check rule upfront to improve the performance. + (WebCore::highestEnclosingNodeOfType): Ditto; also add the missing check. + * editing/htmlediting.h: + (WebCore::firstPositionInOrBeforeNode): Added a null pointer check. + (WebCore::lastPositionInOrAfterNode): Ditto. + * editing/markup.cpp: + (WebCore::highestAncestorToWrapMarkup): + (WebCore::createMarkup): + +2011-03-16 Jer Noble <jer.noble@apple.com> + + Reviewed by Beth Dakin. + + RenderFullScreen::createFullScreenStyle() leaks + https://bugs.webkit.org/show_bug.cgi?id=53384 + + Two problems: a) not calling release() on the style returned in setFullScreenRenderer + causes an unnecessary ref/deref, and b) the fullscreen renderer needs to be destroyed, + not just detached, when it is no longer needed. + + * dom/Document.cpp: + (WebCore::Document::setFullScreenRenderer): Destroy the current renderer when a new one is set. + * rendering/RenderFullScreen.cpp: + (RenderFullScreen::createFullScreenStyle): release() the return value. + +2011-03-16 Mike Reed <reed@google.com> + + Reviewed by James Robinson. + + Reestablish typeface/size/encoding when drawing stroked text + https://bugs.webkit.org/show_bug.cgi?id=56481 + + No new tests. LayoutTests/svg/css/composite-shadow-text.svg + + * platform/graphics/skia/SkiaFontWin.cpp: + (WebCore::paintSkiaText): + +2011-03-16 Daniel Sievers <sievers@google.com> + + Reviewed by James Robinson. + + Add setting to always force compositing mode + https://bugs.webkit.org/show_bug.cgi?id=56156 + + No new tests needed as this defaults to disabled (and is unfeasible + to be tested through property overriding at runtime). + + * page/Settings.h: + (WebCore::Settings::setForceCompositingMode): + (WebCore::Settings::forceCompositingMode): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::RenderLayerCompositor): + (WebCore::RenderLayerCompositor::computeCompositingRequirements): + * rendering/RenderLayerCompositor.h: + +2011-03-16 Vangelis Kokkevis <vangelis@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Fixing backface visibility for transformed layers. + https://bugs.webkit.org/show_bug.cgi?id=56237 + + Test: platform/chromium/compositing/backface-visibility-transformed.html + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::drawLayer): + +2011-03-16 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + REGRESSION(r76147): Dragging slider thumb is impossible or results in drawing artifacts. + https://bugs.webkit.org/show_bug.cgi?id=56469 + + Technically, this is not a regression, but rather uncovering of an old + problem. When the RenderSlider::layout was written, the layout state was + pushed with a wrong offset. However, since the whole slider track was + always repainted, the problem didn't manifest itself until we actually + started being more precise in our repaints. + + Test: fast/repaint/slider-thumb-float.html + + * rendering/RenderSlider.cpp: + (WebCore::RenderSlider::layout): Changed to pass actual thumb offset + to the LayoutStateMaintainer, rather than thumb size. + +2011-03-16 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Carlson. + + Add play state callbacks to MediaControls, kill timeUpdate timer. + https://bugs.webkit.org/show_bug.cgi?id=56473 + + No change in behavior, covered by existing tests. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::playbackProgressTimerFired): Added a call to + media controls. + (WebCore::HTMLMediaElement::updatePlayState): Ditto. + * html/shadow/MediaControls.cpp: + (WebCore::MediaControls::MediaControls): Removed initialization of the timer. + (WebCore::MediaControls::playbackProgressed): Added. + (WebCore::MediaControls::playbackStarted): Added, for now routing to just + call playbackProgressed. + (WebCore::MediaControls::playbackStopped): Ditto. + (WebCore::MediaControls::update): Removed the code to start/stop the + timer that's now gone. + * html/shadow/MediaControls.h: Removed timer decls. + +2011-03-16 Bill Budge <bbudge@chromium.org> + + Reviewed by David Levin. + + DocumentThreadableLoaderClient needs a protected default Constructor + https://bugs.webkit.org/show_bug.cgi?id=56479 + + No new tests. Exposes no new functionality. + + * loader/DocumentThreadableLoaderClient.h: + (WebCore::DocumentThreadableLoaderClient::DocumentThreadableLoaderClient): + +2011-03-16 David Levin <levin@chromium.org> + + Chromium Leopard build fix attempt #2. + + Same error as before. + * bindings/v8/V8GCController.cpp: + +2011-03-16 David Levin <levin@chromium.org> + + Chromium Leopard build fix attempt. + + The error was 'WebCore::GrouperVisitor' has a field 'WebCore::GrouperVisitor::m_grouper' whose type uses the anonymous namespace. + + * bindings/v8/V8GCController.cpp: + +2011-03-16 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Dimitri Glazkov and Darin Adler. + + Node::isContentEditable should always call parentNode() instead of parentOrHostNode() + https://bugs.webkit.org/show_bug.cgi?id=56472 + + Replaced the call to parentOrHostNode() in Node::isContentEditable by a call to parentNode(). + Node::isContentEditable now calls parentNode() on all nodes. + + No tests are added since this behavior change is not visible to scripts at the moment. + + * dom/Node.cpp: + (WebCore::Node::isContentEditable): + +2011-03-16 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + WK2: Need to propagate enhanced accessibility flag from UI -> web process + https://bugs.webkit.org/show_bug.cgi?id=56379 + + Allow the enhanced accessibility flag to be toggleable. + + * accessibility/AXObjectCache.h: + (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility): + +2011-03-16 Csaba Osztrogonác <ossy@webkit.org> + + [Qt] Buildfix after r81230. + + * WebCore.pri: Missing include path added. + +2011-03-15 Oliver Hunt <oliver@apple.com> + + Reviewed by Geoffrey Garen. + + Make Structure creation require a JSGlobalData + https://bugs.webkit.org/show_bug.cgi?id=56438 + + Mechanical change to make all structure creation use GlobalData + + * bindings/js/JSAudioConstructor.cpp: + (WebCore::JSAudioConstructor::JSAudioConstructor): + * bindings/js/JSAudioConstructor.h: + (WebCore::JSAudioConstructor::createStructure): + * bindings/js/JSDOMBinding.h: + (WebCore::DOMObjectWithGlobalPointer::createStructure): + (WebCore::DOMConstructorObject::createStructure): + (WebCore::getDOMStructure): + * bindings/js/JSDOMGlobalObject.h: + (WebCore::JSDOMGlobalObject::createStructure): + * bindings/js/JSDOMWindowBase.h: + (WebCore::JSDOMWindowBase::createStructure): + * bindings/js/JSDOMWindowShell.cpp: + (WebCore::JSDOMWindowShell::JSDOMWindowShell): + (WebCore::JSDOMWindowShell::setWindow): + * bindings/js/JSDOMWindowShell.h: + (WebCore::JSDOMWindowShell::createStructure): + * bindings/js/JSImageConstructor.cpp: + (WebCore::JSImageConstructor::JSImageConstructor): + * bindings/js/JSImageConstructor.h: + (WebCore::JSImageConstructor::createStructure): + * bindings/js/JSImageDataCustom.cpp: + (WebCore::toJS): + * bindings/js/JSOptionConstructor.cpp: + (WebCore::JSOptionConstructor::JSOptionConstructor): + * bindings/js/JSOptionConstructor.h: + (WebCore::JSOptionConstructor::createStructure): + * bindings/js/JSWorkerContextBase.h: + (WebCore::JSWorkerContextBase::createStructure): + * bindings/js/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::initScript): + * bindings/scripts/CodeGeneratorJS.pm: + * bridge/c/CRuntimeObject.h: + (JSC::Bindings::CRuntimeObject::createStructure): + * bridge/c/c_instance.cpp: + (JSC::Bindings::CRuntimeMethod::createStructure): + * bridge/jni/jsc/JavaInstanceJSC.cpp: + (JavaRuntimeMethod::createStructure): + * bridge/jni/jsc/JavaRuntimeObject.h: + (JSC::Bindings::JavaRuntimeObject::createStructure): + * bridge/objc/ObjCRuntimeObject.h: + (JSC::Bindings::ObjCRuntimeObject::createStructure): + * bridge/objc/objc_instance.mm: + (ObjCRuntimeMethod::createStructure): + * bridge/objc/objc_runtime.h: + (JSC::Bindings::ObjcFallbackObjectImp::createStructure): + * bridge/runtime_array.h: + (JSC::RuntimeArray::createStructure): + * bridge/runtime_method.h: + (JSC::RuntimeMethod::createStructure): + * bridge/runtime_object.h: + (JSC::Bindings::RuntimeObject::createStructure): + +2011-03-16 Pratik Solanki <psolanki@apple.com> + + Reviewed by Alexey Proskuryakov. + + REGRESSION: Crash in adjustMIMETypeIfNecessary since r81001 + https://bugs.webkit.org/show_bug.cgi?id=56345 + + Add NULL check for Content-Type header field. + + Test: http/tests/xmlhttprequest/xmlhttprequest-no-content-type.html + + * platform/network/mac/WebCoreURLResponse.mm: + (WebCore::adjustMIMETypeIfNecessary): + +2011-03-15 Levi Weintraub <leviw@chromium.org> + + Reviewed by Ryosuke Niwa. + + REGRESSION (r81165): Assert running editing/style/iframe-onload-crash.html with non-Mac editing behavior + https://bugs.webkit.org/show_bug.cgi?id=56407 + + Fixing the creation of incorrect ranges from TextIterator due to passing node/offset pairs that + weren't parent-anchored. Also changing canHaveChildrenForEditing to properly handle nodes that + have had children appended to them that editing wouldn't normally allow. + + Tests: editing/style/iframe-onload-crash-mac.html + editing/style/iframe-onload-crash-unix.html + editing/style/iframe-onload-crash-win.html + + * editing/TextIterator.cpp: + (WebCore::TextIterator::rangeFromLocationAndLength): Passing parent-anchored values to range. + * editing/htmlediting.cpp: + (WebCore::canHaveChildrenForEditing): Adding a condition that the nodes don't already have children + for hr and datagrid, as you can append any node to another using javascript. + +2011-03-16 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + [Chromium] Report object groups and single DOM-related objects + to the new heap profiler. + https://bugs.webkit.org/show_bug.cgi?id=53659 + + * Android.v8bindings.mk: + * WebCore.gypi: + * WebCore.pro: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/RetainedDOMInfo.cpp: Added. + (WebCore::RetainedDOMInfo::RetainedDOMInfo): + * bindings/v8/RetainedDOMInfo.h: Added. + * bindings/v8/RetainedObjectInfo.h: Added. + * bindings/v8/ScriptProfiler.cpp: + (WebCore::retainedDOMInfo): + (WebCore::ScriptProfiler::initialize): + * bindings/v8/ScriptProfiler.h: + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::initContextIfNeeded): + * bindings/v8/V8GCController.cpp: + (WebCore::GroupId::GrouperItem::GrouperItem): + (WebCore::GroupId::GrouperItem::groupId): + (WebCore::GroupId::GrouperItem::createRetainedObjectInfo): + (WebCore::calculateGroupId): + (WebCore::GrouperVisitor::visitDOMWrapper): + (WebCore::GrouperVisitor::applyGrouping): + * bindings/v8/WrapperTypeInfo.h: + * inspector/front-end/DetailedHeapshotGridNodes.js: + (WebInspector.HeapSnapshotConstructorNode): + (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider): + (WebInspector.HeapSnapshotDiffNode): + (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider): + (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider): + * inspector/front-end/DetailedHeapshotView.js: + (WebInspector.HeapSnapshotRetainingPathsList.prototype.setDataSource): + (WebInspector.HeapSnapshotRetainingPathsList.prototype.refresh): + (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.startSearching): + (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext): + (WebInspector.HeapSnapshotRetainingPathsList.prototype._setRootChildrenForFinder): + (WebInspector.DetailedHeapshotView.prototype._changeRetainingPathsRoot): + (WebInspector.DetailedHeapshotView.prototype.get isTracingToWindowObjects): + * inspector/front-end/HeapSnapshot.js: + (WebInspector.HeapSnapshotNode.prototype.get className): + (WebInspector.HeapSnapshot.prototype._buildAggregates): + (WebInspector.HeapSnapshotPathFinder.prototype.updateRoots): + (WebInspector.HeapSnapshotPathFinder.prototype._fillRootChildren): + * inspector/front-end/heapProfiler.css: + (.detailed-heapshot-view .retaining-paths-view .title > span): + (.detailed-heapshot-view .retaining-paths-to-windows): + +2011-03-16 Sam Weinig <sam@webkit.org> + + Reviewed by Adam Roben. + + Add WebKit2 API to figure out if an input or textarea was edited + https://bugs.webkit.org/show_bug.cgi?id=56474 + + Add HTMLInputElement::lastChangeWasUserEdit and HTMLTextAreaElement::lastChangeWasUserEdit + and use them to implement -[DOMHTMLInputElement _isEdited] and -[DOMHTMLTextAreaElement _isEdited] + as well as API in WebKit2. + + * WebCore.exp.in: + * bindings/objc/DOMHTML.mm: + (-[DOMHTMLInputElement _isEdited]): + (-[DOMHTMLTextAreaElement _isEdited]): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::lastChangeWasUserEdit): + * html/HTMLInputElement.h: + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::lastChangeWasUserEdit): + * html/HTMLTextAreaElement.h: + +2011-03-15 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) + https://bugs.webkit.org/show_bug.cgi?id=56376 + + * inspector/InspectorBrowserDebuggerAgent.cpp: + (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode): + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMAgent.prototype._setDocument): + +2011-03-16 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + text-combine text retains compressed font after adding characters to it + https://bugs.webkit.org/show_bug.cgi?id=56448 + + Test: fast/dynamic/text-combine.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): Allow styles with text-combine to be shared, since + only the clones on the RenderCombineText will be mutated. + * rendering/RenderCombineText.cpp: + (WebCore::RenderCombineText::styleDidChange): Clone the style, to avoid mutating the parent’s + style. + (WebCore::RenderCombineText::combineText): Start off with the original font; restore it if + the text cannot be combined. + * rendering/RenderCombineText.h: + (WebCore::RenderCombineText::originalFont): Added. Returns the parent’s font. + +2011-03-14 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: refactor event listener breakpoints. + https://bugs.webkit.org/show_bug.cgi?id=56305 + + - restore event listener breakpoints one by one instead of using setAllBrowserBreakpoints + - store event listener breakpoints in a separate separate setting + - move presentation-related code from BreakpointManager to EventListenerBreakpointsSidebarPane + + Test: inspector/debugger/event-listener-breakpoints.html + + * inspector/Inspector.idl: + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::setFrontend): + * inspector/InspectorBrowserDebuggerAgent.cpp: + (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded): + (WebCore::InspectorBrowserDebuggerAgent::clear): + * inspector/InspectorBrowserDebuggerAgent.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::didCommitLoadImpl): + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager.prototype.setEventListenerBreakpoint): + (WebInspector.BreakpointManager.prototype.removeEventListenerBreakpoint): + (WebInspector.BreakpointManager.prototype.breakpointViewForEventData): + (WebInspector.BreakpointManager.prototype._projectChanged): + (WebInspector.BreakpointManager.prototype._saveBreakpoints): + (WebInspector.BreakpointManager.prototype._validateBreakpoints): + (WebInspector.BreakpointManager.prototype._createDOMBreakpointId): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.EventListenerBreakpointsSidebarPane): + (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype.highlightBreakpoint): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype.clearBreakpointHighlight): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._saveBreakpoints): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._restoreBreakpoints): + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane.prototype.update): + (WebInspector.CallStackSidebarPane.prototype.setStatus): + (WebInspector.CallStackSidebarPane.prototype._domBreakpointHit): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + (WebInspector.ScriptsPanel.prototype._clearInterface): + * inspector/front-end/Settings.js: + (WebInspector.Settings): + +2011-03-16 David Kilzer <ddkilzer@apple.com> + + Minor clean-up after r81156, r81172 + + Follow-up for: + <http://webkit.org/b/56381> Objective-C classes should be typedef-ed as structs (not void*) in C++ + + * platform/graphics/GraphicsLayer.h: Removed unused @class + WebLayer declaration. + * platform/graphics/ca/PlatformCAAnimation.h: Changed typedef + struct CAPropertyAnimation to class declaration. + +2011-03-16 Andrey Adaikin <aandrey@google.com> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Remove live-edit code + https://bugs.webkit.org/show_bug.cgi?id=56177 + + * inspector/front-end/Settings.js: + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame): + (WebInspector.SourceFrame.prototype._doubleClick): + * inspector/front-end/TextViewer.js: + (WebInspector.TextEditorMainPanel): + (WebInspector.TextEditorMainPanel.prototype.set readOnly): + +2011-03-16 Alexis Menard <alexis.menard@openbossa.org> + + Reviewed by Martin Robinson. + + [GStreamer] There is no need to set the state of the pipeline to playing, HTMLMediaElement will do it. + https://bugs.webkit.org/show_bug.cgi?id=56403 + + In case of a seek on a live pipeline there is no need to call gst_element_set_state(m_playBin, GST_STATE_PLAYING); + As soon as HTMLMediaElement::updatePlayState() is called (like when the data comes in) the playback will be relaunched + i.e the pause() made when beginScrubbing is done is just internal. + + No new tests: Verified manually. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::updateStates): + +2011-03-16 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + WebCore GYP build should build platform/ + https://bugs.webkit.org/show_bug.cgi?id=56430 + + Adding platform/ to the GYP build required disabling + ALWAYS_SEARCH_USER_PATHS, which in turn required fixing some latent + style issues. I suspect we'll end up excluding some of these files + from the build in the final analysis, but we might as well fix the + style errors while we're here. + + * bindings/js/JSMainThreadExecState.h: + * bindings/js/ScheduledAction.h: + * css/CSSPrimitiveValueCache.cpp: + * gyp/WebCore.gyp: + * platform/KillRingNone.cpp: + (WebCore::KillRing::append): + (WebCore::KillRing::prepend): + * platform/graphics/ContextShadow.h: + * platform/graphics/gpu/LoopBlinnPathProcessor.cpp: + (WebCore::LoopBlinnPathProcessor::buildContours): + (WebCore::TessellationState::combineCallback): + * platform/graphics/gpu/PODRedBlackTree.h: + (WebCore::PODRedBlackTree::updateNode): + (WebCore::PODRedBlackTree::logIfVerbose): + * platform/graphics/opengl/TextureMapperGL.cpp: + * platform/graphics/opengl/TextureMapperGL.h: + * platform/graphics/texmap/TextureMapper.h: + (WebCore::BitmapTexture::save): + (WebCore::TextureMapper::paintToTarget): + * platform/graphics/texmap/TextureMapperNode.h: + +2011-03-15 Philippe Normand <pnormand@igalia.com> + + Reviewed by Eric Carlson. + + [GStreamer] http/tests/media/video-play-stall-before-meta-data.html fails + https://bugs.webkit.org/show_bug.cgi?id=56370 + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::mediaPlayerPrivateMessageCallback): Let the + mediaPlayerClient handle the stream error, in this case the + HTMLMediaElement will emit a stalled event. + +2011-03-10 Philippe Normand <pnormand@igalia.com> + + Reviewed by Martin Robinson. + + [GStreamer] Frame accurate seeking isn't always accurate + https://bugs.webkit.org/show_bug.cgi?id=55217 + + Attempt to build the seek GstClockTime position by converting the + float time value to a GTimeVal value rounded at microsecond + precision. Additionally perform the seek with the ACCURATE seek + flag. These modifications at least fix this manual-test: + http://www.massive-interactive.nl/html5_video/smpte_test_universal.html + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::currentTime): + (WebCore::MediaPlayerPrivateGStreamer::seek): + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: + +2011-03-15 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: split InspectorAgent.populateScriptObjects into more granular agent-specific requests + https://bugs.webkit.org/show_bug.cgi?id=56389 + + Instead of sending one big request populateScriptObjects each agent requests + for initial data in its constructor. + + * inspector/Inspector.idl: + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::InspectorAgent): + (WebCore::InspectorAgent::restoreInspectorStateFromCookie): + (WebCore::InspectorAgent::setFrontend): + (WebCore::InspectorAgent::pushDataCollectedOffline): + (WebCore::InspectorAgent::getPreferredPanel): + * inspector/InspectorAgent.h: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::InspectorDOMAgent): + (WebCore::InspectorDOMAgent::setFrontend): + (WebCore::InspectorDOMAgent::restore): + * inspector/InspectorDOMAgent.h: + (WebCore::InspectorDOMAgent::create): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::setFrontend): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorProfilerAgent.h: + (WebCore::InspectorProfilerAgent::isEnabled): + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + * inspector/front-end/inspector.js: + +2011-03-15 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + Devirtualize isContentEditable and isRichlyContentEditable + https://bugs.webkit.org/show_bug.cgi?id=56421 + + Rewrote Node::isContentEditable as a non-recursive non-virtual function. + + * dom/Document.cpp: Removed isContentEditable and isContentRichlyEditable. + * dom/Document.h: Ditto. + * dom/Node.cpp: + (WebCore::Node::isContentEditable): Rewritten. + * dom/Node.h: + (WebCore::Node::isContentEditable): Calls isContentEditable(Editable). + (WebCore::Node::isContentRichlyEditable): Calls isContentEditable(RichlyEditable). + * html/HTMLElement.cpp: Removed isContentEditable and isContentRichlyEditable. + * html/HTMLElement.h: Ditto. + +2011-03-15 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + WebCore GYP build should build inspector/ loader/ mathml/ notifications/ and page/ + https://bugs.webkit.org/show_bug.cgi?id=56412 + + Yay for smooth sailing. + + * gyp/WebCore.gyp: + +2011-03-15 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Kent Tamura. + + REGRESSION(r76147): A slider thumb that is styled cannot be programmatically moved + https://bugs.webkit.org/show_bug.cgi?id=56059 + + Test: fast/dom/HTMLInputElement/input-slider-update-styled.html + + * html/RangeInputType.cpp: + (WebCore::RangeInputType::valueChanged): Changed to use setPositionFromValue. + * html/shadow/SliderThumbElement.cpp: + (WebCore::SliderThumbElement::setPositionFromValue): Added. + (WebCore::SliderThumbElement::dragFrom): Changed to use setPositionFromPoint. + (WebCore::SliderThumbElement::setPositionFromPoint): Ditto. + (WebCore::SliderThumbElement::defaultEventHandler): Ditto. + * html/shadow/SliderThumbElement.h: Added decls. + +2011-03-15 David Levin <levin@chromium.org> + + Attempted build fix following r81213. Same song second verse. + + * platform/image-encoders/skia/PNGImageEncoder.cpp: + (WebCore::encodePixels): + +2011-03-15 David Levin <levin@chromium.org> + + Attempted build fix for Chromium OSX release build following r81213. + + * platform/image-encoders/skia/JPEGImageEncoder.cpp: + (WebCore::encodePixels): Change scoping of |pixels| to be after setjmp call. + +2011-03-15 John Bauman <jbauman@chromium.org> + + Reviewed by Kenneth Russell. + + Non-premultiplied-alpha canvas attribute is ignore for toDataURL, drawImage, texImage2D + https://bugs.webkit.org/show_bug.cgi?id=56238 + + Attempt to get an ImageData (non-premultiplied) from a WebGL canvas + instead of getting an ImageBuffer, so there's a chance the data can be + passed straight through to the consumer with no premultiplication + necessary. Fixes Chromium and Safari. + + Test: fast/canvas/webgl/premultiplyalpha-test.html + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::toDataURL): + (WebCore::HTMLCanvasElement::getImageData): + * html/HTMLCanvasElement.h: + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::paintRenderingResultsToImageData): + (WebCore::WebGLRenderingContext::texImage2D): + (WebCore::WebGLRenderingContext::texSubImage2D): + * html/canvas/WebGLRenderingContext.h: + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/ImageBuffer.h: + * platform/graphics/cg/ImageBufferCG.cpp: + (WebCore::CGImageToDataURL): + (WebCore::ImageBuffer::toDataURL): + (WebCore::ImageDataToDataURL): + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::validateAttributes): + (WebCore::GraphicsContext3D::readRenderingResults): + (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): + (WebCore::GraphicsContext3D::paintRenderingResultsToImageData): + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3D::paintRenderingResultsToImageData): + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageToDataURL): + (WebCore::ImageBuffer::toDataURL): + (WebCore::ImageDataToDataURL): + * platform/image-encoders/skia/JPEGImageEncoder.cpp: + (WebCore::preMultipliedBGRAtoRGB): + (WebCore::RGBAtoRGB): + (WebCore::encodePixels): + (WebCore::JPEGImageEncoder::encode): + * platform/image-encoders/skia/JPEGImageEncoder.h: + * platform/image-encoders/skia/PNGImageEncoder.cpp: + (WebCore::preMultipliedBGRAtoRGBA): + (WebCore::encodePixels): + (WebCore::PNGImageEncoder::encode): + * platform/image-encoders/skia/PNGImageEncoder.h: + +2011-03-15 Kevin Ollivier <kevino@theolliviers.com> + + [wx] Build fix, only compile the methods when the INDEXED_DATABASE feature is enabled. + + * storage/IDBDatabaseCallbacksImpl.cpp: + +2011-03-15 Brady Eidson <beidson@apple.com> + + Build fix after r81208 for https://bugs.webkit.org/show_bug.cgi?id=56425 + + * loader/icon/IconDatabaseBase.h: #include instead of forward declare. + +2011-03-15 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for <rdar://problem/8944558> Overlay scrollers in overflow areas need to + send notifications appropriate times (showing up, resizing) + -and corresponding- + https://bugs.webkit.org/show_bug.cgi?id=56067 + + The general strategy here is to add a HashSet of ScrollableAreas to the page that + can be accessed when necessary to send notifications to all ScrollableAreas. In + turn, all of the ScrollableArea classes that add themselves to the HashSet must + keep a weak pointer to Page so that they can remove themselves without relying on + Frames or Renderers to still have references. + + Find layers for relevant node and if the layers are in the Page's ScrollableArea + set, then send the relevant notification. + * page/EventHandler.cpp: + (WebCore::layerForNode): + (WebCore::EventHandler::mouseMoved): + (WebCore::EventHandler::updateMouseEventTargetNode): + + When the page is set active or not active, iterate through the Page's + ScrollableAreas to send hide/show notifications. + * page/FocusController.cpp: + (WebCore::FocusController::setActive): + + When a FrameView is created, add it to the ScrollableArea set. When it's + destroyed, remove it. + * page/FrameView.cpp: + (WebCore::FrameView::FrameView): + (WebCore::FrameView::~FrameView): + + Iterate through the Page's ScrollableAreas to send the paint notification. + (WebCore::FrameView::notifyPageThatContentAreaWillPaint): + * page/FrameView.h: + (WebCore::FrameView::disconnectFromPage): + + Add the new ScrollableArea set. + * page/Page.cpp: + (WebCore::Page::~Page): + (WebCore::Page::addScrollableArea): +(WebCore::Page::removeScrollableArea): + (WebCore::Page::containsScrollableArea): + * page/Page.h: + (WebCore::Page::scrollableAreaSet): + + notifyPageThatContentAreaWillPaint() is a dummy function implemented in FrameView. + * platform/ScrollView.cpp: + (WebCore::ScrollView::notifyPageThatContentAreaWillPaint): + + Call notifyPageThatContentAreaWillPaint() instead of calling + contentAreaWillPaint() just for the ScrollView. + (WebCore::ScrollView::paint): + * platform/ScrollView.h: + + Add/remove ScrollableAreas to the set. Add new disconnectFromPage(). + * platform/ScrollableArea.h: + (WebCore::ScrollableArea::disconnectFromPage): + * rendering/RenderDataGrid.cpp: + (WebCore::RenderDataGrid::RenderDataGrid): + (WebCore::RenderDataGrid::~RenderDataGrid): + * rendering/RenderDataGrid.h: + (WebCore::RenderDataGrid::disconnectFromPage): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::RenderLayer): + (WebCore::RenderLayer::~RenderLayer): + * rendering/RenderLayer.h: + (WebCore::RenderLayer::disconnectFromPage): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::RenderListBox): + (WebCore::RenderListBox::~RenderListBox): + * rendering/RenderListBox.h: + (WebCore::RenderListBox::disconnectFromPage): + + Should have implemented this ScrollableArea-interface function a while ago. + (WebCore::RenderLayer::currentMousePosition): + +2011-03-15 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=56425 + WebKit2 icon database. + + * WebCore.exp.in: + +2011-03-15 Adam Barth <abarth@webkit.org> + + Reviewed by Dimitri Glazkov. + + WebCore GYP build should build editing, fileapi, history, and html + https://bugs.webkit.org/show_bug.cgi?id=56411 + + These all went smoothly. + + * gyp/WebCore.gyp: + +2011-03-15 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + WebCore GYP build should build dom/ + https://bugs.webkit.org/show_bug.cgi?id=56409 + + * gyp/WebCore.gyp: + +2011-03-15 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + WebCore GYP build should build css/ + https://bugs.webkit.org/show_bug.cgi?id=56408 + + CSSParser.cpp #includes tokenizer.cpp, which we haven't included in the + build yet. I've punted on that problem for now, but we'll come back to + it. + + * gyp/WebCore.gyp: + +2011-03-15 Adam Barth <abarth@webkit.org> + + Reviewed by Dimitri Glazkov. + + WebCore GYP build should build bindings/ + https://bugs.webkit.org/show_bug.cgi?id=56406 + + I wanted to include bindings/objc in this patch, but they were somewhat + complicated. It looks like they include headers from the output + directory (via PrivateHeaders), but we haven't wired up the + PrivateHeaders yet. + + * gyp/WebCore.gyp: + +2011-03-15 James Simonsen <simonjam@chromium.org> + + Reviewed by Tony Gentilcore. + + Need different behavior for ensuring execution order of dynamically loaded scripts + https://bugs.webkit.org/show_bug.cgi?id=50115 + + Dynamically added scripts with async=false will load in parallel, but execute in order. + See: http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#force-async + + Tests: fast/dom/HTMLScriptElement/script-async-attr.html + http/tests/misc/script-async-load-execute-in-order.html + + * Android.mk: Rename AsyncScriptRunner -> ScriptRunner. + * CMakeLists.txt: Ditto. + * GNUmakefile.am: Ditto. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * dom/DOMAllInOne.cpp: Ditto. + * dom/Document.cpp: + (WebCore::Document::Document): Ditto. + (WebCore::Document::~Document): Ditto. + * dom/Document.h: + (WebCore::Document::scriptRunner): Ditto. + * dom/ScriptElement.cpp: + (WebCore::ScriptElement::ScriptElement): Added forceAsync and willExecuteInOrder. + (WebCore::ScriptElement::handleAsyncAttribute): Called by HTMLScriptElement when async attribute changes. + (WebCore::ScriptElement::prepareScript): Added support for forceAsync. + (WebCore::ScriptElement::notifyFinished): Tell ScriptRunner to execute in order if needed. + * dom/ScriptElement.h: + (WebCore::ScriptElement::forceAsync): Added. + * dom/ScriptRunner.cpp: Renamed from Source/WebCore/dom/AsyncScriptRunner.cpp. + (WebCore::ScriptRunner::ScriptRunner): Added in-order script queue. + (WebCore::ScriptRunner::~ScriptRunner): Ditto. + (WebCore::ScriptRunner::executeScriptSoon): + (WebCore::ScriptRunner::queueScriptForInOrderExecution): Added. + (WebCore::ScriptRunner::suspend): + (WebCore::ScriptRunner::resume): + (WebCore::ScriptRunner::timerFired): Execute in-order scripts if ready. + * dom/ScriptRunner.h: Renamed from Source/WebCore/dom/AsyncScriptRunner.h. + (WebCore::ScriptRunner::create): + (WebCore::ScriptRunner::hasPendingScripts): Check for in-order scripts too. + * html/HTMLScriptElement.cpp: + (WebCore::HTMLScriptElement::attributeChanged): Notify ScriptElement when async changes. + (WebCore::HTMLScriptElement::setAsync): Ditto. + (WebCore::HTMLScriptElement::async): Include forceAsync in calculation. + * html/HTMLScriptElement.h: + * html/HTMLScriptElement.idl: Removed Reflect from async for custom behavior. + * page/PageGroupLoadDeferrer.cpp: + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Rename AsyncScriptRunner -> ScriptRunner. + (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): Ditto. + +2011-03-15 Tony Chang <tony@chromium.org> + + Reviewed by Adam Barth. + + pngcrush images used by inspector + https://bugs.webkit.org/show_bug.cgi?id=56426 + + This saves 120k in WebCore and 8k in WebKit/chromium. I ran + pngcrush -brute, so none of the meta data (ancillary chunks) + are modified. + + No new tests, just compressing png files. + + * inspector/front-end/Images/applicationCache.png: + * inspector/front-end/Images/auditsIcon.png: + * inspector/front-end/Images/back.png: + * inspector/front-end/Images/breakpointBorder.png: + * inspector/front-end/Images/breakpointConditionalBorder.png: + * inspector/front-end/Images/breakpointConditionalCounterBorder.png: + * inspector/front-end/Images/breakpointCounterBorder.png: + * inspector/front-end/Images/breakpointsActivateButtonGlyph.png: + * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png: + * inspector/front-end/Images/checker.png: + * inspector/front-end/Images/clearConsoleButtonGlyph.png: + * inspector/front-end/Images/closeButtons.png: + * inspector/front-end/Images/consoleButtonGlyph.png: + * inspector/front-end/Images/consoleIcon.png: + * inspector/front-end/Images/cookie.png: + * inspector/front-end/Images/database.png: + * inspector/front-end/Images/databaseTable.png: + * inspector/front-end/Images/debuggerContinue.png: + * inspector/front-end/Images/debuggerPause.png: + * inspector/front-end/Images/debuggerStepInto.png: + * inspector/front-end/Images/debuggerStepOut.png: + * inspector/front-end/Images/debuggerStepOver.png: + * inspector/front-end/Images/disclosureTriangleSmallDown.png: + * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: + * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: + * inspector/front-end/Images/disclosureTriangleSmallRight.png: + * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: + * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: + * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: + * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: + * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: + * inspector/front-end/Images/dockButtonGlyph.png: + * inspector/front-end/Images/elementsIcon.png: + * inspector/front-end/Images/enableOutlineButtonGlyph.png: + * inspector/front-end/Images/enableSolidButtonGlyph.png: + * inspector/front-end/Images/errorIcon.png: + * inspector/front-end/Images/errorMediumIcon.png: + * inspector/front-end/Images/errorRedDot.png: + * inspector/front-end/Images/excludeButtonGlyph.png: + * inspector/front-end/Images/focusButtonGlyph.png: + * inspector/front-end/Images/forward.png: + * inspector/front-end/Images/frame.png: + * inspector/front-end/Images/garbageCollectButtonGlyph.png: + * inspector/front-end/Images/gearButtonGlyph.png: + * inspector/front-end/Images/glossyHeader.png: + * inspector/front-end/Images/glossyHeaderPressed.png: + * inspector/front-end/Images/glossyHeaderSelected.png: + * inspector/front-end/Images/glossyHeaderSelectedPressed.png: + * inspector/front-end/Images/goArrow.png: + * inspector/front-end/Images/graphLabelCalloutLeft.png: + * inspector/front-end/Images/graphLabelCalloutRight.png: + * inspector/front-end/Images/helpButtonGlyph.png: + * inspector/front-end/Images/largerResourcesButtonGlyph.png: + * inspector/front-end/Images/localStorage.png: + * inspector/front-end/Images/networkIcon.png: + * inspector/front-end/Images/nodeSearchButtonGlyph.png: + * inspector/front-end/Images/paneAddButtons.png: + * inspector/front-end/Images/paneBottomGrow.png: + * inspector/front-end/Images/paneBottomGrowActive.png: + * inspector/front-end/Images/paneGrowHandleLine.png: + * inspector/front-end/Images/paneSettingsButtons.png: + * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png: + * inspector/front-end/Images/percentButtonGlyph.png: + * inspector/front-end/Images/popoverArrows.png: + * inspector/front-end/Images/popoverBackground.png: + * inspector/front-end/Images/profileGroupIcon.png: + * inspector/front-end/Images/profileIcon.png: + * inspector/front-end/Images/profileSmallIcon.png: + * inspector/front-end/Images/profilesIcon.png: + * inspector/front-end/Images/profilesSilhouette.png: + * inspector/front-end/Images/programCounterBorder.png: + * inspector/front-end/Images/radioDot.png: + * inspector/front-end/Images/recordButtonGlyph.png: + * inspector/front-end/Images/recordToggledButtonGlyph.png: + * inspector/front-end/Images/reloadButtonGlyph.png: + * inspector/front-end/Images/resourceCSSIcon.png: + * inspector/front-end/Images/resourceDocumentIcon.png: + * inspector/front-end/Images/resourceDocumentIconSmall.png: + * inspector/front-end/Images/resourceJSIcon.png: + * inspector/front-end/Images/resourcePlainIcon.png: + * inspector/front-end/Images/resourcePlainIconSmall.png: + * inspector/front-end/Images/resourcesIcon.png: + * inspector/front-end/Images/resourcesSizeGraphIcon.png: + * inspector/front-end/Images/resourcesTimeGraphIcon.png: + * inspector/front-end/Images/scriptsIcon.png: + * inspector/front-end/Images/scriptsSilhouette.png: + * inspector/front-end/Images/searchSmallBlue.png: + * inspector/front-end/Images/searchSmallBrightBlue.png: + * inspector/front-end/Images/searchSmallGray.png: + * inspector/front-end/Images/searchSmallWhite.png: + * inspector/front-end/Images/segment.png: + * inspector/front-end/Images/segmentEnd.png: + * inspector/front-end/Images/segmentHover.png: + * inspector/front-end/Images/segmentHoverEnd.png: + * inspector/front-end/Images/segmentSelected.png: + * inspector/front-end/Images/segmentSelectedEnd.png: + * inspector/front-end/Images/sessionStorage.png: + * inspector/front-end/Images/splitviewDimple.png: + * inspector/front-end/Images/splitviewDividerBackground.png: + * inspector/front-end/Images/statusbarButtons.png: + * inspector/front-end/Images/statusbarMenuButton.png: + * inspector/front-end/Images/statusbarMenuButtonSelected.png: + * inspector/front-end/Images/statusbarResizerHorizontal.png: + * inspector/front-end/Images/statusbarResizerVertical.png: + * inspector/front-end/Images/successGreenDot.png: + * inspector/front-end/Images/thumbActiveHoriz.png: + * inspector/front-end/Images/thumbActiveVert.png: + * inspector/front-end/Images/thumbHoriz.png: + * inspector/front-end/Images/thumbHoverHoriz.png: + * inspector/front-end/Images/thumbHoverVert.png: + * inspector/front-end/Images/thumbVert.png: + * inspector/front-end/Images/timelineBarBlue.png: + * inspector/front-end/Images/timelineBarGray.png: + * inspector/front-end/Images/timelineBarGreen.png: + * inspector/front-end/Images/timelineBarOrange.png: + * inspector/front-end/Images/timelineBarPurple.png: + * inspector/front-end/Images/timelineBarRed.png: + * inspector/front-end/Images/timelineBarYellow.png: + * inspector/front-end/Images/timelineCheckmarks.png: + * inspector/front-end/Images/timelineDots.png: + * inspector/front-end/Images/timelineHollowPillBlue.png: + * inspector/front-end/Images/timelineHollowPillGray.png: + * inspector/front-end/Images/timelineHollowPillGreen.png: + * inspector/front-end/Images/timelineHollowPillOrange.png: + * inspector/front-end/Images/timelineHollowPillPurple.png: + * inspector/front-end/Images/timelineHollowPillRed.png: + * inspector/front-end/Images/timelineHollowPillYellow.png: + * inspector/front-end/Images/timelineIcon.png: + * inspector/front-end/Images/timelinePillBlue.png: + * inspector/front-end/Images/timelinePillGray.png: + * inspector/front-end/Images/timelinePillGreen.png: + * inspector/front-end/Images/timelinePillOrange.png: + * inspector/front-end/Images/timelinePillPurple.png: + * inspector/front-end/Images/timelinePillRed.png: + * inspector/front-end/Images/timelinePillYellow.png: + * inspector/front-end/Images/toolbarItemSelected.png: + * inspector/front-end/Images/trackHoriz.png: + * inspector/front-end/Images/trackVert.png: + * inspector/front-end/Images/treeDownTriangleBlack.png: + * inspector/front-end/Images/treeDownTriangleWhite.png: + * inspector/front-end/Images/treeRightTriangleBlack.png: + * inspector/front-end/Images/treeRightTriangleWhite.png: + * inspector/front-end/Images/treeUpTriangleBlack.png: + * inspector/front-end/Images/treeUpTriangleWhite.png: + * inspector/front-end/Images/undockButtonGlyph.png: + * inspector/front-end/Images/userInputIcon.png: + * inspector/front-end/Images/userInputPreviousIcon.png: + * inspector/front-end/Images/userInputResultIcon.png: + * inspector/front-end/Images/warningIcon.png: + * inspector/front-end/Images/warningMediumIcon.png: + * inspector/front-end/Images/warningOrangeDot.png: + * inspector/front-end/Images/warningsErrors.png: + +2011-03-15 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang. + + Crash in ReplaceSelectionCommand::doApply when inserting a node under a document node + https://bugs.webkit.org/show_bug.cgi?id=56372 + + The bug was caused by insertNodeAfter's calling parentElement on document's child. + Fixed this by changing the node that AppendNodeCommand takes. + + There was also a bug that document node always returned false for isContentEditable + and isContentRichlyEditable because they never overrode Node's default implementation. + Fixed this by overriding them in Document. + + Test: editing/execCommand/append-node-under-document.html + + * dom/Document.cpp: + (WebCore::Document::isContentEditable): Added. + (WebCore::Document::isContentRichlyEditable): Added. + * dom/Document.h: + * editing/AppendNodeCommand.cpp: + (WebCore::AppendNodeCommand::AppendNodeCommand): Takes ContainerNode instead of Element. + * editing/AppendNodeCommand.h: + (WebCore::AppendNodeCommand::create): Ditto. + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::appendNode): Ditto. + (WebCore::CompositeEditCommand::insertNodeAfter): Calls parentNode instead of parentElement. + * editing/CompositeEditCommand.h: + +2011-03-15 David Grogan <dgrogan@chromium.org> + + Reviewed by Jeremy Orlow. + + Fix crash caused by Invalid call to destroyActiveDOMObject during stopActiveDOMObjects + https://bugs.webkit.org/show_bug.cgi?id=56350 + + When a frame is unloaded, ScriptExecutionContext::stopActiveDOMObjects + calls stop() on each ActiveDOMObject. + + Calling IDBDatabase::stop() can cause IDBDatabase to be destroyed: + * IDBDatabase::stop() causes the chrome message dispatcher to remove + its reference to IDBDatabase, which it has as type + IDBDatabaseCallbacks. + * If that reference is the last one, the IDBDatabase is destroyed. + * Destroying an ActiveDOMObject while they are being iterated over causes + a defensive crash. + + This change creates a separate IDBDatabaseCallbacks object that is not + an ActiveDOMObject, so it can be destroyed by + ScriptExecutionContext::stopActiveDOMObjects. + + Because the chrome message dispatcher is only used in multi-process + chromium, that's the only platform affected. Chromium browser tests + forthcoming. + + * WebCore.gypi: + * storage/IDBDatabase.cpp: + (WebCore::IDBDatabase::IDBDatabase): + (WebCore::IDBDatabase::~IDBDatabase): + (WebCore::IDBDatabase::setVersion): + (WebCore::IDBDatabase::close): + (WebCore::IDBDatabase::open): + * storage/IDBDatabase.h: + * storage/IDBDatabaseCallbacks.h: + (WebCore::IDBDatabaseCallbacks::unRegisterDatabase): + * storage/IDBDatabaseCallbacksImpl.cpp: Copied from Source/WebCore/storage/IDBDatabaseCallbacks.h. + (WebCore::IDBDatabaseCallbacksImpl::create): + (WebCore::IDBDatabaseCallbacksImpl::IDBDatabaseCallbacksImpl): + (WebCore::IDBDatabaseCallbacksImpl::onVersionChange): + (WebCore::IDBDatabaseCallbacksImpl::unRegisterDatabase): + * storage/IDBDatabaseCallbacksImpl.h: Copied from Source/WebCore/storage/IDBDatabaseCallbacks.h. + (WebCore::IDBDatabaseCallbacksImpl::~IDBDatabaseCallbacksImpl): + +2011-03-15 Adam Barth <abarth@webkit.org> + + Reviewed by Dimitri Glazkov. + + accessibility should build in WebCore GYP build + https://bugs.webkit.org/show_bug.cgi?id=56405 + + This patch changes our include/exclude strategy to more closely match + the strategy used by the Chromium GYP build system. Ideally, we'd find + a way to share more of these patterns. In the meantime, I'm going to + slowly increase the number of translation units in the project and + adjust the include/exclude filters appropriately. + + * gyp/WebCore.gyp: + +2011-03-15 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + REGRESSION (WebKit2): keygen element doesn't work + https://bugs.webkit.org/show_bug.cgi?id=56402 + <rdar://problem/9006545> + + Covered by existing regresison tests. + + * English.lproj/Localizable.strings: + + * WebCore.exp.in: Removed WebCoreKeyGenerator, which no longer exists. Added + _wkSignedPublicKeyAndChallengeString, so that this WKSI function could be used in WebCore. + + * platform/mac/SSLKeyGeneratorMac.mm: Removed. + * platform/mac/WebCoreKeyGenerator.h: Removed. + * platform/mac/WebCoreKeyGenerator.m: Removed. + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + * WebCore.xcodeproj/project.pbxproj: + Renamed SSLKeyGeneratorMac.mm to .cpp, as it doesn't use any Objective C any more. + Removed WebCoreKeyGenerator, as we no longer need an interface to WebKit. + + * platform/LocalizationStrategy.h: + * platform/LocalizedStrings.cpp: + (WebCore::keygenMenuItem512): + (WebCore::keygenMenuItem1024): + (WebCore::keygenMenuItem2048): + (WebCore::keygenKeychainItemName): + * platform/LocalizedStrings.h: + Added strings used by keygen element, now that the code using them is in WebCore. + + * platform/mac/SSLKeyGeneratorMac.cpp: Copied from Source/WebCore/platform/mac/SSLKeyGeneratorMac.mm. + (WebCore::getSupportedKeySizes): + (WebCore::signedPublicKeyAndChallengeString): + Moved the code from WebKit. There is never any need to provide implementation at runtime, + like old code was doing. + + * platform/win/SSLKeyGeneratorWin.cpp: (WebCore::WebCore::getSupportedKeySizes): + Added a FIXME about localization. Note that Safari for Windows doesn't support keygen. + +2011-03-15 Anders Carlsson <andersca@apple.com> + + Fix clang build. + + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/GraphicsLayer.h: + +2011-03-15 Simon Fraser <simon.fraser@apple.com> + + Fix Lion build after r81161. + + Pass the PlatformCALayer down into drawLayerContents() + so we can use its acceleratesDrawing() method. + + * platform/graphics/mac/WebLayer.h: + * platform/graphics/mac/WebLayer.mm: + (drawLayerContents): + (-[WebLayer drawInContext:]): + * platform/graphics/mac/WebTiledLayer.mm: + (-[WebTiledLayer drawInContext:]): + +2011-03-15 Alok priyadarshi <alokp@chromium.org> + + Reviewed by James Robinson. + + Valgrind error due to uninitialized PluginLayerChromium::m_textureId + https://bugs.webkit.org/show_bug.cgi?id=56390 + + * platform/graphics/chromium/PluginLayerChromium.cpp: + (WebCore::PluginLayerChromium::PluginLayerChromium): + * platform/graphics/chromium/PluginLayerChromium.h: + (WebCore::PluginLayerChromium::textureId): + +2011-03-14 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + REGRESSION (r68976): Incorrect bidi rendering in SVG text + https://bugs.webkit.org/show_bug.cgi?id=53980 + + rework the test engine or SVG "text-intro" tests so we can turn them back on + https://bugs.webkit.org/show_bug.cgi?id=6524 + + svg/W3C-SVG-1.1/text-intro-0*.svg fail when MS Office fonts are present + https://bugs.webkit.org/show_bug.cgi?id=11662 + + svg/batik/text/textBiDi.svg failing + https://bugs.webkit.org/show_bug.cgi?id=17392 + + SVG bidi examples at w3C I18N WG tutorials are not rendered correctly. + https://bugs.webkit.org/show_bug.cgi?id=24374 + + Implement proper bidirectionality support for SVG text. + + BiDi didn't work properly until now, because the x/y/dx/dy/rotate value lists are stored in logical order (aka. in + the order the characters appear in the markup), and when laying out bidi text, we associated the current character + in visual order with the current x/y/dx/dy/rotate value in logical order, messing up RTL text layout. + The BiDi algorithm itself, inherited by RenderBlockLineLayout, works just fine, the inline box tree is correct. + + Long story: + Before the inline box tree is created, SVGTextLayoutAttributesBuilder builds a list of x/y/dx/dy/rotate/<text metrics> + for each RenderSVGInlineText* object, called SVGTextLayoutAttributes. This happens in logical order, as specified in + the markup. <text x="10 20" y="10">abcdef</text> creates a SVGTextLayoutAttributes object in the renderer associated with + "abcdef" that contains (10, 20) for x, (10) for y, the dx/dy/rotate lists are empty, and the SVGTextMetrics list holds 6 + width/height values for each of the glyphs (and some other infromation, see SVGTextMetrics class). + The SVGTextLayoutAttributes object is _used by_ RenderBlockLineLayout when applying the BiDi algorithm as SVG demands + that BiDi reordering does not happen across text chunks (a text chunk is defined by an absolute position, eg. x="10"). + + To summarize: SVGTextLayoutAttributes are stored in all RenderSVGInlineText renderers, caching the metrics of all + characters, their position based on the DOM attributes x/y/dx/dy/rotate. Using that information it's possible to + determine whether a position starts a new text chunk, and that's used by RenderBlockLineLayout to create the + inline box tree, in _visual order_, as it will appear on screen. + + After the inline box tree is created, the SVGRootInlineBox traverses its children in visual order and feeds the + found text boxes to SVGTextLayoutEngine, which lays out the text on a line or a path, according to SVG text layout + rules. For each character of the passed in InlineTextBox, it determines the x/y/dx/dy/rotate value, and the position + in the <text metrics> list of the renderer. The problem here is that the passed in text boxes are in visual order, + the x/y/.. lists are all in logical order. + + Example: <text direction="rtl" unicde-bidi="bidi-override" x="10 20">abcdef</text>, reverse the text direction: + the visual order now is: "fedcba", where 'f' should be associated with x="10" and 'e' with x="20". + + Fix that problem, by computing a list of text boxes in _logical_ order in advance and pass it to SVGTextLayoutEngine, + before it starts processing the boxes in visual order, fed by SVGRootInlineBox. When laying oout text, we can now + process text in visual order, but grab the x/y/.. coordinates from the renderer in logical order. + + Some more work was needed to truly fix Arabic. The SVGTextLayoutAttributesBuilder measured all characters isolated, + which is not a problem with latin text, but results in wrong advances for Arabic text, as isolated forms, instead of + shaped forms are measured. This broke text-anchor support, text queries on Arabic text etc. Fixed now, covered by + dozens of new tests. + + Tests: svg/W3C-I18N/g-dirLTR-ubNone.svg + svg/W3C-I18N/g-dirLTR-ubOverride.svg + svg/W3C-I18N/g-dirRTL-ubNone.svg + svg/W3C-I18N/g-dirRTL-ubOverride.svg + svg/W3C-I18N/text-anchor-dirLTR-anchorEnd.svg + svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle.svg + svg/W3C-I18N/text-anchor-dirLTR-anchorStart.svg + svg/W3C-I18N/text-anchor-dirNone-anchorEnd.svg + svg/W3C-I18N/text-anchor-dirNone-anchorMiddle.svg + svg/W3C-I18N/text-anchor-dirNone-anchorStart.svg + svg/W3C-I18N/text-anchor-dirRTL-anchorEnd.svg + svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle.svg + svg/W3C-I18N/text-anchor-dirRTL-anchorStart.svg + svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd.svg + svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle.svg + svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart.svg + svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd.svg + svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle.svg + svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart.svg + svg/W3C-I18N/text-anchor-no-markup.svg + svg/W3C-I18N/text-dirLTR-ubNone.svg + svg/W3C-I18N/text-dirLTR-ubOverride.svg + svg/W3C-I18N/text-dirRTL-ubNone.svg + svg/W3C-I18N/text-dirRTL-ubOverride.svg + svg/W3C-I18N/tspan-dirLTR-ubEmbed-in-rtl-context.svg + svg/W3C-I18N/tspan-dirLTR-ubNone-in-rtl-context.svg + svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context.svg + svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context.svg + svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context.svg + svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context.svg + svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context.svg + svg/W3C-I18N/tspan-dirNone-ubOverride-in-rtl-context.svg + svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-default-context.svg + svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-ltr-context.svg + svg/W3C-I18N/tspan-dirRTL-ubNone-in-default-context.svg + svg/W3C-I18N/tspan-dirRTL-ubNone-in-ltr-context.svg + svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context.svg + svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context.svg + svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context.svg + svg/W3C-I18N/tspan-direction-ltr.svg + svg/W3C-I18N/tspan-direction-rtl.svg + svg/W3C-SVG-1.1-SE/text-intro-02-b.svg + svg/W3C-SVG-1.1-SE/text-intro-05-t.svg + svg/W3C-SVG-1.1-SE/text-intro-09-b.svg + svg/W3C-SVG-1.1/text-align-08-b.svg + svg/W3C-SVG-1.1/text-fonts-03-t.svg + svg/W3C-SVG-1.1/text-intro-01-t.svg + svg/W3C-SVG-1.1/text-intro-02-b.svg + svg/W3C-SVG-1.1/text-intro-03-b.svg + svg/W3C-SVG-1.1/text-intro-04-t.svg + svg/text/bidi-reorder-value-lists.svg + svg/text/bidi-text-anchor-direction.svg + svg/text/bidi-text-query.svg + svg/text/bidi-tspans.svg + + * rendering/RenderBlockLineLayout.cpp: Remove hack that forced LTR support when unicode-bidi="normal" and handling SVG text. + (WebCore::RenderBlock::determineStartPosition): + * rendering/svg/SVGInlineTextBox.cpp: s/fragment.positionListOffset/fragment.characterOffset/ + (WebCore::SVGInlineTextBox::offsetForPositionInFragment): + (WebCore::SVGInlineTextBox::constructTextRun): + (WebCore::SVGInlineTextBox::mapStartEndPositionsIntoFragmentCoordinates): + * rendering/svg/SVGRenderTreeAsText.cpp: Ditto. + (WebCore::writeSVGInlineTextBox): + * rendering/svg/SVGRootInlineBox.cpp: Add new buildTextBoxListInLogicalOrder(), collecting all text boxes recursively in logical order (aka. as specified in markup). + This is needed as we have to process x/y/dx/dy/rotate value lists of text/tspan/.. elements in logical order, not in visual + order as the characters are presented on screen. + (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): + (WebCore::SVGRootInlineBox::buildTextBoxListInLogicalOrder): + (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes): + * rendering/svg/SVGRootInlineBox.h: + * rendering/svg/SVGTextChunk.cpp: Cleanup code, minimize SVGTextChunks memory consumption. + (WebCore::SVGTextChunk::SVGTextChunk): A text chunk now know whether its base progress direction is left-to-right or right-to-left. + (WebCore::SVGTextChunk::calculateLength): + (WebCore::SVGTextChunk::calculateTextAnchorShift): Make text-anchor direction aware. text-anchor="start/end" meaning depends on the context (ltr vs. rtl). + * rendering/svg/SVGTextChunk.h: Adapt code, merging three members into a bitfield. + (WebCore::SVGTextChunk::isVerticalText): + (WebCore::SVGTextChunk::hasDesiredTextLength): + (WebCore::SVGTextChunk::hasTextAnchor): + (WebCore::SVGTextChunk::hasLengthAdjustSpacing): + (WebCore::SVGTextChunk::hasLengthAdjustSpacingAndGlyphs): + * rendering/svg/SVGTextChunkBuilder.cpp: Adapt to SVGTextChunk code changes. + (WebCore::SVGTextChunkBuilder::addTextChunk): + (WebCore::SVGTextChunkBuilder::processTextChunk): + * rendering/svg/SVGTextFragment.h: Add metricsListOffset, needed only while laying out text. + (WebCore::SVGTextFragment::SVGTextFragment): Rename positionListOffset to characterOffset, as it describes an offset in the textRenderer->characters() array. + * rendering/svg/SVGTextLayoutAttributesBuilder.cpp + (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes): Fix measuring Arabic text in LTR/RTL modes. Assure that each SVGTextMetrics object + that we cache, refers to the _rendered_ character. For Arabic text that means, that we're + measuring the shaped width of the glyph, not the glyph in its isolated form. Without that + fix reordering boxes containing Arabic is wrong. + * rendering/svg/SVGTextLayoutEngine.cpp: SVGTextLayoutEngine is fed with text boxes to be laid out in _visual_ order, left-to-right, after the BiDi algorithm + has been applied by RenderBlockLineLayout to create the inline box tree. The coordinates lists x/y/dx/dy/rotate have + to be processed in _logical_ order. SVGRootInlineBox now passes a list of text boxes in logical order to SVGTextLayoutEngine, + to assure it grabs the coordinates from the correct InlineTextBox. See examples at the top of the ChangeLog. + (WebCore::SVGTextLayoutEngine::SVGTextLayoutEngine): + (WebCore::SVGTextLayoutEngine::recordTextFragment): No need to measure text here anymore, SVGTextLayoutAttributesBuilder now provides exact advances for each glyph. + The width of a SVGTextFragment is always equal to the sum of each glyph advance. (This was not the case for + Arabic until now.) + (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices): + (WebCore::SVGTextLayoutEngine::nextLogicalBoxAndOffset): Computes the next logical box and the offset to the next coordinate value in its position list. + (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): + * rendering/svg/SVGTextLayoutEngine.h: Add CharacterRange helper struct. + (WebCore::SVGTextLayoutEngine::CharacterRange::CharacterRange): + * rendering/svg/SVGTextMetrics.cpp: Remove unused measureAllCharactersIndividually() method. + (WebCore::constructTextRun): Pass direction and unicode-bidi="override" values to the TextRun, otherwhise LTR is always asumed. + * rendering/svg/SVGTextMetrics.h: + (WebCore::SVGTextMetrics::setWidth): Add private setter, only SVGTextLayoutAttributesBuilder is allowed to modify the metrics (to fix up glyph widths for Arabic). + * rendering/svg/SVGTextQuery.cpp: s/fragment.positionListOffset/fragment.characterOffset/ + (WebCore::SVGTextQuery::subStringLengthCallback): + (WebCore::SVGTextQuery::startPositionOfCharacterCallback): + (WebCore::SVGTextQuery::endPositionOfCharacterCallback): + (WebCore::calculateGlyphBoundaries): + +2011-03-15 Sergio Villar Senin <svillar@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Fix make distcheck for 1.3.13 release + https://bugs.webkit.org/show_bug.cgi?id=56371 + + No new tests as this is a build fix. + + * GNUmakefile.am: added a couple of missing files. + +2011-03-08 Levi Weintraub <leviw@chromium.org> + + Reviewed by Ryosuke Niwa. + + Get rid of firstDeepEditingPositionForNode and lastDeepEditingPositionForNode + https://bugs.webkit.org/show_bug.cgi?id=52642 + + Replacing calls to first/lastDeepEditingPositionForNode with calls to their analogous + functions that create new positions. Also fixing various parts of editing code that + incorrectly handled the new positions now being created. + + No new tests as this is refactoring/cleanup. + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::visiblePositionRange): + * dom/Position.cpp: + (WebCore::Position::parentAnchoredEquivalent): + (WebCore::Position::previous): + (WebCore::Position::next): + (WebCore::Position::atFirstEditingPositionForNode): + (WebCore::Position::atLastEditingPositionForNode): + (WebCore::Position::upstream): + (WebCore::Position::isCandidate): + (WebCore::Position::getInlineBoxAndOffset): + * dom/Position.h: + (WebCore::operator==): + * dom/PositionIterator.cpp: + (WebCore::PositionIterator::operator Position): + * editing/ApplyBlockElementCommand.cpp: + (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary): + * editing/DeleteSelectionCommand.cpp: + (WebCore::isTableCellEmpty): + (WebCore::DeleteSelectionCommand::removeNode): + * editing/InsertLineBreakCommand.cpp: + (WebCore::InsertLineBreakCommand::doApply): + * editing/InsertListCommand.cpp: + (WebCore::InsertListCommand::unlistifyParagraph): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent): + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::forwardDeleteKeyPressed): + * editing/VisibleSelection.cpp: + (WebCore::VisibleSelection::selectionFromContentsOfNode): + (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): + * editing/htmlediting.cpp: + (WebCore::firstEditablePositionAfterPositionInRoot): + (WebCore::lastEditablePositionBeforePositionInRoot): + (WebCore::enclosingEmptyListItem): + * editing/htmlediting.h: + * editing/visible_units.cpp: + (WebCore::startOfParagraph): + (WebCore::endOfParagraph): + (WebCore::startOfEditableContent): + (WebCore::endOfEditableContent): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::positionForPoint): + +2011-03-15 Beth Dakin <bdakin@apple.com> + + Attempted build fix. + + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::cancelAnimations): + +2011-03-15 David Hyatt <hyatt@apple.com> + + Reviewed by Dave Levin. + + https://bugs.webkit.org/show_bug.cgi?id=56329 + + Fix FontCache problems on Linux. Make sure not to mutate the platform data passed in to SimpleFontData's + constructor. Change this code to match Mac and to set the new m_hasVerticalGlyphs boolean instead of + mutating orientation. + + * platform/graphics/chromium/SimpleFontDataLinux.cpp: + (WebCore::SimpleFontData::platformInit): + +2011-03-15 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Disable ShadowBlur shadow drawing in accelerated contexts + https://bugs.webkit.org/show_bug.cgi?id=56392 + + When drawing into a graphics context that is accelerated, don't use + ShadowBlur, because it may be slower. + + * platform/graphics/GraphicsContext.h: + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::fillRoundedRect): + (WebCore::GraphicsContext::fillRectWithRoundedHole): + (WebCore::GraphicsContext::setIsCALayerContext): + (WebCore::GraphicsContext::isCALayerContext): + (WebCore::GraphicsContext::setIsAcceleratedContext): + (WebCore::GraphicsContext::isAcceleratedContext): + * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + * platform/graphics/mac/WebLayer.mm: + (drawLayerContents): + +2011-03-15 Beth Dakin <bdakin@apple.com> + + Reviewed by Simon Fraser. + + Fix for <rdar://problem/9075624> Overlay scrollbars slow down PLT by 6% + + Tell the ScrollAnimator to cancelAnimations() since we are navigating to a new + page. + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::transitionToCommitted): + + Scroll animations should be suspended if the FrameLoadState is anything but + complete. + * page/FrameView.cpp: + (WebCore::FrameView::shouldSuspendScrollAnimations): + * page/FrameView.h: + * platform/ScrollableArea.h: + (WebCore::ScrollableArea::shouldSuspendScrollAnimations): + * rendering/RenderDataGrid.cpp: + (WebCore::RenderDataGrid::shouldSuspendScrollAnimations): + * rendering/RenderDataGrid.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::shouldSuspendScrollAnimations): + * rendering/RenderLayer.h: + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::shouldSuspendScrollAnimations): + * rendering/RenderListBox.h: + + New virtual function cancelAnimations() is only needed on the Mac, so the base + class is empty. + * platform/ScrollAnimator.h: + (WebCore::ScrollAnimator::cancelAnimations): + + ScrollAnimatorMac needs to keep track of whether the page has been scrolled since + it started loading. If so, we will override optimizations that wait for the + FrameLoadState to be complete before animating scrollbars. + * platform/mac/ScrollAnimatorMac.h: + (WebCore::ScrollAnimatorMac::haveScrolledSincePageLoad): + + If the scrollbar animations should be suspended, we start a timer to make sure + that we do flash the scrollbars. Animating the scrollbars is expensive, so this is + both a performance optimization and a UI enhancement since the scrollbar won't + jump around nearly as much on a page load. + * platform/mac/ScrollAnimatorMac.mm: + (-[ScrollbarPainterDelegate cancelAnimations]): + (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]): + (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]): + (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]): + (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): + (WebCore::ScrollAnimatorMac::scroll): + (WebCore::ScrollAnimatorMac::handleWheelEvent): + (WebCore::ScrollAnimatorMac::cancelAnimations): + (WebCore::ScrollAnimatorMac::smoothScrollWithEvent): + (WebCore::ScrollAnimatorMac::beginScrollGesture): + (WebCore::ScrollAnimatorMac::startScrollbarPaintTimer): + (WebCore::ScrollAnimatorMac::scrollbarPaintTimerIsActive): + (WebCore::ScrollAnimatorMac::stopScrollbarPaintTimer): + (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired): + + New WebCoreSystemInterface function to force the scrollbars to flash + * WebCore.exp.in: + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + +2011-03-15 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Adam Barth. + + Remove stale comment at RenderStyle::diff. + https://bugs.webkit.org/show_bug.cgi?id=56387 + + * rendering/style/RenderStyle.cpp: Removed comment. + +2011-03-15 David Kilzer <ddkilzer@apple.com> + + <http://webkit.org/b/56381> Objective-C classes should be typedef-ed as structs (not void*) in C++ + + Reviewed by Simon Fraser. + + Typedef-ing Objective-C classes as void* for pure C++ makes it + easier for bugs to creep in because compilers can't do any type + checking for void pointers. + + * platform/graphics/GraphicsContext3D.h: Changed typedef + declarations for CALayer and WebGLLayer from void* to structs. + (WebCore::GraphicsContext3D::platformLayer): Changed + static_cast<CALayer*> to reinterpret_cast<CALayer*> now that + CALayer and WebGLLayer are not void pointers. + * platform/graphics/GraphicsLayer.h: Changed typedef declaration + for PlatformLayer from void* to struct CALayer. + * platform/graphics/ca/PlatformCAAnimation.h: Changed typedef + declaration for CAPropertyAnimation from void* to a struct. + Extracted typdef for PlatformAnimationRef. + +2011-03-15 Ilya Sherman <isherman@chromium.org> + + Reviewed by Tony Chang. + + Autofilled form elements are assigned fixed background color but not text color + https://bugs.webkit.org/show_bug.cgi?id=48382 + + Test: fast/forms/input-autofilled.html + + * css/html.css: + (input:-webkit-autofill): Added foreground color: #000000 + * css/wml.css: + (input:-webkit-autofill): Added foreground color: #000000 + +2011-03-15 Alexis Menard <alexis.menard@openbossa.org> + + Reviewed by Eric Carlson. + + HTMLMediaElement::mediaPlayerPlaybackStateChanged should not change the "public" state of the element + if it's an internal pause for example. + https://bugs.webkit.org/show_bug.cgi?id=56374 + + In case of an internal pause, the callback from the mediaplayer should be ignored to avoid reflecting the + change into the DOM. + + No new tests: Verified manually. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged): + +2011-03-12 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: re-implement xhr breakpoints. + https://bugs.webkit.org/show_bug.cgi?id=56252 + + - restore xhr breakpoints one by one instead of using setAllBrowserBreakpoints + - store xhr breakpoints in a separate setting + - move presentation-related code from BreakpointManager to XHRBreakpointsSidebarPane + + Test: inspector/debugger/xhr-breakpoints.html + + * inspector/InspectorBrowserDebuggerAgent.cpp: + (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent): + (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged): + (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest): + (WebCore::InspectorBrowserDebuggerAgent::clear): + * inspector/InspectorBrowserDebuggerAgent.h: + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager.prototype.setXHRBreakpoint): + (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint): + (WebInspector.BreakpointManager.prototype.breakpointViewForEventData): + (WebInspector.BreakpointManager.prototype._projectChanged): + (WebInspector.BreakpointManager.prototype._validateBreakpoints): + (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.XHRBreakpointsSidebarPane): + (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked.finishEditing): + (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked): + (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint): + (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint): + (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu.removeBreakpoint): + (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu): + (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked): + (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked.finishEditing): + (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked): + (WebInspector.XHRBreakpointsSidebarPane.prototype.highlightBreakpoint): + (WebInspector.XHRBreakpointsSidebarPane.prototype.clearBreakpointHighlight): + (WebInspector.XHRBreakpointsSidebarPane.prototype._saveBreakpoints): + (WebInspector.XHRBreakpointsSidebarPane.prototype._restoreBreakpoints): + (WebInspector.XHRBreakpointsSidebarPane.prototype._projectChanged): + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane.prototype.update): + (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + (WebInspector.ScriptsPanel.prototype._clearInterface): + * inspector/front-end/Settings.js: + (WebInspector.Settings): + * inspector/front-end/inspector.js: + (WebInspector.resetFocusElement): + (WebInspector.set attached): + +2011-03-15 Kevin Ollivier <kevino@theolliviers.com> + + Reviewed by Darin Adler. + + Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export + info into the headers rather than in export symbol definition files, but disable it on + all platforms initially so we can deal with port build issues one port at a time. + + https://bugs.webkit.org/show_bug.cgi?id=27551 + + * config.h: + * platform/mac/LoggingMac.mm: + +2011-03-15 Ilya Tikhonovsky <loislo@chromium.org> + + Unreviewed build fix. + + Chromium: shared lib linux build are failing. + + Two exclude rules for LocalizedNumberNone and TextEncodingDetectorNone were added to the wrong library. + It was webcore_remaining instead of webcore_platform. + + * WebCore.gyp/WebCore.gyp: + +2011-03-15 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: expanding/collapsing object shouldn't affect outer console.group expansion state + https://bugs.webkit.org/show_bug.cgi?id=56373 + + * inspector/front-end/Section.js: + (WebInspector.Section): + (WebInspector.Section.prototype.toggleExpanded): + (WebInspector.Section.prototype.handleClick): stop click even propagation if it was handled by this section. + +2011-03-15 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: crash upon "//html//@id" search in elements panel. + https://bugs.webkit.org/show_bug.cgi?id=56334 + + * inspector/InspectorDOMAgent.cpp: + * inspector/front-end/ElementsTreeOutline.js: + +2011-03-15 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: further extension API cleanup (removed inspectedPage, add experimental prefix) + https://bugs.webkit.org/show_bug.cgi?id=56327 + + * inspector/front-end/ExtensionAPI.js: + (WebInspector.injectedExtensionAPI): + * inspector/front-end/ExtensionAPISchema.json: + +2011-03-15 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: when console.groupEnd calls twice + https://bugs.webkit.org/show_bug.cgi?id=56114 + + Test: inspector/console/console-nested-group.html + + * inspector/ConsoleMessage.h: + (WebCore::ConsoleMessage::type): + * inspector/InspectorConsoleAgent.cpp: + (WebCore::InspectorConsoleAgent::addConsoleMessage): do not coalesce adjacent EndGroup messages. + +2011-03-15 Chris Mumford <chris.mumford@palm.com> + + Reviewed by Adam Barth. + + Initializing several member variables that were not initialized in + their constructors. These values were all read prior to initialization + as reported by Valgrind. + + No new tests: No feature additions/removals. + + * accessibility/AccessibilityImageMapLink.cpp: + (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink): + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::HTMLCanvasElement): + * xml/XPathResult.cpp: + (WebCore::XPathResult::XPathResult): + +2011-03-15 Ben Taylor <bentaylor.solx86@gmail.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=56255 + Fix build on Solaris 10/Sun Studio 12 C++ + + No new tests. This is to fix compilation on Solaris 10 with Sun Studio 12 C++ + + * bridge/runtime_array.h: + (JSC::RuntimeArray::getConcreteArray): + +2011-03-14 Sam Weinig <sam@webkit.org> + + Reviewed by Adam Roben + + about:blank fake responses don't get serialized when sent the UIProcess + <rdar://problem/9108119> + https://bugs.webkit.org/show_bug.cgi?id=56357 + + Test: AboutBlankLoad + + * platform/network/cf/ResourceResponse.h: + * platform/network/cf/ResourceResponseCFNet.cpp: + (WebCore::ResourceResponse::cfURLResponse): + Create a CFURLResponseRef if one does not exist yet as we do for + NSURLResponses on the mac. + +2011-03-14 Alexis Menard <alexis.menard@openbossa.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Seeking videos using the timeline bar does not work properly and stop the video playback. + https://bugs.webkit.org/show_bug.cgi?id=56145 + + We do not need seekTimeout and queuedSeekTimeout anymore. setPosition on QMediaPlayer is good enough. + positionChanged() will be emitted when the data is buffered. On Linux the signal was not emitted because + of a bug in QtMultimedia. + + * platform/graphics/qt/MediaPlayerPrivateQt.cpp: + (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt): + (WebCore::MediaPlayerPrivateQt::seek): + (WebCore::MediaPlayerPrivateQt::stateChanged): + (WebCore::MediaPlayerPrivateQt::positionChanged): + * platform/graphics/qt/MediaPlayerPrivateQt.h: + +2011-03-14 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Adam Roben. + + https://bugs.webkit.org/show_bug.cgi?id=44138 + Crash beneath SocketStreamHandle::readStreamCallback when running websocket/tests/workers/worker-handshake-challenge-randomness.html + + https://bugs.webkit.org/show_bug.cgi?id=55375 + http/tests/websocket/tests/reload-crash.html sometimes crashes beneath SocketStreamHandle::readStreamCallback on Windows + + https://bugs.webkit.org/show_bug.cgi?id=56185 + http/tests/websocket/tests/url-with-credential.html sometimes crashes beneath SocketStreamHandle::readStreamCallback on Windows + + * platform/network/cf/SocketStreamHandle.h: Made SocketStreamHandle ThreadSafeShared, so that + a pointer can be passed across threads when wrapped in a RefPtr. + + * platform/network/cf/SocketStreamHandleCFNet.cpp: Make sure that an object still exists + when executing a method on main thread by using RefPtr. + +2011-03-14 Sam Weinig <sam@webkit.org> + + Mac build fix. Part 1 of N. + + * WebCore.exp.in: + +2011-03-14 Joseph Pecoraro <joepeck@webkit.org> + + Reviewed by Eric Carlson. + + Stalled media elements don't stop delaying the load event + https://bugs.webkit.org/show_bug.cgi?id=56316 + + We should stop delaying the load event when the load has + stalled naturally, or if we require a user gesture to + continue the load. + + Test: http/tests/media/video-play-stall-before-meta-data.html + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::setNetworkState): when suspending, stop delaying. + (WebCore::HTMLMediaElement::progressEventTimerFired): when stalling, stop delaying. + +2011-03-13 MORITA Hajime <morrita@google.com> + + Reviewed by Tony Chang. + + Crash when dragging and dropping in a document with an invalid XHTML header + https://bugs.webkit.org/show_bug.cgi?id=48799 + + DragController tried to dispatch textInput event even when the + drag destination is not the editable area. + This change skips the event dispatching on that case. + + Test: editing/pasteboard/drop-file-svg.html + + * page/DragController.cpp: + (WebCore::DragController::dispatchTextInputEventFor): + (WebCore::DragController::concludeEditDrag): + +2011-03-14 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r81094. + http://trac.webkit.org/changeset/81094 + https://bugs.webkit.org/show_bug.cgi?id=56355 + + Broke the chromium DRT related build. (Requested by dave_levin + on #webkit). + + * WebCore.exp.in: + * WebCore.order: + * page/Frame.cpp: + (WebCore::Frame::layerTreeAsText): + * page/Frame.h: + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::layerTreeAsText): + * rendering/RenderLayerCompositor.h: + +2011-03-14 Adam Barth <abarth@webkit.org> + + Apparently we need to exclude DefaultSharedWorkerRepository.cpp from + the Chromium build, otherwise the objects visible in the global scope + change. + + * WebCore.gyp/WebCore.gyp: + +2011-03-14 Adam Barth <abarth@webkit.org> + + Attempted Chromium build fix. Exclude AllInOne harder. + + * WebCore.gyp/WebCore.gyp: + +2011-03-14 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + EventHandler calls shouldChangeSelection needlessly + https://bugs.webkit.org/show_bug.cgi?id=56324 + + Extracted setSelectionIfNeeded and setNonDirectionalSelectionIfNeeded and + avoided calling shouldChangeSelection and setSelection when the existing + selection is identical to that of new selection. + + * page/EventHandler.cpp: + (WebCore::setSelectionIfNeeded): Extracted. + (WebCore::setNonDirectionalSelectionIfNeeded): Extracted. + (WebCore::EventHandler::selectClosestWordFromMouseEvent): Calls a helper function above. + (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Ditto. + (WebCore::EventHandler::handleMousePressEventTripleClick): Ditto. + (WebCore::EventHandler::handleMousePressEventSingleClick): Ditto. + (WebCore::EventHandler::updateSelectionForMouseDrag): Ditto. + (WebCore::EventHandler::handleMouseReleaseEvent): Ditto. + +2011-03-14 Daniel Sievers <sievers@google.com> + + Reviewed by Simon Fraser. + + [Chromium] Make RenderAsTextBehavior and LayerTreeAsTextBehavior tweakable from the DumpRenderTree commandline + https://bugs.webkit.org/show_bug.cgi?id=56139 + + * WebCore.exp.in: + * WebCore.order: + * page/Frame.cpp: + (WebCore::Frame::layerTreeAsText): + * page/Frame.h: + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::layerTreeAsText): + * rendering/RenderLayerCompositor.h: + +2011-03-14 Adam Barth <abarth@webkit.org> + + Reviewed by Dimitri Glazkov. + + Add remaining files to WebCore.gypi + https://bugs.webkit.org/show_bug.cgi?id=56351 + + Adding the remaining files to WebCore.gypi required updating the + include/exclude lists in WebCore.gyp. These lists aren't overly + elegant, but we can try to improve them in the future. + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * bindings/v8/ScriptCachedFrameData.cpp: + - Added ifdefs to this file to match the header. + * platform/graphics/WOFFFileFormat.cpp: + - Fixed build error when compiling without ENABLE(OPENTYPE_SANITIZER). + +2011-03-14 Anton Muhin <antonm@chromium.org> + + Reviewed by Adam Barth. + + [v8] Rework object group building. + https://bugs.webkit.org/show_bug.cgi?id=55399 + + Instead of going top-down (from owner to owned elements), go up---from objects + to their group ids. That fits better to v8's object grouping model and guarantees + that each wrapper belongs to the single group. + + Alas, this cannot be implemented for one kind of objects---CSSProperties. + + Part of core GC algorithm and tested extensively by exisiting layout tests. + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/scripts/test/V8/V8TestInterface.cpp: + * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: + * bindings/scripts/test/V8/V8TestObj.cpp: + * bindings/v8/V8GCController.cpp: + (WebCore::calculateGroupId): + (WebCore::calculateRootStyleSheet): + (WebCore::GrouperVisitor::visitDOMWrapper): + (WebCore::GrouperVisitor::applyGrouping): + (WebCore::V8GCController::gcPrologue): + * bindings/v8/WrapperTypeInfo.h: + (WebCore::WrapperTypeInfo::isSubclass): + * css/CSSRuleList.h: + (WebCore::CSSRuleList::styleList): + * css/StyleSheetList.h: + (WebCore::StyleSheetList::document): + +2011-03-14 Kent Tamura <tkent@chromium.org> + + Reviewed by James Robinson. + + Assertion failure by form validation message for <select required> with float:left + https://bugs.webkit.org/show_bug.cgi?id=55995 + + Test: fast/forms/interactive-validation-select-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::canMergeContiguousAnonymousBlocks): + isAnonymousBlock() doesn't mean it is a RenderBlock. We need to check isRenderBlock(). + +2011-03-14 Balazs Kelemen <kbalazs@webkit.org> + + Reviewed by Adam Roben. + + [Qt][WK2]Unbreak InjectedBundle on Qt + https://bugs.webkit.org/show_bug.cgi?id=54109 + + No code changes so no new tests. + + Revert the changes that were needed to use KURL + in WebKitTestRunner. + + * Configurations/WebCore.xcconfig: + * WebCore.exp.in: + +2011-03-14 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Compilation fails with --3d-canvas + https://bugs.webkit.org/show_bug.cgi?id=55964 + + * WebCore.pro: + * platform/graphics/qt/Extensions3DQt.cpp: + +2011-03-14 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Adam Roben and Gavin Barraclough. + + FileSystemWin.cpp needs listDirectory() implementation + https://bugs.webkit.org/show_bug.cgi?id=56331 + <rdar://problem/9126635> + + Move PathWalker from an inline class in WebKit2 to its own class in WebCore, + so it can be used from both WebCore and WebKit2. + + Implement FileSystemWin::listDirectory using PathWalker to populate the Vector + of paths matching the passed in pattern. + + * WebCore.vcproj/WebCore.vcproj: + * platform/win/FileSystemWin.cpp: + (WebCore::listDirectory): Call through to PathWalker. + * platform/win/PathWalker.cpp: Added. + (WebCore::PathWalker::PathWalker): Moved from WebKit2. Added a second argument + for the pattern to pass to the Windows File APIs. + (WebCore::PathWalker::~PathWalker): Moved from WebKit2. + (WebCore::PathWalker::isValid): Ditto. + (WebCore::PathWalker::data): Ditto. + (WebCore::PathWalker::step): Ditto. + * platform/win/PathWalker.h: Added. + +2011-03-14 Brady Eidson <beidson@apple.com> + + Reviewed by Anders Carlsson. + + https://bugs.webkit.org/show_bug.cgi?id=56320 + Remove HistoryItem::icon() and the WebCore dependency on "IconDatabaseBase::defaultIcon()" + + Remove HistoryItem::icon(): + * history/HistoryItem.cpp: + * history/HistoryItem.h: + * WebCore.exp.in: + + * loader/icon/IconDatabaseBase.h: + (WebCore::IconDatabaseBase::defaultIcon): + +2011-03-14 Andy Estes <aestes@apple.com> + + Reviewed by Darin Adler. + + Timer-based events should inherit the user gesture state of their + originating event in certain cases. + https://bugs.webkit.org/show_bug.cgi?id=55104 + + If a timer is installed by a gesture-originated event and will fire + within one second, the timer-initiated event should behave as if it + were also initiated by a user gesture. Multi-shot timers should only + get this behavior on their first execution. Nested timers should not + get this behavior. This makes us compatible with Gecko when handling + popups and file chooser dialogs created from timer events. + + Test: fast/events/popup-blocking-timers.html + + * page/DOMTimer.cpp: + (WebCore::timeoutId): Create a helper function so that m_timeoutId can + be initialized in the data member initialization list. + (WebCore::shouldForwardUserGesture): Ditto, but for + m_shouldForwardUserGesture. + (WebCore::DOMTimer::DOMTimer): Move initialization of data members from + the ctor body to the data member initialization list. Also rename the + argument 'timeout' to 'interval'. + (WebCore::DOMTimer::fired): Create a UserGestureIndicator and set its + state based on the value of m_shouldForwardUserGesture. + (WebCore::DOMTimer::adjustMinimumTimerInterval): m_originalTimeout was + renamed to m_originalInterval. + * page/DOMTimer.h: Add m_shouldForwardUserGesture and rename + m_originalTimeout to m_originalInterval. + +2011-03-09 Levi Weintraub <leviw@chromium.org> + + Reviewed by Ryosuke Niwa. + + Deleting content directly following a button inserts an unnecessary placeholder + https://bugs.webkit.org/show_bug.cgi?id=56053 + + Fixing a use of Node's enclosingBlockFlowElement with enclosingBlock htmlediting's + enclosingBlock, as enclosingBlockFlowElement would return inline-block elements despite + DeleteSelectionCommand treating them as blockflow. + + Test: editing/deleting/delete-inserts-br-after-button.html + + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::mergeParagraphs): + +2011-03-14 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=45164 + + REGRESSION: <a><img align=top></a> Clickable area too large + + Make sure to clamp hit testing of quirky inline flow boxes the same way we already clamped + painting. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::nodeAtPoint): + +2011-03-14 Chris Marrin <cmarrin@apple.com> + + Reviewed by Adam Roben. + + REGRESSION (r75138-r75503): Animations on Apple HTML5 Gallery demo are wrong + https://bugs.webkit.org/show_bug.cgi?id=52845 + + The lastCommitTime() value in CACFLayerTreeHost was returning as the time + the render previous to this one happened. That often made it seem like + animations started more in the past than they did, breaking many animations. + The startAnimations() call actually fires from a CACF callback after all the + WebKit content has been rendered. So sending currentTime as the start time + to the animations is close enough for proper synchronization. + + * platform/graphics/ca/win/CACFLayerTreeHost.cpp: + (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): + +2011-03-11 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang. + + Selection uses first mousemove's localRect instead of that of mousedown + https://bugs.webkit.org/show_bug.cgi?id=56213 + + Fixed the bug by adding an extra call to updateSelectionForMouseDrag in handleMouseDraggedEvent + using the mouse coordinates of the mousedown event that started the drag. + + Test: editing/selection/drag-select-rapidly.html + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMouseDraggedEvent): + +2011-03-14 Mark Rowe <mrowe@apple.com> + + Reviewed by Timothy Hatcher. + + Apply a large, blunt object directly to the skull of the Leopard build. + + * Configurations/Base.xcconfig: Disable the generation of debugging symbols when + building the Debug configuration on Leopard. This should cut the size of the object + files that the linker needs to process by over 85%. This will hopefully allow them + to fit in to the 32-bit address space of the Leopard linker. + +2011-03-14 David Hyatt <hyatt@apple.com> + + Reviewed by Beth Dakin. + + https://bugs.webkit.org/show_bug.cgi?id=56246 + + Add support for relative positioning to table cells. Back out the code that hacked around the lack of support + for offsetLeft, and add new tests to demonstrate that relative positioning works. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::adjustRenderStyle): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::offsetParent): + * rendering/RenderObject.h: + (WebCore::RenderObject::isRelPositioned): + * rendering/RenderTableCell.h: + * rendering/style/RenderStyle.h: + * rendering/style/StyleRareNonInheritedData.cpp: + (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): + (WebCore::StyleRareNonInheritedData::operator==): + * rendering/style/StyleRareNonInheritedData.h: + +2011-03-14 David Hyatt <hyatt@apple.com> + + Reviewed by Beth Dakin. + + Partial backout of https://bugs.webkit.org/show_bug.cgi?id=56230. Go back to repainting the root + layer, since first layouts and printing mess up otherwise. + + * page/FrameView.cpp: + (WebCore::FrameView::layout): + +2011-03-11 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + Clean up full repainting of layers during layout and at other times. Platforms that did not do an invalidation on + size changes were incorrectly relying on the DoFullRepaint case of RenderLayer::updateLayerPositions to invalidate + for them. However this code is now wrong, since it assumed that the outermost layer was a RenderView that encompassed + all of the child layers. This is no longer the case since the overflow changes that tightened up visual overflow + and limited that overflow only to content that the layer painted. + + Eliminate the DoFullRepaint flag and actually make no repainting of any kind happen from the layer code if FrameView's + m_doFullRepaint boolean is set. This will flush out any ports that aren't just invalidating the world on their + own in response to view resizes or fixed layout size changes and force them to fix things to be consistent with + the other ports. + + Make the two dynamic calls to updateLayerPositions still do a full repaint by setting the repaint flag on the layer. + I'm suspicious as to the correctness of the repainting in both of these cases (both before and after this patch), + but the behavior should be the same. + + No new tests, since this is untestable on ports that invalidate on a resize. + + * page/FrameView.cpp: + (WebCore::FrameView::layout): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::styleDidChange): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateLayerPositions): + (WebCore::RenderLayer::removeOnlyThisLayer): + * rendering/RenderLayer.h: + +2011-03-11 Oliver Hunt <oliver@apple.com> + + Reviewed by Gavin Barraclough. + + Ensure all values are correctly tagged in the registerfile + https://bugs.webkit.org/show_bug.cgi?id=56214 + + Make sure everything builds still. + + * bridge/c/c_class.cpp: + * bridge/c/c_runtime.cpp: + * bridge/jni/JavaMethod.cpp: + * plugins/PluginViewNone.cpp: + +2011-03-14 Luiz Agostini <luiz.agostini@openbossa.org> + + Unreviewed build fix for r81035. + + * html/HTMLDetailsElement.cpp: + (WebCore::HTMLDetailsElement::defaultEventHandler): + * rendering/RenderDetailsMarker.cpp: + (WebCore::createDownArrowPath): + (WebCore::createUpArrowPath): + (WebCore::createLeftArrowPath): + (WebCore::createRightArrowPath): + +2011-03-13 Jer Noble <jer.noble@apple.com> + + FullScreen: Handle entering full screen security restrictions + https://bugs.webkit.org/show_bug.cgi?id=56264 + + Tests: fullscreen/full-screen-iframe-allowed.html + fullscreen/full-screen-iframe-not-allowed.html + + Disable full screen documents in the following conditions: + 1) requesting element is in an iframe which does not have a + webkitallowfullscreen attribute. + 2) page is not processing a user gesture. + + * dom/Document.cpp: + (WebCore::Document::fullScreenIsAllowedForElement): Added. Checks + to see if elements contained in IFRAMES are allowed to + enter full screen. + (WebCore::Document::webkitRequestFullScreenForElement): Checks + if page is currently processing a user gesture. + * dom/Document.h: + * html/HTMLAttributeNames.in: Added webkitallowfullscreenAttr. + * html/HTMLFrameElementBase.cpp: + (WebCore::HTMLFrameElementBase::allowFullScreen): Added. + * html/HTMLFrameElementBase.h: + +2011-03-14 Anton D'Auria <adauria@apple.com> + + Reviewed by David Levin. + + REGRESSION(r80892): Use of uninitialized variable "m_syncCloseDatabase" in StorageAreaSync::sync + https://bugs.webkit.org/show_bug.cgi?id=56303 + + Initialized m_syncCloseDatabase to false in the StorageAreaSync constructor. + + * storage/StorageAreaSync.cpp: + (WebCore::StorageAreaSync::StorageAreaSync): + +2011-03-14 Steve Block <steveblock@google.com> + + Reviewed by Oliver Hunt. + + JavaMethod.cpp does not compile with V8 + https://bugs.webkit.org/show_bug.cgi?id=56306 + + Moved the ScopeChain.h include to JavaStringJSC. + + No new tests, build fix only. + + * bridge/jni/JavaMethod.cpp: + * bridge/jni/jsc/JavaStringJSC.h + +2011-02-28 Luiz Agostini <luiz.agostini@openbossa.org> + + Reviewed by Dave Hyatt. + + HTML5 <details> and <summary>: rendering + https://bugs.webkit.org/show_bug.cgi?id=51071 + + Tests: fast/html/details-add-summary-1-and-click.html + fast/html/details-add-summary-1.html + fast/html/details-add-summary-10-and-click.html + fast/html/details-add-summary-10.html + fast/html/details-add-summary-2-and-click.html + fast/html/details-add-summary-2.html + fast/html/details-add-summary-3-and-click.html + fast/html/details-add-summary-3.html + fast/html/details-add-summary-4-and-click.html + fast/html/details-add-summary-4.html + fast/html/details-add-summary-5-and-click.html + fast/html/details-add-summary-5.html + fast/html/details-add-summary-6-and-click.html + fast/html/details-add-summary-6.html + fast/html/details-add-summary-7-and-click.html + fast/html/details-add-summary-7.html + fast/html/details-add-summary-8-and-click.html + fast/html/details-add-summary-8.html + fast/html/details-add-summary-9-and-click.html + fast/html/details-add-summary-9.html + fast/html/details-mouse-click.html + fast/html/details-no-summary1.html + fast/html/details-no-summary2.html + fast/html/details-no-summary3.html + fast/html/details-no-summary4.html + fast/html/details-open-javascript.html + fast/html/details-open1.html + fast/html/details-open2.html + fast/html/details-open3.html + fast/html/details-open4.html + fast/html/details-open5.html + fast/html/details-open6.html + fast/html/details-position.html + fast/html/details-remove-summary-1-and-click.html + fast/html/details-remove-summary-1.html + fast/html/details-remove-summary-2-and-click.html + fast/html/details-remove-summary-2.html + fast/html/details-remove-summary-3-and-click.html + fast/html/details-remove-summary-3.html + fast/html/details-remove-summary-4-and-click.html + fast/html/details-remove-summary-4.html + fast/html/details-remove-summary-5-and-click.html + fast/html/details-remove-summary-5.html + fast/html/details-remove-summary-6-and-click.html + fast/html/details-remove-summary-6.html + fast/html/details-writing-mode.html + + http://www.w3.org/TR/html5/interactive-elements.html#the-details-element + + The main <summary> element is the first <summary> element of a <details> element. + All other childs of the <details> element are rendered only if the attribute 'open' is set. + Click event toggles the 'open' attribute. + + * html/HTMLDetailsElement.cpp: + (WebCore::HTMLDetailsElement::HTMLDetailsElement): + (WebCore::HTMLDetailsElement::findMainSummary): + (WebCore::HTMLDetailsElement::childrenChanged): + (WebCore::HTMLDetailsElement::finishParsingChildren): + (WebCore::HTMLDetailsElement::parseMappedAttribute): + (WebCore::HTMLDetailsElement::childShouldCreateRenderer): + (WebCore::HTMLDetailsElement::defaultEventHandler): + * html/HTMLDetailsElement.h: + (WebCore::HTMLDetailsElement::mainSummary): + + Method createRenderer added to class HTMLSummaryElement. + + * html/HTMLSummaryElement.cpp: + (WebCore::HTMLSummaryElement::createRenderer): + * html/HTMLSummaryElement.h: + + The first <summary> element is positioned at the top of its <details> parent. + The area occupied by this main <summary> element is the interactive area of the + <details> element. If the <details> tag has no <summary> child an OwnedSummaryRenderer + is created and added to the corresponding RenderDetails object. + + * rendering/RenderDetails.cpp: + (WebCore::RenderDetails::RenderDetails): + (WebCore::RenderDetails::destroy): + (WebCore::RenderDetails::summaryBlock): + (WebCore::RenderDetails::contentBlock): + (WebCore::RenderDetails::addChild): + (WebCore::RenderDetails::removeChild): + (WebCore::RenderDetails::setMarkerStyle): + (WebCore::RenderDetails::styleDidChange): + (WebCore::RenderDetails::getRenderPosition): + (WebCore::RenderDetails::markerDestroyed): + (WebCore::RenderDetails::summaryDestroyed): + (WebCore::RenderDetails::moveSummaryToContents): + (WebCore::RenderDetails::createSummaryStyle): + (WebCore::RenderDetails::replaceMainSummary): + (WebCore::RenderDetails::createDefaultSummary): + (WebCore::RenderDetails::checkMainSummary): + (WebCore::RenderDetails::layout): + (WebCore::RenderDetails::isOpen): + (WebCore::RenderDetails::getParentOfFirstLineBox): + (WebCore::RenderDetails::firstNonMarkerChild): + (WebCore::RenderDetails::updateMarkerLocation): + * rendering/RenderDetails.h: + (WebCore::RenderDetails::interactiveArea): + (WebCore::RenderDetails::removeLeftoverAnonymousBlock): + (WebCore::RenderDetails::createsAnonymousWrapper): + (WebCore::RenderDetails::requiresForcedStyleRecalcPropagation): + + A marker is added to the main <summary> element to indicate the current value of the 'open' + attribute of the <details> element. + + * rendering/RenderDetailsMarker.cpp: + (WebCore::RenderDetailsMarker::RenderDetailsMarker): + (WebCore::RenderDetailsMarker::destroy): + (WebCore::RenderDetailsMarker::lineHeight): + (WebCore::RenderDetailsMarker::baselinePosition): + (WebCore::RenderDetailsMarker::computePreferredLogicalWidths): + (WebCore::RenderDetailsMarker::layout): + (WebCore::RenderDetailsMarker::getRelativeMarkerRect): + (WebCore::RenderDetailsMarker::isOpen): + (WebCore::createPath): + (WebCore::createDownArrowPath): + (WebCore::createUpArrowPath): + (WebCore::createLeftArrowPath): + (WebCore::createRightArrowPath): + (WebCore::RenderDetailsMarker::orientation): + (WebCore::RenderDetailsMarker::getCanonicalPath): + (WebCore::RenderDetailsMarker::getPath): + (WebCore::RenderDetailsMarker::paint): + * rendering/RenderDetailsMarker.h: + (WebCore::toRenderDetailsMarker): + + * rendering/RenderSummary.cpp: + (WebCore::RenderSummary::RenderSummary): + (WebCore::RenderSummary::destroy): + (WebCore::RenderSummary::parentDetails): + (WebCore::RenderSummary::styleDidChange): + * rendering/RenderSummary.h: + + * rendering/RenderTreeAsText.cpp: + (WebCore::RenderTreeAsText::writeRenderObject): + +2011-03-14 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=56296 + Clean up IconDatabaseBase header. + + -Get rid of the "PlatformString.h" include and replace it with a forward declaration. + -Group methods by which are used in WebCore directly and which are used in WebKit ports. + + This'll make it easier to use in external frameworks (like WebKit2). + + * loader/icon/IconDatabase.h: + * loader/icon/IconDatabaseBase.h: + (WebCore::IconDatabaseBase::retainIconForPageURL): + (WebCore::IconDatabaseBase::releaseIconForPageURL): + (WebCore::IconDatabaseBase::iconForPageURL): + (WebCore::IconDatabaseBase::setIconURLForPageURL): + (WebCore::IconDatabaseBase::setIconDataForIconURL): + (WebCore::IconDatabaseBase::iconDataKnownForIconURL): + (WebCore::IconDatabaseBase::loadDecisionForIconURL): + (WebCore::IconDatabaseBase::importIconURLForPageURL): + (WebCore::IconDatabaseBase::importIconDataForIconURL): + (WebCore::IconDatabaseBase::open): + +2011-03-14 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r81026. + http://trac.webkit.org/changeset/81026 + https://bugs.webkit.org/show_bug.cgi?id=56313 + + Breaks gtk 64-bit tests (Requested by podivilov on #webkit). + + * inspector/InspectorBrowserDebuggerAgent.cpp: + (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent): + (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged): + (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest): + (WebCore::InspectorBrowserDebuggerAgent::clear): + * inspector/InspectorBrowserDebuggerAgent.h: + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager.prototype.createXHRBreakpoint): + (WebInspector.BreakpointManager.prototype._createXHRBreakpoint): + (WebInspector.BreakpointManager.prototype.breakpointViewForEventData): + (WebInspector.BreakpointManager.prototype._projectChanged): + (WebInspector.BreakpointManager.prototype._validateBreakpoints): + (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId): + (WebInspector.BreakpointManager.prototype._createXHRBreakpointId): + (WebInspector.XHRBreakpoint): + (WebInspector.XHRBreakpoint.prototype._enable): + (WebInspector.XHRBreakpoint.prototype._disable): + (WebInspector.XHRBreakpoint.prototype._serializeToJSON): + (WebInspector.XHRBreakpointView): + (WebInspector.XHRBreakpointView.prototype.compareTo): + (WebInspector.XHRBreakpointView.prototype.populateEditElement): + (WebInspector.XHRBreakpointView.prototype.populateLabelElement): + (WebInspector.XHRBreakpointView.prototype.populateStatusMessageElement): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.XHRBreakpointsSidebarPane.addButtonClicked): + (WebInspector.XHRBreakpointsSidebarPane): + (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem): + (WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint): + (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog): + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane.prototype.update): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + (WebInspector.ScriptsPanel.prototype._clearInterface): + * inspector/front-end/Settings.js: + (WebInspector.Settings): + * inspector/front-end/inspector.js: + (WebInspector.resetFocusElement): + (WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded): + (WebInspector.createXHRBreakpointsSidebarPane): + (WebInspector.set attached): + +2011-03-14 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Factor out binary search algo from the insertionIndexForObjectInListSortedByFunction function. + https://bugs.webkit.org/show_bug.cgi?id=56312 + + Test: inspector/utilities.html + + * inspector/front-end/utilities.js: + +2011-03-12 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: re-implement xhr breakpoints. + https://bugs.webkit.org/show_bug.cgi?id=56252 + + - restore xhr breakpoints one by one instead of using setAllBrowserBreakpoints + - store xhr breakpoints in a separate setting + - move presentation-related code from BreakpointManager to XHRBreakpointsSidebarPane + + Test: inspector/debugger/xhr-breakpoints.html + + * inspector/InspectorBrowserDebuggerAgent.cpp: + (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent): + (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged): + (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest): + (WebCore::InspectorBrowserDebuggerAgent::clear): + * inspector/InspectorBrowserDebuggerAgent.h: + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager.prototype.setXHRBreakpoint): + (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint): + (WebInspector.BreakpointManager.prototype.breakpointViewForEventData): + (WebInspector.BreakpointManager.prototype._projectChanged): + (WebInspector.BreakpointManager.prototype._validateBreakpoints): + (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.XHRBreakpointsSidebarPane): + (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked.finishEditing): + (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked): + (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint): + (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint): + (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu.removeBreakpoint): + (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu): + (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked): + (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked.finishEditing): + (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked): + (WebInspector.XHRBreakpointsSidebarPane.prototype.highlightBreakpoint): + (WebInspector.XHRBreakpointsSidebarPane.prototype.clearBreakpointHighlight): + (WebInspector.XHRBreakpointsSidebarPane.prototype._saveBreakpoints): + (WebInspector.XHRBreakpointsSidebarPane.prototype._restoreBreakpoints): + (WebInspector.XHRBreakpointsSidebarPane.prototype._projectChanged): + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane.prototype.update): + (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + (WebInspector.ScriptsPanel.prototype._clearInterface): + * inspector/front-end/Settings.js: + (WebInspector.Settings): + * inspector/front-end/inspector.js: + (WebInspector.resetFocusElement): + (WebInspector.set attached): + +2011-03-14 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: move breakpoints restoring to debugger presentation model. + https://bugs.webkit.org/show_bug.cgi?id=56123 + + DebuggerModel's "breakpoint-added" and "breakpoint-removed" events are gone since + setBreakpoint/removeBreakpoint are now called from DPM only. + + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::disable): + (WebCore::InspectorDebuggerAgent::enableDebuggerAfterShown): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype.enableDebugger): + (WebInspector.DebuggerModel.prototype._debuggerWasEnabled): + (WebInspector.DebuggerModel.prototype._debuggerWasDisabled): + (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint): + (WebInspector.DebuggerModel.prototype.setBreakpoint): + (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId): + (WebInspector.DebuggerModel.prototype.removeBreakpoint): + (WebInspector.DebuggerModel.prototype._breakpointResolved): + (WebInspector.DebuggerModel.prototype.reset): + (WebInspector.DebuggerDispatcher.prototype.debuggerWasEnabled): + (WebInspector.DebuggerDispatcher.prototype.debuggerWasDisabled): + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel): + (WebInspector.DebuggerPresentationModel.prototype._debuggerWasEnabled): + (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource): + (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource): + (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged): + (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId): + (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled): + (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): + (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved): + (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved): + (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints): + (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints): + (WebInspector.DebuggerPresentationModel.prototype.reset): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled): + (WebInspector.ScriptsPanel.prototype._debuggerWasDisabled): + +2011-03-14 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r81015. + http://trac.webkit.org/changeset/81015 + https://bugs.webkit.org/show_bug.cgi?id=56308 + + A Similar patch landed in r76960 (Requested by philn-tp on + #webkit). + + * GNUmakefile.am: + +2011-03-14 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: don't use innerText, use textContent instead. + https://bugs.webkit.org/show_bug.cgi?id=56307 + + * inspector/front-end/AuditFormatters.js: + (WebInspector.AuditFormatters.snippet): + * inspector/front-end/ElementsTreeOutline.js: + * inspector/front-end/GoToLineDialog.js: + * inspector/front-end/HelpScreen.js: + (WebInspector.HelpScreen): + * inspector/front-end/ShortcutsHelp.js: + (WebInspector.ShortcutsSection.prototype.renderSection): + (WebInspector.ShortcutsSection.prototype._renderHeader): + +2011-03-14 Andrey Adaikin <aandrey@google.com> + + Reviewed by Pavel Feldman. + + Web Inspector: [Text editor] Disable live-edit in favor of the text editor + https://bugs.webkit.org/show_bug.cgi?id=56176 + + * inspector/front-end/Settings.js: + +2011-03-14 Andrey Adaikin <aandrey@google.com> + + Reviewed by Pavel Feldman. + + Web Inspector: [REGRESSION] scroll does not work in source frame when mouse is inside the gutter + https://bugs.webkit.org/show_bug.cgi?id=56095 + + * inspector/front-end/TextViewer.js: + (WebInspector.TextViewer): + +2011-03-11 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: move breakpoints restoring after live edit to debugger presentation model. + https://bugs.webkit.org/show_bug.cgi?id=56179 + + Presentation model should move breakpoints based on text diff as required by "revert to revision" action in resources panel. + + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel): + (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint): + (WebInspector.DebuggerModel.prototype.setBreakpoint): + (WebInspector.DebuggerModel.prototype.reset): + (WebInspector.DebuggerModel.prototype.editScriptSource.didEditScriptSource): + (WebInspector.DebuggerModel.prototype.editScriptSource): + (WebInspector.DebuggerModel.prototype.get callFrames): + (WebInspector.DebuggerModel.prototype._pausedScript): + (WebInspector.DebuggerModel.prototype._resumedScript): + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel): + (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._scriptSourceChanged): + +2011-03-10 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Optimize backend-frontend data transfer volume for CSS styles + https://bugs.webkit.org/show_bug.cgi?id=56111 + + This change reduces the getStylesForNode() payload more than twice for BODY elements. + + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyle::populateObjectWithStyleProperties): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSProperty.parsePayload): + +2011-03-14 John Knottenbelt <jknotten@chromium.org> + + Reviewed by Steve Block. + + Detach Geolocation from Frame when Page destroyed. + https://bugs.webkit.org/show_bug.cgi?id=52877 + + On Page destruction, any outstanding Geolocation permission + requests should be cancelled, because the Geolocation can only + access the client indirectly via m_frame->page(). + + Page destruction is signalled by a call to the + Frame::pageDestroyed() method. This explictly calls + DOMWindow::resetGeolocation which ultimately calls Geolocation::reset. + + Geolocation::reset() detaches from the GeolocationController, + cancels requests, watches and single shots, and sets the + permission state back to Unknown. + + Frame::pageDestroyed() is also called by FrameLoader even though + the page is not destroyed. We should still cancel permission + requests, because the GeolocationClient will become inaccessible + to the Geolocation object after this call. + + Frame::transferChildFrameToNewDocument also indirectly calls + Geolocation::reset when the frame is reparented between + pages. Ideally we would like the Geolocation's activities to + continue after reparenting, see bug + https://bugs.webkit.org/show_bug.cgi?id=55577 + + Since GeolocationController is owned by Page, and all Geolocation + objects will now unsubscribe from the GeolocationController on + pageDetached(), we no longer need to call stopUpdating() from the + GeolocationController's destructor. Instead we can simply assert + that there should be no no observers. See related bug + https://bugs.webkit.org/show_bug.cgi?id=52216 . + + Introduced new method 'numberOfPendingPermissionRequests' on + GeolocationClientMock to count the number of outstanding pending + permission requests. This provides a reusable implementation for + client-based implementations of the LayoutTestController's + numberOfPendingGeolocationPermissionRequests method. + + Test: fast/dom/Geolocation/page-reload-cancel-permission-requests.html + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::resetGeolocation): + * page/DOMWindow.h: + * page/Frame.cpp: + (WebCore::Frame::pageDestroyed): + (WebCore::Frame::transferChildFrameToNewDocument): + * page/Geolocation.cpp: + (WebCore::Geolocation::~Geolocation): + (WebCore::Geolocation::page): + (WebCore::Geolocation::reset): + (WebCore::Geolocation::disconnectFrame): + (WebCore::Geolocation::lastPosition): + (WebCore::Geolocation::requestPermission): + (WebCore::Geolocation::startUpdating): + (WebCore::Geolocation::stopUpdating): + * page/Geolocation.h: + * page/GeolocationController.cpp: + (WebCore::GeolocationController::~GeolocationController): + * page/Navigator.cpp: + (WebCore::Navigator::resetGeolocation): + * page/Navigator.h: + * platform/mock/GeolocationClientMock.cpp: + (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests): + * platform/mock/GeolocationClientMock.h: + +2011-03-14 Andrey Adaikin <aandrey@google.com> + + Reviewed by Pavel Feldman. + + Web Inspector: REGRESSION: Messed up with the tabIndex for text editor + https://bugs.webkit.org/show_bug.cgi?id=56183 + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._handleKeyDown): + (WebInspector.SourceFrame.prototype._handleSave): + (WebInspector.SourceFrame.prototype._handleRevertEditing): + * inspector/front-end/TextViewer.js: + (WebInspector.TextEditorMainPanel): + (WebInspector.TextEditorMainPanel.prototype.set readOnly): + +2011-03-14 Chris Rogers <crogers@google.com> + + Reviewed by Xan Lopez. + + Add all web audio auto-generated files to GTK make system + https://bugs.webkit.org/show_bug.cgi?id=50497 + + No new tests since these are build-system tweaks. + + * GNUmakefile.am: + +2011-03-14 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: make DOMAgent event target, remove dependency from ElementsPanel. + https://bugs.webkit.org/show_bug.cgi?id=56268 + + * inspector/Inspector.idl: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::reset): + (WebCore::InspectorDOMAgent::performSearch): + (WebCore::InspectorDOMAgent::cancelSearch): + (WebCore::InspectorDOMAgent::onMatchJobsTimer): + (WebCore::InspectorDOMAgent::reportNodesAsSearchResults): + * inspector/InspectorDOMAgent.h: + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMAgent.prototype.requestDocument.mycallback): + (WebInspector.DOMAgent.prototype.requestDocument): + (WebInspector.DOMAgent.prototype._attributesUpdated): + (WebInspector.DOMAgent.prototype._characterDataModified): + (WebInspector.DOMAgent.prototype._documentUpdated): + (WebInspector.DOMAgent.prototype._setDocument): + (WebInspector.DOMAgent.prototype._childNodeCountUpdated): + (WebInspector.DOMAgent.prototype._childNodeInserted): + (WebInspector.DOMAgent.prototype._childNodeRemoved): + (WebInspector.DOMAgent.prototype._removeBreakpoints): + (WebInspector.DOMAgent.prototype.performSearch): + (WebInspector.DOMAgent.prototype.cancelSearch): + (WebInspector.DOMDispatcher.prototype.searchResults): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel): + (WebInspector.ElementsPanel.prototype._reset): + (WebInspector.ElementsPanel.prototype._documentUpdated): + (WebInspector.ElementsPanel.prototype.searchCanceled): + (WebInspector.ElementsPanel.prototype.performSearch): + (WebInspector.ElementsPanel.prototype._addNodesToSearchResult): + (WebInspector.ElementsPanel.prototype._attributesUpdated): + (WebInspector.ElementsPanel.prototype._characterDataModified): + (WebInspector.ElementsPanel.prototype._nodeInserted): + (WebInspector.ElementsPanel.prototype._nodeRemoved): + (WebInspector.ElementsPanel.prototype._childNodeCountUpdated): + (WebInspector.ElementsPanel.prototype.updateModifiedNodes): + +2011-03-14 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: add tests for edit dom operations. + https://bugs.webkit.org/show_bug.cgi?id=56248 + + Test: inspector/elements/edit-dom-actions.html + + * inspector/Inspector.idl: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::assertNode): + (WebCore::InspectorDOMAgent::assertElement): + (WebCore::InspectorDOMAgent::assertHTMLElement): + (WebCore::InspectorDOMAgent::nodeToSelectOn): + (WebCore::InspectorDOMAgent::querySelector): + (WebCore::InspectorDOMAgent::querySelectorAll): + (WebCore::InspectorDOMAgent::setAttribute): + (WebCore::InspectorDOMAgent::removeAttribute): + (WebCore::InspectorDOMAgent::getOuterHTML): + (WebCore::InspectorDOMAgent::setOuterHTML): + * inspector/InspectorDOMAgent.h: + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMNode.prototype.setAttribute): + (WebInspector.DOMNode.prototype.removeAttribute): + * inspector/front-end/inspector.js: + (WebInspector.startEditing.defaultFinishHandler): + +2011-03-14 Brady Eidson <beidson@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/8762095> and https://bugs.webkit.org/show_bug.cgi?id=55172 + Need WK2 API to view/manage origins with LocalStorage + + * storage/StorageTracker.cpp: + (WebCore::StorageTracker::initializeTracker): Make sure the TextEncoding map is initialized on the main thread + before the StorageTracker thread can do it on the background thread. + +2011-03-13 Anton D'Auria <adauria@apple.com> + + Reviewed by Brady Eidson and David Levin, landed by Brady Eidson. + + Fixed lock-taking order to prevent deadlock, added lock for m_client, + removed premature return in syncImportOriginIdentifiers when tracker + db does not exist because that prevented syncFileSystemAndTrackerDatabase() + from running until next LocalStorage db creation, cleaned up + StorageTracker::scheduleTask() code for readability. + + https://bugs.webkit.org/show_bug.cgi?id=56285 + + * storage/StorageTracker.cpp: + (WebCore::StorageTracker::trackerDatabasePath): + (WebCore::StorageTracker::syncImportOriginIdentifiers): If tracker db isn't + optionally opened (as in the case when it doesn't exist on disk), don't + exit early and call syncFileSystemAndTrackerDatabase(), which will create + a tracker db if localstorage db files are found on disk by calling setOriginDetails. + (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase): + (WebCore::StorageTracker::setOriginDetails): + (WebCore::StorageTracker::scheduleTask): readability changes. + (WebCore::StorageTracker::syncSetOriginDetails): + (WebCore::StorageTracker::syncDeleteAllOrigins): + (WebCore::StorageTracker::syncDeleteOrigin): + (WebCore::StorageTracker::cancelDeletingOrigin): order lock-taking consistently to avoid deadlock. + (WebCore::StorageTracker::setClient): + * storage/StorageTracker.h: + +2011-03-13 Anton D'Auria <adauria@apple.com> + + Reviewed and landed by Brady Eidson. + + Invalid assertion in StorageTracker - PageGroup::numberOfPageGroups() == 1 + https://bugs.webkit.org/show_bug.cgi?id=56240 + + This assertion is invalid until LocalStorage is either global or is isolated by PageGroup. + + * storage/StorageTracker.cpp: + (WebCore::StorageTracker::origins): + (WebCore::StorageTracker::deleteAllOrigins): + (WebCore::StorageTracker::deleteOrigin): + +2011-03-13 Pratik Solanki <psolanki@apple.com> + + Reviewed by Dan Bernstein. + + Make adjustMIMETypeIfNecessary use CFNetwork directly + https://bugs.webkit.org/show_bug.cgi?id=55912 + + Follow up fix for Layout Test failure. Fix typo - it should be text/plain, not test/plain. + + * platform/network/mac/WebCoreURLResponse.mm: + (WebCore::adjustMIMETypeIfNecessary): + +2011-03-13 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + Include hyphenation information in text representation of render tree + https://bugs.webkit.org/show_bug.cgi?id=56287 + + (WebCore::writeTextRun): If the text box is hyphenated, output the hyphenation + string. + +2011-03-13 David Levin <levin@chromium.org> + + Improve my hasitly added build fix and added a bug https://bugs.webkit.org/show_bug.cgi?id=56288 + above addressing this FIXME. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + +2011-03-13 David Levin <levin@chromium.org> + + Build fix adding remaining enum values to switch statement. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + +2011-03-13 Sam Weinig <sam@webkit.org> + + Fix windows build. + + * platform/network/cf/ResourceErrorCF.cpp: + (WebCore::ResourceError::ResourceError): + Add missing constructor. + +2011-03-13 David Sosby <dsosby@rim.com> + + Reviewed by Dan Bernstein. + + REGRESSION: Soft hyphen is not always rendered + https://bugs.webkit.org/show_bug.cgi?id=56017 + + The check to flag a text block as hyphenated was only + occurring at break points in the line. If no break points + were found after the soft hyphen then the line would not + be flagged hyphenated. Adding a check for soft hyphen at + the end of the text run resolves the issue. + + Test: fast/text/soft-hyphen-4.html + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::findNextLineBreak): + +2011-03-13 Dan Bernstein <mitz@apple.com> + + Reviewed by Mark Rowe. + + REGRESSION (r80438): fast/text/hyphenate-character failing in pixel mode + https://bugs.webkit.org/show_bug.cgi?id=56280 + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::tryHyphenating): Avoid subtracting 1 from an unsigned 0. + +2011-03-13 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Add ability to create a WKErrorRef + <rdar://problem/9115768> + https://bugs.webkit.org/show_bug.cgi?id=56279 + + * WebCore.exp.in: + Add new exports. + + * platform/network/cf/ResourceError.h: + * platform/network/cf/ResourceErrorCF.cpp: + (WebCore::ResourceError::platformCompare): + (WebCore::ResourceError::cfError): + (WebCore::ResourceError::operator CFErrorRef): + (WebCore::ResourceError::ResourceError): + (WebCore::ResourceError::cfStreamError): + (WebCore::ResourceError::operator CFStreamError): + * platform/network/mac/ResourceErrorMac.mm: + (WebCore::ResourceError::ResourceError): + (WebCore::ResourceError::platformCompare): + (WebCore::ResourceError::nsError): + (WebCore::ResourceError::operator NSError *): + (WebCore::ResourceError::cfError): + (WebCore::ResourceError::operator CFErrorRef): + Clean up ResourceError a bit and add ability to create a ResourceError from a CFErrorRef + regardless of whether CFNetwork is being used. + +2011-03-13 Pratik Solanki <psolanki@apple.com> + + Reviewed by Brady Eidson. + + Make adjustMIMETypeIfNecessary use CFNetwork directly + https://bugs.webkit.org/show_bug.cgi?id=55912 + + Convert category method [NSURLResponse adjustMIMETypeIfNecessary] to C function + WebCore::adjustMIMETypeIfNecessary() that takes a CFURLResponseRef and is functionally + identical. + + Testing is covered by existing LayoutTests. + + * WebCore.exp.in: + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + * platform/network/mac/ResourceHandleMac.mm: + (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): + * platform/network/mac/WebCoreURLResponse.h: + * platform/network/mac/WebCoreURLResponse.mm: + (WebCore::createBinaryExtensionsSet): + (WebCore::createExtensionToMIMETypeMap): + (WebCore::mimeTypeFromUTITree): + (WebCore::adjustMIMETypeIfNecessary): + +2011-03-13 Jeremy Moskovich <jeremy@chromium.org> + + Reviewed by Dimitri Glazkov. + + Update comment in CSSValueKeywords.in + https://bugs.webkit.org/show_bug.cgi?id=56266 + + The enums the comment refers to were moved from RenderStyle.h to RenderStyleConstants.h + in r36579 but it appears that the comment in CSSValueKeywords.in wasn't updated. + + No tests - just updating a comment. + + * css/CSSValueKeywords.in: + +2011-03-13 Anton D'Auria <adauria@apple.com> + + Reviewed by Alice Liu. + + StorageTracker constructor shouldn't have initialization code and isMainThread() assertion + https://bugs.webkit.org/show_bug.cgi?id=56259 + + Move all StorageTracker initialization to + StorageTracker::initializeTracker. This also removes the + requirement that the StorageTracker constructor isn't run + on the main thread. + + * storage/StorageTracker.cpp: + (WebCore::StorageTracker::initializeTracker): + (WebCore::StorageTracker::tracker): + (WebCore::StorageTracker::StorageTracker): + +2011-03-13 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Dave Hyatt. + + REGRESSION (r61383): Navigation menu laid out incorrectly on aboardtheworld.com + https://bugs.webkit.org/show_bug.cgi?id=53470 + + Prefer !important over normal properties when dealing with duplicate properties in style rules. + + Test: fast/css/duplicate-property-in-rule-important.html + + * css/CSSMutableStyleDeclaration.cpp: + (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): + +2011-03-12 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r80895. + http://trac.webkit.org/changeset/80895 + https://bugs.webkit.org/show_bug.cgi?id=56261 + + Causing crashes in several tests including + t1202-counters-16-c.html (see + http://build.webkit.org/results/SnowLeopard%20Intel%20Leaks/r80956%20(15528)/results.html) + (Requested by dave_levin on #webkit). + + * rendering/CounterNode.cpp: + (WebCore::CounterNode::CounterNode): + (WebCore::CounterNode::create): + (WebCore::CounterNode::resetRenderer): + (WebCore::CounterNode::resetRenderers): + (WebCore::CounterNode::recount): + (WebCore::CounterNode::insertAfter): + (WebCore::CounterNode::removeChild): + (WebCore::showTreeAndMark): + * rendering/CounterNode.h: + (WebCore::CounterNode::renderer): + * rendering/RenderCounter.cpp: + (WebCore::findPlaceForCounter): + (WebCore::RenderCounter::~RenderCounter): + (WebCore::RenderCounter::originalText): + (WebCore::RenderCounter::invalidate): + (WebCore::destroyCounterNodeWithoutMapRemoval): + (WebCore::RenderCounter::destroyCounterNodes): + (WebCore::RenderCounter::destroyCounterNode): + (WebCore::updateCounters): + (showCounterRendererTree): + * rendering/RenderCounter.h: + * rendering/RenderObjectChildList.cpp: + (WebCore::invalidateCountersInContainer): + (WebCore::RenderObjectChildList::invalidateCounters): + * rendering/RenderObjectChildList.h: + +2011-03-12 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + REGRESSION (r76474): IntegerArray hash hashes only 1/4 of the array + https://bugs.webkit.org/show_bug.cgi?id=56258 + + No tests because the wrong hashing is mostly harmless. The only symptom + we have seen is an occasional assertion in debug builds about the size + not being a multiple of two. But a worse hash is worse for performance too. + + * platform/cf/BinaryPropertyList.cpp: + (WebCore::IntegerArrayHash::hash): Pass in the size in bytes rather + than the number of array entries. + +2011-03-12 Cameron Zwarich <zwarich@apple.com> + + Not reviewed. + + Fix the build with newer GCCs and remove some extra whitespae. + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::uint8_t): + +2011-03-12 Cameron Zwarich <zwarich@apple.com> + + Rubber-stamped by Oliver Hunt. + + Removed unused ARMv5 code. The ARMv5 case now falls under the general + unaligned accessed case. + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneDeserializer::readLittleEndian): + (WebCore::CloneDeserializer::readString): + +2011-03-12 Cameron Zwarich <zwarich@apple.com> + + Reviewed by Oliver Hunt. + + WebCore fails to build with Clang on ARM + https://bugs.webkit.org/show_bug.cgi?id=56257 + + Add an explicit instantiation of writeLittleEndian for uint8_t and move it to + namespace scope, since explicit specializations are not allowed at class scope. + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::writeLittleEndian): + +2011-03-11 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Dragging image to desktop gives webloc instead of image file in WebKit2 + https://bugs.webkit.org/show_bug.cgi?id=56193 + + * WebCore.exp.in: Added some additional exports. Re-sorted. + +2011-03-12 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r80919. + http://trac.webkit.org/changeset/80919 + https://bugs.webkit.org/show_bug.cgi?id=56251 + + all windows bots failed to compile this change (Requested by + loislo on #webkit). + + * bridge/c/c_class.cpp: + * bridge/c/c_runtime.cpp: + * bridge/jni/JavaMethod.cpp: + * plugins/PluginViewNone.cpp: + +2011-03-12 Patrick Gansterer <paroga@webkit.org> + + Unreviewed WinCE build fix for r80900. + + * CMakeListsWinCE.txt: Removed IconDatabaseNone.cpp. + +2011-03-12 Andras Becsi <abecsi@webkit.org> + + Unreviewed typo fix. + + No new tests needed. + + * WebCore.pro: Fix typo in header name. + +2011-03-12 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed: Inspect Element action regression fix. + + * inspector/front-end/inspector.js: + (WebInspector.inspect): + +2011-03-12 Ilya Tikhonovsky <loislo@chromium.org> + + Unreviewed. One line fix for inspector/dom-breakpoints.html + + * inspector/front-end/BreakpointManager.js: + (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement.decorateNode): + +2011-03-12 Ilya Tikhonovsky <loislo@chromium.org> + + Unreviewed build fix. + + Almost all inspector tests are crashing after r80928. + + * inspector/front-end/inspector.js: + +2011-03-11 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: follow up to error reporting, fixing multiple regressions. + https://bugs.webkit.org/show_bug.cgi?id=56243 + + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::setPropertyValue): + * inspector/InjectedScript.h: + * inspector/Inspector.idl: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::getChildNodes): + (WebCore::InspectorDOMAgent::getOuterHTML): + (WebCore::InspectorDOMAgent::getEventListenersForNode): + * inspector/InspectorDOMAgent.h: + * inspector/InspectorRuntimeAgent.cpp: + (WebCore::InspectorRuntimeAgent::setPropertyValue): + * inspector/InspectorRuntimeAgent.h: + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMNode.prototype.setNodeName): + (WebInspector.DOMNode.prototype.setNodeValue): + (WebInspector.DOMNode.prototype.getChildNodes): + (WebInspector.DOMNode.prototype.getOuterHTML): + (WebInspector.DOMNode.prototype.setOuterHTML): + (WebInspector.DOMNode.prototype.removeNode): + (WebInspector.DOMNode.prototype.copyNode): + (WebInspector.DOMAgent.prototype.pushNodeToFrontend): + (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend): + (WebInspector.EventListeners.getEventListenersForNode): + * inspector/front-end/DOMStorage.js: + (WebInspector.DOMStorage.prototype.getEntries): + (WebInspector.DOMStorage.prototype.setItem): + (WebInspector.DOMStorage.prototype.removeItem): + * inspector/front-end/DOMStorageItemsView.js: + (WebInspector.DOMStorageItemsView.prototype.update): + (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries): + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip): + (WebInspector.ElementsTreeElement.prototype.updateChildren): + (): + * inspector/front-end/EventListenersSidebarPane.js: + (WebInspector.EventListenersSidebarPane.prototype.update.callback): + (WebInspector.EventListenersSidebarPane.prototype.update): + * inspector/front-end/ObjectPropertiesSection.js: + (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression.callback): + (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): + * inspector/front-end/PropertiesSidebarPane.js: + (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved): + * inspector/front-end/RemoteObject.js: + (WebInspector.RemoteObject.prototype.setPropertyValue): + (WebInspector.RemoteObject.prototype.evaluate): + * inspector/front-end/inspector.js: + +2011-03-12 Jer Noble <jer.noble@apple.com> + + Unreviewed build fix. + + Fix GTK+ builds by wrapping sections of full screen code in USE(ACCELERATED_COMPOSITING) + checks. + + * dom/Document.cpp: + (WebCore::Document::webkitWillEnterFullScreenForElement): + (WebCore::Document::webkitDidEnterFullScreenForElement): + (WebCore::Document::webkitWillExitFullScreenForElement): + (WebCore::Document::webkitDidExitFullScreenForElement): + +2011-03-12 Ryuan Choi <ryuan.choi@samsung.com> + + Unreviewed build fix. + + [EFL] Fix build break because of several reason. + https://bugs.webkit.org/show_bug.cgi?id=56244 + + * CMakeLists.txt: Add missing files. + * platform/posix/FileSystemPOSIX.cpp: Add PLATFORM(EFL). + +2011-03-11 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: move profiler related methods from inspector agent to profiler agent + https://bugs.webkit.org/show_bug.cgi?id=56204 + + * inspector/Inspector.idl: + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::InspectorAgent): + (WebCore::InspectorAgent::restoreInspectorStateFromCookie): + (WebCore::InspectorAgent::setFrontend): + (WebCore::InspectorAgent::disconnectFrontend): + (WebCore::InspectorAgent::populateScriptObjects): + (WebCore::InspectorAgent::showProfilesPanel): + * inspector/InspectorAgent.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::enableProfiler): + (WebCore::InspectorController::disableProfiler): + (WebCore::InspectorController::profilerEnabled): + (WebCore::InspectorController::startUserInitiatedProfiling): + (WebCore::InspectorController::stopUserInitiatedProfiling): + (WebCore::InspectorController::isRecordingUserInitiatedProfile): + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::profilerEnabledImpl): + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::create): + (WebCore::InspectorProfilerAgent::InspectorProfilerAgent): + (WebCore::InspectorProfilerAgent::enable): + (WebCore::InspectorProfilerAgent::disable): + (WebCore::InspectorProfilerAgent::setFrontend): + (WebCore::InspectorProfilerAgent::clearFrontend): + (WebCore::InspectorProfilerAgent::restore): + (WebCore::InspectorProfilerAgent::restoreEnablement): + (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling): + (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling): + * inspector/InspectorProfilerAgent.h: + (WebCore::InspectorProfilerAgent::start): + (WebCore::InspectorProfilerAgent::stop): + * inspector/front-end/ProfileView.js: + (WebInspector.CPUProfileType.prototype.buttonClicked): + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel): + (WebInspector.ProfilesPanel.prototype._registerProfileType): + (WebInspector.ProfilesPanel.prototype._toggleProfiling): + * inspector/front-end/inspector.js: + (WebInspector._createPanels): + +2011-03-11 Jer Noble <jer.noble@apple.com> + + Reviewed by Anders Carlsson. + + WebCore::Document should notify ChromeClient when the full screen renderer's backing changes. + https://bugs.webkit.org/show_bug.cgi?id=56226 + + * dom/Document.cpp: + (WebCore::Document::webkitWillEnterFullScreenForElement): Call setRootFullScreenLayer(). + (WebCore::Document::webkitDidEnterFullScreenForElement): Ditto. + (WebCore::Document::webkitWillExitFullScreenForElement): Ditto. + (WebCore::Document::webkitDidExitFullScreenForElement): Ditto. + (WebCore::Document::setFullScreenRendererSize): Layout after setting the renderer's size. + +2011-03-11 Jer Noble <jer.noble@apple.com> + + Reviewed by Anders Carlsson. + + Create new interface stubs to support full screen mode in WebKit2. + + WebKit2: Plumb new full screen animation APIs through WebKit2. + https://bugs.webkit.org/show_bug.cgi?id=55993 + + * page/ChromeClient.h: + (WebCore::ChromeClient::setRootFullScreenLayer): Added. + +2011-03-11 Oliver Hunt <oliver@apple.com> + + Reviewed by Gavin Barraclough. + + Ensure all values are correctly tagged in the registerfile + https://bugs.webkit.org/show_bug.cgi?id=56214 + + Make sure everything builds still. + + * bridge/c/c_class.cpp: + * bridge/c/c_runtime.cpp: + * bridge/jni/JavaMethod.cpp: + * plugins/PluginViewNone.cpp: + +2011-03-11 Mark Rowe <mrowe@apple.com> + + Fix the 32-bit build. + + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: + (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): + +2011-03-11 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Eric Carlsson. + + <rdar://problem/9124537> Crashes during layout tests due to overrelease of AVFoundation objects. + + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: + (WebCore::MediaPlayerPrivateAVFoundationObjC::createContextVideoRenderer): + (WebCore::MediaPlayerPrivateAVFoundationObjC::setAsset): + +2011-03-11 Chris Marrin <cmarrin@apple.com> + + Unreviewed. + + Fixes an error with the checkin for https://bugs.webkit.org/show_bug.cgi?id=52468 + + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): + +2011-03-11 Brady Eidson <beidson@apple.com> + + Attempted Qt build fix for https://bugs.webkit.org/show_bug.cgi?id=56216 + + * loader/icon/IconDatabase.h: Make this guy public. + +2011-03-11 Brady Eidson <beidson@apple.com> + + Attempted Qt build fix for https://bugs.webkit.org/show_bug.cgi?id=56216 + + * loader/icon/IconDatabase.h: + (WebCore::IconDatabase::delayDatabaseCleanup): Maybe Qt has Icon Database disabled, so we need to define this here? + +2011-03-11 Brady Eidson <beidson@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=56216 + Fix the Qt build following the same pattern of the patch. + + * loader/icon/IconDatabase.h: + * loader/icon/IconDatabaseBase.cpp: + (WebCore::IconDatabaseBase::databasePath): Added to the virtual base. + * loader/icon/IconDatabaseBase.h: + (WebCore::IconDatabaseBase::isOpen): Ditto. + +2011-03-11 Ben Taylor <bentaylor.solx86@gmail.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=56198 + Fix conditional which had an int for one case and a pointer for another. + + No new tests. Fix compilation on Solaris 10 with SunStudio 12 C++ + + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): + +2011-03-11 Brady Eidson <beidson@apple.com> + + Windows build fix. + + * history/HistoryItem.cpp: + * loader/icon/IconDatabaseBase.cpp: + +2011-03-11 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56216 + Rework disabled IconDatabase builds while allowing for a pluggable icon database implementation. + + Project file stuff: + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * WebCore.vcproj/WebCore.vcproj: + + * loader/icon/IconDatabase.cpp: + * loader/icon/IconDatabase.h: Inherit from IconDatabaseBase. + + * loader/icon/IconDatabaseBase.cpp: Added. + (WebCore::IconDatabaseBase::iconURLForPageURL): + (WebCore::iconDatabase): + (WebCore::setGlobalIconDatabase): + * loader/icon/IconDatabaseBase.h: Added. + (WebCore::IconDatabaseBase::IconDatabaseBase): + (WebCore::IconDatabaseBase::~IconDatabaseBase): + (WebCore::IconDatabaseBase::setEnabled): + (WebCore::IconDatabaseBase::isEnabled): + (WebCore::IconDatabaseBase::defaultIcon): + (WebCore::IconDatabaseBase::retainIconForPageURL): + (WebCore::IconDatabaseBase::releaseIconForPageURL): + (WebCore::IconDatabaseBase::iconForPageURL): + (WebCore::IconDatabaseBase::setIconURLForPageURL): + (WebCore::IconDatabaseBase::setIconDataForIconURL): + (WebCore::IconDatabaseBase::iconDataKnownForIconURL): + (WebCore::IconDatabaseBase::loadDecisionForIconURL): + (WebCore::IconDatabaseBase::pageURLMappingCount): + (WebCore::IconDatabaseBase::retainedPageURLCount): + (WebCore::IconDatabaseBase::iconRecordCount): + (WebCore::IconDatabaseBase::iconRecordCountWithData): + (WebCore::IconDatabaseBase::importIconURLForPageURL): + (WebCore::IconDatabaseBase::importIconDataForIconURL): + (WebCore::IconDatabaseBase::shouldStopThreadActivity): + (WebCore::IconDatabaseBase::open): + (WebCore::IconDatabaseBase::close): + (WebCore::IconDatabaseBase::removeAllIcons): + (WebCore::IconDatabaseBase::setPrivateBrowsingEnabled): + (WebCore::IconDatabaseBase::setClient): + + * loader/icon/IconDatabaseNone.cpp: Removed. + +2011-03-11 Brady Eidson <beidson@apple.com> + + Attempt at a build-fix for https://bugs.webkit.org/show_bug.cgi?id=51878 + + * page/PageGroup.h: Declare this method, even if the definition will end up being empty. + +2011-03-11 Michael Nordman <michaeln@google.com> + + Reviewed by Dmitry Titov. + + Adding the '~' to the dtor (duh). + + No new tests. + + * storage/SQLCallbackWrapper.h: + (WebCore::SQLCallbackWrapper::~SQLCallbackWrapper): + +2011-03-11 Carol Szabo <carol.szabo@nokia.com> + + Reviewed by David Hyatt. + + Introduced double linkage between a CounterNode and its display renderer. + + use of freed pointer in WebCore::RenderCounter::originalText() + https://bugs.webkit.org/show_bug.cgi?id=56065 + + No new tests. This bug could only be reproduced manually by + refreshing the page during load at a critical point. + See bug attachment for testing. + + * rendering/CounterNode.cpp: + Introduced new member "m_owner" to store the renderer that has the + style directives that produce the CounterNode. + Repurposed m_renderer to reffer to the RenderCounter that shows the + CounterNode. + (WebCore::CounterNode::CounterNode): + Updated member initialization. + (WebCore::CounterNode::create): + (WebCore::CounterNode::resetRenderer): + (WebCore::CounterNode::resetRenderers): + (WebCore::CounterNode::recount): + (WebCore::CounterNode::removeChild): + (WebCore::CounterNode::insertAfter): + No functional changes. + (WebCore::showTreeAndMark): + Added flushing to ensure that the output is complete. + * rendering/CounterNode.h: + (WebCore::CounterNode::owner): + Renamed from renderer() + (WebCore::CounterNode::renderer): + (WebCore::CounterNode::setRenderer): + Added new accessors for the display renderer. + * rendering/RenderCounter.cpp: + (WebCore::findPlaceForCounter): + Fixed comments. No functional changes. + (WebCore::RenderCounter::~RenderCounter): + Made sure that the CounterNode that this renderers displays is + detached from this. + (WebCore::RenderCounter::originalText): + (WebCore::RenderCounter::invalidate): + Added code to update m_renderer on the displayed CounterNode. + (WebCore::destroyCounterNodeWithoutMapRemoval): + (WebCore::RenderCounter::destroyCounterNodes): + (WebCore::RenderCounter::destroyCounterNode): + (WebCore::updateCounters): + No change, just kept code in line with the changes above. + (showCounterRendererTree): + Added fflush to ensure complete display. + * rendering/RenderCounter.h: + * rendering/RenderObjectChildList.cpp: + * rendering/RenderObjectChildList.h: + Removed unneeded invalidateCounters related functions. + +2011-03-11 Luke Macpherson <macpherson@chromium.org> + + Reviewed by Eric Seidel. + + Introduce lookup-table based approach for applying CSS properties. + The aim is to be a starting point for refactoring + CSSStyleSelector::applyProperty() into more readable, maintainable code. + https://bugs.webkit.org/show_bug.cgi?id=54707 + + No new behavior / covered by existing tests. + + * css/CSSStyleApplyProperty.cpp: Added. + (WebCore::ApplyPropertyNull): + Class that provides empty implementations of inherit, initial, value. + (WebCore::ApplyPropertyDefault::ApplyPropertyDefault): + Class that calls the appropriate RenderStyle setters directly. + (WebCore::ApplyPropertyColorBase::ApplyPropertyColorBase): + Class for handling CSSProperty*Color. + (WebCore::ApplyPropertyColor::ApplyPropertyColor): + Class for handling CSSPropertyColor. + (WebCore::CSSStyleApplyProperty::sharedCSSStyleApplyProperty): + Singleton initializer. + (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): + Constructor that bulds up the map from property id to apply-er objects. + * css/CSSStyleApplyProperty.h: Added. + (WebCore::CSSStyleApplyProperty::inherit): + Handle the inherit case for a given property. + (WebCore::CSSStyleApplyProperty::initial): + Handle the initial case for a given property. + (WebCore::CSSStyleApplyProperty::value): + Apply a value to a given property. + (WebCore::CSSStyleApplyProperty::implements): + Returns true if the provided property id is implemented. + (WebCore::CSSStyleApplyProperty::index): + Private function to determine the index of a property the property map. + (WebCore::CSSStyleApplyProperty::valid): + Function to determine that a given property id is valid. + (WebCore::CSSStyleApplyProperty::setPropertyValue): + (WebCore::CSSStyleApplyProperty::propertyValue): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::CSSStyleSelector): + Get reference to the CSSStyleApplyProperty singleton. + (WebCore::CSSStyleSelector::applyProperty): + Now calls into CSSStyleApplyProperty for implemented property ids. + Deleted color-related methods from the property id switch. + * css/CSSStyleSelector.h: + (WebCore::CSSStyleSelector::style): + Made public to allow access from CSSStyleApplyProperty. + (WebCore::CSSStyleSelector::parentStyle): + Made public to allow access from CSSStyleApplyProperty. + * rendering/style/RenderStyle.h: + Made CSSStyleApplyProperty a friend class. Necessary because it needs + to access the private getters and setters on this clsass. + +2011-03-11 Anton D'Auria <adauria@apple.com> + + Reviewed and landed by Brady Eidson. + + Add WebKit1 API to view and delete local storage + https://bugs.webkit.org/show_bug.cgi?id=51878 + + Created StorageTracker as a central point for tracking and deleting LocalStorage per origin. + StorageTracker maintains its own database of origin identifiers and backing db paths, + and this allows it to contain more relational data in the future, like variable quotas per origin. + + On initialization, StorageTracker syncs its database with LocalStorage files on disk. It adds + an origin entry when StorageAreaSync performs a first sync for an origin. + + All StorageTracker file operations are performed on one background thread with a task queue. + + Tests: storage/domstorage/localstorage/storagetracker/storage-tracker-1-prepare.html + storage/domstorage/localstorage/storagetracker/storage-tracker-2-create.html + storage/domstorage/localstorage/storagetracker/storage-tracker-3-delete-all.html + storage/domstorage/localstorage/storagetracker/storage-tracker-4-create.html + storage/domstorage/localstorage/storagetracker/storage-tracker-5-delete-one.html + + * GNUmakefile.am: + * WebCore.exp.in: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * page/PageGroup.cpp: + (WebCore::PageGroup::clearLocalStorageForAllOrigins): + (WebCore::PageGroup::clearLocalStorageForOrigin): + (WebCore::PageGroup::syncLocalStorage): + (WebCore::PageGroup::numberOfPageGroups): + * page/PageGroup.h: + * platform/chromium/FileSystemChromium.cpp: + (WebCore::listDirectory): + * platform/posix/FileSystemPOSIX.cpp: + (WebCore::listDirectory): + * storage/LocalStorageTask.cpp: + (WebCore::LocalStorageTask::LocalStorageTask): + (WebCore::LocalStorageTask::performTask): + * storage/LocalStorageTask.h: + (WebCore::LocalStorageTask::createOriginIdentifiersImport): + (WebCore::LocalStorageTask::createSetOriginDetails): + (WebCore::LocalStorageTask::createDeleteOrigin): + (WebCore::LocalStorageTask::createDeleteAllOrigins): + * storage/StorageAreaImpl.cpp: + (WebCore::StorageAreaImpl::clearForOriginDeletion): + (WebCore::StorageAreaImpl::sync): + * storage/StorageAreaImpl.h: + * storage/StorageAreaSync.cpp: + (WebCore::StorageAreaSync::scheduleCloseDatabase): + (WebCore::StorageAreaSync::openDatabase): + (WebCore::StorageAreaSync::sync): + (WebCore::StorageAreaSync::deleteEmptyDatabase): + (WebCore::StorageAreaSync::scheduleSync): + * storage/StorageAreaSync.h: + * storage/StorageNamespace.h: + * storage/StorageNamespaceImpl.cpp: + (WebCore::StorageNamespaceImpl::clearOriginForDeletion): + (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion): + (WebCore::StorageNamespaceImpl::sync): + * storage/StorageNamespaceImpl.h: + * storage/StorageTracker.cpp: Added. + (WebCore::StorageTracker::initializeTracker): + (WebCore::StorageTracker::tracker): + (WebCore::StorageTracker::StorageTracker): + (WebCore::StorageTracker::setStorageDirectoryPath): + (WebCore::StorageTracker::trackerDatabasePath): + (WebCore::StorageTracker::openTrackerDatabase): + (WebCore::StorageTracker::importOriginIdentifiers): + (WebCore::StorageTracker::syncImportOriginIdentifiers): + (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase): + (WebCore::StorageTracker::setOriginDetails): + (WebCore::StorageTracker::scheduleTask): + (WebCore::StorageTracker::syncSetOriginDetails): + (WebCore::StorageTracker::origins): + (WebCore::StorageTracker::deleteAllOrigins): + (WebCore::StorageTracker::syncDeleteAllOrigins): + (WebCore::StorageTracker::deleteOrigin): + (WebCore::StorageTracker::syncDeleteOrigin): + (WebCore::StorageTracker::willDeleteAllOrigins): + (WebCore::StorageTracker::willDeleteOrigin): + (WebCore::StorageTracker::canDeleteOrigin): + (WebCore::StorageTracker::cancelDeletingOrigin): + (WebCore::StorageTracker::setClient): + (WebCore::StorageTracker::syncLocalStorage): + * storage/StorageTracker.h: Added. + * storage/StorageTrackerClient.h: Added. + (WebCore::StorageTrackerClient::~StorageTrackerClient): + +2011-03-11 Steve Block <steveblock@google.com> + + Reviewed by Jeremy Orlow. + + JavaMethod does not correctly check for a null jstring for the method name + https://bugs.webkit.org/show_bug.cgi?id=56187 + + No new tests, simple typo fix. + + * bridge/jni/JavaMethod.cpp: + (JavaMethod::JavaMethod): + +2011-03-11 Adrienne Walker <enne@google.com> + + Reviewed by James Robinson. + + [chromium] Compositor uses too much texture memory for scrollbars + https://bugs.webkit.org/show_bug.cgi?id=56212 + + Compositor invalidations can be off the page (and very large), but + scrollbars only need to care about the invalidation that's visible. + The large invalidation was causing the tiler layer size to grow + needlessly larger than the scrollbar. + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::invalidateRootLayerRect): + +2011-03-11 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=52987 + + REGRESSION: Overflowing columns not repainted correctly + + Make sure to add in column overflow as visual overflow as well. It was only propagating layout overflow, which is obviously not + sufficient, since blocks paint their own columns. + + Added fast/multicol/scrolling-overflow.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::addOverflowFromChildren): + +2011-03-11 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Simon Fraser. + + Set canvasUsesAcceleratedDrawing setting to be off(false) by default + https://bugs.webkit.org/show_bug.cgi?id=56215 + + No new tests. Does not affect behavior. Just keeping the setting off by default. + + * page/Settings.cpp: + (WebCore::Settings::Settings): + +2011-03-11 Andy Estes <aestes@apple.com> + + Reviewed by David Hyatt. + + Table cells with dynamically added percentage height descendants do not + grow in size if the table has already been laid out. + https://bugs.webkit.org/show_bug.cgi?id=56174 + + Table cells ignore their specified size and collapse to fit their + children. When a descendent with percentage height is present before + the table is first laid out, the descendent is sized based on the + specified size of the table cell. However, when the child isn't present + when the table is first laid out, the table cell ignores its specified + size and collapses down to 0. Then, when the child div is added in a + separate run loop iteration, it is sized to be 100% of the collapsed + cell height instead of 100% of the cell's specified height. We should + not get different layouts depending on the timing of tree construction. + + Fix this by clearing intrinsic padding before calculating the table + cell's override height when we detect a child that should flex the + table cell. + + Test: fast/table/dynamic-descendant-percentage-height.html + + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::setOverrideSizeFromRowHeight): clear + intrinsic padding before setting the override size. + * rendering/RenderTableCell.h: + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::layoutRows): Call + setOverrideSizeFromRowHeight() instead of setOverrideSize(). + +2011-03-11 Michael Nordman <michaeln@google.com> + + Reviewed by David Levin. + + Add SQLCallbackWrapper + Instead of directly holding RefPtrs to the Callback objects in SQLStatement and SQLTransaction, hold a wrapper objects + which holds those references whose dtors will schedule the release of those references on the ScriptExecution thread. + https://bugs.webkit.org/show_bug.cgi?id=55919 + + No new tests, existing tests apply. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * storage/SQLCallbackWrapper.h: Added. + (WebCore::SQLCallbackWrapper::SQLCallbackWrapper): + (WebCore::SQLCallbackWrapper::clear): + (WebCore::SQLCallbackWrapper::unwrap): + (WebCore::SQLCallbackWrapper::hasCallback): + (WebCore::SQLCallbackWrapper::safeRelease): + * storage/SQLStatement.cpp: + (WebCore::SQLStatement::create): + (WebCore::SQLStatement::SQLStatement): + (WebCore::SQLStatement::performCallback): + * storage/SQLStatement.h: + (WebCore::SQLStatement::hasStatementCallback): + (WebCore::SQLStatement::hasStatementErrorCallback): + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::SQLTransaction): + (WebCore::SQLTransaction::executeSQL): + (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase): + (WebCore::SQLTransaction::deliverTransactionCallback): + (WebCore::SQLTransaction::deliverStatementCallback): + (WebCore::SQLTransaction::postflightAndCommit): + (WebCore::SQLTransaction::deliverSuccessCallback): + (WebCore::SQLTransaction::handleTransactionError): + (WebCore::SQLTransaction::deliverTransactionErrorCallback): + * storage/SQLTransaction.h: + +2011-03-11 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/8955589> Adopt AVFoundation media back end on Lion. + + No new tests, existing media tests cover this. + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/MediaPlayer.cpp: + (WebCore::installedMediaEngines): Register MediaPlayerPrivateAVFoundationObjC. + (WebCore::bestMediaEngineForTypeAndCodecs): Kill some whitespace. + (WebCore::MediaPlayer::loadWithNextMediaEngine): Ditto. + (WebCore::MediaPlayer::inMediaDocument): Ditto. + * platform/graphics/MediaPlayer.h: + + * platform/graphics/avfoundation: Added. + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: Added. + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: Added. + + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Added. + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: Added. + +2011-03-11 Dean Jackson <dino@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=56205 + m_restrictions needs to allow multiple values (a bitfield) + + HTMLMediaElement::m_restrictions needs to hold multiple values, so + change BehaviorRestrictions to an unsigned typedef and rename the + existing enum BehaviorRestrictionFlags. + + * html/HTMLMediaElement.h: + (WebCore::HTMLMediaElement::setBehaviorRestrictions): + +2011-03-11 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=47206 + + Table rows don't support ::before/::after. Add support to RenderTableRow::styleDidChange so that ::before/::after content gets + properly constructed. + + Added fast/css-generated-content/table-row-before-after.html + + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::styleDidChange): + * rendering/RenderTableRow.h: + +2011-03-11 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Avoid updating a composited layer's contents if the layer has nonpositive dimensions + https://bugs.webkit.org/show_bug.cgi?id=56209 + + This matches the behavior prior to r80482. No test since the only changes in + behavior are avoiding work on invisible layers, which is unobservable, + and fixing a crash due to bug 56153. + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::updateContentsRecursive): + +2011-03-11 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=47159 + + CSS2.1 failures in background position parsing. + + Rewrite background position component parsing to match the spec. Our old parsing would allow "100% left" to be valid + when it should not have. Rename parseFillPositionXY to parseFillPositionComponent and pass in enough information for + it to understand what the first component was. + + For individual property parsing using background-position-x/y, I added new functions that just handle that without + worrying about the other component. + + In order to pass the CSS2.1 test, I also had to fix multiple background parsing. The number of layers in multiple + backgrounds is determined solely by the background-image property and not by any of the other properties. cullEmptyLayers + has been changed to always consider a layer empty if it has no image set, even if other properties are set. + + A number of layout tests had to be patched as they were invalid. A couple of them relied on incorrect background-position + parsing (e.g., "50 left") and another relied on incorrect multiple background parsing. It's not clear if the computed style + should actually include the additional values when no image is set though, so that should perhaps be the subject of a + follow-up bug. + + Added fast/backgrounds/background-position-parsing.html + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseFillPositionX): + (WebCore::CSSParser::parseFillPositionY): + (WebCore::CSSParser::parseFillPositionComponent): + (WebCore::CSSParser::parseFillPosition): + (WebCore::CSSParser::parseFillProperty): + (WebCore::CSSParser::parseTransformOrigin): + (WebCore::CSSParser::parsePerspectiveOrigin): + * css/CSSParser.h: + * rendering/style/FillLayer.cpp: + (WebCore::FillLayer::fillUnsetProperties): + (WebCore::FillLayer::cullEmptyLayers): + +2011-03-11 Vangelis Kokkevis <vangelis@chromium.org> + + Reviewed by James Robinson. + + [chromium] Allow large layers with non-identity transforms to be drawn + as long as their visible portion is smaller than the largest supported + texture size. This code will soon be replaced by tiled layers. + https://bugs.webkit.org/show_bug.cgi?id=55984 + + Test: platform/chromium/compositing/huge-layer-rotated.html + + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerChromium::updateContentsIfDirty): + (WebCore::ContentLayerChromium::draw): + * platform/graphics/chromium/ContentLayerChromium.h: + +2011-03-09 Chris Marrin <cmarrin@apple.com> + + Reviewed by Adam Roben. + + REGRESSION (5.0.3-ToT): Scrolling text doesn't scroll in Star Wars intro animation + https://bugs.webkit.org/show_bug.cgi?id=52468 + + Added WIN32 to the ifdef controlling whether animations are applied in normal or + reverse order. On Mac, animations used to be applied in reverse, but + <rdar://problem/7095638> fixed this in the release after Snow Leopard. + But that patch has not be applied to the Safari Windows SDK yet. For now + I've made Windows use the reverse order logig. <rdar://problem/9112233> is + tracking the inclusion of the patch on Windows. + + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): + +2011-03-11 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Eric Seidel. + + Let the parser yield for layout before running scripts + https://bugs.webkit.org/show_bug.cgi?id=54355 + + Prior to this patch, the parser would yield to perform a layout/paint before running a + script only if the script or a stylesheet blocking the script is not loaded yet. Since we + don't preload scan into the body while parsing the head, typically we'll block on a script + early in the body that causes us to yield to do the first paint within a reasonable time. + + However, I'm planning to change the PreloadScanner to scan into the body from the head. + That significantly improves overall load time, but would hurt first paint time because + fewer scripts would be blocked during parsing and thus wouldn't yield. + + This change causes us to yield before running scripts if we haven't painted yet (regardless + of whether or not the script is loaded). In addition to allowing the above mentioned + PreloadScanner change to be implemented without regressing first paint time, this also + improves first paint time by itself. + + I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate + bandwidth. This patch improved average first paint time by 1% over an unlimited connection, + 6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically + signifcant change in page load time. + + Within the pages tested, 33 had no statistically significant change in time to first paint, + 12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set + are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu. + + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point. + (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused + means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does + the right thing whether we are just before a token or waiting for a script. Now that we may + yield before a token or before a script, this may be called while paused. + * html/parser/HTMLParserScheduler.cpp: + (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added. + * page/FrameView.h: + (WebCore::FrameView::hasEverPainted): Added. + +2011-03-11 Dimitri Glazkov <dglazkov@chromium.org> + + Fix crashes in dom/html/level2/html/HTMLInputElement*. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::adjustRenderStyle): Added a null-check for e, + because e can certainly be a null. + +2011-03-09 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by David Hyatt. + + Choke text-decoration when entering shadow DOM subtree. + https://bugs.webkit.org/show_bug.cgi?id=56044 + + No new tests, because the functionality can't be tested yet. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::adjustRenderStyle): Added a check for shadow DOM root. + +2011-03-08 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Carlson. + + Convert MediaControlTimeDisplayElement to use standard layout with a custom renderer. + https://bugs.webkit.org/show_bug.cgi?id=55972 + + Instead of poking at the time display elements all the way from RenderMedia, + let the standard layout cycle take care of things. Move the logic of calculating + when to collapse the time display elements into a custom renderer, since + this is not something that can be accomplished with CSS. + + Also, the logic of keeping the timeline slider at least 100px needed refreshing, + since it didn't actually keep it at 100px. + + * html/shadow/MediaControls.cpp: Moved the logic of determining visibility + of time display elements to RenderMediaControlTimeDisplay, eliminating + updateTimeDisplayVisibility method. + * html/shadow/MediaControls.h: Removed decl. + * rendering/MediaControlElements.cpp: + (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay): + Added new renderer class. + (WebCore::RenderMediaControlTimeDisplay::layout): Simplified (and corrected) + size-sensing logic, still using hard-coded values. + (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement): + Removed m_isVisible member, which is no longer necessary. + (WebCore::MediaControlTimeDisplayElement::createRenderer): Added to + return the new renderer. + * rendering/MediaControlElements.h: Adjusted decls. + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::layout): Remove the now-unnecessary poking at + media controls in layout. + +2011-03-09 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Carlson. + + Start focusing updates to media controls, away from always updating everything. + https://bugs.webkit.org/show_bug.cgi?id=56038 + + For now, the new methods just call generic MediaControls::update. + + Covered by existing tests. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::attributeChanged): Changed to use MediaControls::reset. + (WebCore::HTMLMediaElement::setMuted): Changed to use MediaControls::changedMute. + (WebCore::HTMLMediaElement::updateVolume): Changed to use MediaControls::changedVolume. + (WebCore::HTMLMediaElement::defaultEventHandler): Changed to use the new mediaControls + accessor. + (WebCore::HTMLMediaElement::setClosedCaptionsVisible): Changed to use + MediaControls::changedClosedCaptionsVisibility. + (WebCore::HTMLMediaElement::mediaControls): Added. + (WebCore::HTMLMediaElement::hasMediaControls): Added. + * html/HTMLMediaElement.h: Added decls. + * html/shadow/MediaControls.cpp: + (WebCore::MediaControls::reset): Added. + (WebCore::MediaControls::changedMute): Added. + (WebCore::MediaControls::changedVolume): Added. + (WebCore::MediaControls::changedClosedCaptionsVisibility): Added. + * html/shadow/MediaControls.h: Added decls. + +2011-03-11 Alexis Menard <alexis.menard@openbossa.org> + + Reviewed by Martin Robinson. + + [GStreamer] When seeking webKitWebSrcStop release the frame but should not. + https://bugs.webkit.org/show_bug.cgi?id=55703 + + When calling webKitWebSrcStop in case of a seeking, the frame should not + be reset (the source hasn't change). The frame may be used to get the network + context. Some network stack (like Qt) are relaying on the network context + to work. + + * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: + (webKitWebSrcStop): + +2011-03-11 Dean Jackson <dino@apple.com> + + Unreviewed. + + Build fixes for GTK and Leopard. + + * bindings/gobject/GNUmakefile.am: + - add missing WebKitAnimation* generated bindings + * page/WebKitAnimation.idl: + - use double in place of float (the core values are double anyway) + +2011-03-11 Dean Jackson <dino@apple.com> + + Unreviewed build fix for QT. + + * WebCore.pro: + +2011-03-11 Dean Jackson <dino@apple.com> + + Reviewed by Simon Fraser and Chris Marrin. + + https://bugs.webkit.org/show_bug.cgi?id=54151 + Implement an API to play/pause/scrub animations + + This is Part 1. Adds the new WebKitAnimation and WebKitAnimationList + APIs, exposed via Element.getWebKitAnimations(). This first pass + is a read-only API - a subsequent commit will add the ability + to scrub animations. + + Test: animations/animation-api-1.html + + * Android.derived.jscbindings.mk: + * Android.derived.v8bindings.mk: + * Android.mk: + * Android.v8bindings.mk: + * CMakeLists.txt: + * CodeGenerators.pri: + * DerivedSources.cpp: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + - All build settings updated for new files + * bindings/js/JSBindingsAllInOne.cpp: + - Include new custom files + * bindings/js/JSWebKitAnimationCustom.cpp: Added. + (WebCore::JSWebKitAnimation::iterationCount): + - Custom property getter so that we can return INFINITY + * bindings/js/JSWebKitAnimationListCustom.cpp: Added. + (WebCore::JSWebKitAnimationList::markChildren): + - Make sure WebKitAnimations are marked + * bindings/v8/custom/V8WebKitAnimationCustom.cpp: Added. + (WebCore::V8WebkitAnimation::iterationCountAccessorGetter): + - Custom property getter so that we can return INFINITY + * dom/Element.cpp: + (WebCore::Element::webkitGetAnimations): + * dom/Element.h: + * dom/Element.idl: + - New API entry point + * page/DOMWindow.idl: + - Constructor definitions for WebKitAnimation and WebKitAnimationList + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::~AnimationBase): + - Since AnimationBase can now live longer (if a WebKitAnimation is + held in Javascript) we need to guard for the renderer having disappeared. + (WebCore::AnimationBase::setElapsedTime): + (WebCore::AnimationBase::play): + (WebCore::AnimationBase::pause): + - Stub implementations at present + * page/animation/AnimationBase.h: + (WebCore::AnimationBase::animation): + - Expose the Animation properties + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::animationsForRenderer): + (WebCore::AnimationController::animationsForRenderer): + - Builds the list of WebKitAnimations + * page/animation/AnimationController.h: + * page/animation/AnimationControllerPrivate.h: + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::updateKeyframeAnimations): + - Make sure we clear the renderer if we are removing the animation + (WebCore::CompositeAnimation::animations): + * page/animation/CompositeAnimation.h: + * page/WebKitAnimation.cpp: Added. + (WebCore::WebKitAnimation::WebKitAnimation): + (WebCore::WebKitAnimation::name): + (WebCore::WebKitAnimation::duration): + (WebCore::WebKitAnimation::elapsedTime): + (WebCore::WebKitAnimation::setElapsedTime): + (WebCore::WebKitAnimation::delay): + (WebCore::WebKitAnimation::iterationCount): + (WebCore::WebKitAnimation::paused): + (WebCore::WebKitAnimation::ended): + (WebCore::WebKitAnimation::direction): + (WebCore::WebKitAnimation::fillMode): + (WebCore::WebKitAnimation::pause): + (WebCore::WebKitAnimation::play): + - The implementation of the new API. All the read-only parts are + done, but elapsedTime, play() and pause() are stubs. + * page/WebKitAnimation.h: Added. + (WebCore::WebKitAnimation::create): + (WebCore::WebKitAnimation::~WebKitAnimation): + * page/WebKitAnimation.idl: Added. + * page/WebKitAnimationList.cpp: Added. + * page/WebKitAnimationList.h: Added. + * page/WebKitAnimationList.idl: Added. + - Copies NodeList implementation + +2011-03-11 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: introduce error argument for all the callbacks on frontend. + https://bugs.webkit.org/show_bug.cgi?id=56100 + + * inspector/CodeGeneratorInspector.pm: + * inspector/front-end/AuditRules.js: + (WebInspector.AuditRules.evaluateInTargetWindow): + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback): + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): + (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles): + (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel.prototype.getStylesAsync): + (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync): + (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync): + (WebInspector.CSSStyleModel.prototype.setRuleSelector): + (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback): + (WebInspector.CSSStyleModel.prototype.addRule): + (WebInspector.CSSStyleModel.prototype.addRule.callback): + (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback): + (WebInspector.CSSStyleModel.prototype._styleSheetChanged): + (WebInspector.CSSStyleModel.prototype._onRevert): + (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt): + (WebInspector.CSSProperty.prototype.setText.callback): + (WebInspector.CSSProperty.prototype.setText): + (WebInspector.CSSProperty.prototype.setDisabled.callback): + (WebInspector.CSSProperty.prototype.setDisabled): + (WebInspector.CSSStyleSheet.createForId): + (WebInspector.CSSStyleSheet.prototype.setText): + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype.evalInInspectedWindow): + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMNode.prototype.setNodeName): + (WebInspector.DOMNode.prototype.setNodeValue): + (WebInspector.DOMNode.prototype.setAttribute): + (WebInspector.DOMNode.prototype.removeAttribute): + (WebInspector.DOMNode.prototype.childNodes.mycallback): + (WebInspector.DOMNode.prototype.childNodes): + (WebInspector.DOMNode.prototype.outerHTML): + (WebInspector.DOMNode.prototype.setOuterHTML): + (WebInspector.DOMNode.prototype.removeNode): + (WebInspector.DOMNode.prototype.copyNode): + (WebInspector.DOMAgent.prototype.pushNodeToFrontend): + (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend): + (WebInspector.DOMAgent.prototype._documentUpdated): + (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync): + (WebInspector.Cookies.getCookiesAsync): + (WebInspector.EventListeners.getEventListenersForNodeAsync): + * inspector/front-end/DOMStorage.js: + (WebInspector.DOMStorage.prototype.getEntries): + (WebInspector.DOMStorage.prototype.setItem): + (WebInspector.DOMStorage.prototype.removeItem): + * inspector/front-end/Database.js: + (WebInspector.Database.prototype.getTableNames): + (WebInspector.Database.prototype.executeSql): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint): + (WebInspector.DebuggerModel.prototype.setBreakpoint): + (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId): + (WebInspector.DebuggerModel.prototype.editScriptSource): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype._setSearchingForNode): + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode): + (WebInspector.ElementsTreeElement.prototype._createTooltipForNode): + (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback): + (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted): + (): + * inspector/front-end/ExtensionPanel.js: + (WebInspector.ExtensionWatchSidebarPane.prototype._onEvaluate): + * inspector/front-end/ExtensionServer.js: + (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage): + * inspector/front-end/NetworkManager.js: + (WebInspector.NetworkManager.prototype.requestContent): + (WebInspector.NetworkManager.prototype._processCachedResources): + * inspector/front-end/ProfileView.js: + (WebInspector.CPUProfileView.profileCallback): + (WebInspector.CPUProfileView): + * inspector/front-end/ProfilesPanel.js: + * inspector/front-end/RemoteObject.js: + (WebInspector.RemoteObject.resolveNode): + (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder): + (WebInspector.RemoteObject.prototype.getProperties): + (WebInspector.RemoteObject.prototype.setPropertyValue): + (WebInspector.RemoteObject.prototype.evaluate): + * inspector/front-end/Script.js: + (WebInspector.Script.prototype.requestSource.didGetScriptSource): + (WebInspector.Script.prototype.requestSource): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper): + (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): + (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions): + * inspector/front-end/inspector.js: + (): + (WebInspector.doLoadedDone.onPopulateScriptObjects): + (WebInspector.doLoadedDone.propertyNamesCallback): + (WebInspector.doLoadedDone): + +2011-03-11 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: split InjectedScriptHost into InjectedScriptManager and InjectedScriptHost + https://bugs.webkit.org/show_bug.cgi?id=56173 + + Moved all injected script managing logic into InjectedScriptManager which is owned by InspectorController. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSInjectedScriptHostCustom.cpp: + * bindings/js/JSInjectedScriptManager.cpp: Added. + (WebCore::InjectedScriptManager::createInjectedScript): + (WebCore::InjectedScriptManager::discardInjectedScript): + (WebCore::InjectedScriptManager::injectedScriptFor): + (WebCore::InjectedScriptManager::canAccessInspectedWindow): + * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: + * bindings/v8/custom/V8InjectedScriptManager.cpp: Copied from Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp. + (WebCore::WeakReferenceCallback): + (WebCore::createInjectedScriptHostV8Wrapper): + (WebCore::InjectedScriptManager::createInjectedScript): + (WebCore::InjectedScriptManager::discardInjectedScript): + (WebCore::InjectedScriptManager::injectedScriptFor): + (WebCore::InjectedScriptManager::canAccessInspectedWindow): + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::addToFrontend): + * inspector/ConsoleMessage.h: + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::canAccessInspectedWindow): + * inspector/InjectedScript.h: + * inspector/InjectedScriptHost.cpp: + (WebCore::InjectedScriptHost::create): + (WebCore::InjectedScriptHost::InjectedScriptHost): + (WebCore::InjectedScriptHost::~InjectedScriptHost): + (WebCore::InjectedScriptHost::disconnect): + (WebCore::InjectedScriptHost::inspectImpl): + (WebCore::InjectedScriptHost::clearConsoleMessages): + (WebCore::InjectedScriptHost::databaseIdImpl): + (WebCore::InjectedScriptHost::storageIdImpl): + * inspector/InjectedScriptHost.h: + (WebCore::InjectedScriptHost::init): + (WebCore::InjectedScriptHost::setFrontend): + (WebCore::InjectedScriptHost::clearFrontend): + * inspector/InjectedScriptManager.cpp: Added. + (WebCore::InjectedScriptManager::create): + (WebCore::InjectedScriptManager::InjectedScriptManager): + (WebCore::InjectedScriptManager::~InjectedScriptManager): + (WebCore::InjectedScriptManager::disconnect): + (WebCore::InjectedScriptManager::injectedScriptHost): + (WebCore::InjectedScriptManager::injectedScriptForId): + (WebCore::InjectedScriptManager::injectedScriptForObjectId): + (WebCore::InjectedScriptManager::discardInjectedScripts): + (WebCore::InjectedScriptManager::releaseObjectGroup): + (WebCore::InjectedScriptManager::injectedScriptSource): + (WebCore::InjectedScriptManager::injectScript): + * inspector/InjectedScriptManager.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h. + * inspector/Inspector.idl: + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::InspectorAgent): + (WebCore::InspectorAgent::inspectedPageDestroyed): + (WebCore::InspectorAgent::focusNode): + (WebCore::InspectorAgent::didClearWindowObjectInWorld): + (WebCore::InspectorAgent::createFrontendLifetimeAgents): + (WebCore::InspectorAgent::didCommitLoad): + (WebCore::InspectorAgent::domContentLoadedEventFired): + * inspector/InspectorAgent.h: + * inspector/InspectorBrowserDebuggerAgent.cpp: + * inspector/InspectorConsoleAgent.cpp: + (WebCore::InspectorConsoleAgent::InspectorConsoleAgent): + (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent): + (WebCore::InspectorConsoleAgent::clearConsoleMessages): + (WebCore::InspectorConsoleAgent::addInspectedNode): + (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): + (WebCore::InspectorConsoleAgent::addConsoleMessage): + * inspector/InspectorConsoleAgent.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::disconnectFrontend): + * inspector/InspectorController.h: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::InspectorDOMAgent): + (WebCore::InspectorDOMAgent::discardBindings): + (WebCore::InspectorDOMAgent::pushNodeToFrontend): + (WebCore::InspectorDOMAgent::resolveNode): + * inspector/InspectorDOMAgent.h: + (WebCore::InspectorDOMAgent::create): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::create): + (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): + (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): + (WebCore::InspectorDebuggerAgent::currentCallFrames): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorRuntimeAgent.cpp: + (WebCore::InspectorRuntimeAgent::create): + (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent): + (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent): + (WebCore::InspectorRuntimeAgent::evaluate): + (WebCore::InspectorRuntimeAgent::evaluateOn): + (WebCore::InspectorRuntimeAgent::getProperties): + (WebCore::InspectorRuntimeAgent::setPropertyValue): + (WebCore::InspectorRuntimeAgent::releaseObject): + (WebCore::InspectorRuntimeAgent::releaseObjectGroup): + * inspector/InspectorRuntimeAgent.h: + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): + (WebInspector.ElementsPanel): + +2011-03-11 Anton Muhin <antonm@chromium.org> + + Reviewed by Adam Barth. + + [v8] Change the way group id for CSS objects is calculated + https://bugs.webkit.org/show_bug.cgi?id=56117 + + Do not treat CSSStyleDeclarations under not CSSRule as belonging to the same object group + as they should not be reachable in JavaScript. + + Covered by existing layout tests. Fact of absence of retention is not trivial to prove. + + * bindings/v8/V8GCController.cpp: + (WebCore::calculateGroupId): + (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper): + +2011-03-11 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: hover over elements in Elements panel does not highlight nodes + https://bugs.webkit.org/show_bug.cgi?id=56121 + + In DOM trees with a comment and/or doctype preceding the HTML tag, the tree container right boundary + is 16px apart from the OL right boundary, and we miss the relevant LI by 4px. The fix is to compensate + for these 16px when computing the test point coordinates. + + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent): + +2011-03-11 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Roll out r80837. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSInjectedScriptHostCustom.cpp: + (WebCore::InjectedScriptHost::createInjectedScript): + (WebCore::InjectedScriptHost::discardInjectedScript): + (WebCore::InjectedScriptHost::injectedScriptFor): + (WebCore::InjectedScriptHost::canAccessInspectedWindow): + * bindings/js/JSInjectedScriptManager.cpp: Removed. + * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: + (WebCore::WeakReferenceCallback): + (WebCore::createInjectedScriptHostV8Wrapper): + (WebCore::InjectedScriptHost::createInjectedScript): + (WebCore::InjectedScriptHost::discardInjectedScript): + (WebCore::InjectedScriptHost::injectedScriptFor): + (WebCore::InjectedScriptHost::canAccessInspectedWindow): + * bindings/v8/custom/V8InjectedScriptManager.cpp: Removed. + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::addToFrontend): + * inspector/ConsoleMessage.h: + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::canAccessInspectedWindow): + * inspector/InjectedScript.h: + * inspector/InjectedScriptHost.cpp: + (WebCore::InjectedScriptHost::InjectedScriptHost): + (WebCore::InjectedScriptHost::~InjectedScriptHost): + (WebCore::InjectedScriptHost::inspectImpl): + (WebCore::InjectedScriptHost::clearConsoleMessages): + (WebCore::InjectedScriptHost::databaseIdImpl): + (WebCore::InjectedScriptHost::storageIdImpl): + (WebCore::InjectedScriptHost::injectedScriptForId): + (WebCore::InjectedScriptHost::injectedScriptForObjectId): + (WebCore::InjectedScriptHost::injectedScriptForMainFrame): + (WebCore::InjectedScriptHost::discardInjectedScripts): + (WebCore::InjectedScriptHost::releaseObjectGroup): + (WebCore::InjectedScriptHost::frontend): + (WebCore::InjectedScriptHost::injectedScriptSource): + (WebCore::InjectedScriptHost::injectScript): + * inspector/InjectedScriptHost.h: + (WebCore::InjectedScriptHost::create): + (WebCore::InjectedScriptHost::inspectorAgent): + (WebCore::InjectedScriptHost::disconnectController): + * inspector/InjectedScriptManager.cpp: Removed. + * inspector/InjectedScriptManager.h: Removed. + * inspector/Inspector.idl: + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::InspectorAgent): + (WebCore::InspectorAgent::inspectedPageDestroyed): + (WebCore::InspectorAgent::focusNode): + (WebCore::InspectorAgent::didClearWindowObjectInWorld): + (WebCore::InspectorAgent::createFrontendLifetimeAgents): + (WebCore::InspectorAgent::didCommitLoad): + (WebCore::InspectorAgent::domContentLoadedEventFired): + * inspector/InspectorAgent.h: + (WebCore::InspectorAgent::injectedScriptHost): + * inspector/InspectorBrowserDebuggerAgent.cpp: + * inspector/InspectorConsoleAgent.cpp: + (WebCore::InspectorConsoleAgent::InspectorConsoleAgent): + (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent): + (WebCore::InspectorConsoleAgent::clearConsoleMessages): + (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): + (WebCore::InspectorConsoleAgent::addConsoleMessage): + * inspector/InspectorConsoleAgent.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::disconnectFrontend): + * inspector/InspectorController.h: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::InspectorDOMAgent): + (WebCore::InspectorDOMAgent::discardBindings): + (WebCore::InspectorDOMAgent::addInspectedNode): + (WebCore::InspectorDOMAgent::pushNodeToFrontend): + (WebCore::InspectorDOMAgent::resolveNode): + * inspector/InspectorDOMAgent.h: + (WebCore::InspectorDOMAgent::create): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::create): + (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): + (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): + (WebCore::InspectorDebuggerAgent::currentCallFrames): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorRuntimeAgent.cpp: + (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent): + (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent): + (WebCore::InspectorRuntimeAgent::evaluate): + (WebCore::InspectorRuntimeAgent::evaluateOn): + (WebCore::InspectorRuntimeAgent::getProperties): + (WebCore::InspectorRuntimeAgent::setPropertyValue): + (WebCore::InspectorRuntimeAgent::releaseObject): + (WebCore::InspectorRuntimeAgent::releaseObjectGroup): + * inspector/InspectorRuntimeAgent.h: + (WebCore::InspectorRuntimeAgent::create): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): + (WebInspector.ElementsPanel): + +2011-03-11 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: split InjectedScriptHost into InjectedScriptManager and InjectedScriptHost + https://bugs.webkit.org/show_bug.cgi?id=56173 + + Moved all injected script managing logic into InjectedScriptManager which is owned by InspectorController. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSInjectedScriptHostCustom.cpp: + * bindings/js/JSInjectedScriptManager.cpp: Added. + (WebCore::InjectedScriptManager::createInjectedScript): + (WebCore::InjectedScriptManager::discardInjectedScript): + (WebCore::InjectedScriptManager::injectedScriptFor): + (WebCore::InjectedScriptManager::canAccessInspectedWindow): + * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: + * bindings/v8/custom/V8InjectedScriptManager.cpp: Copied from Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp. + (WebCore::WeakReferenceCallback): + (WebCore::createInjectedScriptHostV8Wrapper): + (WebCore::InjectedScriptManager::createInjectedScript): + (WebCore::InjectedScriptManager::discardInjectedScript): + (WebCore::InjectedScriptManager::injectedScriptFor): + (WebCore::InjectedScriptManager::canAccessInspectedWindow): + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::addToFrontend): + * inspector/ConsoleMessage.h: + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::canAccessInspectedWindow): + * inspector/InjectedScript.h: + * inspector/InjectedScriptHost.cpp: + (WebCore::InjectedScriptHost::create): + (WebCore::InjectedScriptHost::InjectedScriptHost): + (WebCore::InjectedScriptHost::~InjectedScriptHost): + (WebCore::InjectedScriptHost::disconnect): + (WebCore::InjectedScriptHost::inspectImpl): + (WebCore::InjectedScriptHost::clearConsoleMessages): + (WebCore::InjectedScriptHost::databaseIdImpl): + (WebCore::InjectedScriptHost::storageIdImpl): + * inspector/InjectedScriptHost.h: + (WebCore::InjectedScriptHost::init): + (WebCore::InjectedScriptHost::setFrontend): + (WebCore::InjectedScriptHost::clearFrontend): + * inspector/InjectedScriptManager.cpp: Added. + (WebCore::InjectedScriptManager::create): + (WebCore::InjectedScriptManager::InjectedScriptManager): + (WebCore::InjectedScriptManager::~InjectedScriptManager): + (WebCore::InjectedScriptManager::disconnect): + (WebCore::InjectedScriptManager::injectedScriptHost): + (WebCore::InjectedScriptManager::injectedScriptForId): + (WebCore::InjectedScriptManager::injectedScriptForObjectId): + (WebCore::InjectedScriptManager::discardInjectedScripts): + (WebCore::InjectedScriptManager::releaseObjectGroup): + (WebCore::InjectedScriptManager::injectedScriptSource): + (WebCore::InjectedScriptManager::injectScript): + * inspector/InjectedScriptManager.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h. + * inspector/Inspector.idl: + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::InspectorAgent): + (WebCore::InspectorAgent::inspectedPageDestroyed): + (WebCore::InspectorAgent::focusNode): + (WebCore::InspectorAgent::didClearWindowObjectInWorld): + (WebCore::InspectorAgent::createFrontendLifetimeAgents): + (WebCore::InspectorAgent::didCommitLoad): + (WebCore::InspectorAgent::domContentLoadedEventFired): + * inspector/InspectorAgent.h: + * inspector/InspectorBrowserDebuggerAgent.cpp: + * inspector/InspectorConsoleAgent.cpp: + (WebCore::InspectorConsoleAgent::InspectorConsoleAgent): + (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent): + (WebCore::InspectorConsoleAgent::clearConsoleMessages): + (WebCore::InspectorConsoleAgent::addInspectedNode): + (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): + (WebCore::InspectorConsoleAgent::addConsoleMessage): + * inspector/InspectorConsoleAgent.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::disconnectFrontend): + * inspector/InspectorController.h: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::InspectorDOMAgent): + (WebCore::InspectorDOMAgent::discardBindings): + (WebCore::InspectorDOMAgent::pushNodeToFrontend): + (WebCore::InspectorDOMAgent::resolveNode): + * inspector/InspectorDOMAgent.h: + (WebCore::InspectorDOMAgent::create): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::create): + (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): + (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): + (WebCore::InspectorDebuggerAgent::currentCallFrames): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorRuntimeAgent.cpp: + (WebCore::InspectorRuntimeAgent::create): + (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent): + (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent): + (WebCore::InspectorRuntimeAgent::evaluate): + (WebCore::InspectorRuntimeAgent::evaluateOn): + (WebCore::InspectorRuntimeAgent::getProperties): + (WebCore::InspectorRuntimeAgent::setPropertyValue): + (WebCore::InspectorRuntimeAgent::releaseObject): + (WebCore::InspectorRuntimeAgent::releaseObjectGroup): + * inspector/InspectorRuntimeAgent.h: + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): + (WebInspector.ElementsPanel): + +2011-03-09 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + IndexedDB: Make IDBBackingStore abstract + https://bugs.webkit.org/show_bug.cgi?id=56013 + + Make IDBBackingStore abstract to allow for multiple implementations. + Move the SQLite implementation to IDBSQLiteBackingStore. + + No new tests: refactoring only. + + * WebCore.gypi: + * storage/IDBBackingStore.h: + (WebCore::IDBBackingStore::~IDBBackingStore): + * storage/IDBFactoryBackendImpl.cpp: + (WebCore::IDBFactoryBackendImpl::open): + * storage/IDBSQLiteBackingStore.cpp: + (WebCore::IDBSQLiteBackingStore::IDBSQLiteBackingStore): + (WebCore::IDBSQLiteBackingStore::~IDBSQLiteBackingStore): + (WebCore::runCommands): + (WebCore::createTables): + (WebCore::createMetaDataTable): + (WebCore::getDatabaseSchemaVersion): + (WebCore::migrateDatabase): + (WebCore::IDBSQLiteBackingStore::open): + (WebCore::IDBSQLiteBackingStore::extractIDBDatabaseMetaData): + (WebCore::IDBSQLiteBackingStore::setIDBDatabaseMetaData): + (WebCore::IDBSQLiteBackingStore::getObjectStores): + (WebCore::IDBSQLiteBackingStore::createObjectStore): + (WebCore::doDelete): + (WebCore::IDBSQLiteBackingStore::deleteObjectStore): + (WebCore::whereSyntaxForKey): + (WebCore::bindKeyToQuery): + (WebCore::lowerCursorWhereFragment): + (WebCore::upperCursorWhereFragment): + (WebCore::IDBSQLiteBackingStore::getObjectStoreRecord): + (WebCore::bindKeyToQueryWithNulls): + (WebCore::IDBSQLiteBackingStore::putObjectStoreRecord): + (WebCore::IDBSQLiteBackingStore::clearObjectStore): + (WebCore::IDBSQLiteBackingStore::deleteObjectStoreRecord): + (WebCore::IDBSQLiteBackingStore::nextAutoIncrementNumber): + (WebCore::IDBSQLiteBackingStore::keyExistsInObjectStore): + (WebCore::IDBSQLiteBackingStore::forEachObjectStoreRecord): + (WebCore::IDBSQLiteBackingStore::getIndexes): + (WebCore::IDBSQLiteBackingStore::createIndex): + (WebCore::IDBSQLiteBackingStore::deleteIndex): + (WebCore::IDBSQLiteBackingStore::putIndexDataForRecord): + (WebCore::IDBSQLiteBackingStore::deleteIndexDataForRecord): + (WebCore::IDBSQLiteBackingStore::getObjectViaIndex): + (WebCore::keyFromQuery): + (WebCore::IDBSQLiteBackingStore::getPrimaryKeyViaIndex): + (WebCore::IDBSQLiteBackingStore::keyExistsInIndex): + (WebCore::IDBSQLiteBackingStore::openObjectStoreCursor): + (WebCore::IDBSQLiteBackingStore::openIndexKeyCursor): + (WebCore::IDBSQLiteBackingStore::openIndexCursor): + (WebCore::IDBSQLiteBackingStore::createTransaction): + * storage/IDBSQLiteBackingStore.h: Added. + +2011-03-11 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Unreviewed build error fix. + + [EFL] Fix build break when SHARED_CORE is ON + https://bugs.webkit.org/show_bug.cgi?id=56155 + + * platform/efl/ContextMenuEfl.cpp: + (WebCore::ContextMenu::ContextMenu): + * platform/efl/ContextMenuItemEfl.cpp: + (WebCore::ContextMenuItem::nativeMenuItem): + (WebCore::ContextMenuItem::ContextMenuItem): + (WebCore::ContextMenuItem::~ContextMenuItem): + +2011-03-11 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: resource load cancellation is reported to console as an error + https://bugs.webkit.org/show_bug.cgi?id=55764 + + - mark interruptionForPolicyChangeError as cancellation + - do not log resource cancelation as an error + - always push resource to front-end before console message, so front-end can use resource info while formatting message. + + * inspector/InspectorConsoleAgent.cpp: + (WebCore::InspectorConsoleAgent::didFailLoading): + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl): + (WebCore::InspectorInstrumentation::didFailLoadingImpl): + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::stopLoadingForPolicyChange): + +2011-03-10 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Get rid of has/add/removeStyleClass() methods on Element.prototype - Step 1 + https://bugs.webkit.org/show_bug.cgi?id=56096 + + No new tests, as this is a refactoring. + + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.EventListenerBreakpointsSidebarPane): + * inspector/front-end/DetailedHeapshotView.js: + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel): + (WebInspector.BaseStorageTreeElement): + (WebInspector.BaseStorageTreeElement.prototype.onattach): + (WebInspector.StorageCategoryTreeElement): + (WebInspector.FrameTreeElement): + (WebInspector.FrameResourceTreeElement): + (WebInspector.DatabaseTreeElement): + (WebInspector.DatabaseTableTreeElement): + (WebInspector.DOMStorageTreeElement): + (WebInspector.CookieTreeElement): + (WebInspector.ApplicationCacheTreeElement): + (WebInspector.ResourceRevisionTreeElement): + * inspector/front-end/utilities.js: + (Element.prototype.removeStyleClass): + (Element.prototype.addStyleClass): + (Element.prototype.hasStyleClass): + +2011-03-11 Brian Salomon <bsalomon@google.com> + + Reviewed by Kenneth Russell. + + Adds GrContext flush call to PlatformContextSkia destructor. +Calls GrContext flush with int parameter instead of bool due to skia +revision. + + No new tests needed. + + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBuffer::publishToPlatformLayer): + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::~PlatformContextSkia): + (WebCore::PlatformContextSkia::setSharedGraphicsContext3D): + +2011-03-10 Chris Guillory <chris.guillory@google.com> + + Reviewed by James Robinson. + + Fix for Coverity discovered NO_EFFECT (self-assign) defect. + https://bugs.webkit.org/show_bug.cgi?id=54143 + + * platform/graphics/gpu/TilingData.cpp: + (WebCore::TilingData::setMaxTextureSize): + +2011-03-10 Emil A Eklund <eae@chromium.org> + + Reviewed by Alexey Proskuryakov. + + The web colours palevioletred and mediumpurple are incorrect + https://bugs.webkit.org/show_bug.cgi?id=46658 + + Changed value for the palevioletred and mediumpurple colors to match + the css3 specification. + + Test: fast/css/named-colors.html + + * inspector/front-end/Color.js: + * platform/ColorData.gperf: + +2011-03-10 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Unreviewed build fix. + + [WML] Fix build error + https://bugs.webkit.org/show_bug.cgi?id=56078 + + * wml/WMLInputElement.cpp: + (WebCore::WMLInputElement::defaultEventHandler): + +2011-03-10 Jeremy Moskovich <jeremy@chromium.org> + + Reviewed by Darin Adler. + + Fix navigation menus on a bunch of sites in WebKit. + https://bugs.webkit.org/show_bug.cgi?id=52535 + + WebKit doesn't support position:relative for several table elements and + overwrites the style internally when position:relative is encountered. + Unfortunately position:relative affects the choice of nodes returned by + offsetParent. + + This CL adds a bit to RenderStyle to track whether position:relative was + overwritten. The value is then consulted in offsetParent which makes us + match FF/IE. + + Tests: fast/block/positioning/offsetLeft-relative-iframe.html + fast/block/positioning/offsetLeft-relative-td.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::adjustRenderStyle): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::isOriginallyRelPositioned): + (WebCore::RenderObject::offsetParent): + * rendering/RenderObject.h: + * rendering/style/RenderStyle.h: Add a bit to track the original value of position:relative. + (WebCore::InheritedFlags::positionWasRelative): + (WebCore::InheritedFlags::setPositionWasRelative): + * rendering/style/StyleRareNonInheritedData.cpp: + (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): + (WebCore::StyleRareNonInheritedData::operator==): + * rendering/style/StyleRareNonInheritedData.h: + +2011-03-10 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + REGRESSION (r66428/r71892): Crash after assertion failure (!m_reachedTerminalState) in ResourceLoader::didCancel() + https://bugs.webkit.org/show_bug.cgi?id=51357 + + Previously, we would try to print from a callstack that didn't want a + nested event loop, leading to re-entrancy problems. In this patch, we + complete the print call asynchronously, giving us a clean stack on + which to run the nested event loop. + + Test: printing/print-close-crash.html + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::DOMWindow): + (WebCore::DOMWindow::print): + (WebCore::DOMWindow::printTimerFired): + * page/DOMWindow.h: + +2011-03-11 Roland Steiner <rolandsteiner@chromium.org> + + Reviewed by Ryosuke Niwa. + + Bug 55570 - Remove dependency of dom/InputElement.cpp on html/ and wml/ + https://bugs.webkit.org/show_bug.cgi?id=55570 + + Add a virtual function toInputElement() to Node that has a default + implementation of returning 0. + For HTMLInputElement and WMLInputElement (which derive from InputElement) + override this to return the object. + Change all calling sites of the old toInputElement to use the new member + function. This also allows us to save some casts. + + No new tests. (refactoring) + + * WebCore.exp.in: + * accessibility/AXObjectCache.cpp: + (WebCore::AXObjectCache::textMarkerDataForVisiblePosition): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::isPasswordField): + (WebCore::AccessibilityRenderObject::isIndeterminate): + (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio): + (WebCore::AccessibilityRenderObject::isChecked): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::canShareStyleWithElement): + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + * dom/CheckedRadioButtons.cpp: + (WebCore::CheckedRadioButtons::removeButton): + * dom/InputElement.cpp: + * dom/InputElement.h: + * dom/Node.cpp: + (WebCore::Node::toInputElement): + * dom/Node.h: + * html/HTMLInputElement.h: + (WebCore::HTMLInputElement::toInputElement): + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::inputElement): + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::isChecked): + (WebCore::RenderTheme::isIndeterminate): + * wml/WMLInputElement.h: + (WebCore::WMLInputElement::toInputElement): + +2011-03-10 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Reviewed by Kenneth Rohde Christiansen. + + [EFL] New mediaControl css file for EFL + https://bugs.webkit.org/show_bug.cgi?id=55460 + + Add new mediaControl css file for html5 video UI. + + * CMakeLists.txt: + * CMakeListsEfl.txt: + * css/mediaControlsEfl.css: Added. + (audio): + (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): + (video:-webkit-full-page-media::-webkit-media-controls-panel): + (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): + (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button): + (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container): + (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display): + (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display): + (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline): + (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container): + (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider): + (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button): + (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button): + (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button): + (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button): + (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button): + (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button): + (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): + * platform/efl/RenderThemeEfl.cpp: + (WebCore::RenderThemeEfl::extraMediaControlsStyleSheet): + +2011-03-10 Emil A Eklund <eae@chromium.org> + + Reviewed by Dimitri Glazkov. + + style.display affecting the initial selectedIndex value of a <select> when its multiple attribute is set programatically + https://bugs.webkit.org/show_bug.cgi?id=53860 + + Preserve selection when changing between multi-select and single-select + for <select> boxes even if it has not yet been rendered. + + Test: fast/dom/HTMLSelectElement/change-multiple-preserve-selection.html + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::setMultiple): + +2011-03-10 Ojan Vafai <ojan@chromium.org> + + Reviewed by Tony Chang. + + update comment to reference new DOM Core spec + https://bugs.webkit.org/show_bug.cgi?id=56079 + + I'm excising all instances of WRONG_DOCUMENT_ERR from WebKit. + This is the only one that's actually specified to fire + in the latest DOM Core spec. + + * dom/DOMImplementation.cpp: + (WebCore::DOMImplementation::createDocument): + +2011-03-10 Rik Cabanier <cabanier@gmail.com> + + Reviewed by Tony Gentilcore. + + Fix that allows fixed length values to be floating point + https://bugs.webkit.org/show_bug.cgi?id=52699 + + * WebCore.xcodeproj/project.pbxproj: + * css/CSSStyleSelector.cpp: + (WebCore::convertToLength): + (WebCore::convertToIntLength): + (WebCore::convertToFloatLength): + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::createTransformOperations): + * platform/Length.h: + (WebCore::Length::Length): + (WebCore::Length::operator==): + (WebCore::Length::operator!=): + (WebCore::Length::rawValue): + (WebCore::Length::type): + (WebCore::Length::quirk): + (WebCore::Length::setValue): + (WebCore::Length::calcFloatValue): + (WebCore::Length::isZero): + (WebCore::Length::blend): + (WebCore::Length::getIntValue): + (WebCore::Length::getFloatValue): + * rendering/AutoTableLayout.cpp: + (WebCore::AutoTableLayout::recalcColumn): + (WebCore::AutoTableLayout::calcEffectiveLogicalWidth): + * rendering/FixedTableLayout.cpp: + (WebCore::FixedTableLayout::calcWidthArray): + +2011-03-10 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r80800. + http://trac.webkit.org/changeset/80800 + https://bugs.webkit.org/show_bug.cgi?id=56163 + + Caused hundreds of tests to crash on Windows 7 (Requested by + rniwa on #webkit). + + * page/EventHandler.cpp: + (WebCore::EventHandler::mouseMoved): + (WebCore::EventHandler::updateMouseEventTargetNode): + * page/FocusController.cpp: + (WebCore::FocusController::setActive): + * page/FrameView.cpp: + (WebCore::FrameView::FrameView): + (WebCore::FrameView::~FrameView): + * page/FrameView.h: + * page/Page.cpp: + * page/Page.h: + * platform/ScrollView.cpp: + (WebCore::ScrollView::wheelEvent): + * platform/ScrollView.h: + * rendering/RenderDataGrid.cpp: + (WebCore::RenderDataGrid::RenderDataGrid): + (WebCore::RenderDataGrid::~RenderDataGrid): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::RenderLayer): + (WebCore::RenderLayer::~RenderLayer): + * rendering/RenderLayer.h: + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::RenderListBox): + (WebCore::RenderListBox::~RenderListBox): + +2011-03-10 Alice Boxhall <aboxhall@chromium.org> + + Reviewed by Dimitri Glazkov. + + NULL pointer crash when using :empty and :first-line pseudoclass selectors together + https://bugs.webkit.org/show_bug.cgi?id=53316 + + :empty is calculated for each element during parsing, but then not + recalculated after any child elements are attached. Force style + re-calculation on elements which have :empty in their style when + their children are changed. + + Test: fast/css/empty-first-line-crash.html + + * dom/Element.cpp: + (WebCore::checkForEmptyStyleChange): Pull out empty style checking + logic from checkForSiblingStyleChanges(). + (WebCore::checkForSiblingStyleChanges): Use new checkForEmptyStyleChanges() + method. + (WebCore::Element::childrenChanged): Call checkForEmptyStyleChanges() when + called with changedByParser = true. + +2011-03-10 Emil A Eklund <eae@chromium.org> + + Unreviewed build fix. + + Fix Leopard Release build broken by r80797. + + * html/CollectionCache.h: + +2011-03-10 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for <rdar://problem/8944558> Overlay scrollers in overflow areas need to + send notifications appropriate times (showing up, resizing) + -and corresponding- + https://bugs.webkit.org/show_bug.cgi?id=56067 + + The general strategy here is to add a HashSet of ScrollableAreas to the page that + can be accessed when necessary to send notifications to all ScrollableAreas. + + Find layers for relevant node and if the layers are in the Page's ScrollableArea + set, then send the relevant notification. + * page/EventHandler.cpp: + (WebCore::EventHandler::mouseMoved): + (WebCore::EventHandler::updateMouseEventTargetNode): + + When the page is set active or not active, iterate through the Page's + ScrollableAreas to send hide/show notifications. + * page/FocusController.cpp: + (WebCore::FocusController::setActive): + + When a FrameView is created, add it to the ScrollableArea set. When it's + destroyed, remove it. + * page/FrameView.cpp: + (WebCore::FrameView::FrameView): + (WebCore::FrameView::~FrameView): + + Iterate through the Page's ScrollableAreas to send the paint notification. + (WebCore::FrameView::notifyPageThatContentAreaWillPaint): + * page/FrameView.h: + + Add the new ScrollableArea set. + * page/Page.cpp: + (WebCore::Page::addScrollableArea): + (WebCore::Page::removeScrollableArea): + (WebCore::Page::pageContainsScrollableArea): + * page/Page.h: + (WebCore::Page::scrollableAreaSet): + + notifyPageThatContentAreaWillPaint() is a dummy function implemented in FrameView. + * platform/ScrollView.cpp: + (WebCore::ScrollView::notifyPageThatContentAreaWillPaint): + + Call notifyPageThatContentAreaWillPaint() instead of calling + contentAreaWillPaint() just for the ScrollView. + (WebCore::ScrollView::paint): + * platform/ScrollView.h: + + Add/remove ScrollableAreas to the set. + * rendering/RenderDataGrid.cpp: + (WebCore::RenderDataGrid::RenderDataGrid): + (WebCore::RenderDataGrid::~RenderDataGrid): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::RenderListBox): + (WebCore::RenderListBox::~RenderListBox): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::RenderLayer): + (WebCore::RenderLayer::~RenderLayer): + + Should have implemented this ScrollableArea-interface function a while ago. + (WebCore::RenderLayer::currentMousePosition): + * rendering/RenderLayer.h: + +2011-03-10 takano takumi <takano@apple.com> + + Reviewed by David Hyatt. + + Crash in RenderCombineText::combineText when running fast/text/international/text-combine-parser-test.html on Windows with full page heap enabled + https://bugs.webkit.org/show_bug.cgi?id=55069 + + No new tests. If the test above runs without crash, the fix should be okay. + + * dom/Node.cpp: + (WebCore::Node::diff): + - Changed to return Detach when textCombine style was changed. + * rendering/RenderCombineText.cpp: + (WebCore::RenderCombineText::styleDidChange): + (WebCore::RenderCombineText::setTextInternal): + (WebCore::RenderCombineText::width): + (WebCore::RenderCombineText::adjustTextOrigin): + (WebCore::RenderCombineText::charactersToRender): + (WebCore::RenderCombineText::combineText): + - Added assertions to ensure the passed object is RenderCombineText. + * rendering/RenderCombineText.h: + (WebCore::RenderCombineText::isCombineText): + - Added to distinguish plain RenderText and RenderCombineText. + (WebCore::toRenderCombineText): + - Added assertions to ensure the passed object is RenderCombineText. + * rendering/RenderObject.h: + (WebCore::RenderObject::isCombineText): + - Added to distinguish plain RenderText and RenderCombineText. + +2011-03-10 Emil A Eklund <eae@chromium.org> + + Reviewed by Darin Adler. + + Collection cache not reset when moving base node between documents + https://bugs.webkit.org/show_bug.cgi?id=55446 + + Fix bug where HTMLCollection::resetCollectionInfo does not reset the + cache when the base node is moved to a different document by making sure + that the DOMVersion is updated and that it's unique across documents. + + Tests: fast/dom/HTMLFormElement/invalid-form-field.html + fast/dom/HTMLFormElement/move-option-between-documents.html + fast/dom/collection-nameditem-move-between-documents.html + + * dom/Document.cpp: + (WebCore::Document::Document): + * dom/Document.h: + (WebCore::Document::incDOMTreeVersion): + (WebCore::Document::domTreeVersion): + * dom/Node.cpp: + (WebCore::Node::setDocumentRecursively): + * html/FormAssociatedElement.cpp: + (WebCore::FormAssociatedElement::resetFormOwner): + * html/HTMLCollection.cpp: + (WebCore::HTMLCollection::resetCollectionInfo): + * xml/XPathResult.h: + +2011-03-10 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Unreviewed build fix. + + [EFL] Fix build break when CROSS_PLATFORM_CONTEXT_MENUS is disabled. + https://bugs.webkit.org/show_bug.cgi?id=56005 + + There are build breaks when CROSS_PLATFORM_CONTEXT_MENUS is disabled. + + * platform/efl/ContextMenuEfl.cpp: + (WebCore::ContextMenu::ContextMenu): + * platform/efl/ContextMenuItemEfl.cpp: + +2011-03-10 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang. + + startOfBlock and endOfBlock may return a position inside hr + https://bugs.webkit.org/show_bug.cgi?id=56025 + + Replaced calls to enclosingBlockFlowElement in startOfBlock and endOfBlock by + calls to enclosingBlock. Added EditingBoundaryCrossingRule to the argument lists + of startOfBlock, endOfBlock, and enclosingBlock. Also replaced the last boolean + argument variable of enclosingNodeOfType by EditingBoundaryCrossingRule. + + Also replaced calls to enclosingBlockFlowElement in inSameBlock by calls to + enclosingBlock to be consitent with startOfBlock and endOfBlock. + + This patch also replaced calls to deprecatedNode in startOfBlock, endOfBlock, + and inSameBlock by calls to containerNode because the enclosing block of a position + should never be before or after the position. + + No tests are added because this change only affects WebCore internally. + + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::initializePositionData): Calls enclosingNodeOfType. + Pass CanCrossEditingBoundary instead of false. + * editing/htmlediting.cpp: + (WebCore::unsplittableElementForPosition): Ditto. + (WebCore::enclosingBlock): Takes EditingBoundaryCrossingRule and passes it to + enclosingNodeOfType. + (WebCore::enclosingNodeOfType): Takes EditingBoundaryCrossingRule instead of boolean. + Fixed a bug that it stops walking the tree when it reached the root editable node + even when the editing boundary crossing rule is CanCrossEditingBoundary. + * editing/htmlediting.h: Prototype changes. + * editing/visible_units.cpp: + (WebCore::startOfBlock): Calls enclosingBlock instead of enclosingBlockFlowElement. + Also added an early exit when there's no enclosing block. + (WebCore::endOfBlock): Ditto. The early exist in this case prevents crash in + lastPositionInNode. + (WebCore::inSameBlock): Calls enclosingBlock instead of enclosingBlockFlowElement. + (WebCore::isStartOfBlock): Calls startOfBlock with CanCrossEditingBoundary because + we don't care where the start of block is when we're comparing against the given position. + (WebCore::isEndOfBlock): Ditto. + * editing/visible_units.h: + +2011-03-10 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Dan Bernstein. + + Backspace deletes all non-BMP symbols at once, and then some + https://bugs.webkit.org/show_bug.cgi?id=55971 + <rdar://problem/8725312> + + Test: platform/mac/editing/input/insert-delete-smp-symbol.html + + * rendering/RenderText.cpp: + (WebCore::isMark): This matches what Core Foundation does for all characters that I tested. + (WebCore::RenderText::previousOffsetForBackwardDeletion): Changed to use isMark(). + +2011-03-10 Chris Evans <cevans@chromium.org> + + Reviewed by Adam Barth. + + Error in StyleElement::process with large nodesets + https://bugs.webkit.org/show_bug.cgi?id=56150 + + Test: none due to excessive runtime and CRASH() vs. real crash. + + * dom/StyleElement.cpp: + (WebCore::StyleElement::process): Handle large node sets better. + +2011-03-10 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=47151 + + Percentage heights should skip anonymous containing blocks when computing the used value. + + Added fast/block/basic/percentage-height-inside-anonymous-block.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::computePercentageLogicalHeight): + +2011-03-10 Nat Duca <nduca@chromium.org> + + Reviewed by James Robinson. + + [chromium] Make updateAndDrawLayers argumentless. + https://bugs.webkit.org/show_bug.cgi?id=55985 + + Made the TilePainters and viewport parameters for + LayerRendererChromium member variables instead of arguments on + updateAndDrawLayers. In a future change, this will allows us to + draw the layer tree without the WebView's assistance. + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::create): + (WebCore::LayerRendererChromium::LayerRendererChromium): + (WebCore::LayerRendererChromium::verticalScrollbarRect): + (WebCore::LayerRendererChromium::horizontalScrollbarRect): + (WebCore::LayerRendererChromium::invalidateRootLayerRect): + (WebCore::LayerRendererChromium::updateRootLayerContents): + (WebCore::LayerRendererChromium::updateRootLayerScrollbars): + (WebCore::LayerRendererChromium::drawRootLayer): + (WebCore::LayerRendererChromium::setViewport): + (WebCore::LayerRendererChromium::updateAndDrawLayers): + (WebCore::LayerRendererChromium::updateLayers): + (WebCore::LayerRendererChromium::drawLayers): + (WebCore::LayerRendererChromium::setRootLayer): + (WebCore::LayerRendererChromium::getFramebufferPixels): + (WebCore::LayerRendererChromium::cleanupSharedObjects): + * platform/graphics/chromium/LayerRendererChromium.h: + (WebCore::LayerRendererChromium::viewportSize): + * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: + (WebCore::CCHeadsUpDisplay::draw): + +2011-01-25 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Implement spin buttons for GTK+ 2.x + https://bugs.webkit.org/show_bug.cgi?id=53098 + + Implement spin buttons for GTK+ 2.x. This allows proper render and functioning + for input type=number. The implementation is based on the one in gtkspinbutton.c + from the GTK+ sources. + + * platform/gtk/RenderThemeGtk.h: Added new members and getters. + * platform/gtk/RenderThemeGtk2.cpp: + (WebCore::RenderThemeGtk::platformInit): Initialize spin button widget. + (WebCore::RenderThemeGtk::adjustRepaintRect): We need to draw outside the + spin button area to have proper rendering. There doesn't seem to be any other + clean way of having spin buttons that are the size of the text input frame. + (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle): Added implementation. + (WebCore::RenderThemeGtk::paintInnerSpinButton): Ditto. + (WebCore::RenderThemeGtk::gtkSpinButton): Added. + +2011-03-10 Levi Weintraub <leviw@chromium.org> + + Reviewed by Ryosuke Niwa. + + InsertUnorderedList over a non-editable region and multiple lines enters an infinite loop + https://bugs.webkit.org/show_bug.cgi?id=53409 + + Fixing broken handling of mixed-editability content for InsertListCommand. Previously, if the selection + spanned non-contenteditable regions, it would get stuck endlessly iterating the same region as the algorithm + didn't skip the editable boundary. + + Test: editing/execCommand/insert-list-with-noneditable-content.html + + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::cleanupAfterDeletion): Changed signature to take the destination + position for the active editing command. Without this, there are cases when the destination happens + to be a placeholder, and we remove it. + (WebCore::CompositeEditCommand::moveParagraphs): + * editing/CompositeEditCommand.h: + * editing/InsertListCommand.cpp: + (WebCore::InsertListCommand::doApply): Added logic to the paragraph iteration loop to handle pockets of + non-editable content in an editable context. Previously, this could cause an infinite loop. + * editing/visible_units.cpp: + (WebCore::startOfParagraph): Added a mode of operation where we'll jump across non-editable + content in the same paragraph to reach the actual editable paragraph start. + (WebCore::endOfParagraph): Ditto. + (WebCore::startOfNextParagraph): Now uses the aforementioned non-editable content skipping mode of + endOfParagraph. + +2011-03-10 Berend-Jan Wever <skylined@chromium.org> + + Reviewed by Darin Adler. + + Calling focus() on an area element not in a document should not cause a NULL ptr crash + https://bugs.webkit.org/show_bug.cgi?id=54877 + + Test: fast/dom/HTMLAreaElement/area-islink-focus-null-ptr-crash.html + + * dom/Element.cpp: + (WebCore::Element::focus): Check element is in the document before allowing focus + * html/HTMLAreaElement.cpp: + (WebCore::HTMLAreaElement::imageElement): Check element has a parent before checking if its parent is a map + +2011-03-10 Xiyuan Xia <xiyuan@chromium.org> + + Reviewed by Tony Chang. + + [Chromium] Fix default single selection select's popup background on chromium/linux + https://bugs.webkit.org/show_bug.cgi?id=56023 + + Test: fast/html/select-dropdown-consistent-background-color.html + + * css/themeChromiumLinux.css: + +2011-03-10 Kris Jordan <krisjordan@gmail.com> + + Reviewed by Alexey Proskuryakov. + + Improve default Accept header to give preference to HTML over XML. + https://bugs.webkit.org/show_bug.cgi?id=27267 + + * loader/FrameLoader.cpp:Changed default accept header to match + FireFox' as per bug 27267. + +2011-03-10 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] [Webkit2] There are no scrollbars visible in the MiniBrowser + https://bugs.webkit.org/show_bug.cgi?id=56125 + + No new tests. This functionality will be tested once we have TestRunner + implementation for WebKit2 with pixel dumping support. + + * GNUmakefile.am: Add a new define with tracks whether or not we are using + our specialized GTK+ ScrollView. + * platform/ScrollView.cpp: Only use the GTK+-specific ScrollView if we are compiling + WebKit1. + (WebCore::ScrollView::wheelEvent): + * platform/gtk/ScrollViewGtk.cpp: Ditto. + +2011-03-10 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + Assertion fails by validating a form twice very quickly + https://bugs.webkit.org/show_bug.cgi?id=56069 + + If the interactive validation is invoked when a form control is in + needsLayout() state, an assertion in isFocusable() fails. To avoid it, + Add a call to updateLayoutIgnorePendingStylesheets() before isFocusable(). + + Test: fast/forms/interactive-validation-assertion-by-validate-twice.html + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::validateInteractively): + Calls updateLayoutIgnorePendingStylesheets(). + +2011-03-10 David Hyatt <hyatt@apple.com> + + Reviewed by Beth Dakin. + + https://bugs.webkit.org/show_bug.cgi?id=47143 + + Static distance computation is wrong when an ancestor is also positioned. We need to go up the container() + chain (after initially starting with the parent()) when doing this computation, so that we properly skip + intermediate boxes between two positioned blocks. + + Added fast/block/positioning/static-distance-with-positioned-ancestor.html. + + * rendering/RenderBox.cpp: + (WebCore::computeInlineStaticDistance): + (WebCore::computeBlockStaticDistance): + +2011-03-10 Adrienne Walker <enne@google.com> + + Reviewed by Kenneth Russell. + + [chromium] Make tiled compositor data structure more efficient. + https://bugs.webkit.org/show_bug.cgi?id=54133 + + Previously, the compositor had a sparse 2D array of tiles for the + whole page, most of which were null. The tiles were implicitly + located based on their position in the array. This was inefficient + when the page grew (e.g. infinite scrolling) and caused some bugs + (e.g. width * height > MAX_INT). This change modifies tiles to have + explicit positions so they can be stored in a hash map. + + Tests: LayoutTests/compositing/ + + * platform/graphics/chromium/LayerTilerChromium.cpp: + (WebCore::LayerTilerChromium::reset): + (WebCore::LayerTilerChromium::createTile): + (WebCore::LayerTilerChromium::invalidateTiles): + (WebCore::LayerTilerChromium::contentRectToTileIndices): + (WebCore::LayerTilerChromium::tileAt): + (WebCore::LayerTilerChromium::tileContentRect): + (WebCore::LayerTilerChromium::tileLayerRect): + (WebCore::LayerTilerChromium::invalidateRect): + (WebCore::LayerTilerChromium::invalidateEntireLayer): + (WebCore::LayerTilerChromium::update): + (WebCore::LayerTilerChromium::updateFromPixels): + (WebCore::LayerTilerChromium::draw): + (WebCore::LayerTilerChromium::growLayerToContain): + * platform/graphics/chromium/LayerTilerChromium.h: + (WebCore::LayerTilerChromium::Tile::Tile): + (WebCore::LayerTilerChromium::Tile::i): + (WebCore::LayerTilerChromium::Tile::j): + (WebCore::LayerTilerChromium::Tile::moveTo): + (WebCore::LayerTilerChromium::TileMapKeyTraits::emptyValue): + (WebCore::LayerTilerChromium::TileMapKeyTraits::constructDeletedValue): + (WebCore::LayerTilerChromium::TileMapKeyTraits::isDeletedValue): + +2011-03-10 Ryosuke Niwa <rniwa@webkit.org> + + Unreviewed build fix for r80752; Negated the boolean logic. + + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::next): + (WebCore::VisiblePosition::previous): + +2011-03-10 David Hyatt <hyatt@apple.com> + + Reviewed by Adam Roben. + + Make the same change to xheight on Windows for CG. + + * platform/graphics/win/SimpleFontDataCGWin.cpp: + (WebCore::SimpleFontData::platformInit): + +2011-03-10 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=47147 + + Fix for repaint issues when the root element is a table and needs to paint a background that + covers the entire canvas. Remove paintRootBoxDecorations and replace with paintRootBoxFillLayers, + so that it can be called only for fill layer painting. Make tables and normal boxes both + call this new method. Fix the dirty check at the start of RenderTable paint to not happen if + the table is the root of the document (this same check exists in RenderBlock painting already). + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::paintRootBoxFillLayers): + (WebCore::RenderBox::paintBoxDecorations): + (WebCore::RenderBox::paintBoxDecorationsWithSize): + * rendering/RenderBox.h: + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::calculateCompositedBounds): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::paint): + (WebCore::RenderTable::paintBoxDecorations): + +2011-03-10 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r80749. + http://trac.webkit.org/changeset/80749 + https://bugs.webkit.org/show_bug.cgi?id=56143 + + "Caused at least 3 media tests to be flaky" (Requested by + tonyg-cr on #webkit). + + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::canTakeNextToken): + (WebCore::HTMLDocumentParser::pumpTokenizer): + * html/parser/HTMLParserScheduler.cpp: + * html/parser/HTMLParserScheduler.h: + (WebCore::HTMLParserScheduler::checkForYieldBeforeToken): + * page/FrameView.h: + +2011-03-10 Sam Weinig <sam@webkit.org> + + Reviewed by David Hyatt. + + Regression: Content not drawn when scrolling horizontally in an RTL page + https://bugs.webkit.org/show_bug.cgi?id=55077 + + * platform/ScrollView.cpp: + (WebCore::ScrollView::overhangAmount): + (WebCore::ScrollView::calculateOverhangAreasForPainting): + Take the scroll origin into account when calculating overhang. + + * platform/ScrollView.h: + * rendering/RenderLayer.h: + * platform/ScrollableArea.h: + (WebCore::ScrollableArea::scrollOrigin): + Move identical scroll origin member from ScrollView and RenderLayer + to shared base ScrollableArea. This is also needed so that the animator + can access it. + + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::pinnedInDirection): + (WebCore::ScrollAnimatorMac::smoothScrollWithEvent): + (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired): + Account for a scroll origin when doing calculating scroll offsets. + +2011-03-09 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Simon Fraser. + + Plumb through settings for accelerated drawing for canvas + https://bugs.webkit.org/show_bug.cgi?id=56039 + + No new tests. Doesn't affect behavior, just adding a switch to toggle canvas backends. + + * WebCore.exp.in: + * html/HTMLCanvasElement.cpp: + * html/canvas/CanvasRenderingContext2D.cpp: + * page/Settings.cpp: + * page/Settings.h: + +2011-03-10 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=47157 + + CSS2.1 test suite failures because the ex unit is broken with the Ahem font. + + Remove the code that tries to also include the maxX of the glyph bounds for the + 'x' glyph, since it just causes the x-height to be way too large in cases where the 'x' glyph extends + below the baseline. + + Remove the Apple Symbol hack for ex units, since the person who added that was confused by another + issue, namely that CGFontGetXHeight wasn't being properly multiplied by the pointSize. That's why + the value was too small. Patched the code to just multiply by pointSize and took out the hack. + + Fix causes many tests in the css2.1 directory to progress, so no new tests required. Many other + layout tests change because the xHeight for Lucida Grande gets smaller by a little bit, and radio + buttons use ex horizontal margins by default. + + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::platformInit): + +2011-03-10 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang. + + VisiblePosition's next and previous should take an enum instead of a boolean + https://bugs.webkit.org/show_bug.cgi?id=56135 + + Changed the argument type of VisiblePosition::next and VisiblePosition::previous + from bool to EditingBoundaryCrossingRule. Also got rid of StayInEditableContent enum + in VisibleSelection and replaced it by EditingBoundaryCrossingRule because the enum + was only used in VisiblePosition::isAll and subsequently in SelectionController::isAll + to call VisiblePosition::next and VisiblePosition::previous. + + * WebCore.exp.in: + * dom/Position.cpp: + (WebCore::Position::trailingWhitespacePosition): + * editing/ApplyBlockElementCommand.cpp: + (WebCore::ApplyBlockElementCommand::doApply): + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): + * editing/InsertListCommand.cpp: + (WebCore::InsertListCommand::doApply): + (WebCore::InsertListCommand::listifyParagraph): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::shouldMergeStart): + (WebCore::ReplaceSelectionCommand::shouldMergeEnd): + (WebCore::ReplaceSelectionCommand::doApply): + * editing/SelectionController.cpp: + (WebCore::SelectionController::modifyExtendingRight): + (WebCore::SelectionController::modifyExtendingForward): + (WebCore::SelectionController::modifyMovingForward): + (WebCore::SelectionController::modifyExtendingLeft): + (WebCore::SelectionController::modifyExtendingBackward): + (WebCore::SelectionController::modifyMovingBackward): + * editing/SelectionController.h: + (WebCore::SelectionController::isAll): + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::deleteKeyPressed): + (WebCore::TypingCommand::forwardDeleteKeyPressed): + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::next): + (WebCore::VisiblePosition::previous): + * editing/VisiblePosition.h: + * editing/VisibleSelection.cpp: + (WebCore::VisibleSelection::isAll): + (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity): + * editing/VisibleSelection.h: + * editing/htmlediting.cpp: + (WebCore::selectionForParagraphIteration): + * editing/visible_units.cpp: + (WebCore::startOfNextParagraph): + +2011-03-10 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Tony Gentilcore. + + Remove CRASH() calls added to track down bug 53045 + https://bugs.webkit.org/show_bug.cgi?id=56137 + + Remove CRASH() calls added by r76575 and re-label ones added by r80155 + and r80269 as being associated with bug 56124 (which may still be + happening). + + * css/CSSImageValue.cpp: + (WebCore::CSSImageValue::cachedImage): + * css/CSSSelector.h: + * css/CSSSelectorList.cpp: + (WebCore::CSSSelectorList::deleteSelectors): + * loader/cache/CachedResource.cpp: + (WebCore::CachedResource::CachedResource): + (WebCore::CachedResource::~CachedResource): + * loader/cache/CachedResource.h: + +2011-03-10 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Eric Seidel. + + Let the parser yield for layout before running scripts + https://bugs.webkit.org/show_bug.cgi?id=54355 + + Prior to this patch, the parser would yield to perform a layout/paint before running a + script only if the script or a stylesheet blocking the script is not loaded yet. Since we + don't preload scan into the body while parsing the head, typically we'll block on a script + early in the body that causes us to yield to do the first paint within a reasonable time. + + However, I'm planning to change the PreloadScanner to scan into the body from the head. + That significantly improves overall load time, but would hurt first paint time because + fewer scripts would be blocked during parsing and thus wouldn't yield. + + This change causes us to yield before running scripts if we haven't painted yet (regardless + of whether or not the script is loaded). In addition to allowing the above mentioned + PreloadScanner change to be implemented without regressing first paint time, this also + improves first paint time by itself. + + I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate + bandwidth. This patch improved average first paint time by 1% over an unlimited connection, + 6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically + signifcant change in page load time. + + Within the pages tested, 33 had no statistically significant change in time to first paint, + 12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set + are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu. + + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point. + (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused + means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does + the right thing whether we are just before a token or waiting for a script. Now that we may + yield before a token or before a script, this may be called while paused. + * html/parser/HTMLParserScheduler.cpp: + (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added. + * page/FrameView.h: + (WebCore::FrameView::hasEverPainted): Added. + +2011-03-10 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Martin Robinson. + + Some Gtk code uses defined(USE_FREETYPE) instead of just USE(FREETYPE) + https://bugs.webkit.org/show_bug.cgi?id=55996 + + Use the macre USE instead of defined fro WTF_USE_FREETYPE and + WTF_USE_PANGO. + + * GNUmakefile.am: + * platform/graphics/cairo/OwnPtrCairo.cpp: + * platform/graphics/cairo/OwnPtrCairo.h: + * platform/graphics/cairo/RefPtrCairo.cpp: + * platform/graphics/cairo/RefPtrCairo.h: + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::setPangoAttributes): + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + (WebCore::Font::selectionRectForComplexText): + +2011-03-10 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Oliver Hunt. + + Rolled back in 80277 and 80280 with event handler layout test failures fixed. + https://bugs.webkit.org/show_bug.cgi?id=55653 + + The failures were caused by a last minute typo: assigning to currentEvent + instead of m_currentEvent. + + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDOMGlobalObject.cpp: + * bindings/js/JSDOMGlobalObject.h: + * bindings/js/JSDOMWindowBase.cpp: + * bindings/js/JSDOMWindowBase.h: + * bindings/js/JSDOMWindowCustom.h: + * bindings/js/JSWorkerContextBase.cpp: + +2011-03-10 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=56129, vertical text broken on Lion and Leopard. + + Add Snow Leopard ifdefs for the scaling by point size and then the division by unitsPerEm to the + translationsTransform applied to the results from CTFontGetVerticalTranslationsForGlyphs, since + this is done already on Lion and Leopard. + + * platform/graphics/mac/FontMac.mm: + (WebCore::showGlyphsWithAdvances): + +2011-03-10 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r80701. + http://trac.webkit.org/changeset/80701 + https://bugs.webkit.org/show_bug.cgi?id=56126 + + fast/dom/Geolocation/window-close-crash.html fails on Snow + Leopard release builds (Requested by mihaip on #webkit). + + * page/DOMWindow.cpp: + * page/DOMWindow.h: + * page/Frame.cpp: + (WebCore::Frame::pageDestroyed): + (WebCore::Frame::transferChildFrameToNewDocument): + * page/Geolocation.cpp: + (WebCore::Geolocation::~Geolocation): + (WebCore::Geolocation::disconnectFrame): + (WebCore::Geolocation::lastPosition): + (WebCore::Geolocation::requestPermission): + (WebCore::Geolocation::startUpdating): + (WebCore::Geolocation::stopUpdating): + * page/Geolocation.h: + * page/GeolocationController.cpp: + (WebCore::GeolocationController::~GeolocationController): + * page/Navigator.cpp: + * page/Navigator.h: + * platform/mock/GeolocationClientMock.cpp: + * platform/mock/GeolocationClientMock.h: + +2011-03-10 Pratik Solanki <psolanki@apple.com> + + Reviewed by Alexey Proskuryakov. + + ASSERT_NOT_REACHED triggered in WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority + https://bugs.webkit.org/show_bug.cgi?id=56075 + + Map priority value 3, which means no priority, to ResourceLoadPriorityUnresolved. + + * platform/network/cf/ResourceRequestCFNet.h: + (WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority): + (WebCore::mapResourceLoadPriorityToHTTPPipeliningPriority): + +2011-03-10 Andrey Adaikin <aandrey@google.com> + + Reviewed by Pavel Feldman. + + Web Inspector: [Text editor] Substitute live-edit mode activation by double-click + https://bugs.webkit.org/show_bug.cgi?id=56084 + + Also fixed a regression: console was not opening/closing on ESC key press because tabIndex="0" attribute was preserved for a readOnly viewer. + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame): + (WebInspector.SourceFrame.prototype._startEditing): + (WebInspector.SourceFrame.prototype._registerShortcuts): + (WebInspector.SourceFrame.prototype._handleKeyDown): + (WebInspector.SourceFrame.prototype._handleSave): + (WebInspector.SourceFrame.prototype._handleRevertEditing): + (WebInspector.SourceFrame.prototype._doubleClick): + * inspector/front-end/TextEditorModel.js: + (WebInspector.TextEditorModel.prototype.get text): + * inspector/front-end/TextViewer.js: + (WebInspector.TextViewer.prototype.get readOnly): + (WebInspector.TextEditorMainPanel): + (WebInspector.TextEditorMainPanel.prototype.set readOnly): + (WebInspector.TextEditorMainPanel.prototype.get readOnly): + +2011-03-10 Greg Simon <gregsimon@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Need new graphic icon for garbage collect button. + https://bugs.webkit.org/show_bug.cgi?id=55794 + + No new tests: gc tests are flaky due to non-determinisic + behavior of collection APIs (more notes in bug) + + * English.lproj/localizedStrings.js: + * WebCore.gypi: + * bindings/js/ScriptProfiler.cpp: + (WebCore::ScriptProfiler::collectGarbage): + * bindings/js/ScriptProfiler.h: + * bindings/v8/ScriptProfiler.cpp: + (WebCore::ScriptProfiler::collectGarbage): + * bindings/v8/ScriptProfiler.h: + * inspector/Inspector.idl: + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::collectGarbage): + * inspector/InspectorProfilerAgent.h: + * inspector/front-end/Images/garbageCollectButtonGlyph.png: Added. + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel.prototype.get statusBarItems): + (WebInspector.TimelinePanel.prototype._createStatusbarButtons): + (WebInspector.TimelinePanel.prototype._garbageCollectButtonClicked): + * inspector/front-end/inspector.css: + (.garbage-collect-status-bar-item .glyph): + +2011-03-10 Andrey Kosyakov <caseq@chromium.org> + + Web Inspector: better names for HAR export commands + https://bugs.webkit.org/show_bug.cgi?id=56097 + + Rename Export to HAR to Copy entry/network log as HAR + Expose Copy as HAR unconditionally, remove related settings entry. + + * English.lproj/localizedStrings.js: + * inspector/front-end/NetworkPanel.js: + (WebInspector.NetworkPanel.prototype._contextMenu): + * inspector/front-end/Settings.js: + +2011-03-10 Qi Zhang <qi.2.zhang@nokia.com> + + Reviewed by Laszlo Gombos. + + [Qt] Mobile Devices should include Model and Firmware Version in Webkit Generated User Agent String + https://bugs.webkit.org/show_bug.cgi?id=48636 + + Fix a typo in features.pri that turns on this feature on mobile + devices by default. + + * features.pri: + +2011-03-10 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Invalid expected parameter list in CSSAgent.setSelectorText() callback (CSSStyleModel.js) + https://bugs.webkit.org/show_bug.cgi?id=56092 + + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel.prototype.setRuleSelector): + +2011-03-10 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed: rolling out r80478 and its follow ups for breaking + inspector and engadget.com. + https://bugs.webkit.org/show_bug.cgi?id=49401 + + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::performTask): + (WebCore::Document::postTask): + * dom/Document.h: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::setDefersLoading): + * manual-tests/database-callback-deferred.html: Removed. + * page/PageGroupLoadDeferrer.cpp: + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): + (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): + +2011-03-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Kenneth Rohde Christiansen. + + Tiled backing store's delegated scroll request uses incorrect convention + https://bugs.webkit.org/show_bug.cgi?id=56011 + + Use a point instead of delta, when relaying the scroll request from + ScrollView::setScrollPosition. + + * loader/EmptyClients.h: + (WebCore::EmptyChromeClient::delegatedScrollRequested): + * page/Chrome.cpp: + (WebCore::Chrome::delegatedScrollRequested): + * page/Chrome.h: + * page/ChromeClient.h: + * platform/HostWindow.h: + * platform/ScrollView.cpp: + (WebCore::ScrollView::setScrollPosition): + +2011-03-10 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: brush up DOM agent API. + https://bugs.webkit.org/show_bug.cgi?id=56093 + + * inspector/Inspector.idl: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::childNodes): + (WebCore::InspectorDOMAgent::setNodeName): + (WebCore::InspectorDOMAgent::outerHTML): + (WebCore::InspectorDOMAgent::setNodeValue): + * inspector/InspectorDOMAgent.h: + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMNode): + (WebInspector.DOMNode.prototype.hasAttributes): + (WebInspector.DOMNode.prototype.nodeType): + (WebInspector.DOMNode.prototype.nodeName): + (WebInspector.DOMNode.prototype.setNodeName): + (WebInspector.DOMNode.prototype.localName): + (WebInspector.DOMNode.prototype.nodeValue): + (WebInspector.DOMNode.prototype.setNodeValue): + (WebInspector.DOMNode.prototype.setAttribute): + (WebInspector.DOMNode.prototype.attributes): + (WebInspector.DOMNode.prototype.removeAttribute): + (WebInspector.DOMNode.prototype.childNodes.mycallback): + (WebInspector.DOMNode.prototype.childNodes): + (WebInspector.DOMNode.prototype.outerHTML): + (WebInspector.DOMNode.prototype.setOuterHTML): + (WebInspector.DOMNode.prototype.removeNode): + (WebInspector.DOMNode.prototype.copyNode): + (WebInspector.DOMNode.prototype.path): + (WebInspector.DOMNode.prototype._setAttributesPayload): + (WebInspector.DOMNode.prototype._addAttribute): + (WebInspector.DOMAgent.prototype._characterDataModified): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.updateBreadcrumb): + (WebInspector.ElementsPanel.prototype.decorateNodeLabel): + (WebInspector.ElementsPanel.prototype.handleCopyEvent): + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeOutline.prototype.findTreeElement): + (WebInspector.ElementsTreeElement): + (WebInspector.ElementsTreeElement.prototype.updateChildren): + (WebInspector.ElementsTreeElement.prototype._updateChildren): + (WebInspector.ElementsTreeElement.prototype._startEditingTarget): + (WebInspector.ElementsTreeElement.prototype._startEditing): + (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): + (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded): + (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted): + (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted): + (WebInspector.ElementsTreeElement.prototype._attributeHTML): + (): + * inspector/front-end/EventListenersSidebarPane.js: + (): + * inspector/front-end/MetricsSidebarPane.js: + * inspector/front-end/StylesSidebarPane.js: + * inspector/front-end/utilities.js: + +2011-03-09 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [STYLES] Editing a property value adds a word for any property value that uses a paren + https://bugs.webkit.org/show_bug.cgi?id=56002 + + * inspector/front-end/StylesSidebarPane.js: Introduce an additional check. + +2011-03-09 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: use DebuggerPresentation instead of DebuggerModel in source frame delegate. + https://bugs.webkit.org/show_bug.cgi?id=56034 + + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel.prototype.continueToLine): + (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype._sourceLocationToActualLocation): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._createSourceFrame): + (WebInspector.SourceFrameDelegateForScriptsPanel): + (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint): + (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint): + (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint): + (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint): + (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition): + (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition): + (WebInspector.SourceFrame.prototype._contextMenu.else.setBreakpointEnabled): + (WebInspector.SourceFrame.prototype._contextMenu): + (WebInspector.SourceFrame.prototype._mouseDown): + (WebInspector.SourceFrameDelegate.prototype.removeBreakpoint): + (WebInspector.SourceFrameDelegate.prototype.updateBreakpoint): + +2011-03-09 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: elements dom tree - word wrap toggle + https://bugs.webkit.org/show_bug.cgi?id=44311 + + A "Word Wrap" option is now shown in a context menu for the entire DOM tree content area + and persisted into application settings. + + * English.lproj/localizedStrings.js: + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype._contextMenuEventFired): + (WebInspector.ElementsPanel.prototype._contextMenuEventFired.toggleWordWrap): + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeOutline): + (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent): + (WebInspector.ElementsTreeOutline.prototype.populateContextMenu): + (WebInspector.ElementsTreeElement.prototype.onreveal): + * inspector/front-end/Settings.js: + (WebInspector.Settings): + * inspector/front-end/inspector.css: + (#elements-content.nowrap): + (#elements-content > ol): + +2011-03-09 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: re-implement breakpoints sidebar pane based on debugger presentation model. + https://bugs.webkit.org/show_bug.cgi?id=55823 + + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.JavaScriptBreakpointsSidebarPane): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint.didLoadSnippet): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.removeBreakpoint): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.highlightBreakpoint): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.clearBreakpointHighlight): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._createBreakpointItemId): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenu): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.reset): + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel): + (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource): + (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource): + (WebInspector.DebuggerPresentationModel.prototype._revealHiddenBreakpoints): + (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId): + (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled): + (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): + (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame): + (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation): + (WebInspector.DebuggerPresentationModel.prototype.reset): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype._breakpointAdded): + (WebInspector.ScriptsPanel.prototype._breakpointRemoved): + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + (WebInspector.ScriptsPanel.prototype.reset): + (WebInspector.ScriptsPanel.prototype._clearInterface): + +2011-03-10 Andrey Adaikin <aandrey@google.com> + + Reviewed by Pavel Feldman. + + Web Inspector: Highlighter refactoring + https://bugs.webkit.org/show_bug.cgi?id=56015 + + * inspector/front-end/TextEditorHighlighter.js: + (WebInspector.TextEditorHighlighter): + (WebInspector.TextEditorHighlighter.prototype.set mimeType): + (WebInspector.TextEditorHighlighter.prototype.highlight): + (WebInspector.TextEditorHighlighter.prototype.updateHighlight): + (WebInspector.TextEditorHighlighter.prototype._highlightInChunks): + (WebInspector.TextEditorHighlighter.prototype._highlightLines): + (WebInspector.TextEditorHighlighter.prototype._selectHighlightState): + (WebInspector.TextEditorHighlighter.prototype._clearHighlightState): + * inspector/front-end/TextViewer.js: + (WebInspector.TextEditorMainPanel.prototype._buildChunks): + (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange): + +2011-03-05 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: move breakpoint column adjustment to debugger model. + https://bugs.webkit.org/show_bug.cgi?id=55821 + + Test: inspector/debugger/debug-inlined-scripts.html + + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint): + (WebInspector.DebuggerModel.prototype.setBreakpoint): + * inspector/front-end/SourceFrameContent.js: + (WebInspector.SourceFrameContent.prototype.sourceFrameLineNumberToActualLocation): + +2011-01-21 John Knottenbelt <jknotten@chromium.org> + + Reviewed by Dmitry Titov. + + Detach Geolocation from Frame when Page destroyed. + https://bugs.webkit.org/show_bug.cgi?id=52877 + + On Page destruction, any outstanding Geolocation permission + requests should be cancelled, because the Geolocation can only + access the client indirectly via m_frame->page(). + + Page destruction is signalled by a call to the + Frame::pageDestroyed() method. This explictly calls + DOMWindow::resetGeolocation which ultimately calls Geolocation::reset. + + Geolocation::reset() detaches from the GeolocationController, + cancels requests, watches and single shots, and sets the + permission state back to Unknown. + + Frame::pageDestroyed() is also called by FrameLoader even though + the page is not destroyed. We should still cancel permission + requests, because the GeolocationClient will become inaccessible + to the Geolocation object after this call. + + Frame::transferChildFrameToNewDocument also indirectly calls + Geolocation::reset when the frame is reparented between + pages. Ideally we would like the Geolocation's activities to + continue after reparenting, see bug + https://bugs.webkit.org/show_bug.cgi?id=55577 + + Since GeolocationController is owned by Page, and all Geolocation + objects will now unsubscribe from the GeolocationController on + pageDetached(), we no longer need to call stopUpdating() from the + GeolocationController's destructor. Instead we can simply assert + that there should be no no observers. See related bug + https://bugs.webkit.org/show_bug.cgi?id=52216 . + + Introduced new method 'numberOfPendingPermissionRequests' on + GeolocationClientMock to count the number of outstanding pending + permission requests. This provides a reusable implementation for + client-based implementations of the LayoutTestController's + numberOfPendingGeolocationPermissionRequests method. + + Test: fast/dom/Geolocation/page-reload-cancel-permission-requests.html + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::resetGeolocation): + * page/DOMWindow.h: + * page/Frame.cpp: + (WebCore::Frame::pageDestroyed): + (WebCore::Frame::transferChildFrameToNewDocument): + * page/Geolocation.cpp: + (WebCore::Geolocation::~Geolocation): + (WebCore::Geolocation::page): + (WebCore::Geolocation::reset): + (WebCore::Geolocation::disconnectFrame): + (WebCore::Geolocation::lastPosition): + (WebCore::Geolocation::requestPermission): + (WebCore::Geolocation::startUpdating): + (WebCore::Geolocation::stopUpdating): + * page/Geolocation.h: + * page/GeolocationController.cpp: + (WebCore::GeolocationController::~GeolocationController): + * page/Navigator.cpp: + (WebCore::Navigator::resetGeolocation): + * page/Navigator.h: + * platform/mock/GeolocationClientMock.cpp: + (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests): + * platform/mock/GeolocationClientMock.h: + +2011-03-10 Ojan Vafai <ojan@chromium.org> + + Reviewed by Darin Adler. + + Able to move nodes across documents + https://bugs.webkit.org/show_bug.cgi?id=19524 + + Makes cross-document appendChild, insertBefore, Range.insertNode and Range.surroundContents work. + This matches Gecko and the new Dom Core spec. There are a number of Range methods where we don't + match Gecko or the spec that will need to be updated in a following patch. + + Test: fast/dom/move-nodes-across-documents.html + + * dom/Element.cpp: + (WebCore::Element::removeAttributeNode): + * dom/NamedNodeMap.cpp: + (WebCore::NamedNodeMap::setNamedItem): + * dom/Node.cpp: + (WebCore::Node::setDocumentRecursively): + (WebCore::checkAcceptChild): + (WebCore::Node::checkReplaceChild): + * dom/Range.cpp: + (WebCore::Range::insertNode): + (WebCore::Range::surroundContents): + +2011-03-09 Antti Koivisto <antti@apple.com> + + Not reviewed. + + Reverting crash catching code, the bug being hunted was fixed by + http://trac.webkit.org/changeset/80686 + + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::CachedResourceLoader): + (WebCore::CachedResourceLoader::~CachedResourceLoader): + (WebCore::CachedResourceLoader::requestImage): + (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): + (WebCore::CachedResourceLoader::requestResource): + (WebCore::CachedResourceLoader::setAutoLoadImages): + (WebCore::CachedResourceLoader::load): + (WebCore::CachedResourceLoader::loadDone): + (WebCore::CachedResourceLoader::preload): + (WebCore::CachedResourceLoader::requestPreload): + * loader/cache/CachedResourceLoader.h: + +2011-03-09 Peter Kasting <pkasting@google.com> + + Unreviewed, build fix. + + * StringsNotToBeLocalized.txt: Add function names I forgot. + * platform/win/SystemInfo.cpp: #if out some uncalled functions on WinCE, + since they don't compile anyway. Use ZeroMemory() instead of "= {0}" + since Qt is stupid and (sometimes?!) warns about it. + (WebCore::windowsVersion): + (WebCore::processorArchitecture): + +2011-03-09 Peter Kasting <pkasting@google.com> + + Reviewed by Ryosuke Niwa. + + Add UA string tags for Windows 64. + https://bugs.webkit.org/show_bug.cgi?id=55226 + + * StringsNotToBeLocalized.txt: + * platform/win/SystemInfo.cpp: + (WebCore::osVersionForUAString): + (WebCore::isWOW64): + (WebCore::processorArchitecture): + (WebCore::architectureTokenForUAString): + (WebCore::windowsVersionForUAString): + +2011-03-09 Peter Kasting <pkasting@google.com> + + Unreviewed, attempted build fix. + + * WebCore.pri: Try to update include path for Qt Windows build. + +2011-03-09 Peter Kasting <pkasting@google.com> + + Unreviewed, build fix. + + * platform/win/SystemInfo.cpp: + (WebCore::windowsVersionForUAString): Fix const conversion warning on Qt. + +2011-03-09 Peter Kasting <pkasting@google.com> + + Reviewed by Mihai Parparita. + + Unify Windows version checks. + https://bugs.webkit.org/show_bug.cgi?id=55979 + + * GNUmakefile.am: Fix spaces -> tabs. + * StringsNotToBeLocalized.txt: + * WebCore.pro: Add SystemInfo.* to Qt build. + * platform/chromium/ScrollbarThemeChromiumWin.cpp: + (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit): + (WebCore::ScrollbarThemeChromiumWin::getThemeState): + (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState): + * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: + (WebCore::fillBMPGlyphs): + * platform/win/CursorWin.cpp: + (WebCore::createSharedCursor): + * platform/win/ScrollbarThemeWin.cpp: + (WebCore::ScrollbarThemeWin::ScrollbarThemeWin): + * platform/win/SystemInfo.cpp: Add full-fledged version check and UA string helper function. + (WebCore::windowsVersion): + (WebCore::windowsVersionForUAString): + * platform/win/SystemInfo.h: Add full-fledged version check and UA string helper function. + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::getNonClientMetrics): + * rendering/RenderThemeWin.cpp: + (WebCore::RenderThemeWin::getThemeData): + (WebCore::RenderThemeWin::paintMenuList): + (WebCore::RenderThemeWin::paintMenuListButton): + +2011-03-09 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Tony Gentilcore. + + REGRESSION (r74807): memory corruption after CachedResourceLoader refactoring + https://bugs.webkit.org/show_bug.cgi?id=53045 + + Copy the URL out of the CachedResource that is being revalidated, so + that we can still use it (in m_validatedURLs) after removing the + resource from the memory cache, which may delete it. + + No new tests, since I was not able to trigger this locally (in a layout + test or otherwise). + + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::revalidateResource): + +2011-03-09 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + VO reporting incorrect list count for http://www.macworld.com/news.html + https://bugs.webkit.org/show_bug.cgi?id=56064 + + <li> tags should not be ignored, because they provide valuable information + to screen readers. + + Test: platform/mac/accessibility/list-items-ignored.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): + +2011-03-09 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + <rdar://problem/8733254> Float disappears after incremental layout + Fixed the original bug and a copule more issues noticed while doing so. + + Tests: fast/dynamic/dirty-float-in-clean-line.html + fast/dynamic/float-at-line-break.html + fast/dynamic/float-from-empty-line.html + + * rendering/RenderBlock.h: + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::layoutInlineChildren): If findNextLineBreak() returned an empty line, + update the line break info of the last line with the new line break position. This is tested + by float-from-empty-line.html. + (WebCore::RenderBlock::checkFloatsInCleanLine): Factored out code from determineStartPosition() + into this new function. + (WebCore::RenderBlock::determineStartPosition): Call checkFloatsInCleanLine(). + (WebCore::RenderBlock::determineEndPosition): When iterating over lines, check clean lines with + floats, as they may yet become dirty because of the floats. This is tested by + dirty-float-in-clean-line.html. + (WebCore::RenderBlock::findNextLineBreak): If a float fits on the line, and the current line + break is at the float, advance it to after the float. Otherwise, if the line gets dirty and the + next one does not, the float will not make it into any line. This is tested by + float-at-line-break.html. + +2011-03-09 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Kent Tamura. + + selectionStart reports wrong caret position when the last characters are newlines + https://bugs.webkit.org/show_bug.cgi?id=56061 + + The bug was caused by SelectionController::setSelection's not calling + notifyRendererOfSelectionChange when old selection was equal to new selection. + + Because InsertLineBreakCommand inserts a text node with a single LF before the caret, + this condition holds after the command is executed. However, the values of + selectionStart and selectionEnd still need to be updated in this case because + the offsets counted from the beginning of textarea have been increased by 1. + + * editing/SelectionController.cpp: + (WebCore::SelectionController::setSelection): Call notifyRendererOfSelectionChange + when m_selection = s. + * manual-tests/selection-start-after-inserting-line-break-in-textarea.html: Added. + +2011-03-09 Andy Estes <aestes@apple.com> + + Reviewed by Adam Barth. + + Bad cast in HTMLTreeBuilder::processStartTag + https://bugs.webkit.org/show_bug.cgi?id=55955 + + Test: fast/parser/self-closing-foreign-content.html + + When the parser encounters an svg or mathml root element, it places the + insertion mode into InForeignContentMode. However, if the root element + is self-closing (e.g. <svg />) then the element is never placed on the + open elements stack. This leaves the parser in an inconsistent state + where it is in InForeignContentMode but no foreign content is in the + open element stack. + + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInBody): If a self-closing + foreign element is inserted into the tree, do not set the insertion + mode to InForeignContentMode. + +2011-03-09 Gavin Barraclough <barraclough@apple.com> + + Qt build fix. + + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::convertQVariantToValue): + +2011-03-09 Andy Estes <aestes@apple.com> + + Reviewed by Adam Barth. + + REGRESSION (r80320): Assertion failure when processing mis-nested foreign content. + https://bugs.webkit.org/show_bug.cgi?id=55982 + + Test: fast/parser/fragment-foreign-content-misnested.html + + It is a parse error to encounter certain start tags while the parser's + insertion mode is InForeignContentMode (e.g. <br>). In these cases, we + are to pop open elements off the HTMLElementStack until a foreign + content scope marker is encountered. Before the change in r80320 to not + insert a fake HTML element during fragment parsing, said fake HTML + element counted as a foreign content scope marker. + + With r80320, no fake HTML element is inserted and the stack is popped + until empty in cases where no other element claims to be a foreign + content scope marker. Fix this by treating the DocumentFragment as a + foreign content scope marker. + + * html/parser/HTMLElementStack.cpp: + (WebCore::HTMLNames::isForeignContentScopeMarker): Take a + ContainerNode* instead of a Element*. + (WebCore::HTMLElementStack::popUntilForeignContentScopeMarker): Pass + topNode() to isForeignContentScopeMarker() instead of top(). + +2011-03-09 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Darin Adler. + + Bug 56041 - RexExp constructor should only accept flags "gim" + We also should be passing the flags around as a bitfield rather than a string, + and should not have redundant, incompatible code for converting the string to a bitfield! + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneDeserializer::readTerminal): + - Need to parse flags string back to enum. + +2011-03-09 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium]: Regression - Explicitly copy compositing properties from LayerChromium to CCLayerImpl + https://bugs.webkit.org/show_bug.cgi?id=56021 + + Initializes the m_doubleSided flag of LayerChromiums to the default + value of true so the back sides of layers without + backface-visibility:hidden are rendered. + + Test: compositing/backface-visibility.html + + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::LayerChromium::LayerChromium): + +2011-03-09 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/9110316> REGRESSION: 'ex' unit broken for vertical text + + Fall back to the verticalRightOrientation data when obtaining the x-height for vertically oriented + text. That way we use the same metrics as for horizontal. + + This fixes regressions in fast/lists and fast/overflow vertical text tests. + + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::platformBoundsForGlyph): + +2011-03-09 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang. + + REGRESSION: crash in nextLinePosition when extending selection forward by line in an empty document + https://bugs.webkit.org/show_bug.cgi?id=56004 + + The crash was caused by the false assumption that rootEditableElement() or documentElement() + always return non-null pointer. Fixed the bug by adding an early exit. + + Test: editing/selection/extend-by-line-in-empty-document.html + + * editing/visible_units.cpp: + (WebCore::previousLinePosition): + (WebCore::nextLinePosition): + +2011-03-09 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: it should be possible to copy stack trace from call stack sidebar pane. + https://bugs.webkit.org/show_bug.cgi?id=56024 + + * English.lproj/localizedStrings.js: + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane): + (WebInspector.CallStackSidebarPane.prototype.update): + (WebInspector.CallStackSidebarPane.prototype._contextMenu): + +2011-03-09 David Hyatt <hyatt@apple.com> + + Reviewed by Darin Adler. + + Patch FontPlatformDataLinux to properly initialize and copy orientation/text-orientation in all + places. Make sure text-orientation is specified in the lookups/creation in FontCustomPlatformData + and FontCache. + + * platform/graphics/chromium/FontPlatformDataLinux.cpp: + (WebCore::FontPlatformData::FontPlatformData): + * platform/graphics/chromium/FontPlatformDataLinux.h: + (WebCore::FontPlatformData::FontPlatformData): + +2011-03-09 Steve Block <steveblock@google.com> + + Reviewed by Jeremy Orlow. + + JavaNPObject should not use JNI directly + https://bugs.webkit.org/show_bug.cgi?id=56009 + + We move the JNI code to access a Java object's fields into + a new JavaInstance::getField() method. + + No new tests, refactoring only. + + * bridge/jni/v8/JavaInstanceV8.cpp: + (JavaInstance::getField): + * bridge/jni/v8/JavaInstanceV8.h: + * bridge/jni/v8/JavaNPObjectV8.cpp: + (JSC::Bindings::JavaNPObjectGetProperty): + +2011-03-09 Steve Block <steveblock@google.com> + + Reviewed by Jeremy Orlow. + + NPAPI - jvalue conversion should not be in JavaInstance + https://bugs.webkit.org/show_bug.cgi?id=55967 + + No new tests, refactoring only. + + * bridge/jni/v8/JavaInstanceV8.cpp: + (JavaInstance::invokeMethod): + * bridge/jni/v8/JavaInstanceV8.h: + * bridge/jni/v8/JavaNPObjectV8.cpp: + (JSC::Bindings::JavaNPObjectInvoke): + +2011-03-09 Jessie Berlin <jberlin@apple.com> + + Reviewed by Adam Roben. + + Use the Cookie Storage from the Private Browsing Storage Session directly + https://bugs.webkit.org/show_bug.cgi?id=55986 + + * WebCore.exp.in: + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + + * platform/network/mac/CookieStorageMac.mm: + (WebCore::setCookieStoragePrivateBrowsingEnabled): + Just copy the cookie storage from the private browsing storage session. + * platform/network/cf/CookieStorageCFNet.cpp: + (WebCore::setCookieStoragePrivateBrowsingEnabled): + Ditto. + +2011-03-09 Andrey Kosyakov <caseq@chromium.org> + + Unreviewed. Fixed a crash in InspectorInstrumentation::didReceiveResponse() when loader is null (broken in r80639) + + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl): + +2011-03-09 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: pass explicit agent references to InspectorBackendDispatcher + https://bugs.webkit.org/show_bug.cgi?id=55820 + + * inspector/CodeGeneratorInspector.pm: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::disconnectFrontend): + (WebCore::InspectorController::dispatchMessageFromFrontend): + +2011-03-09 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: resource errors are not reported before front-end is opened + https://bugs.webkit.org/show_bug.cgi?id=55939 + + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl): + * inspector/InspectorInstrumentation.h: + (WebCore::InspectorInstrumentation::didReceiveResourceResponse): + (WebCore::InspectorInstrumentation::didFailLoading): + +2011-03-08 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + IndexedDB: Add BackingStoreType parameter to IDBFactoryBackendInterface::open + https://bugs.webkit.org/show_bug.cgi?id=55948 + + Add a parameter that allows for selection of alternative backing store + implementations. + + No new tests: no new functionality. + + * storage/IDBFactory.cpp: + (WebCore::IDBFactory::open): + * storage/IDBFactoryBackendImpl.cpp: + (WebCore::IDBFactoryBackendImpl::open): + * storage/IDBFactoryBackendImpl.h: + * storage/IDBFactoryBackendInterface.h: + +2011-03-08 Steve Block <steveblock@google.com> + + Reviewed by Jeremy Orlow. + + Factor out JNI method call to be used by both JSC and V8 + https://bugs.webkit.org/show_bug.cgi?id=55966 + + No new tests, refactoring only. + + * bridge/jni/JNIUtility.cpp: + (JSC::Bindings::callJNIMethod): + * bridge/jni/JNIUtility.h: + * bridge/jni/jsc/JavaInstanceJSC.cpp: + (JavaInstance::invokeMethod): + * bridge/jni/v8/JavaInstanceV8.cpp: + (JavaInstance::invokeMethod): + +2011-03-09 Andrey Adaikin <aandrey@google.com> + + Reviewed by Pavel Feldman. + + Web Inspector: [Text editor] Regression in handling DOMNodeInserted/DOMNodeRemoved events + https://bugs.webkit.org/show_bug.cgi?id=55818 + + * inspector/front-end/TextViewer.js: + (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates): + +2011-03-09 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Web Inspector: we don't need to transfer objectId and hasChildren for primitive values. + https://bugs.webkit.org/show_bug.cgi?id=55998 + + * inspector/InjectedScriptSource.js: + +2011-03-09 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: watch expressions should show string values in quotes. + https://bugs.webkit.org/show_bug.cgi?id=55846 + + * inspector/InjectedScriptSource.js: + * inspector/front-end/ObjectPropertiesSection.js: + (WebInspector.ObjectPropertyTreeElement.prototype.update): + * inspector/front-end/RemoteObject.js: + (WebInspector.LocalJSONObject.prototype.get description): + * inspector/front-end/WatchExpressionsSidebarPane.js: + (WebInspector.WatchExpressionsSection.prototype.update): + * inspector/front-end/inspector.css: + (.console-formatted-string, .console-formatted-regexp): + +2011-03-09 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: "length" getter is invoked upon console object formatting. + https://bugs.webkit.org/show_bug.cgi?id=55220 + + * inspector/InjectedScriptSource.js: + +2011-03-08 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: remove groupName from objectId. + https://bugs.webkit.org/show_bug.cgi?id=55825 + + * inspector/InjectedScriptSource.js: + +2011-03-08 Xiaomei Ji <xji@chromium.org> + + Reviewed by David Hyatt. + + Fix Regression: Content not drawn when scrolling horizontally in an RTL page. + https://bugs.webkit.org/show_bug.cgi?id=55077. + + Inside ScrollView::calculateOverhangAreasForPainting(), when scroll position + is negative, should include the position value into overhang rectangle's + starting position. + + Tests: fast/dom/scroll-reveal-left-overflow.html + fast/dom/scroll-reveal-top-overflow.html + + * platform/ScrollView.cpp: + (WebCore::ScrollView::calculateOverhangAreasForPainting): + +2011-03-08 Daniel Bates <dbates@rim.com> + + Reviewed by Darin Adler. + + Add templatized CSSMutableStyleDeclaration::get{ShorthandValue, CommonValue, LayeredShorthandValue}() + https://bugs.webkit.org/show_bug.cgi?id=55351 + + By using some template magic CSSMutableStyleDeclaration::get{ShorthandValue, CommonValue, LayeredShorthandValue}() + can be called on an array A without the caller explicitly specifying the size of A. + + No functionality was changed. So no new tests. + + * css/CSSMutableStyleDeclaration.cpp: + (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Modified to call templatized variants of + CSSMutableStyleDeclaration::get{ShorthandValue, CommonValue, LayeredShorthandValue}(). + (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Renamed second argument from "number" to "size" + to better reflect its purpose - to be the size of the passed array. + (WebCore::CSSMutableStyleDeclaration::getShorthandValue): Ditto. + (WebCore::CSSMutableStyleDeclaration::getCommonValue): Ditto. + (WebCore::CSSMutableStyleDeclaration::cssText): Modified to call templatized variant of CSSMutableStyleDeclaration::getShorthandValue(). + * css/CSSMutableStyleDeclaration.h: + (WebCore::CSSMutableStyleDeclaration::getShorthandValue): Added templatized function that can determine + the size of a passed array. Changed type of second argument to size_t since it represents the size of + an array. + (WebCore::CSSMutableStyleDeclaration::getCommonValue): Ditto. + (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Ditto. + +2011-03-08 Enrica Casucci <enrica@apple.com> + + Reviewed by Darin Adler. + + REGRESSION: Copied content loses formatting on paste to external apps. + https://bugs.webkit.org/show_bug.cgi?id=47615 + <rdar://problem/9001214> + + This is a resubmission of a patch that was landed a while ago then rolled + back because of a build failure on SnowLeopard and Leopard on the 32-bit builds. + + This patch adds a way for WebKit2 to create NSAttributedStrings from + a DOM range without using the AppKit api initWithDOMRange that internally + needs to access the WebView. The NSAttributedString is needed to create + RTF formats in the pasteboard. + This is to be considered a first step, since in the future we want to have + an implementation based on the TextIterator. + * WebCore.xcodeproj/project.pbxproj: + * platform/mac/HTMLConverter.h: Added. + * platform/mac/HTMLConverter.mm: Added. + * platform/mac/PasteboardMac.mm: + (WebCore::Pasteboard::writeSelection): + +2011-03-08 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Explicitly copy compositing properties from LayerChromium to CCLayerImpl + https://bugs.webkit.org/show_bug.cgi?id=55900 + + This adds an explicit step to synchronize properties from + LayerChromiums to their corresponding CCLayerImpls. + + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::LayerChromium::setBounds): + * platform/graphics/chromium/LayerChromium.h: + (WebCore::LayerChromium::bounds): + (WebCore::LayerChromium::doubleSided): + (WebCore::LayerChromium::setDoubleSided): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces): + * platform/graphics/chromium/cc/CCLayerImpl.cpp: + (WebCore::CCLayerImpl::CCLayerImpl): + (WebCore::CCLayerImpl::updateFromLayer): + (WebCore::CCLayerImpl::descendantsDrawsContent): + * platform/graphics/chromium/cc/CCLayerImpl.h: + (WebCore::CCLayerImpl::anchorPoint): + (WebCore::CCLayerImpl::anchorPointZ): + (WebCore::CCLayerImpl::masksToBounds): + (WebCore::CCLayerImpl::opacity): + (WebCore::CCLayerImpl::position): + (WebCore::CCLayerImpl::preserves3D): + (WebCore::CCLayerImpl::sublayerTransform): + (WebCore::CCLayerImpl::transform): + +2011-03-08 James Robinson <jamesr@chromium.org> + + Chromium compile fix. + + * platform/graphics/chromium/SimpleFontDataLinux.cpp: + (WebCore::SimpleFontData::platformInit): + +2011-03-08 Peter Kasting <pkasting@google.com> + + Reviewed by James Robinson. + + Unify Windows version checks, part 1. + https://bugs.webkit.org/show_bug.cgi?id=55979 + + Make everyone (I hope) pull in SystemInfo.cpp. Eliminate the + now-unnecessary WindowsVersion.cpp from Chromium. + + * GNUmakefile.am: + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * platform/chromium/ScrollbarThemeChromiumWin.cpp: + (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit): + (WebCore::ScrollbarThemeChromiumWin::getThemeState): + (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState): + * platform/chromium/WindowsVersion.cpp: Removed. + * platform/chromium/WindowsVersion.h: Removed. + * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: + (WebCore::fillBMPGlyphs): + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::getNonClientMetrics): + +2011-03-08 Ryosuke Niwa <rniwa@webkit.org> + + Chromium Linux build fix attempt after r80582. + + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::Font::drawGlyphs): + * platform/graphics/chromium/SimpleFontDataLinux.cpp: + (WebCore::SimpleFontData::platformInit): + * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: + (WebCore::GlyphPage::fill): + +2011-03-08 Ryosuke Niwa <rniwa@webkit.org> + + Mac build fix attempt for r80582. + + * platform/graphics/mac/ComplexTextControllerATSUI.cpp: + (WebCore::disableLigatures): + +2011-03-08 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Kent Tamura. + + Remove calls to deprecatedEditingOffset in SelectionController and VisibleSelection + https://bugs.webkit.org/show_bug.cgi?id=54937 + + * editing/SelectionController.cpp: + (WebCore::SelectionController::setSelection): Calls anchorNode() instead of deprecatedNode() to obtain + the document. Also restrained the lifetime of document variable. + (WebCore::removingNodeRemovesPosition): Compare the node with anchorNode() instead of deprecatedNode() + to determine whether or not position becomes null after removing a node. + (WebCore::SelectionController::directionOfEnclosingBlock): The enclosing block is always a container + so call containerNode() instead of deprecatedNode(). + (WebCore::SelectionController::debugRenderer): Call containerNode() and computeOffsetInContainer() + instead of deprecatedNode() and deprecatedEditingOffset() respectively. + (WebCore::SelectionController::isInPasswordField): Look for the shadow root from containerNode() + instead of deprecatedNode to determine whether or not selection inside a password field. Also assert + that the specified position is not before or after the shadow root as it violates our assumption. + * editing/VisibleSelection.cpp: + (WebCore::makeSearchRange): Call containerNode() and offsetInContainerNode() instead of deprecatedNode() + and deprecatedEditingOffset() respectively because start is always parent anchored and therefore + guaranteed to be an offset inside an anchor node. + (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): Call containerNode() + instead of deprecatedNode() to look for the lowest editable ancestor because position before or after + an editable element isn't editable. + * page/DOMSelection.cpp: Call containerNode() and offsetInContainerNode() instead of deprecatedNode() + and deprecatedEditingOffset() respectively in the following functions because they are exposed to + DOM, which doesn't have before/after concept. + (WebCore::DOMSelection::anchorNode): + (WebCore::DOMSelection::anchorOffset): + (WebCore::DOMSelection::focusNode): + (WebCore::DOMSelection::focusOffset): + (WebCore::DOMSelection::baseNode): + (WebCore::DOMSelection::baseOffset): + (WebCore::DOMSelection::extentNode): + (WebCore::DOMSelection::extentOffset): + +2011-03-08 Brent Fulgham <bfulgham@webkit.org> + + Reviewed by Adam Roben. + + Correct uninitialized variable in PolicyCallback found while + running WebKit in BoundsChecker. + https://bugs.webkit.org/show_bug.cgi?id=45199. + + * loader/PolicyCallback.cpp: + (WebCore::PolicyCallback::PolicyCallback): Initialize + m_argument. + +2011-03-08 Brent Fulgham <bfulgham@webkit.org> + + More build bustage fix. + + * platform/graphics/win/cairo/FontPlatformData.h: + (WebCore::FontPlatformData::setOrientation): Duplicate accessor + in WinCairo-local header. This is such a mess! + +2011-03-08 David Hyatt <hyatt@apple.com> + + Fix build bustage. Hide orientation setting behind a setter and stub it out in all + FontPlatformData classes. (This class really needs to move to a common header with ifdefs.) + + * platform/graphics/SimpleFontData.cpp: + (WebCore::SimpleFontData::verticalRightOrientationFontData): + * platform/graphics/cg/FontPlatformData.h: + (WebCore::FontPlatformData::setOrientation): + * platform/graphics/chromium/FontPlatformDataChromiumWin.h: + (WebCore::FontPlatformData::setOrientation): + * platform/graphics/chromium/FontPlatformDataLinux.h: + (WebCore::FontPlatformData::setOrientation): + * platform/graphics/cocoa/FontPlatformData.h: + (WebCore::FontPlatformData::setOrientation): + * platform/graphics/freetype/FontPlatformData.h: + (WebCore::FontPlatformData::setOrientation): + * platform/graphics/qt/FontPlatformData.h: + (WebCore::FontPlatformData::setOrientation): + * platform/graphics/wince/FontPlatformData.h: + (WebCore::FontPlatformData::setOrientation): + * platform/graphics/wx/FontPlatformData.h: + (WebCore::FontPlatformData::setOrientation): + +2011-03-08 Joe Wild <joseph.wild@nokia.com> + + Reviewed by Csaba Osztrogonác. + + [Qt] Missing SVG variables + https://bugs.webkit.org/show_bug.cgi?id=32941 + + Basically, this patch just modifies features.pri to the Qt build to + pass on the ENABLE_SVG_* flags to the IDL binding generator. + + Also I had remove global-construtors.html from the skip list and + updated the associated expected results files. + + * features.pri: + * page/DOMWindow.idl: + +2011-03-08 Alok priyadarshi <alokp@chromium.org> + + Reviewed by Dimitri Glazkov. + + Plugins needs a way to trigger style recalc + https://bugs.webkit.org/show_bug.cgi?id=55242 + + No test needed. A simple get function is added. + + * platform/graphics/chromium/PluginLayerChromium.h: + (WebCore::PluginLayerChromium::getTextureId): + +2011-03-08 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=48540, support the text-orientation CSS property. + + This patch adds support for two values of the text-orientation property (the ones that actually matter): vertical-right and upright. + The TextOrientation is part of the FontDescription and used to look up fonts (similar to FontOrientation). + + Orientation of non-CJK characters is done using fallback font data of the appropriate orientation type, e.g., verticalRightOrientation and + uprightOrientation fallback font data. Vertical right is just implemented as a normal horizontal font. Upright is implemented as a + vertically oriented font that rotates all glyphs. + + The main complication implementing text-orientation is that fonts have "baked-in" vertical glyphs for letters that are hardcoded to + a vertical right facing. This means that you can use those special vertical glyphs for vertical-right orientation without having to + fall back, but then for upright orientation you have to ignore them and still fall back. As you can see from the test case, this doesn't + work very well, but hopefully it won't be all that common. Limitations of CoreText prevent this case from rendering properly in either the + simple or complex code paths, although the simple code path at least gets close. + + Added fast/blockflow/text-orientation-basic.html + + * WebCore.exp.in: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSFontFaceSource.cpp: + (WebCore::CSSFontFaceSource::getFontData): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + (WebCore::CSSPrimitiveValue::operator TextOrientation): + * css/CSSPropertyNames.in: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyDeclarations): + (WebCore::CSSStyleSelector::applyProperty): + * css/CSSValueKeywords.in: + * loader/cache/CachedFont.cpp: + (WebCore::CachedFont::platformDataFromCustomData): + * loader/cache/CachedFont.h: + * platform/graphics/FontCache.cpp: + (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): + (WebCore::FontPlatformDataCacheKey::operator==): + (WebCore::computeHash): + (WebCore::FontCache::getCachedFontPlatformData): + * platform/graphics/FontDescription.h: + (WebCore::FontDescription::FontDescription): + (WebCore::FontDescription::textOrientation): + (WebCore::FontDescription::setTextOrientation): + (WebCore::FontDescription::operator==): + * platform/graphics/FontFastPath.cpp: + (WebCore::Font::glyphDataForCharacter): + (WebCore::offsetToMiddleOfGlyph): + * platform/graphics/SimpleFontData.cpp: + (WebCore::SimpleFontData::SimpleFontData): + (WebCore::SimpleFontData::verticalRightOrientationFontData): + (WebCore::SimpleFontData::uprightOrientationFontData): + (WebCore::SimpleFontData::brokenIdeographFontData): + (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData): + * platform/graphics/SimpleFontData.h: + (WebCore::SimpleFontData::hasVerticalGlyphs): + (WebCore::SimpleFontData::isTextOrientationFallback): + * platform/graphics/cairo/FontCustomPlatformData.h: + * platform/graphics/cocoa/FontPlatformData.h: + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::textOrientation): + (WebCore::FontPlatformData::hash): + (WebCore::FontPlatformData::operator==): + * platform/graphics/cocoa/FontPlatformDataCocoa.mm: + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::operator=): + * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + * platform/graphics/haiku/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + * platform/graphics/haiku/FontCustomPlatformData.h: + * platform/graphics/mac/ComplexTextControllerCoreText.cpp: + (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): + * platform/graphics/mac/FontCacheMac.mm: + (WebCore::FontCache::createFontPlatformData): + * platform/graphics/mac/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + * platform/graphics/mac/FontCustomPlatformData.h: + * platform/graphics/mac/FontMac.mm: + (WebCore::showGlyphsWithAdvances): + (WebCore::Font::drawGlyphs): + * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: + (WebCore::shouldUseCoreText): + (WebCore::GlyphPage::fill): + * platform/graphics/mac/SimpleFontDataCoreText.cpp: + (WebCore::SimpleFontData::getCFStringAttributes): + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::platformBoundsForGlyph): + (WebCore::SimpleFontData::platformWidthForGlyph): + * platform/graphics/pango/FontCustomPlatformDataPango.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + * platform/graphics/qt/FontCustomPlatformData.h: + * platform/graphics/qt/FontCustomPlatformDataQt.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + * platform/graphics/skia/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + * platform/graphics/skia/FontCustomPlatformData.h: + * platform/graphics/win/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + * platform/graphics/win/FontCustomPlatformData.h: + * platform/graphics/win/FontCustomPlatformDataCairo.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + * platform/graphics/win/FontCustomPlatformDataCairo.h: + * platform/graphics/wince/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + * platform/graphics/wince/FontCustomPlatformData.h: + * platform/text/TextOrientation.h: Added. + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::requiresIdeographicBaseline): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::initialTextOrientation): + +2011-03-08 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + addInlineStyleIfNeeded should take EditingStyle + https://bugs.webkit.org/show_bug.cgi?id=55950 + + Deployed EditingStyle in addInlineStyleIfNeeded, StyleChange::StyleChange, and StyleChange::init. + Also extracted EditingStyle::styleIsPresentInComputedStyleOfNode from removeStyleFromRunBeforeApplyingStyle. + + * editing/ApplyStyleCommand.cpp: + (WebCore::StyleChange::StyleChange): Takes EditingStyle instead of CSSStyleDeclaration. + (WebCore::StyleChange::init): Ditto. + (WebCore::ApplyStyleCommand::applyBlockStyle): Instantiates StyleChange. + (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Calls addInlineStyleIfNeeded. + (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls styleIsPresentInComputedStyleOfNode. + (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Calls EditingStyle::mergeInlineStyleOfElement + instead of manually merging styles. + (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Calls addInlineStyleIfNeeded. + (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Takes EditingStyle instead of CSSMutableStyleDeclaration. + * editing/ApplyStyleCommand.h: + * editing/CompositeEditCommand.h: + * editing/EditingStyle.cpp: + (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode): Extracted from removeStyleFromRunBeforeApplyingStyle. + * editing/EditingStyle.h: + +2011-03-08 Nico Weber <thakis@chromium.org> + + Reviewed by James Robinson. + + Crash on big blur radius with canvas + https://bugs.webkit.org/show_bug.cgi?id=55951 + + Move the clamping code out of an if branch, so that it happens in the + canvas case as well. + + Test: fast/canvas/shadow-huge-blur.html + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::setPlatformShadow): + +2011-03-08 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Sam Weinig. + + WK2: Cannot set focus on an element when focus is outside of WKView + https://bugs.webkit.org/show_bug.cgi?id=55281 + + In WK2, focus cannot be set from the WebProcess side because there's no platformWidget(). + Instead, the focus/unfocus messages need to be sent to the UIProcess side. + + * platform/mac/WidgetMac.mm: + (WebCore::Widget::setFocus): + +2011-03-08 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Overflow: scroll areas should not paint white in scroll corner if the + scrollbars are overlay. + <rdar://problem/9082871> + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintScrollCorner): + Don't paint the scroll corner white if we have overlay scrollbars. + +2011-03-08 Chris Marrin <cmarrin@apple.com> + + Reviewed by Darin Adler. + + The first time animations are committed they have a bad start time + https://bugs.webkit.org/show_bug.cgi?id=55947 + + Do a check for a returned lastCommitTime of <=0 and replace it + with the mediaTime. + + + * platform/graphics/ca/win/CACFLayerTreeHost.cpp: + (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): + +2011-03-08 James Kozianski <koz@chromium.org> + + Reviewed by David Levin. + + Expose isValidProtocol() in KURL.h. + https://bugs.webkit.org/show_bug.cgi?id=54594 + + This is needed to validate protocols used in calls to + navigator.registerProtocolHandler(). + + * platform/KURL.cpp: + * platform/KURL.h: + * platform/KURLGoogle.cpp: + (WebCore::isValidProtocol): + +2011-03-08 Adam Roben <aroben@apple.com> + + Set svn:mime-type to text/css for all Inspector CSS files + + This will cause them to be served with the correct MIME type from svn.webkit.org's web + interface. + + Rubber-stamped by Tim Hatcher. + + * inspector/front-end/audits.css: Added property svn:mime-type. + * inspector/front-end/goToLineDialog.css: Added property svn:mime-type. + * inspector/front-end/heapProfiler.css: Added property svn:mime-type. + * inspector/front-end/helpScreen.css: Added property svn:mime-type. + * inspector/front-end/inspector.css: Added property svn:mime-type. + * inspector/front-end/inspectorSyntaxHighlight.css: Added property svn:mime-type. + * inspector/front-end/networkPanel.css: Added property svn:mime-type. + * inspector/front-end/popover.css: Added property svn:mime-type. + * inspector/front-end/textViewer.css: Added property svn:mime-type. + +2011-03-08 Andrei Popescu <andreip@google.com> + + Reviewed by Steve Block. + + IDBCallbacks::onsuccess(IDBIndex*) is unused and should be removed. + https://bugs.webkit.org/show_bug.cgi?id=55938 + + The IndexedDatabase specification changed and IDBIndex objects are no + longer created asynchronously. We therefore no longer need this method. + + No new tests, just cleanup. + + * storage/IDBCallbacks.h: + * storage/IDBRequest.cpp: + * storage/IDBRequest.h: + +2011-03-08 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r80551. + http://trac.webkit.org/changeset/80551 + https://bugs.webkit.org/show_bug.cgi?id=55933 + + It broke 285 tests on Qt bot (Requested by Ossy on #webkit). + + * WebCore.pro: + * platform/SharedBuffer.cpp: + * platform/SharedBuffer.h: + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + (WebCore::QNetworkReplyHandler::forwardData): + (WebCore::QNetworkReplyHandler::start): + * platform/network/qt/QNetworkReplyHandler.h: + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::ResourceHandle::supportsBufferedData): + (WebCore::ResourceHandle::bufferedData): + * platform/qt/QtByteBlock.cpp: Removed. + * platform/qt/QtByteBlock.h: Removed. + * platform/qt/SharedBufferQt.cpp: + +2011-03-08 Andreas Kling <kling@webkit.org> + + Reviewed by Benjamin Poulain. + + RenderObject: Pass complex type arguments as const-references. + + * WebCore.exp.in: + * rendering/RenderObject.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::drawBoxSideFromPath): + (WebCore::RenderObject::drawArcForBoxSide): + (WebCore::RenderObject::localToAbsolute): + (WebCore::RenderObject::absoluteToLocal): + +2011-03-08 Andreas Kling <kling@webkit.org> + + Reviewed by Antonio Gomes. + + Path: Make measurement functions const + https://bugs.webkit.org/show_bug.cgi?id=55914 + + * platform/graphics/Path.cpp: + (WebCore::Path::length): + (WebCore::Path::pointAtLength): + (WebCore::Path::normalAngleAtLength): + * platform/graphics/Path.h: + * platform/graphics/cairo/PathCairo.cpp: + (WebCore::Path::strokeBoundingRect): + * platform/graphics/cg/PathCG.cpp: + (WebCore::Path::strokeBoundingRect): + * platform/graphics/openvg/PathOpenVG.cpp: + (WebCore::Path::strokeBoundingRect): + (WebCore::Path::length): + (WebCore::Path::pointAtLength): + (WebCore::Path::normalAngleAtLength): + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::strokeBoundingRect): + (WebCore::Path::length): + (WebCore::Path::pointAtLength): + (WebCore::Path::normalAngleAtLength): + * platform/graphics/skia/PathSkia.cpp: + (WebCore::Path::strokeBoundingRect): + * platform/graphics/wince/PathWinCE.cpp: + (WebCore::Path::strokeBoundingRect): + * platform/graphics/wx/PathWx.cpp: + (WebCore::Path::strokeBoundingRect): + +2011-03-08 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Do not set juntion sides on scrollbar stepper buttons + https://bugs.webkit.org/show_bug.cgi?id=55868 + + Fixes rendering of steppers for themes using rounded stepper + buttons on scrollbars like Adwaita. + + * platform/gtk/ScrollbarThemeGtk3.cpp: + (WebCore::ScrollbarThemeGtk::paintButton): + +2011-03-08 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Use doubles instead of integers for coordinates when rendering arrows + https://bugs.webkit.org/show_bug.cgi?id=55866 + + To prevent off-by-one rounding errors. + + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::RenderThemeGtk::paintMenuList): + * platform/gtk/ScrollbarThemeGtk3.cpp: + (WebCore::ScrollbarThemeGtk::paintButton): + +2011-03-08 Markus Goetz <guruz@guruz.de> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Use the QNetworkAccessManager zerocopy feature + https://bugs.webkit.org/show_bug.cgi?id=50082 + + The feature will be introduced in Qt 4.8. + This patch is backwards compatible with Qt 4.7. + + * WebCore.pro: + * platform/SharedBuffer.cpp: + * platform/SharedBuffer.h: + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + (WebCore::QNetworkReplyHandler::bufferedData): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + (WebCore::QNetworkReplyHandler::downloadProgress): + (WebCore::QNetworkReplyHandler::forwardData): + (WebCore::QNetworkReplyHandler::start): + * platform/network/qt/QNetworkReplyHandler.h: + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::ResourceHandle::supportsBufferedData): + (WebCore::ResourceHandle::bufferedData): + * platform/qt/SharedBufferQt.cpp: + (WebCore::SharedBuffer::wrapQtByteBlock): + (WebCore::SharedBuffer::hasPlatformData): + (WebCore::SharedBuffer::platformData): + (WebCore::SharedBuffer::platformDataSize): + (WebCore::SharedBuffer::maybeTransferPlatformData): + (WebCore::SharedBuffer::clearPlatformData): + +2011-03-08 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Fix compilation warnings after r80429 + https://bugs.webkit.org/show_bug.cgi?id=55864 + + * platform/gtk/WidgetGtk.cpp: + +2011-03-08 Philippe Normand <pnormand@igalia.com> + + Unreviewed, GTK build fix after r80536 + + * GNUmakefile.am: + +2011-03-08 Zan Dobersek <zandobersek@gmail.com> + + Reviewed by Martin Robinson. + + [Gtk] toDataURL uses incorrect quality value when saving GdkPixbuf to buffer + https://bugs.webkit.org/show_bug.cgi?id=55878 + + Multiply the quality parameter by 100 to put it in the range [0, 100] as needed + when saving GdkPixbuf to a buffer. + + * platform/graphics/gtk/ImageBufferGtk.cpp: + (WebCore::ImageBuffer::toDataURL): + +2011-03-07 Daniel Cheng <dcheng@chromium.org> + + Unreviewed. + + Final build fix for r80536. + + * DerivedSources.make: + +2011-03-07 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Reviewed by Kent Tamura. + + [EFL] Adjust functions of WebCore's efl port to WebKit coding style + https://bugs.webkit.org/show_bug.cgi?id=55924 + + Adjust webkit style to PlatformKeyboardEventEfl, PlatformMouseEventEfl and WidgetEfl files. + + * platform/efl/PlatformKeyboardEventEfl.cpp: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + * platform/efl/PlatformMouseEventEfl.cpp: + (WebCore::PlatformMouseEvent::PlatformMouseEvent): + * platform/efl/WidgetEfl.cpp: + (WebCore::Widget::frameRectsChanged): + (WebCore::Widget::setEvasObject): + +2011-03-07 Daniel Cheng <dcheng@chromium.org> + + Unreviewed. + + More build fixes for r80536. + + * CMakeLists.txt: + * platform/chromium/ClipboardChromium.cpp: + * platform/chromium/ClipboardChromium.h: + +2011-03-07 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Reviewed by Antonio Gomes. + + [EFL] Adjust functions of ScrollbarEfl.cpp to WebKit coding style + https://bugs.webkit.org/show_bug.cgi?id=55917 + + Adjust webkit style to ScrollbarEfl files. + + * platform/efl/ScrollbarEfl.cpp: + (scrollbarEflEdjeMessage): + (ScrollbarEfl::setParent): + (ScrollbarEfl::updateThumbPositionAndProportion): + (ScrollbarEfl::frameRectsChanged): + (ScrollbarEfl::paint): + * platform/efl/ScrollbarEfl.h: + +2011-03-07 Daniel Cheng <dcheng@chromium.org> + + Unreviewed. + + Build fix for Chromium after r80536. + + * platform/chromium/DataTransferItemChromium.cpp: + * platform/chromium/DataTransferItemsChromium.cpp: + +2011-03-07 Daniel Cheng <dcheng@chromium.org> + + Unreviewed. + + More build fixes for r80536. + + * CMakeLists.txt: + * platform/chromium/ClipboardChromium.cpp: + * platform/chromium/ClipboardChromium.h: + +2011-03-07 Daniel Cheng <dcheng@chromium.org> + + Reviewed by David Levin. + + Add support for DataTransferItems + https://bugs.webkit.org/show_bug.cgi?id=55115 + + This patch adds stubs for DataTransferItems/DataTransferItem as well as implementing the + basic functionality on the Chromium port. With the exception of DataTransferItem::getAsFile, + all functionality on the DataTransferItems collection has been implemented. + This change does not actually hook up DataTransferItems to reflect the actual contents of a + drop/paste operation or to allow mutation of data in a copy/drag start yet. That will be + enabled via several followup patches. + + Test: editing/pasteboard/data-transfer-items.html + + * Android.mk: + * CMakeLists.txt: + * CodeGenerators.pri: + * DerivedSources.cpp: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/generic/RuntimeEnabledFeatures.cpp: + * bindings/generic/RuntimeEnabledFeatures.h: + (WebCore::RuntimeEnabledFeatures::setDataTransferItemsEnabled): + (WebCore::RuntimeEnabledFeatures::dataTransferItemsEnabled): + * bindings/scripts/CodeGeneratorV8.pm: Do not emit an #include line for DOMString, since it's built-in. + * dom/Clipboard.h: + (WebCore::Clipboard::policy): + * dom/Clipboard.idl: + * dom/DataTransferItem.cpp: Added. + * dom/DataTransferItem.h: Added. + (WebCore::DataTransferItem::~DataTransferItem): + * dom/DataTransferItem.idl: Added. + * dom/DataTransferItems.h: Added. + (WebCore::DataTransferItems::~DataTransferItems): + * dom/DataTransferItems.idl: Added. + * dom/StringCallback.cpp: Added. + (WebCore::StringCallback::scheduleCallback): + * dom/StringCallback.h: Added. + (WebCore::StringCallback::~StringCallback): + * dom/StringCallback.idl: Added. + * platform/chromium/ClipboardChromium.cpp: + (WebCore::ClipboardChromium::items): + * platform/chromium/ClipboardChromium.h: + * platform/chromium/DataTransferItemChromium.cpp: Added. + (WebCore::DataTransferItemChromium::create): + (WebCore::DataTransferItemChromium::DataTransferItemChromium): + (WebCore::DataTransferItemChromium::kind): + (WebCore::DataTransferItemChromium::type): + (WebCore::DataTransferItemChromium::getAsString): + * platform/chromium/DataTransferItemChromium.h: Added. + * platform/chromium/DataTransferItemsChromium.cpp: Added. + (WebCore::DataTransferItemsChromium::create): + (WebCore::DataTransferItemsChromium::DataTransferItemsChromium): + (WebCore::DataTransferItemsChromium::length): + (WebCore::DataTransferItemsChromium::item): + (WebCore::DataTransferItemsChromium::deleteItem): + (WebCore::DataTransferItemsChromium::clear): + (WebCore::DataTransferItemsChromium::add): + * platform/chromium/DataTransferItemsChromium.h: Added. + 2011-03-07 Ryosuke Niwa <rniwa@webkit.org> Reviewed by Darin Adler. |