summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/ChangeLog')
-rw-r--r--Source/WebCore/ChangeLog18164
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 &lt;input type=image&gt;
+ 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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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.