blob: 115159b8b7e7e38dd189094c8435c4e79cf13c5b [file] [log] [blame]
2010-12-29 Kenichi Ishibashi <bashi@google.com>
Reviewed by Darin Adler.
Use a HashMap for m_continuation to save memory
https://bugs.webkit.org/show_bug.cgi?id=43716
Saving memory consumption by applying a HashMap convention to
continuation pointers of RenderInline and RenderBlock classes.
* rendering/RenderBlock.cpp: Removed m_continuation.
(WebCore::RenderBlock::RenderBlock):
(WebCore::RenderBlock::destroy):
(WebCore::RenderBlock::inlineElementContinuation):
(WebCore::RenderBlock::blockElementContinuation):
* rendering/RenderBlock.h: Removed m_continuation.
* rendering/RenderBoxModelObject.cpp: Added a hash map for continuations.
(WebCore::RenderBoxModelObject::destroy): Added an assertion.
(WebCore::RenderBoxModelObject::continuation): Added.
(WebCore::RenderBoxModelObject::setContinuation): Added.
* rendering/RenderBoxModelObject.h:
* rendering/RenderInline.cpp: Removed m_continuation.
(WebCore::RenderInline::RenderInline):
(WebCore::RenderInline::destroy):
(WebCore::RenderInline::inlineElementContinuation):
* rendering/RenderInline.h: Removed m_continuation.
2010-12-27 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
Reviewed by Martin Robinson.
[GTK] Enable building whatever already exists of WebKit2
https://bugs.webkit.org/show_bug.cgi?id=37369
No new functionality added or deleted. Only makefile change. Hence, no tests added.
* GNUmakefile.am: Removed bindings/gobject from webcore_sources & webcore_cppflags and
added them to WebKit/gtk/GNUmakefile.am
* platform/network/soup/cache/webkit/soup-cache.h: Remove include <webkit/webkitdefines.h>
and declare WEBKIT_API directly
2010-12-29 Eric Seidel <eric@webkit.org>
Unreviewed.
Simplify make-hash-tools.pl
https://bugs.webkit.org/show_bug.cgi?id=49922
Added HashTools.h to the project file now that its not autogenerated.
I also sorted the project file using sort-xcode-project-file
* WebCore.xcodeproj/project.pbxproj:
2010-12-29 Pavel Feldman <pfeldman@chromium.org>
Not reviewed: revert r74755 and 74757.
2010-12-29 Martin Robinson <mrobinson@igalia.com>
Reviewed by Sam Weinig.
JSDataViewCustom.cpp gives the fastcall calling convention to functions called via C++
https://bugs.webkit.org/show_bug.cgi?id=51722
Remove the JSC_HOST_CALL from methods that are called from C++. JSC_HOST_CALL gives
methods the fastcall calling convention, which leads to runtime errors when they are
called from C++. Also remove a bit of unnecessary code duplication.
No new tests. This is covered by fast/canvas/webgl/data-view-test.html.
* bindings/js/JSDataViewCustom.cpp:
(WebCore::getDataViewMember): Remove duplicated code.
(WebCore::JSDataView::getInt8): Remove JSC_HOST_CALL.
(WebCore::JSDataView::getUint8): Ditto.
(WebCore::JSDataView::getFloat32): Ditto.
(WebCore::JSDataView::getFloat64): Ditto.
(WebCore::setDataViewMember): Remove duplicated code.
(WebCore::JSDataView::setInt8): Remove JSC_HOST_CALL.
(WebCore::JSDataView::setUint8): Ditto.
2010-12-29 Dan Bernstein <mitz@apple.com>
Reviewed by Kenneth Russel.
A more robust fix for https://bugs.webkit.org/show_bug.cgi?id=51681
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::attach): Added. Like recalcStyle(), calls
CanvasRenderingContext2D::updateFont() if necessary. This covers the case of a detach/
attach-type style recalc.
* html/HTMLCanvasElement.h:
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal): Removed the early return added in
r74716. A font that is loading custom fonts is okay to use, as long as it is valid.
(WebCore::CanvasRenderingContext2D::accessFont): Added a call to
Document::updateStyleIfNeeded(). This ensures that any pending style recalc will take place
and update the font if it is invalid.
* platform/graphics/Font.h:
(WebCore::Font::loadingCustomFonts): Made this private.
2010-12-29 Pavel Feldman <pfeldman@chromium.org>
Not reviewed: Qt build fix.
* inspector/InspectorController.cpp:
2010-12-29 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: extract Database & DOM Storage
agents; remove InspectorBackend.
https://bugs.webkit.org/show_bug.cgi?id=51707
This change brushes up storage agents + removes redundant
InspectorBackend class.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/CodeGeneratorInspector.pm:
* inspector/InjectedScriptHost.cpp:
(WebCore::InjectedScriptHost::databaseForId):
(WebCore::InjectedScriptHost::selectDatabase):
(WebCore::InjectedScriptHost::selectDOMStorage):
(WebCore::InjectedScriptHost::inspectorDOMAgent):
* inspector/Inspector.idl:
* inspector/InspectorBackend.cpp: Removed.
* inspector/InspectorBackend.h: Removed.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::~InspectorController):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::releaseFrontendLifetimeAgents):
(WebCore::InspectorController::didUseDOMStorage):
(WebCore::InspectorController::setInjectedScriptSource):
(WebCore::InspectorController::dispatchOnInjectedScript):
(WebCore::InspectorController::releaseWrapperObjectGroup):
* inspector/InspectorController.h:
* inspector/InspectorDOMStorageAgent.cpp: Added.
(WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
(WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
(WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::selectDOMStorage):
(WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
(WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
* inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h.
(WebCore::InspectorDOMStorageAgent::create):
(WebCore::InspectorDOMStorageAgent::frontend):
* inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp.
(WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
(WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
(WebCore::InspectorDatabaseAgent::executeSQL):
(WebCore::InspectorDatabaseAgent::databaseForId):
(WebCore::InspectorDatabaseAgent::selectDatabase):
(WebCore::InspectorDatabaseAgent::clearFrontend):
(WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
* inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h.
(WebCore::InspectorDatabaseAgent::create):
(WebCore::InspectorDatabaseAgent::frontend):
* inspector/InspectorFrontendClientLocal.cpp:
* inspector/InspectorFrontendClientLocal.h:
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.show):
2010-12-29 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Eric Seidel.
Assertion failure: element->inDocument() in AsyncScriptRunner::executeScriptSoon()
https://bugs.webkit.org/show_bug.cgi?id=51067
Typically when a script element is removed from the document, the cached script
client is removed. However, during the before load event, the cached script client
hasn't been created yet so it can't be removed.
This patch handles that case by explicitly checking if the script element was
removed during the beforeload event. Also, it avoids caching the Document references
over the arbitrary script execution in the before load event.
Test: fast/dom/HTMLScriptElement/move-in-beforeload.html
fast/dom/HTMLScriptElement/remove-in-beforeload.html
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::requestScript):
2010-12-29 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Element highlight tooltip displays wrong element size when zoomed in
https://bugs.webkit.org/show_bug.cgi?id=51703
* inspector/InspectorController.cpp:
(WebCore::InspectorController::drawElementTitle):
2010-12-29 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Kent Tamura.
[HTML5][Forms] Support for :in-range and :out-of-range CSS selectors
https://bugs.webkit.org/show_bug.cgi?id=29071
Use InputType::rangeUnderflow() and InputType::rangeOverflow()
to determine if a control is in-range or out-of-range.
Tests: fast/css/pseudo-in-range-invalid-value.html
fast/css/pseudo-in-range.html
fast/css/pseudo-out-of-range.html
* css/CSSSelector.cpp:
(WebCore::CSSSelector::pseudoId):
(WebCore::nameToPseudoTypeMap):
(WebCore::CSSSelector::extractPseudoType):
* css/CSSSelector.h:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::canShareStyleWithElement):
(WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
* dom/Element.h:
(WebCore::Element::isInRange):
(WebCore::Element::isOutOfRange):
* html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::supportsRangeLimitation):
* html/BaseDateAndTimeInputType.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isInRange):
(WebCore::HTMLInputElement::isOutOfRange):
* html/HTMLInputElement.h:
* html/InputType.cpp:
(WebCore::InputType::supportsRangeLimitation):
* html/InputType.h:
* html/NumberInputType.cpp:
(WebCore::NumberInputType::supportsRangeLimitation):
* html/NumberInputType.h:
* html/RangeInputType.cpp:
(WebCore::RangeInputType::supportsRangeLimitation):
* html/RangeInputType.h:
2010-12-29 Abhishek Arya <inferno@chromium.org>
Reviewed by Eric Seidel.
When cloning an anonymous block, make sure to set the childrenInline flag based
on the state of the block to be cloned.
https://bugs.webkit.org/show_bug.cgi?id=51489
Test: fast/multicol/span/clone-anonymous-block-non-inline-child-crash.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::clone): add code to handle cloning of anonymous blocks.
(WebCore::RenderBlock::splitBlocks): remove anonymous block creation calls since it is now handled by clone().
2010-12-29 Patrick Gansterer <paroga@webkit.org>
Unreviewed build fix for WinCE after r73802.
Reapply parts from r72585:
Port ContextMenuWin.cpp to WinCE
https://bugs.webkit.org/show_bug.cgi?id=48408
* CMakeLists.txt:
* platform/ContextMenu.h:
* platform/win/ContextMenuWin.cpp:
(WebCore::ContextMenu::getContextMenuItems):
(WebCore::ContextMenu::createNativeMenuFromItems):
2010-12-29 Kent Hansen <kent.hansen@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Fix compilation with Qt in namespace
https://bugs.webkit.org/show_bug.cgi?id=51701
* platform/graphics/ContextShadow.h:
* platform/graphics/GraphicsContext3D.h:
* platform/network/NetworkingContext.h:
* platform/network/qt/QtNAMThreadSafeProxy.h:
* plugins/PluginView.h:
2010-12-28 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: A disabled style property should get enabled when edited
https://bugs.webkit.org/show_bug.cgi?id=51679
Test: inspector/styles-disable-then-change.html
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSProperty.prototype.setText):
(WebInspector.CSSProperty.prototype.setText.callback):
2010-12-29 Patrick Gansterer <paroga@webkit.org>
Reviewed by Andreas Kling.
[CMake] Remove WebKitGenerators
https://bugs.webkit.org/show_bug.cgi?id=50445
* CMakeLists.txt: Pass preprocessor to generate-bindings.pl.
2010-12-28 Pratik Solanki <psolanki@apple.com>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=51522
Use deviceRGBColorSpaceRef() instead of calling CGColorSpaceCreateDeviceRGB()
* page/win/FrameCGWin.cpp:
(WebCore::imageFromRect):
* platform/graphics/cg/GradientCG.cpp:
(WebCore::Gradient::platformGradient):
* platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::GraphicsContext3D::paintToCanvas):
* platform/graphics/cg/ImageCG.cpp:
(WebCore::BitmapImage::checkForSolidColor):
* platform/graphics/gstreamer/ImageGStreamerCG.mm:
(ImageGStreamer::ImageGStreamer):
* platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::CGContextWithHDC):
(WebCore::GraphicsContext::releaseWindowsContext):
(WebCore::GraphicsContext::drawWindowsBitmap):
* platform/graphics/win/ImageCGWin.cpp:
(WebCore::BitmapImage::create):
(WebCore::BitmapImage::getHBITMAPOfSize):
* platform/image-decoders/cg/ImageDecoderCG.cpp:
(WebCore::createColorSpace):
* platform/win/DragImageCGWin.cpp:
(WebCore::allocImage):
(WebCore::createCgContextFromBitmap):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintMenuListButtonGradients):
(WebCore::RenderThemeMac::paintSliderTrack):
* rendering/RenderThemeSafari.cpp:
(WebCore::RenderThemeSafari::paintMenuListButtonGradients):
(WebCore::RenderThemeSafari::paintSliderTrack):
2010-12-28 Daniel Bates <dbates@rim.com>
Reviewed by Sam Weinig.
Substitute // MARK: for compiler-specific #pragma mark
https://bugs.webkit.org/show_bug.cgi?id=51657
Fix compilation warnings about "#pragma mark" on GTK+ bots by
substituting "// MARK:" for "#pragma mark", which provides
analogous code-bookmarking functionality under Xcode.
* platform/graphics/cg/PathCG.cpp:
* platform/graphics/mac/WebLayer.mm:
2010-12-28 Jan Erik Hanssen <jhanssen@sencha.com>
Reviewed by Eric Seidel.
[Qt] GraphicsContext::getCTM() does not need to make a copy of QPainter::combinedTransform()
https://bugs.webkit.org/show_bug.cgi?id=51687
Use a const reference instead of a copy of QPainter::combinedTransform()
in GraphicsContext::getCTM()
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::getCTM):
2010-12-28 Takashi Toyoshima <toyoshim@google.com>
Reviewed by Eric Seidel.
gcc detected 'control reaches end of non-void function' with
-finstrument-functions option.
https://bugs.webkit.org/show_bug.cgi?id=51669
No new tests. These fixes are trivial.
* dom/Element.cpp:
(WebCore::Element::childTypeAllowed):
* inspector/InspectorResourceAgent.cpp:
(WebCore::cachedResourceTypeString):
2010-12-28 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Eric Seidel.
Remove unused member of PendingScript
https://bugs.webkit.org/show_bug.cgi?id=51684
This was used when HTMLScriptRunner::runScript created a PendingScript
for inline scripts. But now it just calls executeScript() directly.
External scripts always have the minimum starting line number.
No new tests because no changed functionality.
* dom/PendingScript.cpp:
(WebCore::PendingScript::releaseElementAndClear):
* dom/PendingScript.h:
(WebCore::PendingScript::PendingScript):
(WebCore::PendingScript::operator=):
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::sourceFromPendingScript):
2010-12-20 Antonio Gomes <agomes@rim.com>
Reviewed by Daniel Bates.
Spatial Navigation: code clean up (Part VI)
https://bugs.webkit.org/show_bug.cgi?id=50666
No new tests needed.
* page/FocusController.cpp:
(WebCore::updatFocusCandidateIfNeeded): Assert renderer() and
isElementNode() now that we are bailing out earlier in both the
FocusCandidate constructor and FocusController::findFocusCandidateInContainer().
* page/SpatialNavigation.h: Swapped the parameters order in canScrollInDirection
and virtualRectForAreaElementAndDirection functions.
(WebCore::FocusController::findFocusCandidateInContainer):
(WebCore::FocusController::advanceFocusDirectionallyInContainer): Adjusted callsites
of canScrollInDirection(), and added an early return if !isElementNode().
(WebCore::FocusController::advanceFocusDirectionally): Adjusted callsite of
virtualRectForAreaElementAndDirection();
* page/SpatialNavigation.cpp:
(WebCore::FocusCandidate::FocusCandidate): Assert if node is not a element node;
(WebCore::isScrollableNode): Renamed from isScrollableContainerNode;
(WebCore::scrollInDirection): Adjusted callsite after function name change;
(WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDi:rection): Assert if node is
a documentNode.
(WebCore::canScrollInDirection): Signature changed.
(WebCore::canBeScrolledIntoView): Ditto.
(WebCore::virtualRectForAreaElementAndDirection): Ditto.
2010-12-28 Adrienne Walker <enne@google.com>
Reviewed by Kenneth Russell.
[chromium] Fix tiled compositor assertion after GPU process recovery.
https://bugs.webkit.org/show_bug.cgi?id=51682
After the GPU process recovers, the layer size is set to IntSize(),
but IntRect::unite() has a special case for empty rects. This
behavior was causing the layer size to be too small, causing an
out-of-bounds array access elsewhere.
No new tests.
* platform/graphics/chromium/LayerTilerChromium.cpp:
(WebCore::LayerTilerChromium::growLayerToContain):
2010-12-23 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Initialize to 0 for undefined values in CopyTexImage2D
https://bugs.webkit.org/show_bug.cgi?id=51421
* html/canvas/WebGLFramebuffer.cpp: Track width/height/internalFormat of color buffer.
(WebCore::WebGLFramebuffer::WebGLFramebuffer):
(WebCore::WebGLFramebuffer::setAttachment):
(WebCore::WebGLFramebuffer::getWidth):
(WebCore::WebGLFramebuffer::getHeight):
(WebCore::WebGLFramebuffer::getColorBufferFormat):
* html/canvas/WebGLFramebuffer.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::copyTexImage2D): Initialize undefined pixels to 0.
(WebCore::WebGLRenderingContext::copyTexSubImage2D):
(WebCore::WebGLRenderingContext::framebufferTexture2D):
(WebCore::WebGLRenderingContext::renderbufferStorage):
(WebCore::WebGLRenderingContext::getBoundFramebufferWidth):
(WebCore::WebGLRenderingContext::getBoundFramebufferHeight):
* html/canvas/WebGLRenderingContext.h:
* html/canvas/WebGLTexture.cpp: Track width/height/internalFormat of a texture by target/level.
(WebCore::WebGLTexture::getInternalFormat):
(WebCore::WebGLTexture::getWidth):
(WebCore::WebGLTexture::getHeight):
(WebCore::WebGLTexture::mapTargetToIndex):
(WebCore::WebGLTexture::getLevelInfo):
* html/canvas/WebGLTexture.h:
(WebCore::WebGLTexture::isTexture):
* platform/graphics/GraphicsContext3D.h: Add getInternalFramebufferSize() function.
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::getInternalFramebufferSize):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::getInternalFramebufferSize):
2010-12-23 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Map GLsizei to long instead of unsigned long in WebGLRenderingContext and GraphicsContext3D
https://bugs.webkit.org/show_bug.cgi?id=39855
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::copyTexImage2D): Map GLsizei to long.
(WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
(WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
(WebCore::WebGLRenderingContext::scissor): Ditto.
(WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
(WebCore::WebGLRenderingContext::texImage2D): Ditto.
(WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
(WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto.
(WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
(WebCore::WebGLRenderingContext::viewport): Ditto.
(WebCore::WebGLRenderingContext::validateSize): Check the sizes are non-negative.
* html/canvas/WebGLRenderingContext.h:
* html/canvas/WebGLRenderingContext.idl:
2010-12-28 Abhishek Arya <inferno@chromium.org>
Reviewed by Kenneth Russell.
Fix crash with invalid font in m_fontList by not drawing text when a custom font is in the
process of loading.
https://bugs.webkit.org/show_bug.cgi?id=51681
Test: canvas/philip/tests/2d.text-custom-font-load-crash.html
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal): bail out if a custom font is loading.
* platform/graphics/Font.cpp:
(WebCore::Font::operator==): Replace condition with new function loadingCustomFonts()
(WebCore::Font::drawText): Replace condition with new function loadingCustomFonts()
(WebCore::Font::drawEmphasisMarks): Replace condition with new function loadingCustomFonts()
* platform/graphics/Font.h:
(WebCore::Font::loadingCustomFonts): new function that returns if a custom font is loading.
2010-12-28 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Eric Seidel.
Combine setShadowRoot and clearShadowRoot into a simpler API
https://bugs.webkit.org/show_bug.cgi?id=50971
No change in behavior, and API is not used yet.
* dom/Element.cpp:
(WebCore::Element::setShadowRoot): Combined clearing and setting of
the shadowRoot, also hooked up with setting and clearing of the
corresponding shadowHost values.
* dom/Element.h: renamed clearShadowRoot to removeShadowRoot and made it
private.
* dom/Node.h: Made shadow host-related functions public so that
Element::setShadowRoot can access setShadowHost. It seems logical
to make shadowHost public as well to keep the defs together.
2010-12-28 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: [Chromium] Expose extension API to select a node in WebInspector
Do not request content for resources with non-numeric identifiers.
https://bugs.webkit.org/show_bug.cgi?id=49727
Test: http/tests/inspector/extensions-resources-redirect.html
* inspector/front-end/NetworkManager.js:
(WebInspector.NetworkManager.prototype._appendRedirect):
2010-12-28 Ilya Tikhonovsky <loislo@chromium.org>
Unreviewed build fix for Qt.
ResourceTreeModel.js was added.
* inspector/front-end/WebKit.qrc:
2010-12-28 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Pavel Feldman.
[Chromium] Fix memory leak in Profiles tab concerned with heap profiles views.
https://bugs.webkit.org/show_bug.cgi?id=51680
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype._reset):
2010-12-28 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: REGRESSION: Clicking image resource in style sidebar doesn't actually go to resource anymore
https://bugs.webkit.org/show_bug.cgi?id=51663
The base URI is now computed correctly for links from CSS property uri(...) values. Additionally,
optional quotes/apostrophes and spaces are now allowed inside uri(...).
Test: inspector/styles-url-linkify.html
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
(WebInspector.StylePropertyTreeElement.prototype.updateTitle):
2010-12-21 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Protocol cleanup task. Introduce Network, DOMStorage and Database domains.
Domain was changed for Resources, FileSystem etc. related methods.
ResourcesManager was renamed to NetworkManager.
ResourceTreeModel was extracted as separate file.
FileSystem, Database, DOMStorage and ApplicationCache methods were
removed from NetworkManager and added to corresponding classes.
https://bugs.webkit.org/show_bug.cgi?id=51334
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl:
* inspector/front-end/AuditRules.js:
(WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
(WebInspector.CSSStyleModel.prototype._styleSheetChanged):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.addMessage):
(WebInspector.ConsoleView.prototype.clearMessages):
* inspector/front-end/DOMAgent.js:
(WebInspector.ApplicationCache.updateApplicationCacheStatus):
(WebInspector.ApplicationCache.updateNetworkState):
* inspector/front-end/DOMStorage.js:
(WebInspector.DOMStorage.addDOMStorage):
(WebInspector.DOMStorage.selectDOMStorage):
(WebInspector.DOMStorage.updateDOMStorage):
* inspector/front-end/Database.js:
(WebInspector.Database.prototype.executeSql):
(WebInspector.Database.addDatabase):
(WebInspector.Database.selectDatabase):
(WebInspector.Database.sqlTransactionSucceeded):
(WebInspector.Database.sqlTransactionFailed):
* inspector/front-end/FileSystemView.js:
(WebInspector.FileSystem.didGetFileSystemPath):
(WebInspector.FileSystem.didGetFileSystemError):
(WebInspector.FileSystem.didGetFileSystemDisabled):
* inspector/front-end/NetworkItemView.js:
(WebInspector.NetworkItemView):
* inspector/front-end/NetworkManager.js: Added.
(WebInspector.NetworkManager):
(WebInspector.NetworkManager.prototype._createResource):
(WebInspector.NetworkManager.prototype.identifierForInitialRequest):
(WebInspector.NetworkManager.prototype.willSendRequest):
(WebInspector.NetworkManager.prototype._updateResourceWithRequest):
(WebInspector.NetworkManager.prototype._appendRedirect):
(WebInspector.NetworkManager.prototype.markResourceAsCached):
(WebInspector.NetworkManager.prototype.didReceiveResponse):
(WebInspector.NetworkManager.prototype._updateResourceWithResponse):
(WebInspector.NetworkManager.prototype.didReceiveContentLength):
(WebInspector.NetworkManager.prototype.didFinishLoading):
(WebInspector.NetworkManager.prototype.didFailLoading):
(WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
(WebInspector.NetworkManager.prototype._updateResourceWithCachedResource):
(WebInspector.NetworkManager.prototype.setInitialContent):
(WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
(WebInspector.NetworkManager.prototype.frameDetachedFromParent):
(WebInspector.NetworkManager.prototype.didCreateWebSocket):
(WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
(WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
(WebInspector.NetworkManager.prototype.didCloseWebSocket):
(WebInspector.NetworkManager.prototype._processCachedResources):
(WebInspector.NetworkManager.prototype._addFramesRecursively):
(WebInspector.NetworkManager.requestContent):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel.prototype.refreshResource):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype._innerRequestContent):
* inspector/front-end/ResourceManager.js: Removed.
* inspector/front-end/ResourceTreeModel.js: Added.
(WebInspector.ResourceTreeModel):
(WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
(WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
(WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent):
(WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
(WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
(WebInspector.ResourceTreeModel.prototype._clearResources):
(WebInspector.ResourceTreeModel.prototype.forAllResources):
(WebInspector.ResourceTreeModel.prototype.addConsoleMessage):
(WebInspector.ResourceTreeModel.prototype.clearConsoleMessages):
(WebInspector.ResourceTreeModel.prototype._callForFrameResources):
(WebInspector.ResourceTreeModel.prototype.resourceForURL):
(WebInspector.ResourceTreeModel.prototype.bindResourceURL):
(WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
(WebInspector.ResourceTreeModel.createResource):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView.createResourceView):
(WebInspector.ResourceView.resourceViewTypeMatchesResource):
(WebInspector.ResourceView.resourceViewForResource):
(WebInspector.ResourceView.recreateResourceView):
(WebInspector.ResourceView.existingResourceViewForResource):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.canShowSourceLine):
(WebInspector.ResourcesPanel.prototype.showSourceLine):
(WebInspector.ResourcesPanel.prototype.showResource):
(WebInspector.ResourcesPanel.prototype.get searchableViews.callback):
(WebInspector.ResourcesPanel.prototype.get searchableViews):
(WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
(WebInspector.FrameResourceTreeElement.prototype._contentChanged):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._addScript):
(WebInspector.ScriptsPanel.prototype.reset):
(WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
(WebInspector.ScriptsPanel.prototype._showScriptOrResource):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector.forAllResources):
(WebInspector.resourceForURL):
2010-12-27 Helder Correia <helder@sencha.com>
Reviewed by Ariya Hidayat.
ContextShadow should use AffineTransform instead of TransformationMatrix
https://bugs.webkit.org/show_bug.cgi?id=51661
ContextShadow needs the CTM to make sure shadows are not affected by
transformations when drawing on a canvas. AffineTransform is sufficient
in this case.
Existing tests: fast/canvas/canvas*shadow*html
* platform/graphics/ContextShadow.cpp:
(WebCore::ContextShadow::mustUseContextShadow):
(WebCore::ContextShadow::adjustBlurDistance):
(WebCore::ContextShadow::calculateLayerBoundingRect):
* platform/graphics/ContextShadow.h:
* platform/graphics/cairo/ContextShadowCairo.cpp:
(WebCore::ContextShadow::getTransformationMatrixFromContext):
* platform/graphics/qt/ContextShadowQt.cpp:
(WebCore::ContextShadow::getTransformationMatrixFromContext):
2010-12-27 Daniel Bates <dbates@rim.com>
Reviewed by Antonio Gomes.
Clean up: Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight()
https://bugs.webkit.org/show_bug.cgi?id=51634
Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight()
to HTMLFrameElementBase::marginWidth() and HTMLFrameElementBase::marginHeight(), respectively.
This will make the names of these getters consistent with the naming convention we use for
getters.
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::insertedIntoDocument):
* html/HTMLFrameElementBase.h:
(WebCore::HTMLFrameElementBase::marginWidth): Renamed; Formerly getMarginWidth().
(WebCore::HTMLFrameElementBase::marginHeight): Renamed; Formerly getMarginHeight().
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadSubframe):
* page/FrameView.cpp:
(WebCore::FrameView::init):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::viewCleared): Also renamed variables marginw and marginh
to marginWidth and marginHeight, respectively. This makes the names of these variables
consistent with the names of similar variables in SubframeLoader::loadSubframe() and FrameView::init().
* rendering/RenderFrame.cpp:
(WebCore::RenderFrame::viewCleared): Ditto.
2010-12-27 Martin Robinson <mrobinson@igalia.com>
Reviewed by Daniel Bates.
[GTK] RenderThemeGtk::m_HScale and RenderThemeGtk::m_VScale are not initialized
https://bugs.webkit.org/show_bug.cgi?id=51654
Properly initialize slider members of RenderThemeGtk. This can lead to test crashes
on some debug configurations.
No new tests. This is already covered by current slider tests. It isn't crashing on
the bots, but it does crash locally.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::RenderThemeGtk): Properly initialize members.
2010-12-27 Anton Muhin <antonm@chromium.org>
Reviewed by David Levin.
[v8] Remove unused methods to protect/unprotect wrappers during garbage collection
https://bugs.webkit.org/show_bug.cgi?id=51648
* bindings/v8/ScriptController.cpp:
* bindings/v8/ScriptController.h:
* bindings/v8/V8GCController.cpp:
(WebCore::V8GCController::gcEpilogue):
* bindings/v8/V8GCController.h:
2010-12-27 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Removed trailing spaces from a localized
string to make it the same as the one used in the code.
* English.lproj/localizedStrings.js:
2010-12-27 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Eric Seidel.
Browser is failing 16 baseline test from Selector API Test Suite
https://bugs.webkit.org/show_bug.cgi?id=42968
Throw an exception if there is no argument to querySelector or
querySelectorAll. This replaces the current behavior of passing the string
"undefined" as the argument.
No new tests, just updating the existing results for
fast/dom/SelectorAPI/resig-SelectorAPI-test.xhtml.
* dom/Document.idl:
* dom/DocumentFragment.idl:
* dom/Element.idl:
2010-12-26 MORITA Hajime <morrita@google.com>
Reviewed by Dan Bernstein.
For box-shadow, non-primary shadows should have specified radii.
https://bugs.webkit.org/show_bug.cgi?id=51386
On paintBoxShadow(), the spread value accidentally accumulated accidentally
during the loop, which should be applied individually for radius of each shadow.
This change makes the radii for rects computed for each shadow.
Test: fast/box-shadow/spread-multiple-normal.html
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintBoxShadow):
2010-12-26 Patrick Gansterer <paroga@webkit.org>
Reviewed by Eric Seidel.
Improve output of HTML parser benchmark
https://bugs.webkit.org/show_bug.cgi?id=51611
Calculate and show median, min and max values.
* benchmarks/parser/html-parser.html:
2010-12-26 Abhishek Arya <inferno@chromium.org>
Reviewed by Simon Fraser.
Remove the bad assert in paintPaginatedChildLayer, hitTestPaginatedChildLayer.
https://bugs.webkit.org/show_bug.cgi?id=48772
Test: fast/multicol/renderer-positioned-assert-crash.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintPaginatedChildLayer):
(WebCore::RenderLayer::hitTestPaginatedChildLayer):
2010-12-25 Peter Rybin <peter.rybin@gmail.com>
Reviewed by Adam Barth.
Adds currentColumn (and currentLine) to SegmentedString. Switches
HTMLTreeBuilder to HTMLDocumentParser::textPosition when it
needs position for a <script> tag.
SegmentedString should provide column position
https://bugs.webkit.org/show_bug.cgi?id=51311
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::textPosition):
* html/parser/HTMLInputStream.h:
(WebCore::HTMLInputStream::current):
(WebCore::InsertionPointRecord::InsertionPointRecord):
(WebCore::InsertionPointRecord::~InsertionPointRecord):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::processScriptStartTag):
* html/parser/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::create):
* platform/text/SegmentedString.cpp:
(WebCore::SegmentedString::operator=):
(WebCore::SegmentedString::numberOfCharactersConsumedSlow):
(WebCore::SegmentedString::advanceSlowCase):
(WebCore::SegmentedString::currentLine):
(WebCore::SegmentedString::currentColumn):
(WebCore::SegmentedString::setCurrentPosition):
* platform/text/SegmentedString.h:
(WebCore::SegmentedString::SegmentedString):
(WebCore::SegmentedString::advancePastNewline):
(WebCore::SegmentedString::advance):
(WebCore::SegmentedString::numberOfCharactersConsumed):
2010-12-25 Andreas Kling <kling@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
GraphicsContext: Don't pass StrokeStyle (enum) as const reference
https://bugs.webkit.org/show_bug.cgi?id=51608
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::setStrokeStyle):
(WebCore::GraphicsContext::setPlatformStrokeStyle):
(WebCore::GraphicsContext::adjustLineToPixelBoundaries):
* platform/graphics/GraphicsContext.h:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::setPlatformStrokeStyle):
* platform/graphics/haiku/GraphicsContextHaiku.cpp:
(WebCore::GraphicsContext::setPlatformStrokeStyle):
* platform/graphics/openvg/GraphicsContextOpenVG.cpp:
(WebCore::GraphicsContext::setPlatformStrokeStyle):
* platform/graphics/openvg/PainterOpenVG.cpp:
(WebCore::PainterOpenVG::setStrokeStyle):
* platform/graphics/openvg/PainterOpenVG.h:
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::setPlatformStrokeStyle):
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::setPlatformStrokeStyle):
2010-12-24 Dan Bernstein <mitz@apple.com>
Reviewed by Alexey Proskuryakov.
REGRESSION (r74648): XHR layout test failures
https://bugs.webkit.org/show_bug.cgi?id=51603
Reverted r74648.
* WebCore.exp.in:
2010-12-24 Dan Bernstein <mitz@apple.com>
Try to fix the Qt build after r74648.
* WebCore.gypi:
* WebCore.pro:
* platform/network/qt/CredentialStorageQt.cpp: Added.
(WebCore::CredentialStorage::getFromPersistentStorage):
2010-12-24 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
CSSStyleSelector cleanup
https://bugs.webkit.org/show_bug.cgi?id=51597
Make some methods const. Add assertion to checkOneSelector, with the
intention of later removing the if (!e) check (this is hot code).
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::locateCousinList):
(WebCore::CSSStyleSelector::canShareStyleWithElement):
(WebCore::CSSStyleSelector::locateSharedStyle):
(WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
(WebCore::CSSStyleSelector::mmLength):
(WebCore::CSSStyleSelector::inchLength):
(WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
(WebCore::CSSStyleSelector::hasSelectorForAttribute):
* css/CSSStyleSelector.h:
(WebCore::CSSStyleSelector::fontSelector):
2010-12-24 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/8758386> The web process uses its own credential storage
https://bugs.webkit.org/show_bug.cgi?id=51599
* WebCore.exp.in: Export CredentialStorage::getFromPersistentStorage(), Credential::hasPassword(),
and Credential::isEmpty().
2010-12-24 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Darin Adler.
[V8] Rename V8CustomEventListener.{h,cpp} to V8EventListener.{h,cpp}
https://bugs.webkit.org/show_bug.cgi?id=51595
* WebCore.gypi:
* bindings/v8/V8DOMWrapper.cpp:
* bindings/v8/V8EventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8CustomEventListener.cpp.
(WebCore::V8EventListener::V8EventListener):
(WebCore::V8EventListener::getListenerFunction):
(WebCore::V8EventListener::callListenerFunction):
* bindings/v8/V8EventListener.h: Renamed from WebCore/bindings/v8/custom/V8CustomEventListener.h.
(WebCore::V8EventListener::create):
* bindings/v8/V8EventListenerList.h:
* bindings/v8/V8WorkerContextEventListener.h:
* bindings/v8/custom/V8DOMWindowCustom.cpp:
* bindings/v8/custom/V8LocationCustom.cpp:
* bindings/v8/custom/V8NodeCustom.cpp:
* bindings/v8/custom/V8NotificationCenterCustom.cpp:
2010-12-24 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Xan Lopez.
[GTK] Show current time / total in media player
https://bugs.webkit.org/show_bug.cgi?id=51535
* css/mediaControlsGtk.css:
(audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::formatMediaControlsCurrentTime):
(WebCore::RenderThemeGtk::paintMediaCurrentTime):
* platform/gtk/RenderThemeGtk.h:
2010-12-24 Jan Erik Hanssen <jhanssen@sencha.com>
Reviewed by Eric Seidel.
Clean up CSSRuleData in CSSStyleSelector.h
https://bugs.webkit.org/show_bug.cgi?id=27753
Move CSSRuleData and CSSRuleDataList from CSSStyleSelector.h to the .cpp file.
* css/CSSStyleSelector.cpp:
(WebCore::CSSRuleData::CSSRuleData):
(WebCore::CSSRuleData::~CSSRuleData):
(WebCore::CSSRuleData::position):
(WebCore::CSSRuleData::rule):
(WebCore::CSSRuleData::selector):
(WebCore::CSSRuleData::next):
(WebCore::CSSRuleDataList::CSSRuleDataList):
(WebCore::CSSRuleDataList::~CSSRuleDataList):
(WebCore::CSSRuleDataList::first):
(WebCore::CSSRuleDataList::last):
(WebCore::CSSRuleDataList::append):
* css/CSSStyleSelector.h:
2010-12-24 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Fix compilation on Windows.
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::~InspectorStyle): added explicit empty destructor
* inspector/InspectorStyleSheet.h:
2010-12-24 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Darin Adler.
inspector/debugger-step-out.html crashing intermittently in the bots
https://bugs.webkit.org/show_bug.cgi?id=50868
Use RefPtr rather instead of raw pointers when keeping references
to refcounted objects.
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getStylesForNode2):
(WebCore::InspectorCSSAgent::getComputedStyleForNode2):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::create):
(WebCore::InspectorStyle::InspectorStyle):
(WebCore::InspectorStyle::buildObjectForStyle):
(WebCore::InspectorStyle::setPropertyText):
(WebCore::InspectorStyle::toggleProperty):
(WebCore::InspectorStyle::styleText):
(WebCore::InspectorStyle::populateAllProperties):
(WebCore::InspectorStyle::replacePropertyInStyleText):
(WebCore::InspectorStyleSheet::create):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheetForInlineStyle::create):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
(WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
* inspector/InspectorStyleSheet.h:
(WebCore::InspectorStyle::cssStyle):
(WebCore::InspectorStyleSheet::pageStyleSheet):
2010-12-24 Justin Schuh <jschuh@chromium.org>
Reviewed by Nikolas Zimmermann.
SVGElementInstance::m_useElement should be cleared when use element is removed from document
https://bugs.webkit.org/show_bug.cgi?id=51486
Test: svg/custom/use-instanceRoot-with-use-removed.svg
* svg/SVGElementInstance.cpp:
(WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
* svg/SVGElementInstance.h:
(WebCore::SVGElementInstance::clearUseElement):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::removedFromDocument):
(WebCore::ShadowTreeUpdateBlocker::if):
(WebCore::SVGUseElement::detachInstance):
(WebCore::SVGUseElement::detach):
* svg/SVGUseElement.h:
2010-12-23 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Missing Localized Strings
https://bugs.webkit.org/show_bug.cgi?id=51542
Added missing strings: "WebSocket", "Frames", "Text", "Transfer",
"Preserve Log upon Navigation", and "Go to Line".
* English.lproj/localizedStrings.js:
2010-12-24 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Inline HTML style property out of sync with element.style in Sidebar
https://bugs.webkit.org/show_bug.cgi?id=51478
Now the element attribute modifications (including "style") are tracked, which results in the
source offsets update (in the backend) and Styles/Metrics pane updates (in the frontend)
on the "style" attribute modification through the Elements tree. Also, it appears that
a complete "style" attribute removal destroys the inline style declaration
(StyledElement::m_inlineStyleDecl), while the code used to rely on it being immutable (hence a crash).
Test: inspector/elements-delete-inline-style.html
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::didModifyDOMAttr):
* inspector/InspectorCSSAgent.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::didModifyDOMAttr):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
(WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute):
(WebCore::InspectorStyleSheetForInlineStyle::text):
(WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
(WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
* inspector/InspectorStyleSheet.h:
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
2010-12-24 Noel Gordon <noel.gordon@gmail.com>
Reviewed by Andreas Kling.
[chromium] Fix a style nit in the JPEG encoder
https://bugs.webkit.org/show_bug.cgi?id=51574
* platform/image-encoders/skia/JPEGImageEncoder.cpp: nit begone.
2010-12-23 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Maciej Stachowiak.
Web Inspector: CSS shorthand properties expand unnecessarily
https://bugs.webkit.org/show_bug.cgi?id=36304
"border-radius" is a shorthand property that has a "non-standard" format and longhands, see
http://www.w3.org/TR/css3-background/#border-radius for reference. CSSParser does not use the
standard parseShorthand() or parse4Values() methods but instead a custom parseBorderRadius() method.
This method didn't use to create a ShorthandScope instance and set the m_implicitShorthand value
appropriately when adding implicit longhands, thus they were added as normal properties
found in the CSS (neither implicit, nor longhands). This is now fixed.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseBorderRadius):
2010-12-24 Justin Schuh <jschuh@chromium.org>
Reviewed by Darin Adler.
setTargetAttributeAnimatedValue should check for a null shadowTreeElement.
https://bugs.webkit.org/show_bug.cgi?id=51576
Disallowed elements may be pruned from the shadow tree, leaving a null
shadowTreeElement. We should check for that before setting attributes.
Test: svg/custom/animate-disallowed-use-element.svg
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
2010-12-24 Evan Martin <evan@chromium.org>
Reviewed by Darin Adler.
TextMetrics::width is an integer, but the member is a float
https://bugs.webkit.org/show_bug.cgi?id=51566
Change the return type to a float.
No tests, fixing a compiler warning.
(I was unable to produce a difference in the values exposed to pages
with a float versus the previous conversion to an integer.)
* html/TextMetrics.h:
(WebCore::TextMetrics::width):
2010-12-24 Ryuan Choi <ryuan.choi@samsung.com>
Reviewed by Kenneth Rohde Christiansen.
[EFL] Add option to enable Touch Events.
https://bugs.webkit.org/show_bug.cgi?id=49125
Add files for EFL to support TOUCH_EVENTS.
* CMakeLists.txt:
* CMakeListsEfl.txt:
* platform/PlatformTouchEvent.h: Add EFL related constructor.
* platform/PlatformTouchPoint.h: ditto.
* platform/efl/PlatformTouchEventEfl.cpp: Added.
(WebCore::PlatformTouchEvent::PlatformTouchEvent):
* platform/efl/PlatformTouchPointEfl.cpp: Added.
(WebCore::PlatformTouchPoint::PlatformTouchPoint):
2010-12-24 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Kenneth Rohde Christiansen.
[EFL] Return an empty string instead of 'application/octet-stream' in getMIMETypeForExtension()
https://bugs.webkit.org/show_bug.cgi?id=51457
WebKit EFL can't play html5 audio because of wrong mime type checking.
So, 'application/octet-stream' is changed with an empty string.
* platform/efl/MIMETypeRegistryEfl.cpp:
(WebCore::MIMETypeRegistry::getMIMETypeForExtension):
Returns an empty string instead of application/octet-stream when it can't find proper mime type.
2010-12-24 Justin Schuh <jschuh@chromium.org>
Reviewed by Darin Adler.
SVGFontFaceElement::rebuildFontFace() should exit when not in document
https://bugs.webkit.org/show_bug.cgi?id=51571
We were hitting a NULL deref crash. Since most of the callers checked
inDocument() anyway, I moved it into the start of rebuildFontFace.
Test: svg/custom/use-invalid-font-face.svg
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::parseMappedAttribute):
(WebCore::SVGFontFaceElement::rebuildFontFace):
(WebCore::SVGFontFaceElement::childrenChanged):
2010-12-24 Justin Schuh <jschuh@chromium.org>
Reviewed by Darin Adler.
Remove unnecessary check in CSSCanvasValue::canvasDestroyed().
https://bugs.webkit.org/show_bug.cgi?id=51564
This check was duplicating an ASSERT for a case fixed in r73927.
Now that the bug is fixed the check is no longer necessary.
Removing dead code, so no new tests needed.
* css/CSSCanvasValue.cpp:
(WebCore::CSSCanvasValue::canvasDestroyed):
2010-12-23 Evan Martin <evan@chromium.org>
Reviewed by Darin Adler.
ViewportArguments.h uses an enum to intialize a bool
https://bugs.webkit.org/show_bug.cgi?id=50982
Initialize userScalable to true, rather than -1.
No tests; fixes a compiler warning.
* dom/ViewportArguments.h:
(WebCore::ViewportArguments::ViewportArguments):
2010-12-23 Jan Erik Hanssen <jhanssen@sencha.com>
Reviewed by Adam Barth.
[Qt] User name/password stripped from URLs
https://bugs.webkit.org/show_bug.cgi?id=36232
If a username but no password or no username but a password is present
in a URL, QtWebKit won't send any authentication information down to Qt
as it should.
Tests: http/tests/xmlhttprequest/basic-auth-nopassword.html
http/tests/xmlhttprequest/basic-auth-nouser.html
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::loadResourceSynchronously):
2010-12-23 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
queryCommandValue("FormatBlock") does not respect editing boundaries
https://bugs.webkit.org/show_bug.cgi?id=51219
Fixed the bug by checking the element we found in elementForFormatBlockCommand
does not contain the editable root.
* editing/FormatBlockCommand.cpp:
(WebCore::FormatBlockCommand::elementForFormatBlockCommand):
2010-12-23 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
FormatBlock doesn't preserve typing style but it should
https://bugs.webkit.org/show_bug.cgi?id=51140
Fixed the bug by making preserveTypingStyle return true.
Test: editing/execCommand/format-block-typing-style.html
* editing/FormatBlockCommand.h:
(WebCore::FormatBlockCommand::preservesTypingStyle):
2010-12-23 Jessie Berlin <jberlin@apple.com>
Reviewed by Sam Weinig.
Need WebKit2 API to create a SecurityOrigin from protocol, host, and port
https://bugs.webkit.org/show_bug.cgi?id=51563
Add SecurityOrigin::create(const String& protocol, const String& host, int port).
* WebCore.exp.in:
Export the symbols for WebCore::SecurityOrigin::create(String, String, int).
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::createFromDatabaseIdentifier):
Use the constant MaxAllowedPort.
(WebCore::SecurityOrigin::create):
Sanitizing based off of that done in createFromDatabaseIdentifier.
* page/SecurityOrigin.h:
2010-12-23 Patrick Gansterer <paroga@webkit.org>
Unreviewed build fix for WinCE after r73802.
Reapply r70812:
Port ContextMenuItemWin.cpp to WinCE
https://bugs.webkit.org/show_bug.cgi?id=48407
* platform/win/ContextMenuItemWin.cpp:
2010-12-23 Adam Barth <abarth@webkit.org>
Remove include of non-existant file.
* bindings/v8/custom/V8DOMWindowCustom.cpp:
2010-12-23 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
Selection becomes stale when CharacterData is manipulated directly
https://bugs.webkit.org/show_bug.cgi?id=51389
The bug was caused by SelectionController's not adjusting selection when CharacterData's
m_data is modified by its API.
Fixed the bug by adding textWillBeReplaced to SelectionController and calling it in
CharacterData::textWillBeReplaced. Added newLength to setDataAndUpdate, which is passed to
textWillBeReplaced because inserting, replacing, or removing data may require moving
the offset of the selection end points (done by shouldRemovePositionAfterAdoptingTextReplacement).
Also fixed the condition for determining whether or not a node intersects the selection
in respondToNodeModification, which is extracted from nodeWillBeRemoved. The old condition
failed to recognize certain cases when selection started and ended with non-zero offsets.
Tests: editing/selection/character-data-mutation-crash.html
editing/selection/character-data-mutation.html
* dom/CharacterData.cpp:
(WebCore::CharacterData::setData): Passes newLegnth to setDataAndUpdate.
(WebCore::CharacterData::appendData): Ditto.
(WebCore::CharacterData::insertData): Ditto.
(WebCore::CharacterData::deleteData): Ditto.
(WebCore::CharacterData::replaceData): Ditto.
(WebCore::CharacterData::setDataAndUpdate): Added newLegnth to the argument list,
and renamed lengthOfReplacedData to oldLength; calls textWillBeReplaced.
* dom/CharacterData.h:
* editing/SelectionController.cpp:
(WebCore::removingNodeRemovesPosition): Removed indentations from blank lines.
(WebCore::SelectionController::nodeWillBeRemoved): Calls nodeWillBeRemoved.
(WebCore::SelectionController::respondToNodeModification): Extracted from nodeWillBeRemoved;
fixed the logic to figure out whether a node is inside the range or not.
(WebCore::shouldRemovePositionAfterAdoptingTextReplacement): Added.
(WebCore::SelectionController::textWillBeReplaced): Added.
* editing/SelectionController.h:
2010-12-23 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Remove unneeded V8 bindings files
https://bugs.webkit.org/show_bug.cgi?id=51570
* WebCore.gypi:
* bindings/generic/BindingDOMWindow.h: Removed.
* bindings/v8/specialization/V8BindingDOMWindow.h: Removed.
2010-12-23 Dan Bernstein <mitz@apple.com>
Build fix.
* editing/EditorCommand.cpp:
(WebCore::enabledDismissCorrectionPanel):
2010-12-23 Darin Adler <darin@apple.com>
Try to fix crash seen on GTK bot.
* editing/EditorCommand.cpp:
(WebCore::internalCommand): Add back empty string check I accidentally deleted in r74580.
* WebCore.xcodeproj/project.pbxproj: Let Xcode edit the file.
2010-12-23 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r74561.
http://trac.webkit.org/changeset/74561
https://bugs.webkit.org/show_bug.cgi?id=51565
"Broke Chromium UI tests on Vista" (Requested by kbr_google on
#webkit).
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::updateContentsIfDirty):
* platform/graphics/skia/GraphicsContext3DSkia.cpp:
(WebCore::GraphicsContext3D::getImageData):
2010-12-23 Mihai Parparita <mihaip@chromium.org>
Reviewed by Kent Tamura.
[Chromium] Add WebThemeEngine for Mac to allow scrollbar rendering to be overridden for the DRT
https://bugs.webkit.org/show_bug.cgi?id=51507
Adds WebThemeEngine for the Mac (it already has parallel definitions for
Windows and Linux) so that scrollbar thumb rendering can be overridden
for the DRT (to be consistent with the NSScroller-based rendering
used by the Mac port).
No new tests since the functionality is not exposed yet. Eventually will
result in the Chromium/Mac port being able to use the same pixel
baselines for layout tests as the Mac port.
* platform/chromium/ChromiumBridge.h:
* platform/chromium/ScrollbarThemeChromiumMac.mm:
(WebCore::scrollbarStateToThemeState):
(WebCore::ScrollbarThemeChromiumMac::paint):
2010-12-23 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
WKView should not try to do asynchronous validation for selectors that are not editor commands
https://bugs.webkit.org/show_bug.cgi?id=51555
* WebCore.exp.in: Added commandIsSupportedFromMenuOrKeyBinding.
* editing/Editor.h: Reordered arguments in the Editor::Command constructor
and the data members too so the frame is last. Added
commandIsSupportedFromMenuOrKeyBinding.
* editing/EditorCommand.cpp:
(WebCore::supported): Removed the EditorCommandSource argument. These
functions are now only used when called from DOM.
(WebCore::supportedFromMenuOrKeyBinding): Ditto.
(WebCore::supportedCopyCut): Ditto.
(WebCore::supportedPaste): Ditto.
(WebCore::enabledDismissCorrectionPanel): Changed the supported function to
an enabled function. It was incorrect to say that this is "supported" only
when the correction panel is up. Correct to say that it is "enabled" only
then. And also probably OK to enable it even when the selection is not in
editable text, as long as the panel is up.
(WebCore::createCommandMap): Moved conditional commands out of the main
array into a separate section at the end.
(WebCore::internalCommand): Added.
(WebCore::Editor::command): Changed to use the new internalCommand function
and simplified by relying on the null check in the Command constructor.
(WebCore::Editor::commandIsSupportedFromMenuOrKeyBinding): Added.
(WebCore::Editor::Command::Command): Removed unneeded initialization of
m_source, which is never looked at if m_command is 0. Added feature of
passing a null command pointer to the non-default constructor.
(WebCore::Editor::Command::isSupported): Changed to only call the
per-command isSupported function when the command source is DOM.
Accordingly that function is now called isSupportedFromDOM.
2010-12-23 Matthew Delaney <mdelaney@apple.com>
Reviewed by Simon Fraser.
Incorrect layer property used noted as changed in GraphicsLayerCA::setAcceleratesDrawing
https://bugs.webkit.org/show_bug.cgi?id=51560
No new tests.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setAcceleratesDrawing):
2010-12-23 Jan Erik Hanssen <jhanssen@sencha.com>
Reviewed by Andreas Kling.
[Qt] copy and paste greek symbols to Word, TextEdit results in ?'s being shown
https://bugs.webkit.org/show_bug.cgi?id=35635
Explicitly set text/html data on QClipboard as UTF-8 and also include a <meta>
tag informing the OS that the data is in UTF-8 format.
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::writeSelection):
2010-12-23 Justin Schuh <jschuh@chromium.org>
Reviewed by Eric Seidel.
CSSCursorImageValue destructor should clear referenced element.
https://bugs.webkit.org/show_bug.cgi?id=51417
Calls correct method to clear image and renames method to avoid future confusion.
Test: svg/css/cursor-image-replace.svg
* css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::~CSSCursorImageValue):
* svg/SVGElement.cpp:
(WebCore::SVGElement::cursorImageValueRemoved):
* svg/SVGElement.h:
2010-12-22 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
WebKit2 needs to mirror the frame tree in the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=51546
- Add client functions to notify that a frame has been added or
removed from the page cache.
* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore):
(WebCore::CachedFrame::CachedFrame):
* history/CachedFrame.h:
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::didSaveToPageCache):
(WebCore::EmptyFrameLoaderClient::didRestoreFromPageCache):
* loader/FrameLoaderClient.h:
2010-12-22 Matthew Delaney <mdelaney@apple.com>
Reviewed by Simon Fraser.
Add setNeedsStyleRecalc for getting canvas contexts that use IOSurfaces
This patch also changes USE_IOSURFACE to instead follow USE(IOSURFACE)
https://bugs.webkit.org/show_bug.cgi?id=51279
* html/HTMLCanvasElement.cpp: For IOSurface, use setNeedsStyleRecalc
* html/canvas/CanvasRenderingContext2D.cpp: Use new flag
* platform/graphics/ImageBuffer.h: Use new flag
* platform/graphics/cg/ImageBufferCG.cpp: Use new flag
2010-12-20 Adrienne Walker <enne@google.com>
Reviewed by Kenneth Russell.
[chromium] Tile root layer of the compositor.
https://bugs.webkit.org/show_bug.cgi?id=49947
Refactor root layer update and drawing from LayerRendererChromium into
LayerTilerChromium. The root layer is now drawn as multiple tiles
rather than as one single large texture. Scrollbars are now drawn
separately rather than as part of the root layer.
Test: LayoutTests/compositing/
* WebCore.gypi:
* page/FrameView.cpp:
(WebCore::FrameView::repaintContentRectangle):
* platform/ScrollView.cpp:
(WebCore::ScrollView::ScrollView):
(WebCore::ScrollView::setClipsRepaints):
* platform/ScrollView.h:
(WebCore::ScrollView::clipsRepaints):
* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::~LayerRendererChromium):
(WebCore::LayerRendererChromium::useShader):
(WebCore::LayerRendererChromium::verticalScrollbarRect):
(WebCore::LayerRendererChromium::horizontalScrollbarRect):
(WebCore::LayerRendererChromium::invalidateRootLayerRect):
(WebCore::LayerRendererChromium::updateAndDrawRootLayer):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::setRootLayer):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/LayerTilerChromium.cpp: Added.
(WebCore::LayerTilerChromium::create):
(WebCore::LayerTilerChromium::LayerTilerChromium):
(WebCore::LayerTilerChromium::~LayerTilerChromium):
(WebCore::LayerTilerChromium::layerRendererContext):
(WebCore::LayerTilerChromium::setTileSize):
(WebCore::LayerTilerChromium::reset):
(WebCore::LayerTilerChromium::createTile):
(WebCore::LayerTilerChromium::invalidateTiles):
(WebCore::LayerTilerChromium::contentRectToTileIndices):
(WebCore::LayerTilerChromium::contentRectToLayerRect):
(WebCore::LayerTilerChromium::layerRectToContentRect):
(WebCore::LayerTilerChromium::tileIndex):
(WebCore::LayerTilerChromium::tileContentRect):
(WebCore::LayerTilerChromium::tileLayerRect):
(WebCore::LayerTilerChromium::invalidateRect):
(WebCore::LayerTilerChromium::invalidateEntireLayer):
(WebCore::LayerTilerChromium::update):
(WebCore::LayerTilerChromium::setLayerPosition):
(WebCore::LayerTilerChromium::draw):
(WebCore::LayerTilerChromium::resizeLayer):
(WebCore::LayerTilerChromium::growLayerToContain):
(WebCore::LayerTilerChromium::Tile::~Tile):
(WebCore::LayerTilerChromium::Tile::releaseTextureId):
* platform/graphics/chromium/LayerTilerChromium.h: Added.
(WebCore::LayerTilerChromium::Tile::Tile):
(WebCore::LayerTilerChromium::Tile::textureId):
(WebCore::LayerTilerChromium::Tile::dirty):
(WebCore::LayerTilerChromium::Tile::clearDirty):
(WebCore::LayerTilerChromium::layerRenderer):
2010-12-22 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Eric Seidel.
Editor.h doesn't need to include SelectionController.h
https://bugs.webkit.org/show_bug.cgi?id=51441
Removed #include <Selection.h> from Editor.h.
Also extracted WritingDirection.h from EditingStyle.h and renamed SelectionController::EDirection
to SelectionDirection and moved its declaration from SelectionController.h to VisibleSelection.h
* WebCore.exp.in: Signature changes.
* WebCore.xcodeproj/project.pbxproj: Added WritingDirection.h
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::visiblePositionRangeForLine): Change due to SelectionDirection.
* editing/EditingStyle.h: Removed WritingDirection and included WritingDirection.h
* editing/Editor.cpp:
(WebCore::Editor::deleteWithDirection): Change due to SelectionDirection.
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
(WebCore::Editor::markMisspellingsAfterTypingToWord): Ditto.
* editing/Editor.h: Removed SelectionController.h; added DocumentMarker.h, Timer.h, VisibleSelection.h
and WritingDirection.h; forward declared CSSMutableStyleDeclaration.
* editing/EditorCommand.cpp:
(WebCore::executeDeleteBackward): Change due to SelectionDirection.
(WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
(WebCore::executeDeleteForward): Ditto.
(WebCore::executeDeleteToBeginningOfLine): Ditto.
(WebCore::executeDeleteToBeginningOfParagraph): Ditto.
(WebCore::executeDeleteToEndOfLine): Ditto.
(WebCore::executeDeleteToEndOfParagraph): Ditto.
(WebCore::executeDeleteWordBackward): Ditto.
(WebCore::executeDeleteWordForward): Ditto.
(WebCore::executeForwardDelete): Ditto.
(WebCore::executeMoveBackward): Ditto.
(WebCore::executeMoveBackwardAndModifySelection): Ditto.
(WebCore::executeMoveDown): Ditto.
(WebCore::executeMoveDownAndModifySelection): Ditto.
(WebCore::executeMoveForward): Ditto.
(WebCore::executeMoveForwardAndModifySelection): Ditto.
(WebCore::executeMoveLeft): Ditto.
(WebCore::executeMoveLeftAndModifySelection): Ditto.
(WebCore::executeMoveRight): Ditto.
(WebCore::executeMoveRightAndModifySelection): Ditto.
(WebCore::executeMoveToBeginningOfDocument): Ditto.
(WebCore::executeMoveToBeginningOfDocumentAndModifySelection): Ditto.
(WebCore::executeMoveToBeginningOfLine): Ditto.
(WebCore::executeMoveToBeginningOfLineAndModifySelection): Ditto.
(WebCore::executeMoveToBeginningOfParagraph): Ditto.
(WebCore::executeMoveToBeginningOfParagraphAndModifySelection): Ditto.
(WebCore::executeMoveToBeginningOfSentence): Ditto.
(WebCore::executeMoveToBeginningOfSentenceAndModifySelection): Ditto.
(WebCore::executeMoveToEndOfDocument): Ditto.
(WebCore::executeMoveToEndOfDocumentAndModifySelection): Ditto.
(WebCore::executeMoveToEndOfSentence): Ditto.
(WebCore::executeMoveToEndOfSentenceAndModifySelection): Ditto.
(WebCore::executeMoveToEndOfLine): Ditto.
(WebCore::executeMoveToEndOfLineAndModifySelection): Ditto.
(WebCore::executeMoveToEndOfParagraph): Ditto.
(WebCore::executeMoveToEndOfParagraphAndModifySelection): Ditto.
(WebCore::executeMoveParagraphBackwardAndModifySelection): Ditto.
(WebCore::executeMoveParagraphForwardAndModifySelection): Ditto.
(WebCore::executeMoveUp): Ditto.
(WebCore::executeMoveUpAndModifySelection): Ditto.
(WebCore::executeMoveWordBackward): Ditto.
(WebCore::executeMoveWordBackwardAndModifySelection): Ditto.
(WebCore::executeMoveWordForward): Ditto.
(WebCore::executeMoveWordForwardAndModifySelection): Ditto.
(WebCore::executeMoveWordLeft): Ditto.
(WebCore::executeMoveWordLeftAndModifySelection): Ditto.
(WebCore::executeMoveWordRight): Ditto.
(WebCore::executeMoveWordRightAndModifySelection): Ditto.
(WebCore::executeMoveToLeftEndOfLine): Ditto.
(WebCore::executeMoveToLeftEndOfLineAndModifySelection): Ditto.
(WebCore::executeMoveToRightEndOfLine): Ditto.
(WebCore::executeMoveToRightEndOfLineAndModifySelection): Ditto.
* editing/SelectionController.cpp:
(WebCore::SelectionController::willBeModified): Takes SelectionDirection instead of EDirection.
(WebCore::SelectionController::modify): Ditto.
* editing/SelectionController.h: Change due to SelectionDirection.
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::deleteKeyPressed): Ditto.
(WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
* editing/VisibleSelection.h: Added SelectionDirection, renamed and moved from EDirection
in SelectionController.h
* editing/WritingDirection.h: Added.
* page/DOMSelection.cpp:
(WebCore::DOMSelection::modify): Change due to SelectionDirection.
(WebCore::DOMSelection::deleteFromDocument): Ditto.
* page/EventHandler.cpp:
(WebCore::EventHandler::handleKeyboardSelectionMovement): Ditto.
* page/Frame.h: Includes SelectionController.h.
2010-12-23 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Move V8 to WebCore's implementation of showModalDialog
https://bugs.webkit.org/show_bug.cgi?id=51527
This code is basically verbatim translation from the JavaScriptCore
bindings. The only intentional difference is in the world selection
for the dialog's frame. I suspect JavaScriptCore's bindings have a
subtle bug there.
In this patch, I also remove a bunch of now-unneeded code in the
generic bindings.
* bindings/generic/BindingDOMWindow.h:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::DialogHandler::dialogCreated):
(WebCore::setUpDialog):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::DialogHandler::DialogHandler):
(WebCore::DialogHandler::dialogCreated):
(WebCore::DialogHandler::returnValue):
(WebCore::setUpDialog):
(WebCore::V8DOMWindow::showModalDialogCallback):
(WebCore::V8DOMWindow::openCallback):
* bindings/v8/specialization/V8BindingDOMWindow.h:
2010-12-23 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Joseph Pecoraro.
Web Inspector: Can't backspace from CSS value to CSS key field
https://bugs.webkit.org/show_bug.cgi?id=51476
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype.):
(WebInspector.StylePropertyTreeElement.prototype):
2010-12-23 W. James MacLean <wjmaclean@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Add asserts to test for contiguous-pixel Skia bitmaps.
https://bugs.webkit.org/show_bug.cgi?id=51186
No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated.
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::updateContentsIfDirty):
* platform/graphics/skia/GraphicsContext3DSkia.cpp:
(WebCore::GraphicsContext3D::getImageData):
2010-12-23 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
Fix check by undefined macro
https://bugs.webkit.org/show_bug.cgi?id=51531
Fix check by undefined macro
When building EFL port with libsoup, BUILDING_GTK__ is not defined,
leading to warnings during compile. We actually have to use an #ifdef
instead of an #if.
No change in functionality so no new tests.
* platform/network/soup/cache/webkit/soup-cache.h:
2010-12-23 Jonathan Dixon <joth@chromium.org>
Reviewed by Steve Block.
TouchEvents does not support multi-touch on a page with multiple touch targets
https://bugs.webkit.org/show_bug.cgi?id=51258
Test: fast/events/touch/multi-touch-grouped-targets.html
* page/EventHandler.cpp:
(WebCore::eventNameForTouchPointState):
(WebCore::EventHandler::handleTouchEvent):
Redesigned event handler to ensure all event targets involved in a given
multitouch event get the appropriate event(s) fired.
* platform/PlatformTouchPoint.h: Added end-stop marker for State enum.
2010-12-23 Philippe Normand <pnormand@igalia.com>
Reviewed by Xan Lopez.
[GTK] media/audio-data-url.html fails since r75504
https://bugs.webkit.org/show_bug.cgi?id=51525
Make the GStreamer media-player advertize 3gpp mime-types as
supported if the 3gp caps are in the typefind factories.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::mimeTypeCache):
2010-12-23 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
Refactor HTMLInputElement: Move a part of HTMLInputElement::defaultEventHandler()
to InputTypes.
https://bugs.webkit.org/show_bug.cgi?id=51093
Move BeforeTextInserted and Wheel event handling, event forwarding to
renderers, and the isindex form submission quirk code to InputTypes.
Also, change the return types of InputType event handlers from 'bool'
to 'void'. We use Event::defaultHandled() to decide whether event
handling should be stopped.
No new tests because this is just a refactoring.
* html/BaseButtonInputType.cpp: bool->void changes
(WebCore::BaseButtonInputType::handleKeydownEvent):
(WebCore::BaseButtonInputType::handleKeypressEvent):
(WebCore::BaseButtonInputType::handleKeyupEvent):
* html/BaseButtonInputType.h: ditto.
* html/BaseCheckableInputType.cpp: ditto.
(WebCore::BaseCheckableInputType::handleKeydownEvent):
(WebCore::BaseCheckableInputType::handleKeypressEvent):
* html/BaseCheckableInputType.h: ditto.
* html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::handleKeydownEvent): ditto.
(WebCore::BaseDateAndTimeInputType::handleWheelEvent): Just calls handleWheelEventForSpinButton().
* html/BaseDateAndTimeInputType.h: bool->void change and handleWhellEvent() addition.
* html/CheckboxInputType.cpp: bool->void change
(WebCore::CheckboxInputType::handleKeyupEvent):
* html/CheckboxInputType.h: ditto.
* html/FileInputType.cpp: ditto.
(WebCore::FileInputType::handleDOMActivateEvent):
* html/FileInputType.h: ditto.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
- Change return-value handling of InputType event handlers
- Move out beforeTextInserted/wheel event handling and isindex form quirk.
* html/HTMLInputElement.h:
(WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
Added so that InputType can call InputElement::handleBeforeTextInsertedEvent().
* html/ImageInputType.cpp: bool->void change
(WebCore::ImageInputType::handleDOMActivateEvent):
* html/ImageInputType.h: ditto.
* html/InputType.cpp: ditto.
(WebCore::InputType::handleClickEvent):
(WebCore::InputType::handleDOMActivateEvent):
(WebCore::InputType::handleKeydownEvent):
(WebCore::InputType::handleKeypressEvent):
(WebCore::InputType::handleKeyupEvent):
(WebCore::InputType::handleBeforeTextInsertedEvent):
(WebCore::InputType::handleWheelEvent): Added default implementation.
(WebCore::InputType::forwardEvent): ditto.
(WebCore::InputType::formForSubmission): ditto.
* html/InputType.h:
* html/IsIndexInputType.cpp:
(WebCore::IsIndexInputType::formForSubmission): Moved from HTMLInputElement.cpp.
* html/IsIndexInputType.h:
* html/NumberInputType.cpp:
(WebCore::isNumberCharacter): Moved from HTMLInputElement.cpp.
(WebCore::NumberInputType::handleKeydownEvent): bool->void change.
(WebCore::NumberInputType::handleBeforeTextInsertedEvent): Moved from HTMInputElement.cpp.
(WebCore::NumberInputType::handleWheelEvent): Added. Just calls handleWheelEventForSpinButton().
* html/NumberInputType.h:
* html/RadioInputType.cpp: bool->void changes.
(WebCore::RadioInputType::handleClickEvent):
(WebCore::RadioInputType::handleKeydownEvent):
(WebCore::RadioInputType::handleKeyupEvent):
* html/RadioInputType.h:
* html/RangeInputType.cpp:
(WebCore::RangeInputType::handleKeydownEvent): ditto.
(WebCore::RangeInputType::forwardEvent): Moved from HTMLInputElement.cpp.
* html/RangeInputType.h:
* html/ResetInputType.cpp: bool->void change.
(WebCore::ResetInputType::handleDOMActivateEvent):
* html/ResetInputType.h: ditto.
* html/SubmitInputType.cpp: ditto.
(WebCore::SubmitInputType::handleDOMActivateEvent):
* html/SubmitInputType.h: ditto.
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::handleKeydownEvent): bool->void change.
(WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto.
(WebCore::TextFieldInputType::handleWheelEventForSpinButton): Moved from HTMLInputElement.cpp.
(WebCore::TextFieldInputType::forwardEvent): ditto.
* html/TextFieldInputType.h:
2010-12-23 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Joseph Pecoraro.
Web Inspector: After scrolling new property value and cancelling, removed property remains active in page style
https://bugs.webkit.org/show_bug.cgi?id=51390
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype):
2010-12-23 Noel Gordon <noel.gordon@gmail.com>
Reviewed by Adam Barth.
[chromium] Reduce canvas.toDataURL("image/png") run-time costs 300%
https://bugs.webkit.org/show_bug.cgi?id=51455
Chromium uses the libpng compression defaults. Good compression results,
but at much larger run-time cost compared to other browsers. Chrome is 2
times slower than Mozilla 3.6.12 and 3-4 times slower than Safari 5.0.3.
libpng has supported alternative compression methods for some time, they
better meet the dual goals of good compression and run-time cost for the
on-line case, and are well-documented. Here use Huffman encoding. It's
2-20% faster than other encodings (Z_RLE, Z_FILTERED) and the compressed
size is within 1% of the Safari 5.0.3 result independent of image size.
No change in behaviour, so no new tests.
* platform/image-encoders/skia/PNGImageEncoder.cpp:
(WebCore::PNGImageEncoder::encode): Apply Huffman image encoding.
2010-12-22 Noel Gordon <noel.gordon@gmail.com>
Reviewed by Darin Fisher.
[chromium] Optimize canvas.toDataURL("image/png") unpremultiplication loop
https://bugs.webkit.org/show_bug.cgi?id=51321
Follow on from r73890, unroll the SkUnPreMultiply::PMColorToColor() call for
the "image/png" encoder case viz., compute the unpremultiplication in-place.
See https://bugs.webkit.org/show_bug.cgi?id=50804 for reference.
No new tests: canvas.toDataURL() is covered by existing tests.
* platform/image-encoders/skia/PNGImageEncoder.cpp:
(WebCore::preMultipliedBGRAtoRGBA):
2010-12-22 Ariya Hidayat <ariya@sencha.com>
Reviewed by Simon Fraser.
Implement skewX() and skewY() for CSSMatrix.
https://bugs.webkit.org/show_bug.cgi?id=38335
* css/WebKitCSSMatrix.cpp:
(WebCore::WebKitCSSMatrix::skew): Implemented skewX() and skewY().
* css/WebKitCSSMatrix.h: Added skewX() and skewY().
* css/WebKitCSSMatrix.idl: Added skewX() and skewY().
2010-12-22 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Support unprefixed box-shadow property
https://bugs.webkit.org/show_bug.cgi?id=51448
Add support for the box-shadow CSS property. We'll currently render this
similarly to -webkit-box-shadow, but a later fix will adjust the blur radius
handling to match the spec.
Test: fast/css/box-shadow.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Implement getComputedStyle
for box-shadow
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::ShadowParseContext::ShadowParseContext):
(WebCore::ShadowParseContext::commitValue):
(WebCore::ShadowParseContext::commitLength):
(WebCore::ShadowParseContext::commitColor): Support CSSPropertyBoxShadow
* css/CSSPropertyNames.in: add box-shadow
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty): Add CSSPropertyBoxShadow, and
store in the ShadowData if this is -webkit-box-shadow or not. We'll use this
to adjust radii later.
* css/SVGCSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applySVGProperty): Add CSSPropertyBoxShadow.
* page/animation/AnimationBase.cpp:
(WebCore::blendFunc):
(WebCore::PropertyWrapperShadow::blend):
(WebCore::AnimationBase::ensurePropertyMap): Support animations of box-shadow.
* rendering/style/ShadowData.cpp: Store a flag to say if this is a -webkit-box-shadow.
(WebCore::ShadowData::ShadowData):
(WebCore::ShadowData::operator==):
* rendering/style/ShadowData.h:
(WebCore::ShadowData::ShadowData):
(WebCore::ShadowData::isWebkitBoxShadow):
2010-12-22 Michael Saboff <msaboff@apple.com>
Reviewed by Sam Weinig.
REGRESSION: Can't shadow/overwrite window.constructor
(causes TypeError exception)
https://bugs.webkit.org/show_bug.cgi?id=48953
Added code in the javascript code generator to create a setter for
a constructor if the new extended attribute ReplaceableConstructor
is present for the interface.
* bindings/scripts/CodeGeneratorJS.pm:
* page/DOMWindow.idl:
2010-12-22 Steve Lacey <sjl@chromium.org>
Reviewed by David Levin.
Change css for chromium media controls to deal with the timeline
not expanding when the current time disappears. This happens when
the width of the control drops below 240px.
This change results in a minor pixel difference - the timebar now
aligns better with the time and when the time is not displayed is
now perfectly centered. Disabling the affected tests for now
and will rebaseline.
https://bugs.webkit.org/show_bug.cgi?id=51500
* css/mediaControlsChromium.css:
(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):
2010-12-22 Mihai Parparita <mihaip@chromium.org>
Reviewed by Simon Fraser.
the shadow direction is negated in canvas context shadowOffsetY.
https://bugs.webkit.org/show_bug.cgi?id=25619
Invert shadow offset Y direction in 0-blur path in FontMac::drawGlyps
if we're not transforming shadows (i.e. are rendering in a canvas). Also
use CG shadows if there's a non-translate/flip transform applied
(shadow offsets are supposed to ignore transforms, but the naive/simple
implementation was taking them into account).
Also does the equivalent changes to FontCGWin.
Test: fast/canvas/fillText-shadow.html
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::shadowsIgnoreTransforms):
* platform/graphics/GraphicsContext.h:
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::drawGlyphs):
* platform/graphics/win/FontCGWin.cpp:
(WebCore::Font::drawGlyphs):
2010-12-22 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r74503.
http://trac.webkit.org/changeset/74503
https://bugs.webkit.org/show_bug.cgi?id=51513
breaks chromium mac debug compile (Requested by tonyg-cr on
#webkit).
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::updateContentsIfDirty):
* platform/graphics/skia/GraphicsContext3DSkia.cpp:
(WebCore::GraphicsContext3D::getImageData):
2010-12-22 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
Replace runtime checks for hyphenation API availability with compile-time checks.
* platform/text/cf/HyphenationCF.cpp:
(WebCore::::createValueForNullKey): Changed to use CFLocaleCopyCurrent() instead of using the
search locale, which is empty on Windows. On Mac, this is equivalent to using the search locale.
(WebCore::canHyphenate): Added this implementation for when the hyphenation API is not available.
It is identical to the implementation in Hyphenation.cpp.
(WebCore::lastHyphenLocation): Ditto.
2010-12-22 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
Cache snapshots of plug-ins before painting, to avoid script running during painting
https://bugs.webkit.org/show_bug.cgi?id=51493
When FrameView is asked to do a flattening paint (e.g. when Safari snapshots,
or when printing), plug-ins which otherwise use the CA rendering model
are sent a paint event. Some plug-ins may run script while handling this event,
or out of process plug-ins may process queued requests at this time. Running
script while inside layout or painting can have bad consequences, because it
can result in arbitrary changes to the render tree.
This patch avoids sending plug-ins paint events inside of painting. Instead,
we ask the plug-ins to cache a snapshot before we paint, and then the software
paint simply draws that snapshot.
Requires manual test, because the bug happens when Safari does
a page snapshot. It's not possible to tell the Test Netscape Plug-in
to paint without laying out, making an automated test impossible.
* manual-tests/plugins/plugin-paint-causes-layout.html: Added.
* page/FrameView.h:
* page/FrameView.cpp:
(WebCore::FrameView::paintContents): Notify all enclosed widgets
that a flattening paint is going to happen.
(WebCore::FrameView::notifyWidgetsInAllFrames): Utility method
that tells the RenderView in all subframes to notify their widgets.
* platform/Widget.h:
(WebCore::Widget::notifyWidget): Generic method that can be used
to send messages to widgets. Current messages are just 'before flattening paint'
and 'after flattening paint'. Message has no payload.
* rendering/RenderView.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::getRetainedWidgets):
(WebCore::RenderView::releaseWidgets): Factor code out of updateWidgetPositions(),
since we use it in two places now.
(WebCore::RenderView::updateWidgetPositions): Use getRetainedWidgets() etc.
(WebCore::RenderView::notifyWidgets): Retain all the widgets, then send
them all the message.
* rendering/RenderWidget.h:
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::notifyWidget): Pass the message to the widget.
2010-12-22 Adrienne Walker <enne@google.com>
Reviewed by Kenneth Russell.
Fix null pointer deref when restoring a lost WebGL context.
https://bugs.webkit.org/show_bug.cgi?id=51494
No new tests, as context restored events are not currently testable.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::initializeNewContext):
(WebCore::WebGLRenderingContext::restoreContext):
2010-12-22 Adam Bergkvist <adam.bergkvist@ericsson.com>
Reviewed by Martin Robinson.
[GTK] Building with Blob support fails again
https://bugs.webkit.org/show_bug.cgi?id=51392
Build fix.
* GNUmakefile.am:
2010-12-22 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
canHyphenate() always returns true for the default locale
https://bugs.webkit.org/show_bug.cgi?id=51506
No test, since this change only affects performance.
* platform/text/cf/HyphenationCF.cpp:
(WebCore::::createValueForNullKey): Return 0 if hyphenation is not supported for the default locale.
(WebCore::::createValueForKey): Removed whitespace.
2010-12-22 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Joseph Pecoraro.
Web Inspector: script name gets parsed as HTML in Call stack panel
https://bugs.webkit.org/show_bug.cgi?id=51468
* inspector/front-end/Placard.js:
(WebInspector.Placard.prototype.set subtitle):
2010-12-22 Eric Carlson <eric.carlson@apple.com>
Reviewed by Darin Adler.
MediaPlayer should look for MIME type in data: URL
https://bugs.webkit.org/show_bug.cgi?id=51195
If no MIME type is passed from the media element for a data: URL, try to get it from
the URL itself.
No new tests are possible because the MIME type is just passed to the media engine.
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::load):
2010-12-22 W. James MacLean <wjmaclean@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Add asserts to test for contiguous-pixel Skia bitmaps.
https://bugs.webkit.org/show_bug.cgi?id=51186
No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated.
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::updateContentsIfDirty):
* platform/graphics/skia/GraphicsContext3DSkia.cpp:
(WebCore::GraphicsContext3D::getImageData):
2010-12-22 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
WAI-ARIA menubar role mapped to AXGroup, should be AXMenuBar
https://bugs.webkit.org/show_bug.cgi?id=51488
Test: platform/mac/accessibility/aria-menubar.html
* accessibility/AccessibilityObject.cpp:
(WebCore::createARIARoleMap):
2010-12-22 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
CopyTex{Sub}Image2D check always if the bound fbo's internal color format is compatible
https://bugs.webkit.org/show_bug.cgi?id=51423
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::copyTexImage2D): Remove the isGLES2Compliant flag around format compatibility checking.
(WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
(WebCore::WebGLRenderingContext::getBoundFramebufferColorFormat): Helper function to get bound framebuffer's color format; deal with the case of webgl's internal fbo.
* html/canvas/WebGLRenderingContext.h:
2010-12-22 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
[GTK] Compilation fixes with GTK+ 2.91.7
https://bugs.webkit.org/show_bug.cgi?id=51487
* platform/gtk/GtkVersioning.h: do not define GDK_DISPLAY for
backwards compatibility, it's now defined again in GTK+ 3.x.
* platform/gtk/PasteboardHelper.cpp: do not call GDK functions to
initialize global static variables (!). These are called when the
.so is loaded, and they now require GType to be initialized and
will crash. Initialize them once from the ctor, which is a more
common pattern anyway.
(WebCore::initGdkAtoms): new method to initialize static variables.
(WebCore::PasteboardHelper::PasteboardHelper): call it.
* plugins/gtk/PluginViewGtk.cpp: do not include gdkconfig.h when
using GTK+ 3.x, since it's no longer installed.
2010-12-22 Dirk Schulze <krit@wbekit.org>
Reviewed by Nikolas Zimmermann.
Cleanup SVG code according to the webkit style rules 2
https://bugs.webkit.org/show_bug.cgi?id=51461
Second patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
No changes of functionality, so no new tests.
* svg/SVGFEDisplacementMapElement.cpp:
(WebCore::SVGFEDisplacementMapElement::stringToChannel):
* svg/SVGFEDistantLightElement.h:
* svg/SVGFEFuncAElement.h:
* svg/SVGFEFuncBElement.h:
* svg/SVGFEFuncGElement.h:
* svg/SVGFEFuncRElement.h:
* svg/SVGFEMergeElement.cpp:
(WebCore::SVGFEMergeElement::build):
* svg/SVGFEMorphologyElement.cpp:
* svg/SVGFEPointLightElement.h:
* svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::findLights):
* svg/SVGFESpotLightElement.h:
* svg/SVGFitToViewBox.cpp:
(WebCore::SVGFitToViewBox::parseViewBox):
(WebCore::SVGFitToViewBox::isKnownAttribute):
* svg/SVGFontFaceElement.cpp:
(WebCore::cssPropertyIdForSVGAttributeName):
* svg/SVGFontFaceElement.h:
(WebCore::SVGFontFaceElement::associatedFontElement):
* svg/SVGFontFaceNameElement.h:
* svg/SVGFontFaceSrcElement.cpp:
* svg/SVGFontFaceSrcElement.h:
* svg/SVGFontFaceUriElement.h:
* svg/SVGForeignObjectElement.h:
* svg/SVGGlyphElement.cpp:
(WebCore::parseArabicForm):
(WebCore::parseOrientation):
* svg/SVGGlyphElement.h:
(WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
(WebCore::SVGGlyphIdentifier::inheritedValue):
(WebCore::SVGGlyphIdentifier::operator==):
(WebCore::SVGGlyphElement::rendererIsNeeded):
* svg/SVGGlyphMap.h:
(WebCore::GlyphMapNode::GlyphMapNode):
(WebCore::GlyphMapNode::create):
(WebCore::SVGGlyphMap::SVGGlyphMap):
(WebCore::SVGGlyphMap::add):
(WebCore::SVGGlyphMap::compareGlyphPriority):
(WebCore::SVGGlyphMap::get):
(WebCore::SVGGlyphMap::clear):
* svg/SVGGradientElement.cpp:
* svg/SVGHKernElement.cpp:
* svg/SVGHKernElement.h:
(WebCore::SVGHKernElement::rendererIsNeeded):
* svg/SVGImageElement.h:
* svg/SVGImageLoader.cpp:
* svg/SVGImageLoader.h:
* svg/SVGLangSpace.cpp:
(WebCore::SVGLangSpace::parseMappedAttribute):
(WebCore::SVGLangSpace::isKnownAttribute):
* svg/SVGLangSpace.h:
(WebCore::SVGLangSpace::xmllang):
* svg/SVGMetadataElement.h:
* svg/SVGMissingGlyphElement.h:
(WebCore::SVGMissingGlyphElement::rendererIsNeeded):
* svg/SVGPaint.cpp:
(WebCore::SVGPaint::cssText):
* svg/SVGPaint.h:
(WebCore::SVGPaint::create):
(WebCore::SVGPaint::paintType):
(WebCore::SVGPaint::isSVGPaint):
* svg/SVGParserUtilities.cpp:
* svg/SVGParserUtilities.h:
(WebCore::isWhitespace):
(WebCore::skipOptionalSpaces):
(WebCore::skipOptionalSpacesOrDelimiter):
* svg/SVGPathElement.cpp:
* svg/SVGPathParserFactory.h:
* svg/SVGPathSegList.h:
2010-12-22 Chris Fleizach <cfleizach@apple.com>
Reviewed by Sam Weinig.
AX: WAI-ARIA textbox role needs different AXRole, depending on value of aria-multiline property
https://bugs.webkit.org/show_bug.cgi?id=51481
Support aria-multiline and use it to change the role of an ARIA "textbox"
from AXTextArea to AXTextField.
Test: platform/mac/accessibility/aria-multiline.html
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::ariaIsMultiline):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isPasswordField):
(WebCore::AccessibilityObject::isTextControl):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
* accessibility/AccessibilityRenderObject.h:
* html/HTMLAttributeNames.in:
2010-12-22 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
CSS 2.1 failure: counter-increment-013 fails
https://bugs.webkit.org/show_bug.cgi?id=51483
Clamp the counter-increment property to the valid range of signed
integers.
Test: fast/css/counters/counter-increment-overflow.html
* css/CSSParser.cpp:
(WebCore::clampToSignedInteger):
(WebCore::CSSParser::parseCounter):
2010-12-22 Dan Bernstein <mitz@apple.com>
Rubber-stamped by Mark Rowe.
Changed WebKitTools to Tools in script build phases.
* WebCore.xcodeproj/project.pbxproj:
2010-12-21 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Fixing crash with empty render surfaces.
https://bugs.webkit.org/show_bug.cgi?id=51432
Test: platform/chromium/compositing/empty-render-surface-crasher.html
* platform/graphics/chromium/RenderSurfaceChromium.cpp:
(WebCore::RenderSurfaceChromium::draw):
2010-12-21 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: persist JavaScript breakpoints in frontend settings.
https://bugs.webkit.org/show_bug.cgi?id=48434
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::setBreakpoint):
(WebCore::ScriptDebugServer::removeBreakpoint):
* bindings/js/ScriptDebugServer.h:
* bindings/v8/DebuggerScript.js:
():
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::setBreakpoint):
(WebCore::ScriptDebugServer::removeBreakpoint):
* bindings/v8/ScriptDebugServer.h:
* inspector/Inspector.idl:
* inspector/InspectorBackend.cpp:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::enableDebuggerFromFrontend):
(WebCore::InspectorController::setStickyBreakpoints):
(WebCore::InspectorController::restoreStickyBreakpoint):
* inspector/InspectorController.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
(WebCore::InspectorDebuggerAgent::setBreakpoint):
(WebCore::InspectorDebuggerAgent::removeBreakpoint):
(WebCore::InspectorDebuggerAgent::restoreBreakpoint):
(WebCore::InspectorDebuggerAgent::clearForPageNavigation):
(WebCore::InspectorDebuggerAgent::didParseSource):
* inspector/InspectorDebuggerAgent.h:
* inspector/front-end/Breakpoint.js:
(WebInspector.Breakpoint):
(WebInspector.Breakpoint.prototype.remove):
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager):
(WebInspector.DOMBreakpoint.prototype._serializeToJSON):
(WebInspector.JavaScriptBreakpoint):
(WebInspector.XHRBreakpoint.prototype._serializeToJSON):
* inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._debuggerPaused):
* inspector/front-end/SourceFrame.js:
2010-12-20 Antti Koivisto <antti@apple.com>
Reviewed by Alexey Proskuryakov.
https://bugs.webkit.org/show_bug.cgi?id=51354
Don't block rendering and script execution on deferred stylesheets
- Don't add low priority stylesheets to the document pending sheet count.
- Resolve media attribute fully for the link element stylesheet load.
Test: http/tests/local/stylesheet-and-script-load-order-media-print.html
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::HTMLLinkElement):
(WebCore::HTMLLinkElement::~HTMLLinkElement):
(WebCore::HTMLLinkElement::setDisabledState):
(WebCore::HTMLLinkElement::process):
(WebCore::HTMLLinkElement::sheetLoaded):
(WebCore::HTMLLinkElement::addPendingSheet):
(WebCore::HTMLLinkElement::removePendingSheet):
* html/HTMLLinkElement.h:
2010-12-22 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r74473.
http://trac.webkit.org/changeset/74473
https://bugs.webkit.org/show_bug.cgi?id=51463
broke compilation on leopard intel release (Requested by
podivilov on #webkit).
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::setBreakpoint):
(WebCore::ScriptDebugServer::removeBreakpoint):
* bindings/js/ScriptDebugServer.h:
* bindings/v8/DebuggerScript.js:
():
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::setBreakpoint):
(WebCore::ScriptDebugServer::removeBreakpoint):
* bindings/v8/ScriptDebugServer.h:
* inspector/Inspector.idl:
* inspector/InspectorBackend.cpp:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::enableDebuggerFromFrontend):
(WebCore::InspectorController::setStickyBreakpoints):
(WebCore::InspectorController::restoreStickyBreakpoint):
(WebCore::InspectorController::breakpointsSettingKey):
(WebCore::InspectorController::loadBreakpoints):
(WebCore::InspectorController::saveBreakpoints):
* inspector/InspectorController.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::formatBreakpointId):
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::setBreakpoint):
(WebCore::InspectorDebuggerAgent::removeBreakpoint):
(WebCore::InspectorDebuggerAgent::clearForPageNavigation):
(WebCore::InspectorDebuggerAgent::md5Base16):
(WebCore::InspectorDebuggerAgent::loadBreakpoints):
(WebCore::InspectorDebuggerAgent::saveBreakpoints):
(WebCore::InspectorDebuggerAgent::didParseSource):
* inspector/InspectorDebuggerAgent.h:
* inspector/front-end/Breakpoint.js:
(WebInspector.Breakpoint):
(WebInspector.Breakpoint.jsBreakpointId):
(WebInspector.Breakpoint.prototype.set enabled):
(WebInspector.Breakpoint.prototype.get id):
(WebInspector.Breakpoint.prototype.set condition):
(WebInspector.Breakpoint.prototype.remove):
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager):
(WebInspector.BreakpointManager.prototype._createDOMBreakpoint):
(WebInspector.BreakpointManager.prototype._createEventListenerBreakpoint):
(WebInspector.BreakpointManager.prototype._createXHRBreakpoint):
(WebInspector.BreakpointManager.prototype._setNativeBreakpoint):
(WebInspector.BreakpointManager.prototype._setNativeBreakpointEnabled):
(WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
(WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
(WebInspector.BreakpointManager.prototype._projectChanged):
(WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
(WebInspector.BreakpointManager.prototype._saveBreakpoints):
(WebInspector.BreakpointManager.prototype._validateBreakpoints):
(WebInspector.DOMBreakpoint.prototype._serializeToJSON):
(WebInspector.EventListenerBreakpoint.prototype._serializeToJSON):
(WebInspector.XHRBreakpoint.prototype._serializeToJSON):
(WebInspector.NativeBreakpointView.prototype.set enabled):
(WebInspector.NativeBreakpointView.prototype.remove):
* inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel):
(WebInspector.DebuggerModel.prototype.setOneTimeBreakpoint):
(WebInspector.DebuggerModel.prototype.removeOneTimeBreakpoint):
(WebInspector.DebuggerModel.prototype.setBreakpoint):
(WebInspector.DebuggerModel.prototype.findBreakpoint):
(WebInspector.DebuggerModel.prototype.reset):
(WebInspector.DebuggerModel.prototype._setBreakpoint):
(WebInspector.DebuggerModel.prototype._breakpointRemoved):
(WebInspector.DebuggerModel.prototype._setBreakpointOnBackend):
(WebInspector.DebuggerModel.prototype.breakpointRestored):
(WebInspector.DebuggerModel.prototype.pausedScript):
(WebInspector.DebuggerModel.prototype.resumedScript):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.continueToLine):
(WebInspector.ScriptsPanel.prototype._debuggerPaused):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
(WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
(WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
(WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
(WebInspector.SourceFrame.prototype._contextMenu):
(WebInspector.SourceFrame.prototype._mouseDown):
(WebInspector.SourceFrame.prototype._continueToLine):
(WebInspector.SourceFrame.prototype._setBreakpoint):
2010-12-21 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: persist JavaScript breakpoints in frontend settings.
https://bugs.webkit.org/show_bug.cgi?id=48434
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::setBreakpoint):
(WebCore::ScriptDebugServer::removeBreakpoint):
* bindings/js/ScriptDebugServer.h:
* bindings/v8/DebuggerScript.js:
():
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::setBreakpoint):
(WebCore::ScriptDebugServer::removeBreakpoint):
* bindings/v8/ScriptDebugServer.h:
* inspector/Inspector.idl:
* inspector/InspectorBackend.cpp:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::enableDebuggerFromFrontend):
(WebCore::InspectorController::setStickyBreakpoints):
(WebCore::InspectorController::restoreStickyBreakpoint):
* inspector/InspectorController.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
(WebCore::InspectorDebuggerAgent::setBreakpoint):
(WebCore::InspectorDebuggerAgent::removeBreakpoint):
(WebCore::InspectorDebuggerAgent::restoreBreakpoint):
(WebCore::InspectorDebuggerAgent::clearForPageNavigation):
(WebCore::InspectorDebuggerAgent::didParseSource):
* inspector/InspectorDebuggerAgent.h:
* inspector/front-end/Breakpoint.js:
(WebInspector.Breakpoint):
(WebInspector.Breakpoint.prototype.remove):
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager):
(WebInspector.DOMBreakpoint.prototype._serializeToJSON):
(WebInspector.JavaScriptBreakpoint):
(WebInspector.XHRBreakpoint.prototype._serializeToJSON):
* inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._debuggerPaused):
* inspector/front-end/SourceFrame.js:
2010-12-22 Dirk Schulze <krit@wbekit.org>
Reviewed by Nikolas Zimmermann.
Cleanup SVG code according to the webkit style rules 1
https://bugs.webkit.org/show_bug.cgi?id=51411
First patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
No change of functionality.
* svg/ColorDistance.cpp:
(WebCore::ColorDistance::isZero):
* svg/ColorDistance.h:
* svg/ElementTimeControl.h:
(WebCore::ElementTimeControl::~ElementTimeControl):
* svg/LinearGradientAttributes.h:
(WebCore::LinearGradientAttributes::LinearGradientAttributes):
(WebCore::LinearGradientAttributes::x1):
(WebCore::LinearGradientAttributes::y1):
(WebCore::LinearGradientAttributes::x2):
(WebCore::LinearGradientAttributes::y2):
(WebCore::LinearGradientAttributes::setX1):
(WebCore::LinearGradientAttributes::setY1):
(WebCore::LinearGradientAttributes::setX2):
(WebCore::LinearGradientAttributes::setY2):
(WebCore::LinearGradientAttributes::hasX1):
(WebCore::LinearGradientAttributes::hasY1):
(WebCore::LinearGradientAttributes::hasX2):
(WebCore::LinearGradientAttributes::hasY2):
* svg/RadialGradientAttributes.h:
(WebCore::RadialGradientAttributes::RadialGradientAttributes):
(WebCore::RadialGradientAttributes::cx):
(WebCore::RadialGradientAttributes::cy):
(WebCore::RadialGradientAttributes::r):
(WebCore::RadialGradientAttributes::fx):
(WebCore::RadialGradientAttributes::fy):
(WebCore::RadialGradientAttributes::setCx):
(WebCore::RadialGradientAttributes::setCy):
(WebCore::RadialGradientAttributes::setR):
(WebCore::RadialGradientAttributes::setFx):
(WebCore::RadialGradientAttributes::setFy):
(WebCore::RadialGradientAttributes::hasCx):
(WebCore::RadialGradientAttributes::hasCy):
(WebCore::RadialGradientAttributes::hasR):
(WebCore::RadialGradientAttributes::hasFx):
(WebCore::RadialGradientAttributes::hasFy):
* svg/SVGAngle.cpp:
* svg/SVGAnimateColorElement.h:
* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::calculateAnimatedValue):
(WebCore::SVGAnimateElement::calculateDistance):
* svg/SVGAnimateElement.h:
* svg/SVGAnimateMotionElement.cpp:
* svg/SVGAnimateMotionElement.h:
* svg/SVGAnimatedNumber.h:
* svg/SVGAnimationElement.cpp:
(WebCore::parseKeyTimes):
(WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
(WebCore::SVGAnimationElement::updateAnimation):
* svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::svgAttributeChanged):
* svg/SVGColor.h:
(WebCore::SVGColor::create):
(WebCore::SVGColor::createCurrentColor):
(WebCore::SVGColor::colorType):
(WebCore::SVGColor::setRGBColor):
(WebCore::SVGColor::color):
(WebCore::SVGColor::isSVGColor):
* svg/SVGCursorElement.cpp:
(WebCore::SVGCursorElement::svgAttributeChanged):
* svg/SVGCursorElement.h:
* svg/SVGDescElement.h:
(WebCore::SVGDescElement::rendererIsNeeded):
* svg/SVGDocument.cpp:
* svg/SVGDocument.h:
(WebCore::SVGDocument::create):
(WebCore::SVGDocument::isSVGDocument):
* svg/SVGElement.h:
(WebCore::SVGElement::isStyled):
(WebCore::SVGElement::isStyledTransformable):
(WebCore::SVGElement::isStyledLocatable):
(WebCore::SVGElement::isSVG):
(WebCore::SVGElement::isFilterEffect):
(WebCore::SVGElement::isGradientStop):
(WebCore::SVGElement::isTextContent):
(WebCore::SVGElement::isValid):
(WebCore::SVGElement::svgAttributeChanged):
(WebCore::SVGElement::synchronizeProperty):
(WebCore::SVGElement::supplementalTransform):
(WebCore::SVGElement::invalidateSVGAttributes):
(WebCore::SVGElement::rendererIsNeeded):
(WebCore::SVGElement::needsPendingResourceHandling):
(WebCore::SVGElement::buildPendingResource):
* svg/SVGElementInstance.h:
(WebCore::SVGElementInstance::create):
(WebCore::SVGElementInstance::correspondingElement):
(WebCore::SVGElementInstance::correspondingUseElement):
(WebCore::SVGElementInstance::shadowTreeElement):
(WebCore::SVGElementInstance::parentNode):
(WebCore::SVGElementInstance::previousSibling):
(WebCore::SVGElementInstance::nextSibling):
(WebCore::SVGElementInstance::firstChild):
(WebCore::SVGElementInstance::lastChild):
(WebCore::SVGElementInstance::ownerDocument):
(WebCore::SVGElementInstance::toNode):
(WebCore::SVGElementInstance::toSVGElementInstance):
(WebCore::SVGElementInstance::hasChildNodes):
(WebCore::SVGElementInstance::setFirstChild):
(WebCore::SVGElementInstance::setLastChild):
(WebCore::SVGElementInstance::setNextSibling):
(WebCore::SVGElementInstance::setPreviousSibling):
(WebCore::SVGElementInstance::refEventTarget):
(WebCore::SVGElementInstance::derefEventTarget):
* svg/SVGElementInstanceList.h:
(WebCore::SVGElementInstanceList::create):
* svg/SVGException.h:
(WebCore::SVGException::create):
(WebCore::SVGException::SVGException):
* svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
* svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::build):
* svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::findLights):
* svg/SVGFont.cpp:
(WebCore::convertEmUnitToPixel):
* svg/SVGUseElement.cpp:
(WebCore::isDirectReference):
2010-12-22 Dai Mikurube <dmikurube@google.com>
Reviewed by Kent Tamura.
https://bugs.webkit.org/show_bug.cgi?id=51289
Initial state of checkValidity() and :invalid are incorrect with <select required>
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::childrenChanged): setNeedsValidityCheck() after <select>'s children change.
2010-12-22 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Joseph Pecoraro.
Web Inspector: Styles pane fails to display properties from a broken CSS rule correctly
https://bugs.webkit.org/show_bug.cgi?id=51405
Invoke markPropertyStart() after the parser has restored after an error.
* css/CSSGrammar.y:
2010-12-22 Dai Mikurube <dmikurube@google.com>
Reviewed by Kent Tamura.
Assertion failure with <select multiple required>
https://bugs.webkit.org/show_bug.cgi?id=51260
Test: fast/css/pseudo-valid-select-click.html
* dom/SelectElement.cpp: updateValidity() after selecting some options of ListBox-typed <select> elements to update valid() cache.
(WebCore::SelectElement::updateListBoxSelection):
2010-12-21 Darin Adler <darin@apple.com>
Unreviewed correction to unreviewed build fix for r74447.
Inappropriate code was left behind in sourceURI function for non-Dashboard platforms.
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::sourceURI): Change the logic so all the bug-workaround
logic is inside the #ifdef.
2010-12-21 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
Include the shadow color space as part of the GraphicsContext state
https://bugs.webkit.org/show_bug.cgi?id=51420
Include the ColorSpace for the shadow color as part of the graphics
state. This will be used later for a shadow implementation that
does not rely on platform shadow code.
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::setShadow):
(WebCore::GraphicsContext::clearShadow):
(WebCore::GraphicsContext::getShadow):
* platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContextState::GraphicsContextState):
* platform/graphics/chromium/FontChromiumWin.cpp:
(WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
(WebCore::Font::drawComplexText):
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::drawGlyphs):
* platform/graphics/skia/SkiaFontWin.cpp:
(WebCore::windowsCanHandleDrawTextShadow):
* platform/graphics/win/FontCGWin.cpp:
(WebCore::drawGDIGlyphs):
(WebCore::Font::drawGlyphs):
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::drawText):
2010-12-21 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/8668230> REGRESSION (r71884): Returning alternate requests from willSendRequest can prevent other requests from ever being sent
https://bugs.webkit.org/show_bug.cgi?id=51413
71884 was wrong in moving willSendRequest to ResourceLoader::start(). It’s wrong to do all the
scheduling, which is host-dependent, before calling willSendRequest, because the latter can
change the host.
* loader/NetscapePlugInStreamLoader.cpp:
(WebCore::NetscapePlugInStreamLoader::create): Check the return value from ResourceLoader::init()
and return 0 if it is false.
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::init): Made this function return a boolean. Moved the call to willSendRequest()
from start() into here. Return false if willSendRequest() canceled the request.
(WebCore::ResourceLoader::start): Moved the call to willSendRequest() from here to init().
* loader/ResourceLoader.h:
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::create): Check the return value from ResourceLoader::init()
and return 0 if it is false.
2010-12-21 Benjamin Kalman <kalman@chromium.org>
Reviewed by Darin Adler.
Shift-End does not select to the end of the line
https://bugs.webkit.org/show_bug.cgi?id=50610
Let the VisiblePosition affinity for end of line selection to be set by
visibleEnd/visibleStart rather than using end/start and always using UPSTREAM.
Test: editing/selection/extend-to-line-boundary.html
* editing/SelectionController.cpp:
(WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than
start/end.
(WebCore::SelectionController::modifyExtendingForward): Don't explicitly use UPSTREAM affinity.
2010-12-21 Jan Erik Hanssen <jhanssen@sencha.com>
Reviewed by Simon Fraser.
matrix3d() must take the zoom factor into account
https://bugs.webkit.org/show_bug.cgi?id=51408
Test: transforms/3d/general/matrix-with-zoom-3d.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::createTransformOperations):
2010-12-21 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Move V8 to common implementation of window.open
https://bugs.webkit.org/show_bug.cgi?id=51385
I also changed some function names to match WebKit style. There's a
bunch of code we can remove in the generic bindings now. I'll do that
in the next patch.
* bindings/generic/BindingDOMWindow.h:
(WebCore::::open):
* bindings/generic/BindingFrame.h:
(WebCore::::navigateIfAllowed):
* bindings/generic/BindingSecurity.h:
(WebCore::::canAccessWindow):
(WebCore::::allowPopUp):
(WebCore::::shouldAllowNavigation):
* bindings/generic/GenericBinding.h:
(WebCore::completeURL):
* bindings/js/JSDOMBinding.cpp:
(WebCore::toLexicalFrame):
(WebCore::toDynamicFrame):
* bindings/js/specialization/JSBindingState.cpp:
(WebCore::::activeFrame):
(WebCore::::firstFrame):
* bindings/js/specialization/JSBindingState.h:
* bindings/v8/V8Utilities.cpp:
(WebCore::callingOrEnteredFrame):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::locationAccessorSetter):
(WebCore::V8DOMWindow::openCallback):
* bindings/v8/specialization/V8BindingState.cpp:
(WebCore::::activeWindow):
(WebCore::::firstWindow):
(WebCore::::activeFrame):
(WebCore::::firstFrame):
* bindings/v8/specialization/V8BindingState.h:
2010-12-21 Ryosuke Niwa <rniwa@webkit.org>
Unreviewed build fix for r74447.
Call usesDashboardBackwardCompatibilityMode() only if DASHBOARD_SUPPORT is enabled.
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::sourceURI):
2010-12-21 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
<rdar://problem/8725702> REGRESSION (r68854): Broken image icon seen in the Address Book Dashboard widget
Test: platform/mac/fast/dom/HTMLImageElement/dashboard-src-quirk.html
The Address Book widget sets the src attribute of an img element to a string that looks like a CSS
URL value. This used to work prior to r68854, because some DOM attribute parsing functions were using
the wrong function to parse URL attributes (last named deprecatedParseURL).
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::sourceURI): In Dashboard, check if the src attribute begins with 'url("'
and ends with '")', and if so, strip those away.
2010-12-21 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
CharacterData needs cleanup
https://bugs.webkit.org/show_bug.cgi?id=51426
Extracted CharacterData::setDataAndNotify and CharacterData::updateRenderer.
* dom/CharacterData.cpp:
(WebCore::CharacterData::setData): Calls setDataAndUpdate.
(WebCore::CharacterData::parserAppendData): Ditto.
(WebCore::CharacterData::appendData): Ditto.
(WebCore::CharacterData::insertData): Ditto.
(WebCore::CharacterData::deleteData): Ditto.
(WebCore::CharacterData::replaceData): Ditto.
(WebCore::CharacterData::setDataAndUpdate): Added.
(WebCore::CharacterData::updateRenderer): Added.
(WebCore::CharacterData::dispatchModifiedEvent): Renamed prevValue to oldData.
* dom/CharacterData.h:
2010-12-21 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r74420.
http://trac.webkit.org/changeset/74420
https://bugs.webkit.org/show_bug.cgi?id=51436
causes editing/pasteboard/paste-noscript-xhtml.xhtml to crash
(Requested by tonyg-cr on #webkit).
* dom/DocumentParser.cpp:
* dom/DocumentParser.h:
* html/parser/HTMLDocumentParser.cpp:
* html/parser/HTMLDocumentParser.h:
* html/parser/HTMLParserScheduler.cpp:
(WebCore::HTMLParserScheduler::HTMLParserScheduler):
* html/parser/HTMLParserScheduler.h:
(WebCore::HTMLParserScheduler::isScheduledForResume):
* page/PageGroupLoadDeferrer.cpp:
(WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
(WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2010-12-21 Kenneth Russell <kbr@google.com>
Reviewed by Darin Fisher.
Enable extensions used in accelerated 2D canvas implementation
https://bugs.webkit.org/show_bug.cgi?id=51433
Call Extensions3D::ensureEnabled() for all supported extensions
the accelerated 2D Canvas implementation uses. Tested with a few
layout tests previously failing when run in Chromium due to OpenGL
INVALID_ENUM and other errors.
* platform/graphics/gpu/DrawingBuffer.cpp:
(WebCore::DrawingBuffer::create):
* platform/graphics/gpu/SharedGraphicsContext3D.cpp:
(WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
(WebCore::SharedGraphicsContext3D::supportsBGRA):
* platform/graphics/gpu/SharedGraphicsContext3D.h:
2010-12-21 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
WebGLRenderingContext needs to zero textures and renderbuffers
https://bugs.webkit.org/show_bug.cgi?id=49355
Test: fast/canvas/webgl/uninitialized-test.html
* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::onAccess): Use a parameter to decide if renderbuffer initialization is needed.
(WebCore::WebGLFramebuffer::initializeRenderbuffers): Don't return false if color buffer doesn't exist.
* html/canvas/WebGLFramebuffer.h: Modify onAccess with an added parameter.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::clear): Call onAccess with an added parameter.
(WebCore::WebGLRenderingContext::copyTexImage2D): Ditto.
(WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
(WebCore::WebGLRenderingContext::drawArrays): Ditto.
(WebCore::WebGLRenderingContext::drawElements): Ditto.
(WebCore::WebGLRenderingContext::readPixels): Ditto.
(WebCore::WebGLRenderingContext::texImage2DBase): Create buffer data of 0s if input is null to initialize textures.
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::GraphicsContext3D::texImage2DResourceSafe): Helper function that initialize all pixels to 0.
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::updateContentsIfDirty): Use texImage2DResourceSafe.
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::generateColorTexture): Ditto.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::prepareToDrawLayers): Ditto.
* platform/graphics/chromium/TextureManager.cpp:
(WebCore::TextureManager::requestTexture): Ditto.
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::allocateTexture): Ditto.
* platform/graphics/gpu/DrawingBuffer.cpp:
(WebCore::DrawingBuffer::reset): Use texImage2DResourceSafe; also, only initialize depth/stencil buffer.
* platform/graphics/gpu/SharedGraphicsContext3D.cpp:
(WebCore::SharedGraphicsContext3D::texImage2D): Use texImage2DResourceSafe.
* platform/graphics/gpu/Texture.cpp:
(WebCore::Texture::create): Ditto.
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::texImage2D): Generate an INVALID_VALUE if pixels==null is passed in.
2010-12-21 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioBusChromium for decoding audio file data
https://bugs.webkit.org/show_bug.cgi?id=51430
No new tests since audio API is not yet implemented.
* platform/audio/chromium: Added.
* platform/audio/chromium/AudioBusChromium.cpp: Added.
(WebCore::createBusFromInMemoryAudioFile):
2010-12-21 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add web audio spatialization resource files
https://bugs.webkit.org/show_bug.cgi?id=50998
No new tests since audio API is not yet implemented.
* platform/audio/HRTFElevation.cpp:
(WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
* platform/audio/mac/AudioBusMac.mm:
(WebCore::AudioBus::loadPlatformResource):
* platform/audio/resources: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T000_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T000_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T000_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T000_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T000_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T000_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T000_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T000_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T000_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T000_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T015_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T015_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T015_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T015_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T015_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T015_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T015_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T015_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T015_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T015_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T030_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T030_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T030_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T030_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T030_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T030_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T030_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T030_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T030_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T030_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T045_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T045_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T045_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T045_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T045_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T045_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T045_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T045_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T045_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T045_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T060_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T060_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T060_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T060_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T060_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T060_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T060_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T060_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T060_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T060_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T075_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T075_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T075_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T075_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T075_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T075_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T075_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T075_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T075_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T075_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T090_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T090_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T090_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T090_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T090_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T090_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T090_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T090_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T090_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T090_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T105_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T105_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T105_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T105_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T105_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T105_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T105_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T105_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T105_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T105_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T120_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T120_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T120_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T120_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T120_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T120_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T120_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T120_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T120_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T120_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T135_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T135_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T135_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T135_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T135_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T135_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T135_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T135_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T135_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T135_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T150_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T150_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T150_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T150_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T150_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T150_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T150_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T150_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T150_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T150_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T165_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T165_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T165_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T165_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T165_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T165_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T165_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T165_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T165_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T165_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T180_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T180_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T180_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T180_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T180_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T180_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T180_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T180_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T180_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T180_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T195_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T195_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T195_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T195_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T195_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T195_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T195_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T195_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T195_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T195_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T210_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T210_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T210_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T210_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T210_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T210_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T210_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T210_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T210_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T210_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T225_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T225_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T225_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T225_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T225_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T225_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T225_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T225_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T225_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T225_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T240_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T240_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T240_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T240_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T240_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T240_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T240_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T240_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T240_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T240_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T255_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T255_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T255_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T255_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T255_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T255_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T255_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T255_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T255_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T255_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T270_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T270_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T270_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T270_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T270_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T270_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T270_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T270_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T270_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T270_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T285_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T285_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T285_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T285_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T285_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T285_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T285_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T285_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T285_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T285_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T300_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T300_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T300_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T300_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T300_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T300_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T300_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T300_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T300_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T300_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T315_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T315_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T315_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T315_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T315_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T315_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T315_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T315_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T315_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T315_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T330_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T330_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T330_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T330_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T330_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T330_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T330_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T330_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T330_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T330_P345.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T345_P000.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T345_P015.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T345_P030.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T345_P045.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T345_P060.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T345_P075.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T345_P090.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T345_P315.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T345_P330.wav: Added.
* platform/audio/resources/IRC_Composite_C_R0195_T345_P345.wav: Added.
2010-12-21 Geoffrey Garen <ggaren@apple.com>
Reviewed by Gavin Barraclough & Oliver Hunt.
Added PageAllocationAligned, a cross-platform abstraction for memory allocations with arbitrary alignment requirements
https://bugs.webkit.org/show_bug.cgi?id=51359
* ForwardingHeaders/wtf/PageAllocationAligned.h: Added.
2010-12-21 Ariya Hidayat <ariya@sencha.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=49774
Need to scale translation values in matrix() by the zoom factor.
Test: fast/transforms/matrix-with-zoom.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::createTransformOperations):
2010-12-21 Jian Li <jianli@chromium.org>
Reviewed by Darin Adler.
Fix bug 51366: REGRESSION (r66452): Form data no longer contains
'Content-Type' header for files with unrecognized extensions
https://bugs.webkit.org/show_bug.cgi?id=51366
Test: http/tests/local/formdata/form-data-with-unknown-file-extension.html
* platform/network/FormData.cpp:
(WebCore::FormData::appendKeyValuePairItems):
2010-12-21 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Mac WebKit delivers an extra didCommit when loading web archives
https://bugs.webkit.org/show_bug.cgi?id=51419
Could not find a simple way to test this in WebKit1, but in WebKit2
it leads to an immediate failure when loading a web archive. Tested
that making the Mac share the same code path with other platforms
works fine in WebKit1.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::finishedLoadingDocument): Removed special case for
the Mac platform. Also removed the call to isArchiveMimeType since we
get a 0 from ArchiveFactory::create in that case.
* loader/archive/ArchiveFactory.cpp:
(WebCore::ArchiveFactory::isArchiveMimeType): Hardened slightly by
adding a special case for null and empty strings, since hash tables can't
handle null strings.
(WebCore::ArchiveFactory::create): Ditto.
2010-12-21 Yong Li <yoli@rim.com>
Reviewed by Adam Barth.
Suspend HTMLParserScheduler when page load is deferred to
avoid potential JS re-entrancy. Otherwise, when JS execution is triggered
from an external script or by events, and is blocked by a modal dialog,
WebKit can parse more HTML source and also start another JS execution.
https://bugs.webkit.org/show_bug.cgi?id=48077
Test case: WebCore/manual-tests/bugzilla-48077.html.
* dom/DocumentParser.cpp:
(WebCore::DocumentParser::suspendParsing):
(WebCore::DocumentParser::resumeParsing):
* dom/DocumentParser.h:
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::suspendParsing):
(WebCore::HTMLDocumentParser::resumeParsing):
* html/parser/HTMLParserScheduler.cpp:
(WebCore::HTMLParserScheduler::HTMLParserScheduler):
(WebCore::HTMLParserScheduler::suspend):
(WebCore::HTMLParserScheduler::resume):
* html/parser/HTMLParserScheduler.h:
(WebCore::HTMLParserScheduler::isScheduledForResume):
* page/PageGroupLoadDeferrer.cpp:
(WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
(WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2010-12-21 Anders Carlsson <andersca@apple.com>
Reviewed by John Sullivan.
Clicking missing plug-in text does not show a sheet
https://bugs.webkit.org/show_bug.cgi?id=51403
* WebCore.exp.in:
Export symbols needed by WebKit2.
* WebCore.xcodeproj/project.pbxproj:
Make HTMLPlugInImageElement.h a private header.
* html/HTMLPlugInImageElement.h:
(WebCore::HTMLPlugInImageElement::serviceType):
(WebCore::HTMLPlugInImageElement::url):
Make these member functions public.
2010-12-21 Andras Becsi <abecsi@webkit.org>
Unreviewed build fix.
[Qt] Fix the build with USE_GSTREAMER=1
No new tests needed.
* WebCore.pro: remove nonexisting DataSourceGStreamer sources.
2010-12-21 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
Reviewed by Andreas Kling.
[Qt] QtWebKit doesn't build in debug on Windows
https://bugs.webkit.org/show_bug.cgi?id=41930
Disable incremental linking in windows 32bit debug version as webkit is so
big it fails to link incremental.
Build fix. No new test cases added.
* WebCore.pro:
2010-12-21 Dominic Cooney <dominicc@google.com>
Reviewed by Adam Barth.
Rename Node::isShadowNode to isShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=51060
The method gets whether the node is the root of a shadow tree;
renamed to reflect intent.
A simple rename--no new tests needed.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::initForStyleResolve):
(WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
* dom/Node.cpp:
(WebCore::Node::shadowTreeRootNode):
(WebCore::Node::isInShadowTree):
(WebCore::eventTargetRespectingSVGTargetRules):
(WebCore::Node::getEventAncestors):
* dom/Node.h:
(WebCore::Node::isShadowRoot):
* dom/Range.cpp:
(WebCore::Range::checkNodeBA):
* page/DragController.cpp:
(WebCore::asFileInput):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::dispatchMouseEvent):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::hasLineIfEmpty):
* rendering/TextControlInnerElements.cpp:
(WebCore::TextControlInnerElement::attachInnerElement):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::title):
* svg/SVGUseElement.cpp:
(WebCore::ShadowTreeUpdateBlocker::while):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::insertedIntoDocument):
2010-12-20 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
Reviewed by Andreas Kling.
Qt port of geolocation, geoposition objects timestamp was in seconds
instead of miliseconds as per HTML5 Geolocation standards.
Ref: http://dev.w3.org/geo/api/spec-source.html#position_interface
http://www.w3.org/TR/DOM-Level-3-Core/core.html#Core-DOMTimeStamp
Implemented by Asheesh Srivastava.
[QT] QtWebkit geolocation's position.timestamp is not in miliseconds
https://bugs.webkit.org/show_bug.cgi?id=51100
Porting code not covered in layout testing. No new tests added.
* platform/qt/GeolocationServiceQt.cpp:
(WebCore::GeolocationServiceQt::positionUpdated):
2010-12-20 Yuzo Fujishima <yuzo@google.com>
Reviewed by Eric Seidel.
Fix for Bug 26183 - [@font-face] font-family descriptor with multiple names should be discarded
https://bugs.webkit.org/show_bug.cgi?id=26183
Test: fast/css/font-face-font-family-descriptor.html
* css/CSSParser.cpp:
(WebCore::CSSParser::createFontFaceRule): Consider @font-face rule
invalid if its font-family descriptor has multiple (or zero) families.
2010-12-20 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: fall back to object formatting in case dom is not yet loaded.
https://bugs.webkit.org/show_bug.cgi?id=44273
Sometimes DOM is loaded after the inline message is being formatted, so we get
no nodeId for it. Let us fall back to object formatting in such cases.
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype._formatnode):
(WebInspector.ConsoleMessage):
2010-12-20 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Joseph Pecoraro.
Web Inspector: cycle through tag name / attributes / new attribute on Tab.
https://bugs.webkit.org/show_bug.cgi?id=38429
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded):
2010-12-20 Yuta Kitamura <yutak@chromium.org>
Reviewed by Alexey Proskuryakov.
WebSocket errors should be logged to console
https://bugs.webkit.org/show_bug.cgi?id=40945
Test: http/tests/inspector/console-websocket-error.html
* platform/network/SocketStreamErrorBase.cpp:
(WebCore::SocketStreamErrorBase::compare):
* platform/network/SocketStreamErrorBase.h:
(WebCore::SocketStreamErrorBase::failingURL):
(WebCore::SocketStreamErrorBase::localizedDescription):
(WebCore::SocketStreamErrorBase::SocketStreamErrorBase):
* platform/network/cf/SocketStreamError.h:
(WebCore::SocketStreamError::SocketStreamError):
* platform/network/cf/SocketStreamHandle.h:
* platform/network/cf/SocketStreamHandleCFNet.cpp:
(WebCore::SocketStreamHandle::readStreamCallback):
(WebCore::SocketStreamHandle::writeStreamCallback):
(WebCore::SocketStreamHandle::reportErrorToClient):
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::didFail):
2010-12-17 MORITA Hajime <morrita@google.com>
Reviewed by James Robinson.
https://bugs.webkit.org/show_bug.cgi?id=51240
[Chromium][Skia] Border with a color with alpha != 1 breaks webkit gradient on skia.
Even after a shader was set, old color value had been remaining and passed to Skia.
Then Skia refered an alpha component of that color to make pixels transparent.
This change invalidates existing color value when a shader is given,
which means the renderer will paint shapes with gradients or patterns.
Test: fast/gradients/gradient-after-transparent-border.html
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::setStrokeShader):
(WebCore::PlatformContextSkia::setFillShader):
2010-12-20 Xiaomei Ji <xji@chromium.org>
Reviewed by Dan Bernstein.
Fix move left/right by character hang.
https://bugs.webkit.org/show_bug.cgi?id=51344
Test: editing/selection/51344.html
* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
(WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
2010-12-20 Steve Lacey <sjl@chromium.org>
Reviewed by David Levin.
Add missing default styles in mediaControlsChromium.css to prevent
user overrides.
https://bugs.webkit.org/show_bug.cgi?id=51360
No new tests needed as functionality is covered by existing layout
tests.
* css/mediaControlsChromium.css:
(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):
2010-12-20 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Add lastModifiedDate attribute to File interface per File API spec
https://bugs.webkit.org/show_bug.cgi?id=49895
lastModifiedDate is not supported for GObject bindings because Date is
not support in code generation.
Test: http/tests/local/fileapi/file-last-modified.html
* fileapi/File.cpp:
(WebCore::File::lastModifiedDate):
* fileapi/File.h:
* fileapi/File.idl:
2010-12-20 Mark Rowe <mrowe@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/8757601> Don't install header files in to the Resources directory.
* WebCore.xcodeproj/project.pbxproj:
2010-12-20 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
[Chromium] v8/SerializedScriptValue::readUint32 treats incoming raw values as signed instead of unsigned
https://bugs.webkit.org/show_bug.cgi?id=51338
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::ZigZag::Reader::readUint32):
2010-12-20 Beth Dakin <bdakin@apple.com>
Reviewed by Ada Chan.
Fix for https://bugs.webkit.org/show_bug.cgi?id=51355 Crash in
RenderMathMLSubSup::layout() because of null base
-and corresponding-
<rdar://problem/8712200>
Only use base inside if(base) block.
* mathml/RenderMathMLSubSup.cpp:
(WebCore::RenderMathMLSubSup::layout):
2010-12-20 Enrica Casucci <enrica@apple.com>
Reviewed by Darin Adler.
Crash at WebCore::SplitElementCommand::SplitElementCommand
https://bugs.webkit.org/show_bug.cgi?id=51278
<rdar://problem/7347139>
Executing outdent command on an inline blockquote that is
not the first element in a block causes a crash.
The fix consists in chaging the was the start of block is
calculated in case of the inline blockquote.
Test: editing/execCommand/outdent-inline-blockquote.html
editing/execCommand/outdent-inline-list.html
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::outdentParagraph):
2010-12-20 Oliver Hunt <oliver@apple.com>
Reviewed by Darin Adler.
Need to support serialisation of cyclic graphs in the internal structured cloning algorithm
https://bugs.webkit.org/show_bug.cgi?id=51353
The Internal Structured Clone algorithm has been changed to allow (and
correctly clone) cyclic graphs. This patch updates our implementation
to provide that functionality.
I've bumped the serialization version number, and added ObjectReferenceTag
to represent references to objects that have already been seen.
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::startObjectInternal):
Now that we have something a bit more complex than cycle checking
I've replaced the duplicate code in startObject and startArray with
a shared function that implements that logic to plant an object
reference
(WebCore::CloneSerializer::startObject):
(WebCore::CloneSerializer::startArray):
Lift out duplicate code
(WebCore::CloneSerializer::endObject):
Can't remove objects from the gcbuffer now as they need to remain live
so we can identify graphs
(WebCore::CloneSerializer::writeStringIndex):
(WebCore::CloneSerializer::writeObjectIndex):
(WebCore::CloneSerializer::writeConstantPoolIndex):
(WebCore::CloneSerializer::write):
(WebCore::CloneSerializer::serialize):
(WebCore::CloneDeserializer::readStringIndex):
(WebCore::CloneDeserializer::readConstantPoolIndex):
(WebCore::CloneDeserializer::readTerminal):
(WebCore::CloneDeserializer::deserialize):
2010-12-20 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
* GNUmakefile.am: add missing files.
2010-12-20 Abhishek Arya <inferno@chromium.org>
Reviewed by James Robinson.
Pass the correct beforeChild value when adding a child to an anonymous table part.
https://bugs.webkit.org/show_bug.cgi?id=50932
When a "before" content child was added to an anonymous table part, it was added
after the last child. This patch fixes the behavior by adding it properly before
the first child.
Test: fast/css-generated-content/table-before-child-add.html
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::addChild):
2010-12-18 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Bug 26276 - Need a mechanism to determine stack extent
Add forwarding header for StackBounds.h.
* ForwardingHeaders/wtf/StackBounds.h: Added.
2010-12-20 James Robinson <jamesr@chromium.org>
Unreviewed, rolling out r74278.
http://trac.webkit.org/changeset/74278
https://bugs.webkit.org/show_bug.cgi?id=50833
[chromium] Causes many layout tests to crash
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::prepareToDrawLayers):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::useRenderSurface):
(WebCore::LayerRendererChromium::setScissorToRect):
* platform/graphics/chromium/LayerRendererChromium.h:
2010-12-20 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Factored common page set management into a new PageBlock base class
https://bugs.webkit.org/show_bug.cgi?id=51285
* ForwardingHeaders/wtf/PageBlock.h: Added.
2010-12-20 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
GeolocationPositionCache should do database access on background thread
https://bugs.webkit.org/show_bug.cgi?id=50825
Covered by existing Geolocation tests.
* page/Coordinates.h:
(WebCore::Coordinates::threadSafeCopy):
* page/GeolocationPositionCache.cpp:
(WebCore::GeolocationPositionCache::GeolocationPositionCache):
(WebCore::GeolocationPositionCache::addUser):
(WebCore::GeolocationPositionCache::removeUser):
(WebCore::GeolocationPositionCache::setDatabasePath):
(WebCore::GeolocationPositionCache::setCachedPosition):
(WebCore::GeolocationPositionCache::cachedPosition):
(WebCore::GeolocationPositionCache::startBackgroundThread):
(WebCore::GeolocationPositionCache::threadEntryPoint):
(WebCore::GeolocationPositionCache::threadEntryPointImpl):
(WebCore::GeolocationPositionCache::triggerReadFromDatabase):
(WebCore::GeolocationPositionCache::readFromDatabase):
(WebCore::GeolocationPositionCache::readFromDatabaseImpl):
(WebCore::GeolocationPositionCache::triggerWriteToDatabase):
(WebCore::GeolocationPositionCache::writeToDatabase):
(WebCore::GeolocationPositionCache::writeToDatabaseImpl):
* page/GeolocationPositionCache.h:
* page/Geoposition.h:
(WebCore::Geoposition::threadSafeCopy):
(WebCore::Geoposition::Geoposition):
2010-12-20 Andras Becsi <abecsi@webkit.org>
Unreviewed build fix.
[Qt][V8] Add missing sources to the pro file and remove duplications to fix linking.
No new tests needed.
* WebCore.pro:
2010-12-20 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Make CSSCompletions a real class rather than singleton
https://bugs.webkit.org/show_bug.cgi?id=51332
Drive-by: make use of keywords from re2js in the CSS tokenizer
(apparently, various authors have presumed that re2js is processed at build time).
No new tests, as this is a refactoring.
* inspector/front-end/CSSCompletions.js:
(WebInspector.CSSCompletions):
(WebInspector.CSSCompletions.prototype.startsWith):
(WebInspector.CSSCompletions.prototype.firstStartsWith):
(WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
(WebInspector.CSSCompletions.prototype.keySet):
(WebInspector.CSSCompletions.prototype.next):
(WebInspector.CSSCompletions.prototype.previous):
(WebInspector.CSSCompletions.prototype._closest):
* inspector/front-end/SourceCSSTokenizer.js:
(WebInspector.SourceCSSTokenizer):
* inspector/front-end/SourceCSSTokenizer.re2js:
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype):
* inspector/front-end/inspector.js:
(WebInspector.doLoadedDone.propertyNamesCallback):
(WebInspector.doLoadedDone):
2010-12-10 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: "Add conditional breakpoint" - create breakpoint only after condition is provided.
https://bugs.webkit.org/show_bug.cgi?id=50813
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype._addBreakpoint):
(WebInspector.SourceFrame.prototype._breakpointRemoved):
(WebInspector.SourceFrame.prototype._breakpointChanged):
(WebInspector.SourceFrame.prototype._setBreakpointDecoration):
(WebInspector.SourceFrame.prototype._removeBreakpointDecoration):
(WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
(WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
(WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
(WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
(WebInspector.SourceFrame.prototype._contextMenu):
(WebInspector.SourceFrame.prototype._editBreakpointCondition.finishEditing):
(WebInspector.SourceFrame.prototype._editBreakpointCondition):
(WebInspector.SourceFrame.prototype._continueToLine):
(WebInspector.SourceFrame.prototype._setBreakpoint):
2010-12-20 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
IDBTransactionBackedImpl instances can be accidentally deleted during calls to abort/commit.
https://bugs.webkit.org/show_bug.cgi?id=51112
Makes IDBTransactionBackendImpl objects take a self reference while executing commit and abort.
Test: storage/indexeddb/transaction-crash-on-abort.html
* storage/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::abort):
(WebCore::IDBTransactionBackendImpl::commit):
2010-12-20 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
IDBCursor::delete is not implemented.
https://bugs.webkit.org/show_bug.cgi?id=51110
Implement IDBCursor::delete.
See http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-delete
Tests: storage/indexeddb/cursor-delete.html
storage/indexeddb/cursor-index-delete.html
* storage/IDBCursor.cpp:
(WebCore::IDBCursor::deleteFunction):
* storage/IDBCursor.h:
* storage/IDBCursor.idl:
* storage/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
(WebCore::IDBCursorBackendImpl::deleteFunction):
(WebCore::IDBCursorBackendImpl::loadCurrentRow):
* storage/IDBCursorBackendImpl.h:
(WebCore::IDBCursorBackendImpl::create):
* storage/IDBCursorBackendInterface.h:
* storage/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::openCursorInternal):
* storage/IDBKey.cpp:
(WebCore::IDBKey::fromQuery):
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::deleteInternal):
(WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
2010-12-20 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: After a multiline command execution Console does not show the command prompt
https://bugs.webkit.org/show_bug.cgi?id=51257
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype._moveBackInHistory):
(WebInspector.TextPrompt.prototype._moveForwardInHistory):
2010-12-19 Helder Correia <helder@sencha.com>
Reviewed by Ariya Hidayat.
[Qt] Blur distance should not be affected by transformations
https://bugs.webkit.org/show_bug.cgi?id=51161
From the spec at http://dev.w3.org/html5/2dcontext/#dom-context-2d-shadowblur:
"The shadowBlur attribute specifies the level of the blurring effect.
(The units do not map to coordinate space units, and are not affected
by the current transformation matrix.)"
Test: fast/canvas/canvas-scale-shadowBlur.html
* platform/graphics/ContextShadow.cpp:
(WebCore::ContextShadow::adjustBlurDistance):
* platform/graphics/ContextShadow.h:
* platform/graphics/cairo/ContextShadowCairo.cpp:
(WebCore::ContextShadow::beginShadowLayer):
* platform/graphics/qt/ContextShadowQt.cpp:
(WebCore::ContextShadow::beginShadowLayer):
2010-12-19 Dan Bernstein <mitz@apple.com>
Reviewed by Cameron Zwarich.
Text emphasis marks are not repainted correctly in flipped writing modes
https://bugs.webkit.org/show_bug.cgi?id=51307
Tests: fast/repaint/text-emphasis-h.html
fast/repaint/text-emphasis-v.html
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added flippedness check.
2010-12-19 Rob Buis <rwlbuis@gmail.com>
Reviewed by Andreas Kling.
Remove m_drawsContents from RenderSVGContainer.h
https://bugs.webkit.org/show_bug.cgi?id=51305
Remove m_drawsContents, its getter and setter and the call
sites, since it has no effect anymore.
* WebCore.order:
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::RenderSVGContainer):
(WebCore::RenderSVGContainer::paint):
* rendering/RenderSVGContainer.h:
* rendering/RenderSVGResourceContainer.h:
* rendering/SVGImageBufferTools.cpp:
(WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
2010-12-19 Benjamin Poulain <benjamin.poulain@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
WebKit does not build with worker but without the javascript debugger
https://bugs.webkit.org/show_bug.cgi?id=51293
Add missing guard for calls depending on the debugger.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::populateScriptObjects):
(WebCore::InspectorController::postWorkerNotificationToFrontend):
2010-12-18 Tom Sepez <tsepez@chromium.org>
Reviewed by David Levin.
https://bugs.webkit.org/show_bug.cgi?id=51055
Fix a null de-reference when an XML file contains a malformed entity
of the form "&:;".
Test: fast/parser/xml-colon-entity.html
* html/parser/HTMLEntitySearch.cpp:
(WebCore::HTMLEntitySearch::advance):
2010-12-18 Noel Gordon <noel.gordon@gmail.com>
Reviewed by David Levin.
[chromium] Simplify the PNG encoder.
https://bugs.webkit.org/show_bug.cgi?id=50905
Remove PNGEncoderState class - it was a proxy for the encoder output, and
that is a Vector<>, so just write into it directly using append() to make
use of Vector<>'s resize() smarts. Simplify the preMultipliedBGRAtoRGBA()
and encode() routines, replace the OwnArrayPtr<> with a Vector<>.
canvas.toDataURL("image/png") is covered by existing tests.
* platform/image-encoders/skia/PNGImageEncoder.cpp:
(WebCore::writeOutput): Use a Vector<>, append() the encoded data to it.
(WebCore::preMultipliedBGRAtoRGBA): simplified.
(WebCore::PNGImageEncoder::encode): ditto.
2010-12-18 Dan Bernstein <mitz@apple.com>
Reviewed by Cameron Zwarich.
Text emphasis marks are not always included in the selection highlight
https://bugs.webkit.org/show_bug.cgi?id=51299
Affects pixel results of fast/text/emphasis.html
Account for annotations in selectionTop() and selectionBottom().
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
2010-12-18 Dan Bernstein <mitz@apple.com>
Reviewed by Cameron Zwarich.
In flipped writing modes, opposite text emphasis marks from adjacent lines overlap
https://bugs.webkit.org/show_bug.cgi?id=51298
Test: fast/text/emphasis-overlap.html
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::beforeAnnotationsAdjustment): Changed + to -.
2010-12-18 Helder Correia <helder@sencha.com> and Martin Robinson <mrobinson@igalia.com>
Reviewed by Ariya Hidayat.
[Qt] Canvas shadow offset should not be affected by any transformation
https://bugs.webkit.org/show_bug.cgi?id=50422
On a canvas context, shadows are currently affected by all
transformations except scaling. According to the spec:
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#shadows
"The shadowOffsetX and shadowOffsetY attributes specify the distance
that the shadow will be offset in the positive horizontal and positive
vertical distance respectively. Their values are in coordinate space
units. They are not affected by the current transformation matrix."
NOTE: this applies only to canvas, not to box shadows.
Test: fast/canvas/canvas-transforms-fillRect-shadow.html
* platform/graphics/ContextShadow.cpp:
(WebCore::ContextShadow::ContextShadow):
(WebCore::ContextShadow::calculateLayerBoundingRect):
* platform/graphics/ContextShadow.h:
(WebCore::ContextShadow::setShadowsIgnoreTransforms):
(WebCore::ContextShadow::shadowsIgnoreTransforms):
(WebCore::ContextShadow::offset):
* platform/graphics/qt/ContextShadowQt.cpp:
(WebCore::ContextShadow::beginShadowLayer):
(WebCore::ContextShadow::endShadowLayer):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::mustUseContextShadow):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::setPlatformShadow):
2010-12-18 Ariya Hidayat <ariya@sencha.com>
Reviewed by Andreas Kling.
[Qt] TransparencyLayer should inherit its container render hints
https://bugs.webkit.org/show_bug.cgi?id=51283
* platform/graphics/qt/TransparencyLayer.h:
(WebCore::TransparencyLayer::TransparencyLayer):
2010-12-18 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Laszlo Gombos.
[Web Timing] Rename domContentLoaded{Start,End}->domContentLoadedEvent{Start,End}
https://bugs.webkit.org/show_bug.cgi?id=50943
See: http://test.w3.org/webperf/specs/NavigationTiming/#nt-dom-content-event-start
* dom/Document.cpp:
(WebCore::Document::finishedParsing):
* dom/DocumentTiming.h:
(WebCore::DocumentTiming::DocumentTiming):
* page/PerformanceTiming.cpp:
(WebCore::PerformanceTiming::domContentLoadedEventStart):
(WebCore::PerformanceTiming::domContentLoadedEventEnd):
* page/PerformanceTiming.h:
* page/PerformanceTiming.idl:
2010-12-17 Justin Schuh <jschuh@chromium.org>
Reviewed by Andreas Kling.
Style fix for r73927
https://bugs.webkit.org/show_bug.cgi?id=51194
No functionality change. No new tests needed.
* html/HTMLCanvasElement.h:
2010-12-17 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Martin Robinson.
[GTK] Buttons rendering was broken in r74129
https://bugs.webkit.org/show_bug.cgi?id=51173
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::paintRenderObject):
2010-12-17 Zoltan Herczeg <zherczeg@webkit.org>
Reviewed by Dirk Schulze.
Improve 'arithmetic' operator on feComposite
https://bugs.webkit.org/show_bug.cgi?id=51105
Fixing style errors and bug description for r74177.
* platform/graphics/filters/FEComposite.cpp:
(WebCore::arithmetic):
2010-12-17 Dan Bernstein <mitz@apple.com>
Rubber-stamped by Mark Rowe.
Updated for the renaming of WebKitTools to Tools
* WebCore.vcproj/build-generated-files.sh:
* WebCore.vcproj/migrate-scripts.sh:
2010-12-17 Carol Szabo <carol.szabo@nokia.com>
Reviewed by Darin Adler.
A corrupted counter tree is created when renderers are added to the
tree bypassing RenderObject::addChild
https://bugs.webkit.org/show_bug.cgi?id=51270
This patch replaces the hack introduced for fixing bug 43812
with code that addresses the underlying problem for that bug.
No new layout tests provided as there is no identified scenario when
visible behavior would be different, the internal datastructures
are maintained properly through this fix so the previous hack
introduced for bug 43812 is now removed. The fact that the
layout test introduced for 43812 continues to pass is proof that the
code works.
* rendering/RenderCounter.cpp:
(WebCore::findPlaceForCounter):
Removed hack.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::addChild):
Moved call to counter nodes updater to lower level
functions to avoid bypass.
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::appendChildNode):
(WebCore::RenderObjectChildList::insertChildNode):
Changed to update the values of the counters that
may be inserted in the tree.
2010-12-17 Shimeng (Simon) Wang <swang@google.com>
Reviewed by Steve Block.
Fix V8 JNI binding.
https://bugs.webkit.org/show_bug.cgi?id=51156
There're LayoutTests in:
http://trac.webkit.org/browser/trunk/LayoutTests/java/lc3/JSNumber
to exercise these code paths.
Though Chromium don't run them.
Tested on Android fast/events/touch tests.
* bridge/jni/v8/JNIUtilityPrivate.cpp:
(JSC::Bindings::convertNPVariantToJValue):
2010-12-17 Simon Fraser <simon.fraser@apple.com>
Reviewed by Chris Marrin.
Interrupted accelerated animation can break later transitions
<rdar://problem/8767714>
https://bugs.webkit.org/show_bug.cgi?id=51264
If we're still waiting for the 'animationDidStart' callback when renderers
get destroyed, then the m_waitingForStartTimeResponse flag could be left
set to 'true', which causes later transitions to never start.
Fix by clearing the m_waitingForStartTimeResponse flag when the m_startTimeResponseWaiters
becomes empty.
Test: transitions/interrupted-accelerated-transition.html
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
2010-12-17 Simon Fraser <simon.fraser@apple.com>
Reviewed by Chris Marrin.
Interrupted accelerated animation can break later transitions
https://bugs.webkit.org/show_bug.cgi?id=51264
Step 1: code cleanup.
Rename "responseWait" variables to "startTimeResponseWait", to make it clear
the kind of response that is being waited for.
Make a couple of methods private.
No behavioral changes, so no tests.
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
(WebCore::AnimationControllerPrivate::endAnimationUpdate):
(WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
(WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
(WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
(WebCore::AnimationControllerPrivate::startTimeResponse):
* page/animation/AnimationControllerPrivate.h:
2010-12-17 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
Layout and rendering of CSS text-emphasis
Final part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
https://bugs.webkit.org/show_bug.cgi?id=48539
Tests: fast/text/emphasis-vertical.html
fast/text/emphasis.html
Emphasis marks behave like they are stuck just above the ascender (or just below the
descender). They occupy space in the leading and in padding, and only grow the line space
if they cannot fit.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesInBlockDirection): Renamed the containsRuby parameter to
hasAnnotationsBefore, and added hasAnnotationsAfter. Line annotations include ruby and text emphasis
marks.
(WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added overflow from emphasis marks.
(WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Remaned computeBlockDirectionRubyAdjustment()
to this and added adjustment for text emphasis marks.
(WebCore::InlineFlowBox::computeUnderAnnotationAdjustment): Added. Similar to the previous function,
but for annotations under the glyphs. These can only be text emphasis marks.
* rendering/InlineFlowBox.h:
* rendering/InlineTextBox.cpp:
(WebCore::paintTextWithShadows): Paint emphasis marks.
(WebCore::InlineTextBox::paint): Ditto.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren): Generalized the code that adjusts the last line for
ruby in flipped writing mode to also adjust the last line for emphasis marks under the line in non-
flipped writing mode.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::selectionColor): Added this helper method which generalizes selectionForegroundColor().
(WebCore::RenderObject::selectionForegroundColor): Moved most of the code to selectionColor().
(WebCore::RenderObject::selectionEmphasisMarkColor): Added.
* rendering/RenderObject.h:
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::RootInlineBox): Updated initialization for new members.
(WebCore::RootInlineBox::alignBoxesInBlockDirection): Update new members.
(WebCore::RootInlineBox::beforeAnnotationsAdjustment): Renamed blockDirectionRubyAdjustment() to this
and extended to deal with annotations over and under the line and the previous line. If both lines have
annotations into the space between the lines, maintain separation so that the annotations do not overlap.
* rendering/RootInlineBox.h:
(WebCore::RootInlineBox::hasAnnotationsBefore): Added this accessor.
(WebCore::RootInlineBox::hasAnnotationsAfter): Ditto.
2010-12-17 W. James MacLean <wjmaclean@chromium.org>
Reviewed by James Robinson.
[chromium] Add support to compositor to composite to offscreen texture.
https://bugs.webkit.org/show_bug.cgi?id=50833
A patch to extend compositor to be able to composite into an offscreen texture instead
of just directly to the display buffer. Builds on RenderSurfaceChromium support.
External behaviour not changed, so no tests.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::prepareToDrawLayers):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::setCompositeOffscreen):
(WebCore::LayerRendererChromium::useRenderSurface):
(WebCore::LayerRendererChromium::setScissorToRect):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::isCompositingOffscreen):
(WebCore::LayerRendererChromium::getOffscreenLayerTexture):
2010-12-17 Ariya Hidayat <ariya@sencha.com>
Reviewed by Andreas Kling.
[Qt] Default image interpolation should reset the render hint
https://bugs.webkit.org/show_bug.cgi?id=51233
Save initial SmoothPixmapTransform render hint so that it can be used
with default image interpolation quality to reset back the render hints.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(WebCore::GraphicsContext::setImageInterpolationQuality):
2010-12-17 Hans Wennborg <hans@chromium.org>
Reviewed by Jeremy Orlow.
IndexedDB: Support Date objects as keys.
https://bugs.webkit.org/show_bug.cgi?id=51193
* bindings/v8/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue):
Use the new IDBKey factory functions, and support Date objects.
* bindings/v8/custom/V8IDBKeyCustom.cpp:
(WebCore::toV8):
Create Date objects from DateType keys.
* storage/IDBKey.cpp:
(WebCore::IDBKey::fromQuery):
(WebCore::IDBKey::isEqual):
(WebCore::IDBKey::whereSyntax):
(WebCore::IDBKey::lowerCursorWhereFragment):
(WebCore::IDBKey::upperCursorWhereFragment):
(WebCore::IDBKey::bind):
(WebCore::IDBKey::bindWithNulls):
Update all SQL related functions to handle Date keys.
* storage/IDBKey.h:
(WebCore::IDBKey::createNull):
(WebCore::IDBKey::createNumber):
(WebCore::IDBKey::createString):
(WebCore::IDBKey::createDate):
Rename the create factories; since both number and date is just a
double, function overloading can't be used to discriminate between
the factories.
(WebCore::IDBKey::date):
Add getter for the date value.
2010-12-17 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: add scripts parsed after resource load to SourceFrame.
https://bugs.webkit.org/show_bug.cgi?id=51243
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._addScript):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype.addScript):
2010-12-17 Anton Muhin <antonm@chromium.org>
Reviewed by Yury Semikhatsky.
[v8] The last portion of CSS GC work: fixing fast/dom/StyleSheet/gc-stylesheet-wrapper.html
https://bugs.webkit.org/show_bug.cgi?id=51121
Properly group style elements of HTML links, style elements and processing instructions.
* bindings/v8/V8GCController.cpp:
(WebCore::NodeGrouperVisitor::visitDOMWrapper):
(WebCore::NodeGrouperVisitor::addDOMObjectToGroup):
2010-12-17 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: [REGRESSION] scripts in scripts panel are not updated on reload.
https://bugs.webkit.org/show_bug.cgi?id=51101
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
2010-12-17 Benjamin Poulain <benjamin.poulain@nokia.com>
Reviewed by Laszlo Gombos.
The inspector does not compile without JAVASCRIPT_DEBUGGER
https://bugs.webkit.org/show_bug.cgi?id=51246
Fix the build, m_extraHeaders does not depend on JAVASCRIPT_DEBUGGER.
* inspector/InspectorController.h:
2010-12-17 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: clear extra/override headers when front-end is closed
https://bugs.webkit.org/show_bug.cgi?id=51244
* inspector/InspectorController.cpp:
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::willSendRequest):
2010-12-17 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: [REGRESSION] Cmd (Ctrl) + G does not search next in Scripts panel.
https://bugs.webkit.org/show_bug.cgi?id=50893
Now Mac shortcuts are:
- Cmd F/G = find / next
- Cmd L = go to line
Win/Linux:
- Ctrl+G = go to line
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._registerShortcuts):
* inspector/front-end/inspector.js:
(WebInspector._registerShortcuts):
2010-12-16 Sergio Villar Senin <svillar@igalia.com>
Reviewed by Martin Robinson.
Wrong check in ResourceHandleSoup in error cases
https://bugs.webkit.org/show_bug.cgi?id=51171
Calling didReceiveData with no data causes a crash in debug
builds. Checking for soupMsg->response_body->data is not correct as libsoup
always creates a buffer for that. Instead we should check for
soupMsg->response_body->length
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::sendRequestCallback):
2010-12-17 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Avoid unnecessary calls to GraphicsContextPlatformPrivate::p()
https://bugs.webkit.org/show_bug.cgi?id=49954
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::pushTransparencyLayerInternal):
(WebCore::GraphicsContext::beginTransparencyLayer):
2010-12-17 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Martin Robinson.
[GTK] Compile warning introduced in r74129
https://bugs.webkit.org/show_bug.cgi?id=51181
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::gtkContainer):
2010-12-17 James Simonsen <simonjam@chromium.org>
Reviewed by Darin Fisher.
[Web Timing] Add sslHandshakeStart to interface
https://bugs.webkit.org/show_bug.cgi?id=50400
Test: http/tests/misc/webtiming-ssl.php
* page/PerformanceTiming.cpp:
(WebCore::PerformanceTiming::connectStart): Update comment.
(WebCore::PerformanceTiming::connectEnd): Remove SSL time.
(WebCore::PerformanceTiming::sslHandshakeStart): Added.
* page/PerformanceTiming.h: Added sslHandshakeStart.
* page/PerformanceTiming.idl: Ditto.
2010-12-17 James Simonsen <simonjam@chromium.org>
Reviewed by Darin Fisher.
[Web Timing] Navigation type enums should begin with TYPE_
https://bugs.webkit.org/show_bug.cgi?id=51200
* page/PerformanceNavigation.cpp:
(WebCore::PerformanceNavigation::type): Added TYPE_ to navigation types.
* page/PerformanceNavigation.h: Ditto and added TYPE_RESERVED.
* page/PerformanceNavigation.idl: Ditto.
2010-12-17 Steve Block <steveblock@google.com>
Unreviewed build fix.
Fix build when Geolocation is disabled.
No new tests, build fix only.
* page/Geolocation.h:
2010-12-17 Patrick Gansterer <paroga@webkit.org>
Unreviewed. WinCE build fix.
* platform/graphics/GraphicsContext.h:
2010-12-17 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: remove unnecessary dependencies from InspectorBackendStub.
InspectorBackendStub is a transport-only thing but it has dependencies with
Callback.js and WebInspector namespace. Callback can be integrated into
InspectorBackendStub because it is the only client.
Without these dependencies InspectorBackendStub can be used as an API
wrapper for Inspector Protocol.
https://bugs.webkit.org/show_bug.cgi?id=51184
* WebCore.gypi:
* inspector/CodeGeneratorInspector.pm:
* inspector/front-end/Callback.js: Removed.
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
2010-12-15 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: [Extension API] add support for adding/overriding HTTP request headers
https://bugs.webkit.org/show_bug.cgi?id=50493
Test: http/tests/inspector/extensions-headers.html
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::willSendRequest): Apply extra headers.
(WebCore::InspectorController::setExtraHeaders):
* inspector/InspectorController.h:
* inspector/front-end/ExtensionAPI.js:
(WebInspector.injectedExtensionAPI.Resources.prototype.getHAR):
(WebInspector.injectedExtensionAPI.Resources.prototype.addRequestHeaders):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer):
(WebInspector.ExtensionServer.prototype._onAddRequestHeaders):
2010-12-16 Koan-Sin Tan <koansin.tan@gmail.com>
Reviewed by Kent Tamura.
Glyphs in vertical text tests are rotated 90 degrees clockwise on Chromium Linux
https://bugs.webkit.org/show_bug.cgi?id=50365
No new tests. But this makes Chromimium Linux show
fast/blockflow/japanese-*-text.html and other vertical
writing text correctly as on WebKit and Chromimum for Mac.
* platform/graphics/chromium/FontCacheLinux.cpp:
(WebCore::FontCache::createFontPlatformData):
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/chromium/FontPlatformDataLinux.cpp:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::operator==):
(WebCore::FontPlatformData::hash):
* platform/graphics/chromium/FontPlatformDataLinux.h:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::orientation):
* platform/graphics/chromium/SimpleFontDataLinux.cpp:
(WebCore::SimpleFontData::platformInit):
* platform/graphics/skia/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
(WebCore::substituteWithVerticalGlyphs):
(WebCore::GlyphPage::fill):
2010-12-16 Yi Shen <yi.4.shen@nokia.com>, Tor Arne Vestbo <tor.arne.vestbo@nokia.com>
Reviewed by Eric Carlson.
Provide an interface to require using fullscreen mediaplayer
https://bugs.webkit.org/show_bug.cgi?id=51133
Add ChromeClient::requiresFullscreenForVideoPlayback to require webkit
to launch fullscreen video player for playing the html5 video. The
idea is that a browser vendor can specify this behavior through the
platform plugin or something else by using this interface.
No new tests because no client implements requiresFullscreenForVideoPlayback yet.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updatePlayState):
(WebCore::HTMLMediaElement::exitFullscreen):
* page/Chrome.cpp:
(WebCore::Chrome::requiresFullscreenForVideoPlayback):
* page/Chrome.h:
* page/ChromeClient.h:
(WebCore::ChromeClient::requiresFullscreenForVideoPlayback):
2010-12-16 Steve Block <steveblock@google.com>
Reviewed by Steve Block.
GeolocationPositionCache needs refactoring
https://bugs.webkit.org/show_bug.cgi?id=50826
No new tests, refactoring only.
* page/Geolocation.cpp:
(WebCore::Geolocation::Geolocation):
(WebCore::Geolocation::makeCachedPositionCallbacks):
(WebCore::Geolocation::haveSuitableCachedPosition):
(WebCore::Geolocation::positionChangedInternal):
* page/Geolocation.h:
* page/GeolocationPositionCache.cpp:
(WebCore::GeolocationPositionCache::instance):
(WebCore::GeolocationPositionCache::GeolocationPositionCache):
(WebCore::GeolocationPositionCache::addUser):
(WebCore::GeolocationPositionCache::removeUser):
(WebCore::GeolocationPositionCache::setDatabasePath):
(WebCore::GeolocationPositionCache::setCachedPosition):
(WebCore::GeolocationPositionCache::cachedPosition):
(WebCore::GeolocationPositionCache::readFromDatabase):
(WebCore::GeolocationPositionCache::writeToDatabase):
* page/GeolocationPositionCache.h:
(WebCore::GeolocationPositionCacheWrapper::GeolocationPositionCacheWrapper):
(WebCore::GeolocationPositionCacheWrapper::~GeolocationPositionCacheWrapper):
(WebCore::GeolocationPositionCacheWrapper::setCachedPosition):
(WebCore::GeolocationPositionCacheWrapper::cachedPosition):
2010-12-16 Ariya Hidayat <ariya@sencha.com>
Reviewed by Andreas Kling.
[Qt] GraphicsContext should respect QWebView render hints
https://bugs.webkit.org/show_bug.cgi?id=51208
GraphicsContext does not override SmoothPixmapTransform (see also
r62762). To keep the same behavior, canvas default image interpolation
quality is set to medium and QWebView's render hints by default also
include SmoothPixmapTransform.
* html/HTMLCanvasElement.h:
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2010-12-16 Daniel Bates <dbates@rim.com>
Formatting fix; un-indent one level all lines in [2793, 2808] (with respect to r74217)
so as to be consistent with the formatting of the rest of this file.
Also, add an empty line between the win32* and wince* conditional include blocks.
* WebCore.pro:
2010-12-16 Daniel Bates <dbates@rim.com>
Reviewed by Antonio Gomes.
[Qt] Only include ScrollAnimatorWin.h and compile ScrollAnimatorWin.cpp
on Windows if ENABLE_SMOOTH_SCROLLING=1
https://bugs.webkit.org/show_bug.cgi?id=51215
Conditionally include the files ScrollAnimatorWin.h and ScrollAnimatorWin.cpp when building
the Qt Windows with smooth scrolling enabled.
No change in functionality since these files are guarded by ENABLE(SMOOTH_SCROLLING).
* WebCore.pro:
2010-12-16 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
execCommand('JustifyCenter') adds extra BR
https://bugs.webkit.org/show_bug.cgi?id=51082
The bug was caused by moveParagraphContentsToNewBlockIfNecessary's adding a placeholder br
to new block and not removing it later. Fixed the bug by removing it when the paragraph
moved into the block didn't have a br at the end.
Test: editing/execCommand/justify.html
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
2010-12-16 Jian Li <jianli@chromium.org>
Unreviewed. Fixed chromium build break caused by r74207.
* platform/ContextMenuItem.h:
2010-12-16 Leandro Pereira <leandro@profusion.mobi>
[EFL] Unreviewed build fix.
Disable ContextMenu support for now while support for
CROSS_PLATFORM_MENUS is written.
* CMakeListsEfl.txt:
* platform/ContextMenu.h:
* platform/ContextMenuItem.h:
* platform/efl/ContextMenuEfl.cpp:
(WebCore::ContextMenu::ContextMenu):
(WebCore::ContextMenu::getContextMenuItems):
(WebCore::ContextMenu::createNativeMenuFromItems):
(WebCore::ContextMenu::nativeMenu):
* platform/efl/ContextMenuItemEfl.cpp:
(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::~ContextMenuItem):
(WebCore::ContextMenuItem::nativeMenuItem):
(WebCore::ContextMenuItem::type):
(WebCore::ContextMenuItem::setAction):
(WebCore::ContextMenuItem::action):
(WebCore::ContextMenuItem::setChecked):
(WebCore::ContextMenuItem::checked):
(WebCore::ContextMenuItem::setEnabled):
(WebCore::ContextMenuItem::enabled):
(WebCore::ContextMenuItem::setSubMenu):
2010-12-16 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
execCommand('styleWithCSS') is ignored when selection isn't inside a contenteditable area
https://bugs.webkit.org/show_bug.cgi?id=51164
Fixed the bug by always enabling the StyleWithCSS command.
Test: editing/style/stylewithcss-without-selection.html
* editing/EditorCommand.cpp:
(WebCore::createCommandMap): StyleWithCSS is enabled rather than enabledInRichlyEditableText.
2010-12-16 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Save the manual plug-in stream data and redeliver it when the plug-in is initialized
https://bugs.webkit.org/show_bug.cgi?id=51201
Export SharedBuffer related symbols.
* WebCore.exp.in:
2010-12-16 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: timeline records should only operate WebCore time.
https://bugs.webkit.org/show_bug.cgi?id=51127
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::didFinishLoadingResource):
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createResourceFinishData):
* inspector/TimelineRecordFactory.h:
2010-12-15 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=50996
<rdar://problem/8098862> Consider disabling DNS prefetch when proxy is used
No new tests, cannot test DNS.
* platform/network/cf/DNSCFNet.cpp:
(WebCore::proxyIsEnabledInSystemPreferences): Check if accessing example.com is going to use
a proxy. This is only an estimate - even with a proxy is configured in system preferences, an
actual request can go directly to the host if a PAC script says so.
(WebCore::DNSResolveQueue::add): Check if proxy is enabled when sending immediate requests.
(WebCore::DNSResolveQueue::fired): Ditto when sending queued ones.
2010-12-16 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Console always scroll to the bottom on new events
https://bugs.webkit.org/show_bug.cgi?id=51189
When new messages are added to the console it will auto scroll
only if it was already scrolled down to the last record.
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
(WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
(WebInspector.ConsoleView.prototype._isScrolledToLastMessage):
(WebInspector.ConsoleView.prototype.addMessage):
2010-12-16 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: update CallStackSidebarPane placards and status message in the same event handler.
https://bugs.webkit.org/show_bug.cgi?id=51174
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
(WebInspector.BreakpointManager.prototype._debuggerPaused):
(WebInspector.BreakpointManager.prototype._debuggerResumed):
* inspector/front-end/CallStackSidebarPane.js:
(WebInspector.CallStackSidebarPane):
(WebInspector.CallStackSidebarPane.prototype.update):
(WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
* inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel.prototype.pausedScript):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._debuggerPaused):
2010-12-16 Hans Wennborg <hans@chromium.org>
Reviewed by Jeremy Orlow.
IndexedDB: Fix IDBDatabaseError code offset bug
https://bugs.webkit.org/show_bug.cgi?id=51177
IDBDatabaseError::code() needs to return the error code without
offset. But when the IDBDatabaseError is created, the code comes with
an offset (it gets passed a IDBDatabaseException::IDBDatabaseExceptionCode).
However, in Chromium, IDBDatabaseErrors are sometimes also created via
WebIDBDatabaseError when they are sent across IPC, and then the error
code comes *without* offset. Provide a second create() function for
this case.
* storage/IDBDatabaseError.h:
(WebCore::IDBDatabaseError::create):
(WebCore::IDBDatabaseError::createWithoutOffset):
(WebCore::IDBDatabaseError::code):
2010-12-16 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r74162.
http://trac.webkit.org/changeset/74162
https://bugs.webkit.org/show_bug.cgi?id=51185
More breakage in GTK+ (Requested by xan_ on #webkit).
* platform/text/TextCodecUTF16.cpp:
(WebCore::TextCodecUTF16::registerEncodingNames):
2010-12-16 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Up/Down/PageUp/PageDown on a CSS property numeric value commit the value editor
https://bugs.webkit.org/show_bug.cgi?id=51114
The r74038 regressed the behaviour. This patch additionally ensures that both Metrics and Styles panes
are updated once a stylesheet is reverted.
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype._stylesPaneEdited):
(WebInspector.ElementsPanel.prototype._metricsPaneEdited):
(WebInspector.ElementsPanel.prototype._styleSheetChanged):
2010-12-16 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Fix Chromium Mac Debug Clang compilation.
* platform/graphics/FontFastPath.cpp:
(WebCore::Font::getGlyphsAndAdvancesForSimpleText):
2010-12-16 Alejandro G. Castro <alex@igalia.com>
Unreviewed. Fix GTK3 compilation after 74129.
* platform/gtk/WidgetRenderingContextGtk3.cpp:
2010-12-16 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Fix Chromium Debug compilation after r74177
* platform/graphics/filters/FEComposite.cpp:
(WebCore::arithmetic):
2010-12-16 Kent Tamura <tkent@chromium.org>
Unreviewed, build fix.
Fix a warning on 32-bit Mac.
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::emphasisMarkFontData): 0.5 -> 0.5f
2010-12-16 Zoltan Herczeg <zherczeg@webkit.org>
Reviewed by Dirk Schulze.
Improve feArithmeticFilter
https://bugs.webkit.org/show_bug.cgi?id=51105
In case of the arithmetic operator on feComposite filter, we could use
different result passing modes depend on its type. Furthermore, the
number of executed multiplications is reduced if k1 or k4 argument is zero.
2% speedup on WebCore/manual-tests/svg-filter-animation.svg
* platform/graphics/filters/FEComposite.cpp:
(WebCore::computeArithmeticPixels):
(WebCore::arithmetic):
(WebCore::FEComposite::apply):
2010-12-15 Brian Weinstein <bweinstein@apple.com>
Reviewed by Jon Honeycutt.
WebKit2 should exit auto scrolling mode when losing focus
https://bugs.webkit.org/show_bug.cgi?id=49209
When a page loses focus, make sure that we stop the autoscroll timer, which exits pan scrolling mode. We
don't want to automatically scroll when a page doesn't have focus.
Updated manual-tests/autoscroll.html with instructions to test this bug.
* manual-tests/autoscroll.html:
* page/FocusController.cpp:
(WebCore::FocusController::setFocused):
2010-12-15 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
Font support for the text-emphasis CSS property
Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
https://bugs.webkit.org/show_bug.cgi?id=48539
* platform/graphics/Font.cpp:
(WebCore::Font::drawEmphasisMarks): Added. Calls through to drawEmphasisMarksFor{Simple,Complex}Text.
(WebCore::Font::canReceiveTextEmphasis): Added. For simple text, checks if the character should
have an emphasis mark.
* platform/graphics/Font.h:
* platform/graphics/FontFastPath.cpp:
(WebCore::Font::glyphDataForCharacter): Replaced the forceSmallCaps boolean with a FontDataVariant
parameter and made this function work with other variants.
(WebCore::Font::getEmphasisMarkGlyphData): Added. Returns glyph data for the first character of
the emphasis mark. This function may not work if the emphasis mark uses a complex script, but none
of the standard emphasis marks do so.
(WebCore::Font::emphasisMarkAscent): Added.
(WebCore::Font::emphasisMarkDescent): Added.
(WebCore::Font::emphasisMarkHeight): Added.
(WebCore::Font::getGlyphsAndAdvancesForSimpleText): Moved much of the logic from drawSimpleText()
into this new function, which also has a ForTextEmphasis parameter, which is passed along to the
WidthIterator.
(WebCore::Font::drawSimpleText): Left the drawing part here.
(WebCore::Font::drawEmphasisMarksForSimpleText): Added.
(WebCore::Font::drawGlyphBuffer): Removed the unused TextRun parameter.
(WebCore::offsetToMiddleOfGlyph): Added this helper.
(WebCore::offsetToMiddleOfGlyphAtIndex): Added this other helper.
(WebCore::Font::drawEmphasisMarks): Added. Draws emphasis marks for a given glyph buffer by placing
one mark centered above each glyph. Zero glyphs in the buffer indicate that no mark should be drawn.
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawEmphasisMarks): Added. Calls through to Font::drawEmphasisMarks().
* platform/graphics/GraphicsContext.h:
* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::SimpleFontData): Removed initialization of deleted members.
(WebCore::SimpleFontData::~SimpleFontData): Removed derived font data cleanup, which now happens
in ~DerivedFontData.
(WebCore::SimpleFontData::brokenIdeographFontData): Changed to use m_derivedFontData.
(WebCore::SimpleFontData::DerivedFontData::DerivedFontData): Added. This lazily-allocated struct
contains the SimpleFontData for small caps, broken ideograph and emphasis mark.
(WebCore::SimpleFontData::DerivedFontData::~DerivedFontData): Added.
* platform/graphics/SimpleFontData.h:
(WebCore::SimpleFontData::variantFontData): Added. This is used by Font::glyphDataForCharacter().
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::WidthIterator): Added forTextEmphasis parameter.
(WebCore::WidthIterator::advance): When used for text emphasis, replace glyphs with the zero glyph
if they should not receive an emphasis mark.
* platform/graphics/WidthIterator.h:
* platform/graphics/chromium/FontChromiumWin.cpp:
(WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::TextRunWalker::nextScriptRun): Updated for change to Font::glyphDataForCharacter().
(WebCore::TextRunWalker::setupFontForScriptRun): Ditto.
(WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
* platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
(WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
(WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
(WebCore::SimpleFontData::emphasisMarkFontData): Added.
* platform/graphics/chromium/SimpleFontDataLinux.cpp:
(WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
(WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
(WebCore::SimpleFontData::emphasisMarkFontData): Added.
* platform/graphics/efl/FontEfl.cpp:
(WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
* platform/graphics/freetype/SimpleFontDataFreeType.cpp:
(WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
(WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
(WebCore::SimpleFontData::emphasisMarkFontData): Added.
* platform/graphics/gtk/FontGtk.cpp:
(WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
* platform/graphics/haiku/FontHaiku.cpp:
(WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
* platform/graphics/haiku/SimpleFontDataHaiku.cpp:
(WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
(WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
(WebCore::SimpleFontData::emphasisMarkFontData): Added.
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::ComplexTextController): Added forTextEmphasis parameter.
(WebCore::ComplexTextController::collectComplexTextRuns): Updated for change to Font::glyphDataForCharacter().
(WebCore::ComplexTextController::adjustGlyphsAndAdvances): When used for text emphasis, replace glyphs with the zero glyph
if they should not receive an emphasis mark.
* platform/graphics/mac/ComplexTextController.h:
* platform/graphics/mac/FontComplexTextMac.cpp:
(WebCore::Font::getGlyphsAndAdvancesForComplexText): Moved much of the logic from drawComplexText()
into this new function, which also has a ForTextEmphasis parameter, which is passed along to the
ComplexTextController.
(WebCore::Font::drawComplexText): Left the drawing part here.
(WebCore::Font::drawEmphasisMarksForComplexText): Added.
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformDestroy): Adopted m_derivedFontData.
(WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
(WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
(WebCore::SimpleFontData::emphasisMarkFontData): Added.
* platform/graphics/pango/SimpleFontDataPango.cpp:
(WebCore::SimpleFontData::platformDestroy): Removed redundant clearing of derived font.
(WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
(WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
(WebCore::SimpleFontData::emphasisMarkFontData): Added.
* platform/graphics/qt/FontQt.cpp:
(WebCore::Font::emphasisMarkAscent): Added stub.
(WebCore::Font::emphasisMarkDescent): Ditto.
(WebCore::Font::emphasisMarkHeight): Ditto.
(WebCore::Font::drawEmphasisMarksForSimpleText): Ditto.
(WebCore::Font::drawEmphasisMarksForComplexText): Ditto.
* platform/graphics/win/FontWin.cpp:
(WebCore::Font::getGlyphsAndAdvancesForComplexText): Moved much of the logic from drawComplexText()
into this new function, which also has a ForTextEmphasis parameter. Currently returns an empty
glyph buffer for text emphasis.
(WebCore::Font::drawComplexText): Left the drawing part here.
(WebCore::Font::drawEmphasisMarksForComplexText): Added.
* platform/graphics/win/SimpleFontDataWin.cpp:
(WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
(WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
(WebCore::SimpleFontData::emphasisMarkFontData): Added.
* platform/graphics/win/UniscribeController.cpp:
(WebCore::UniscribeController::advance): Updated for change to Font::glyphDataForCharacter().
* platform/graphics/wince/FontWinCE.cpp:
(WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
* platform/graphics/wince/SimpleFontDataWinCE.cpp:
(WebCore::SimpleFontData::platformDestroy): Removed redundant clearing of derived font.
(WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
(WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
(WebCore::SimpleFontData::emphasisMarkFontData): Added.
* platform/graphics/wx/FontWx.cpp:
(WebCore::Font::getGlyphsAndAdvancesForComplexText): Added stub.
(WebCore::Font::drawComplexText): Updated for removal of unused TextRun parameter to drawGlyphBuffer().
(WebCore::Font::drawEmphasisMarksForComplexText): Added.
* platform/graphics/wx/SimpleFontDataWx.cpp:
(WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
(WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
(WebCore::SimpleFontData::emphasisMarkFontData): Added.
* platform/text/CharacterNames.h: Added characters used in Font::canReceiveTextEmphasis().
2010-12-15 Beth Dakin <bdakin@apple.com>
Reviewed by Darin Adler.
Fix for https://bugs.webkit.org/show_bug.cgi?id=51150 WebView's
_scaleWebView SPI doesn't work on pages with compositing layers
-and corresponding-
<rdar://problem/8604713>
paintingGoesToWindow() should return false if the owning layer has
a transform.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintingGoesToWindow):
Use docWidth() and docHeight() instead of rightLayoutOverflow() and
bottomLayoutOverflow() since docWidth/Height are now the preferred
way to query physical dimensions of the document.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateRootLayerPosition):
2010-12-15 Alex Bredariol Grilo <abgrilo@profusion.mobi>
Reviewed by Eric Seidel.
[EFL] Fix timer calling time in SharedTimerEfl
No new features, so no tests added.
The usage of ecore_timer_loop_add instead of ecore_timer_add corrects
the problem that the timer is not called at the correct time. Since this
code runs in a single thread, all multiple thread operations were
removed.
* platform/efl/SharedTimerEfl.cpp:
(WebCore::stopSharedTimer):
(WebCore::addNewTimer):
2010-12-15 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Ariya Hidayat.
[Qt] StillImage::draw() shouldn't call setCompositionMode() unless the QPaintEngine has Porter-Duff composition
https://bugs.webkit.org/show_bug.cgi?id=49918
Go through GraphicsContext::setCompositeOperation() which does the check for us.
* platform/graphics/qt/StillImageQt.cpp:
(WebCore::StillImage::draw):
2010-12-15 Yong Li <yoli@rim.com>
Reviewed by Darin Adler.
UTF-16 and its variants should be treated as Big Endian when BOM
is absent.
https://bugs.webkit.org/show_bug.cgi?id=51035
Test: fast/encoding/char-decoding.html (changed)
* platform/text/TextCodecUTF16.cpp:
(WebCore::TextCodecUTF16::registerEncodingNames):
2010-12-15 Simon Fraser <simon.fraser@apple.com>
Reviewed by Chris Marrin.
Percentage Z values in 3d transform functions and transform-origin should cause the property to be invalid
https://bugs.webkit.org/show_bug.cgi?id=51070
Treat as inavlid -webkit-transform values that include a percentage value in translateZ()
or in the third parameter to translate3d().
Test: transforms/3d/general/3dtransform-values.html
* css/CSSParser.cpp:
(WebCore::CSSParser::parseTransform):
(WebCore::CSSParser::parseTransformOrigin): Whitespace change.
2010-12-15 Simon Fraser <simon.fraser@apple.com>
Reviewed by Chris Marrin.
Reflection does not render properly when -webkit-transform is toggled, untoggled, and retoggled
https://bugs.webkit.org/show_bug.cgi?id=50967
If a reflection on a compositied, transformed element is toggled on, off and on,
then we pick up a cached layer clone that has the wrong transform set on it.
The fix is to reset those properties on the layer clones that get changed
when the GraphicsLayer gains a structural layer (for reflection flattening).
Test: compositing/reflections/remove-add-reflection.html
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::ensureStructuralLayer):
2010-12-15 Timothy Hatcher <timothy@apple.com>
Fix a regression where the Web Inspector console would be empty
if the Inspector is localized.
https://bugs.webkit.org/show_bug.cgi?id=51145
Reviewed by Joseph Pecoraro.
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.createFilterElement): Add a label argument so the UI string
is separate from the classname. Code clean up.
(WebInspector.ConsoleView.prototype.filter): Remove toLowerCase and use string compare.
(WebInspector.ConsoleView): Pass separate classnames and labels to createFilterElement.
2010-12-15 Simon Fraser <simon.fraser@apple.com>
Reviewed by Adele Peterson.
WebKit2 in compositing mode no longer has font smoothing
https://bugs.webkit.org/show_bug.cgi?id=50733
Only turn off font smoothing for layers whose contents are
not opaque. This allows the root GraphicsLayer in WebKit2 to
set the opaque flag, and get smoothed text.
* platform/graphics/mac/WebLayer.mm:
(drawLayerContents):
2010-12-15 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Allow disabling of font smoothing in compositing layers to be overridden by style
https://bugs.webkit.org/show_bug.cgi?id=50732
Add methods to GraphicsContext to get and set font smoothing,
and have them be part of the graphics state.
Fix Font::drawGlyphs() to allow the font's smoothing mode (from style)
to override the current smoothing mode of the context. The global
shouldUseSmoothing() still has final say.
Turn off smoothing in compositing layers with this, rather than
the non-stateful 'allow' method.
* manual-tests/compositing/font-smoothing.html: Added.
Manual test because DRT disables font smoothing.
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::setShouldSmoothFonts):
(WebCore::GraphicsContext::shouldSmoothFonts):
(WebCore::GraphicsContext::setPlatformShouldSmoothFonts):
* platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContextState::GraphicsContextState):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setPlatformShouldSmoothFonts):
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::drawGlyphs):
* platform/graphics/mac/WebLayer.mm:
(drawLayerContents):
2010-12-15 Matthew Delaney <mdelaney@apple.com>
Reviewed by Simon Fraser.
IOSurface bounds checks on bytesPerRow and allocSize are incorrect
https://bugs.webkit.org/show_bug.cgi?id=51137
No new tests added. For those using this new functionality, many current canvas layout tests will now pass.
* platform/graphics/cg/ImageBufferCG.cpp:
2010-12-15 Kenneth Russell <kbr@google.com>
Reviewed by James Robinson.
Web Audio API: port FFTFrame to MKL
https://bugs.webkit.org/show_bug.cgi?id=50986
Ported FFTFrame to Intel's MKL. This patch contains the port and
initial, though not complete, build system changes. Tested so far
with a unit test by Chris Rogers (which requires code changes to
AudioContext.cpp and is not being checked in). Further testing to
follow once layout tests are available for the Web Audio API.
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* platform/audio/FFTFrame.h:
* platform/audio/mkl: Added.
* platform/audio/mkl/FFTFrameMKL.cpp: Added.
(WebCore::FFTFrame::FFTFrame):
(WebCore::FFTFrame::~FFTFrame):
(WebCore::FFTFrame::multiply):
(WebCore::FFTFrame::doFFT):
(WebCore::FFTFrame::doInverseFFT):
(WebCore::FFTFrame::cleanup):
(WebCore::FFTFrame::realData):
(WebCore::FFTFrame::imagData):
(WebCore::FFTFrame::getUpToDateComplexData):
(WebCore::FFTFrame::descriptorHandleForSize):
2010-12-15 Yong Li <yoli@rim.com>
Reviewed by Darin Adler.
Fix stack overflow when there are too many sibling inline boxes by using
a loop to traverse children instead of calling each sibling from the first child.
https://bugs.webkit.org/show_bug.cgi?id=48255
Test: fast/overflow/lots-of-sibling-inline-boxes.html
* rendering/InlineBox.h:
(WebCore::InlineBox::setConstructed):
(WebCore::InlineBox::next):
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::setConstructed):
2010-12-15 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
WebKit2: Can't add files to an <input type=file>
https://bugs.webkit.org/show_bug.cgi?id=51087
Add exported function.
* WebCore.exp.in:
2010-12-15 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Antonio Gomes.
[Qt] screenIsMonochrome() is broken
https://bugs.webkit.org/show_bug.cgi?id=49957
* platform/qt/PlatformScreenQt.cpp:
(WebCore::screenIsMonochrome):
2010-12-15 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] Move button rendering from gtk{2,3}drawing.cpp to RenderThemeGtk
https://bugs.webkit.org/show_bug.cgi?id=48486
Implement button rendering in RenderThemeGtk. The implementation
from gtk{2,3}drawing.cpp will be removed once menu list button rendering
is implemented in RenderThemeGtk as well.
No new tests, as this should not change functionality.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::paintButton): Add an implementation of button
rendering that uses WidgetRenderingContext.
2010-10-18 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] Move input type=range rendering to RenderThemeGtk
https://bugs.webkit.org/show_bug.cgi?id=47836
Begin moving widget rendering out of the old Mozilla theme drawing code,
which should remove many lines of code when completed. WidgetRenderingContext
now hides the GTK+ 2 vs. 3 API differences, so that RenderThemeGtk can stay
version agnostic.
No new tests as this patch does not change functionality.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::RenderThemeGtk): gtkContainer() now returns a
GtkWidget, so update the cast here.
(WebCore::RenderThemeGtk::getGtkStateType): Added this helper which
converts a RenderObject state into a GtkStateType.
(WebCore::RenderThemeGtk::paintRenderObject): Removed work-arounds for
scale painting, as it's not handled by this method any longer.
(WebCore::RenderThemeGtk::paintSliderTrack): Updated to use
WidgetRenderingContext.
(WebCore::RenderThemeGtk::paintSliderThumb): Ditto.
(WebCore::RenderThemeGtk::adjustSliderThumbSize): Get the size
properties directly from the widget now instead of asking the Mozilla code.
(WebCore::RenderThemeGtk::setupWidgetAndAddToContainer): Added this
helper which reduces the amount of code quite a bit.
(WebCore::RenderThemeGtk::gtkContainer): Updated to use helper.
(WebCore::RenderThemeGtk::gtkButton): Ditto.
(WebCore::RenderThemeGtk::gtkEntry): Ditto.
(WebCore::RenderThemeGtk::gtkTreeView): Ditto.
(WebCore::RenderThemeGtk::gtkVScale): Added.
(WebCore::RenderThemeGtk::gtkHScale): Added.
(WebCore::RenderThemeGtk::platformColorsDidChange): Removed
GTK_CONTAINER cast.
* platform/gtk/RenderThemeGtk.h: Updated to add new GtkHScale and
GtkVScale members.
* platform/gtk/WidgetRenderingContext.h: Aded new methods to proxy
gtk_paint_box, gtk_paint_focus and gtk_paint_slider.
* platform/gtk/WidgetRenderingContextGtk2.cpp:
(WebCore::WidgetRenderingContext::gtkPaintBox): Added.
(WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto.
(WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto.
* platform/gtk/WidgetRenderingContextGtk3.cpp:
(WebCore::WidgetRenderingContext::gtkPaintBox): Ditto.
(WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto.
(WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto.
* platform/gtk/gtk2drawing.c: Removed defunct code!
(moz_gtk_get_widget_border):
(moz_gtk_widget_paint):
* platform/gtk/gtk3drawing.c: Ditto.
(moz_gtk_get_widget_border):
(moz_gtk_widget_paint):
* platform/gtk/gtkdrawing.h:
2010-12-15 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r74117.
http://trac.webkit.org/changeset/74117
https://bugs.webkit.org/show_bug.cgi?id=51113
This broke the GTK1 build. (Requested by mrobinson on
#webkit).
* GNUmakefile.am:
* platform/network/soup/cache/webkit/soup-cache.h:
2010-12-15 Jian Li <jianli@chromium.org>
Unreviewed. Fixed a clang compiling error by making the forward
declaration of MediaPlayerFactory be consistent with the definition.
* platform/graphics/MediaPlayer.h:
2010-12-15 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
Rename pageY to pageLogicalOffset, since for vertical writing modes it is an x-position rather than a
y-position.
* rendering/LayoutState.cpp:
(WebCore::LayoutState::pageLogicalOffset):
(WebCore::LayoutState::addForcedColumnBreak):
* rendering/LayoutState.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
(WebCore::RenderBlock::layoutColumns):
(WebCore::RenderBlock::setPageLogicalOffset):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::pageLogicalOffset):
(WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::layout):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layoutRows):
2010-12-13 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: move scripts storage from ScriptsPanel to DebuggerModel.
https://bugs.webkit.org/show_bug.cgi?id=50908
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager):
(WebInspector.BreakpointManager.prototype._debuggerPaused):
* inspector/front-end/CallStackSidebarPane.js:
(WebInspector.CallStackSidebarPane):
(WebInspector.CallStackSidebarPane.prototype.update):
* inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel):
(WebInspector.DebuggerModel.prototype.setBreakpoint):
(WebInspector.DebuggerModel.prototype._setBreakpoint):
(WebInspector.DebuggerModel.prototype.scriptForSourceID):
(WebInspector.DebuggerModel.prototype.scriptsForURL):
(WebInspector.DebuggerModel.prototype.queryScripts):
(WebInspector.DebuggerModel.prototype.parsedScriptSource):
(WebInspector.DebuggerModel.prototype.failedToParseScriptSource):
(WebInspector.DebuggerModel.prototype.breakpointRestored):
(WebInspector.DebuggerModel.prototype.debuggerPaused):
(WebInspector.DebuggerModel.prototype.debuggerResumed):
* inspector/front-end/Resource.js:
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel): eliminate sourceIDMap
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype._createViewerIfNeeded):
(WebInspector.SourceFrame.prototype._setBreakpoint):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView):
* inspector/front-end/inspector.js:
(WebInspector.createJSBreakpointsSidebarPane):
(WebInspector.parsedScriptSource):
(WebInspector.failedToParseScriptSource):
2010-12-15 Eric Carlson <eric.carlson@apple.com>
Reviewed by Darin Adler.
MediaPlayer should try all installed media engines
https://bugs.webkit.org/show_bug.cgi?id=50209
* platform/graphics/MediaPlayer.cpp:
(WebCore::bestMediaEngineForTypeAndCodecs): Rename from chooseBestEngineForTypeAndCodecs. Take optional
parameter for current engine.
(WebCore::nextMediaEngine): New, return the next media engine in the list.
(WebCore::MediaPlayer::MediaPlayer): Initialize reload timer.
(WebCore::MediaPlayer::load): Store url, mime type, and codecs parameter in member variables.
(WebCore::MediaPlayer::loadWithNextMediaEngine): New, initiate loading with the next media engine.
(WebCore::MediaPlayer::supportsType): Make contentType parameter const.
(WebCore::MediaPlayer::reloadTimerFired): New, call loadWithNextMediaEngine.
(WebCore::MediaPlayer::networkStateChanged): If network state signals a failure and the file's
metadata has not loaded, give the next installed engine a try.
* platform/graphics/MediaPlayer.h:
2010-12-15 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
Reviewed by Martin Robinson.
Changes to enable building WebKit2 for Gtk port
(https://bugs.webkit.org/show_bug.cgi?id=37369)
No new functionality added or deleted. Only makefile change. Hence, no tests added.
* GNUmakefile.am: Removed bindings/gobject from webcore_sources & webcore_cppflags and added them to WebKit/gtk/GNUmakefile.am
* platform/network/soup/cache/webkit/soup-cache.h: Remove include <webkit/webkitdefines.h> and declare WEBKIT_API directly
2010-12-15 Jarred Nicholls <jarred@sencha.com>
Reviewed by Andreas Kling.
[Qt] Implement the File API spec
https://bugs.webkit.org/show_bug.cgi?id=49839
No new tests. fast/files tests work when manually operated.
They do not automatically work due to Qt's inability to handle multi-file
inputs (https://bugs.webkit.org/show_bug.cgi?id=22048) as well as Qt's DRT
is missing an eventSender.beginDragWithFiles implementation.
* WebCore.pri:
* WebCore.pro:
* features.pri:
* platform/qt/FileSystemQt.cpp:
(WebCore::directoryName):
(WebCore::readFromFile):
(WebCore::seekFile):
2010-12-14 Antti Koivisto <antti@apple.com>
Reviewed by Alexey Proskuryakov.
https://bugs.webkit.org/show_bug.cgi?id=49548
WebCore cache stores duplicate copies of subresources with URL fragments
- Strip fragment identifiers from HTTP and file URLs for the memory cache.
- Changed some CachedResourceLoader and MemoryCache interfaces to use KURLs
instead of strings to reduce repeated URL parsing.
Test: http/tests/cache/subresource-fragment-identifier.html
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::cachedResource):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::~CachedResource):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::cachedResource):
(WebCore::CachedResourceLoader::checkForReload):
(WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
(WebCore::CachedResourceLoader::requestResource):
* loader/cache/CachedResourceLoader.h:
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::requestResource):
(WebCore::MemoryCache::requestUserCSSStyleSheet):
(WebCore::MemoryCache::removeFragmentIdentifierIfNeeded):
(WebCore::MemoryCache::resourceForURL):
* loader/cache/MemoryCache.h:
2010-12-15 Anton Muhin <antonm@chromium.org>
Reviewed by David Levin.
[v8] Next round of CSS GC story: proper grouping of CSSStyleDeclarations
https://bugs.webkit.org/show_bug.cgi?id=50965
* bindings/v8/V8GCController.cpp:
(WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
(WebCore::DOMObjectGrouperVisitor::addAllItems):
2010-12-13 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: push persistent breakpoints into backend state cookie so they hit on navigation.
https://bugs.webkit.org/show_bug.cgi?id=48858
BreakpointManager pushes all persistent breakpoints to backend when loaded.
InspectorController restores sticky breakpoints from cookie on navigation.
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::setStickyBreakpoints):
(WebCore::InspectorController::restoreStickyBreakpoints):
(WebCore::InspectorController::restoreStickyBreakpoint):
* inspector/InspectorController.h:
* inspector/InspectorState.cpp:
(WebCore::InspectorState::InspectorState):
(WebCore::InspectorState::getObject):
(WebCore::InspectorState::setObject):
(WebCore::InspectorState::registerObject):
* inspector/InspectorState.h:
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.BreakpointsSidebarPane):
(WebInspector.BreakpointsSidebarPane.prototype._removeListElement):
(WebInspector.BreakpointsSidebarPane.prototype._projectChanged):
(WebInspector.EventListenerBreakpointsSidebarPane):
(WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
(WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointAdded):
(WebInspector.EventListenerBreakpointsSidebarPane.prototype._projectChanged):
* inspector/front-end/CallStackSidebarPane.js:
(WebInspector.CallStackSidebarPane):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.reset):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.reset):
* inspector/front-end/Settings.js:
(WebInspector.Settings.prototype.inspectedURLChanged):
(WebInspector.Settings.prototype.get projectId):
(WebInspector.Settings.prototype.findSettingForAllProjects):
(WebInspector.Settings.prototype._formatProjectKey):
* inspector/front-end/inspector.js:
(WebInspector.createDOMBreakpointsSidebarPane):
(WebInspector.createXHRBreakpointsSidebarPane):
(WebInspector.reset):
(WebInspector.inspectedURLChanged):
2010-12-15 Mario Sanchez Prada <msanchez@igalia.com>
Unreviewed, fix compilation warnings after r74066.
* rendering/RenderBox.cpp:
(WebCore::layersUseImage): Place this static function between the
same if-def region used in the only place where it's called from.
2010-12-15 Emil Eklund <eae@chromium.org>
Reviewed by Adam Barth.
Change ContainerNode::willRemoveChildren to not fire mutation events for children
added as a result of a mutation event, thereby avoiding an infinite loop.
https://bugs.webkit.org/show_bug.cgi?id=51079
Test: fast/dom/containerNode.html
* dom/ContainerNode.cpp:
(WebCore::willRemoveChildren): Don't fire mutation events for children added during a mutation event.
2010-12-14 Dan Bernstein <mitz@apple.com>
Reviewed by Maciej Stachowiak.
<rdar://problem/8767193> REGRESSION (r60822): caps-lock-indicator is accepted as a -webkit-appearance value
https://bugs.webkit.org/show_bug.cgi?id=51096
Test: fast/css/appearance-caps-lock-indicator.html
* css/CSSValueKeywords.in: Moved caps-lock-indicator outside the range of values that should be
accepted by the parser, and added comments about maintaining the list of appearance values.
* platform/ThemeTypes.h: Moved CapsLockIndicatorPart to the end of the ControlPart enum.
2010-12-14 takano takumi <takano@apple.com>
Reviewed by Dan Bernstein.
text-combine value names have been changed in the css3 proposal.
https://bugs.webkit.org/show_bug.cgi?id=51089
Changed text-combine's value names from "none|cluster|upright" to "none|horizontal".
* css/CSSParser.cpp: Changed value name.
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h: Changed value name.
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator TextCombine):
* css/CSSValueKeywords.in: No more text-combine specific values needed since
"horizontal" is already there.
* rendering/style/RenderStyleConstants.h: Changed value name.
* rendering/style/StyleRareNonInheritedData.h: Changed textCombine field size.
2010-12-14 Koan-Sin Tan <koansin.tan@gmail.com>
Reviewed by Alexey Proskuryakov.
Kana should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp
https://bugs.webkit.org/show_bug.cgi?id=51012
Kana should be displayed correctly in vertical text with broken font.
Test: fast/blockflow/japanese-rl-text-with-broken-font.html
* platform/graphics/Font.cpp:
(WebCore::Font::isCJKIdeographOrSymbol): add katakana, hiraganna, and Halfwidth and Fullwidth Forms
2010-12-14 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
Additional RenderStyle support for the text-emphasis CSS property
Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
https://bugs.webkit.org/show_bug.cgi?id=48539
No test possible, since this is just adding a function to be used by upcoming patches.
* platform/text/CharacterNames.h: Added characters used as emphasis marks.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::textEmphasisMarkString): Added. Returns a string containing the
emphasis mark, or the null AtomicString if there is none.
* rendering/style/RenderStyle.h:
2010-12-14 Anton D'Auria <adauria@apple.com>
Reviewed by Darin Adler.
Do not allow access to existing HTML5 databases in private browsing
mode https://bugs.webkit.org/show_bug.cgi?id=49332
Test: storage/private-browsing-noread-nowrite.html
Previously, read-only transactions and private browsing mode were
represented by the same SQLStatement and DatabaseAuthorizer states.
This patch removes the m_readOnly member variable from SQLStatement and
DatabaseAuthorizer, and replaces it with m_permissions whose bit fields
are initialized by a DatabaseAuthorizer enum Permissions (ReadWrite,
ReadOnly, NoAccess). A read-only transaction sets permissions to
ReadOnly, and if !m_database->scriptExecutionContext()->allowDatabaseAccess(),
then permissions also set to NoAccess.
* dom/Document.cpp:
(WebCore::Document::allowDatabaseAccess): this method was previously
called isDatabaseReadOnly. It checks if private browsing preference is
set. This method is renamed because it is used to check if private
browsing restricts access to databases.
* dom/Document.h:
* dom/ScriptExecutionContext.h:
* storage/AbstractDatabase.cpp:
(WebCore::AbstractDatabase::setAuthorizerPermissions):
* storage/AbstractDatabase.h:
* storage/DatabaseAuthorizer.cpp:
(WebCore::DatabaseAuthorizer::reset):
(WebCore::DatabaseAuthorizer::createTable):
(WebCore::DatabaseAuthorizer::createTempTable):
(WebCore::DatabaseAuthorizer::dropTable):
(WebCore::DatabaseAuthorizer::dropTempTable):
(WebCore::DatabaseAuthorizer::allowAlterTable):
(WebCore::DatabaseAuthorizer::createIndex):
(WebCore::DatabaseAuthorizer::createTempIndex):
(WebCore::DatabaseAuthorizer::dropIndex):
(WebCore::DatabaseAuthorizer::dropTempIndex):
(WebCore::DatabaseAuthorizer::createTrigger):
(WebCore::DatabaseAuthorizer::createTempTrigger):
(WebCore::DatabaseAuthorizer::dropTrigger):
(WebCore::DatabaseAuthorizer::dropTempTrigger):
(WebCore::DatabaseAuthorizer::createView):
(WebCore::DatabaseAuthorizer::createTempView):
(WebCore::DatabaseAuthorizer::dropView):
(WebCore::DatabaseAuthorizer::dropTempView):
(WebCore::DatabaseAuthorizer::createVTable):
(WebCore::DatabaseAuthorizer::dropVTable):
(WebCore::DatabaseAuthorizer::allowDelete):
(WebCore::DatabaseAuthorizer::allowInsert):
(WebCore::DatabaseAuthorizer::allowUpdate):
(WebCore::DatabaseAuthorizer::allowRead):
(WebCore::DatabaseAuthorizer::allowReindex):
(WebCore::DatabaseAuthorizer::allowWrite): a new private method that
checks if DatabaseAuthorizer is enabled and if it is in ReadOnly or
NoAccess mode.
(WebCore::DatabaseAuthorizer::setReadOnly):
(WebCore::DatabaseAuthorizer::setPermissions):
* storage/DatabaseAuthorizer.h:
* storage/SQLStatement.cpp:
(WebCore::SQLStatement::create):
(WebCore::SQLStatement::SQLStatement):
(WebCore::SQLStatement::execute):
* storage/SQLStatement.h:
* storage/SQLStatementSync.cpp:
(WebCore::SQLStatementSync::SQLStatementSync):
(WebCore::SQLStatementSync::execute):
* storage/SQLStatementSync.h:
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::executeSQL):
* storage/SQLTransactionSync.cpp:
(WebCore::SQLTransactionSync::executeSQL):
* workers/WorkerContext.h:
(WebCore::WorkerContext::allowDatabaseAccess):
2010-12-02 MORITA Hajime <morrita@google.com>
Reviewed by Dimitri Glazkov.
[chromium] Fix drawing of inset box shadows
https://bugs.webkit.org/show_bug.cgi?id=41576
When clearing outside clipped path, the context contains unexpected transform.
Fixed to restore original state before the clear.
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::clipPathAntiAliased):
(WebCore::PlatformContextSkia::applyAntiAliasedClipPaths):
2010-12-14 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Mouse Events Not Received in Run Applet in their Own Process Mode
https://bugs.webkit.org/show_bug.cgi?id=51078
<rdar://problem/8333491>
Make sure that Widget::handleEvent is called for applets as well.
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::defaultEventHandler):
* html/HTMLAppletElement.h:
2010-12-14 Simon Fraser <simon.fraser@apple.com>
Reviewed by Chris Marrin.
Parts of page disappear
https://bugs.webkit.org/show_bug.cgi?id=41701
The page has text-indent: -1000000px on an element that becomes
compositing, causing a huge tiled layer to get created.
r63452 aimed to fix this by clamping layer bounds to the viewport,
but did not do so for pages running accelerated animations (since
we don't want to clamp for transform animations). However, this
page only has an opacity animation.
So refine the logic added for r63452 to only call setCompositingConsultsOverlap(false)
for transform animations.
Test: compositing/geometry/limit-layer-bounds-opacity-transition.html
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::startAnimation): call didStartAcceleratedAnimation()
with the appropriate properties, and clean up confusing logic that was used to
compute the return value. We want to return true if either property is accelerated.
(WebCore::RenderLayerBacking::startTransition): Call didStartAcceleratedAnimation()
with the appropriate property.
* rendering/RenderLayerCompositor.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::didStartAcceleratedAnimation): Pass the property in,
and only turn off overlap testing if we see a transform animation.
2010-12-14 Brady Eidson <beidson@apple.com>
Reviewed by Alexey Proskuryakov.
<rdar://problem/8225016> and https://bugs.webkit.org/show_bug.cgi?id=40138
Authorization header is sent from an HTTP Auth protected site on redirect
Test: http/tests/misc/authentication-sent-to-redirect.html
Add helper to clear the Auth headers from a resource request:
* platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::clearHTTPAuthorization):
* platform/network/ResourceRequestBase.h:
Only Mac and Windows CFNetwork ports seem to have this problem, so plug it for them:
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::willSendRequest):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::willSendRequest):
2010-12-14 Simon Fraser <simon.fraser@apple.com>
Reviewed by Chris Marrin.
Crash in WebCore::GraphicsLayer::paintGraphicsLayerContents() loading this URL
https://bugs.webkit.org/show_bug.cgi?id=51072
Fix a crash when painting a layer whose PlatformCALayer has been deleted,
by clearing the PlatformCALayer value on the CALayer when the PlatformCALayer
is destroyed.
I was not able to reduce the page to a simple testcase.
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::~PlatformCALayer):
2010-12-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Unreviewed, build fix.
[Qt] Fix the list of header files in WebCore.pro after r74049.
No new tests as there is no new functionality.
* WebCore.pro:
2010-12-14 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Andreas Kling.
[Qt] Focus rings are ugly, rects should be united instead of drawn individually
https://bugs.webkit.org/show_bug.cgi?id=49953
Create a QPainterPath and add to it the focus rects, one at a time.
Combine the 2 drawFocusRing functions into one function drawFocusRingForPath.
Tests: fast/css/focus-ring-detached.html
fast/css/focus-ring-multiline.html
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::drawFocusRingForPath):
(WebCore::GraphicsContext::drawFocusRing):
2010-12-14 Mark Rowe <mrowe@apple.com>
Fix the Qt build.
* xml/XSLTProcessorQt.cpp:
(WebCore::XSLTProcessor::transformToString): Make the conversion to QString explicit
since QVariant can be constructed from either a QString or a bool.
2010-12-14 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
compositing/masks/simple-composited-mask.html failure
https://bugs.webkit.org/show_bug.cgi?id=49746
Geometry of composited layers with a mask depends on the loading
of the mask image, since maskClipRect() is used for the layer bounds.
So when RenderBox::imageChanged() is called for an image used by
a mask on a layer with a composited mask, call the newly-renamed
layer->contentsChanged() method. This percolates down into RenderLayerBacking,
ending in a layer geometry update.
Renamed RenderLayer::rendereContentsChanged() to contentsChanged() and added
an enum to say what changed, for somewhat more efficient updating.
Also, when the mask layer gets resized, make sure we mark it as needing
display.
Tested by pixel result of compositing/masks/simple-composited-mask.html
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::didDraw):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::markContextChanged):
(WebCore::WebGLRenderingContext::reshape):
* rendering/RenderBox.cpp:
(WebCore::layersUseImage):
(WebCore::RenderBox::imageChanged):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageDimensionsChanged):
(WebCore::RenderImage::notifyFinished):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::contentChanged):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::contentChanged):
* rendering/RenderLayerBacking.h:
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::updatePlayer):
2010-12-14 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
<http://webkit.org/b/51064> Reproducible crash inside WebCore::MediaPlayerPrivateQTKit::createQTMovie when loading <video>
We were crashing inside MediaPlayerPrivateQTKit::createQTMovie as we were passing a null URL in
to CFNetworkCopyProxiesForURL. This happened because we were null-checking the URL incorrectly.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::resumeLoad): Explicitly test for a null string.
2010-12-14 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=50970
It's arguably a bug, but we don't let inline flow layers paint floating
descendants. The containing block of the inline flow paints them instead.
However our shouldPaint logic has always been flawed and has turned off propagation
of painting when an inline flow layer is enclosing the float.
Change enclosingSelfPaintingLayer to enclosingFloatPaintingLayer to be more precise
and for now limit it to RenderBoxes.
Added fast/block/float/floatstack.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addOverhangingFloats):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::enclosingFloatPaintingLayer):
* rendering/RenderBox.h:
* rendering/RenderObject.cpp:
* rendering/RenderObject.h:
2010-12-14 Mihai Parparita <mihaip@chromium.org>
Reviewed by Dimitri Glazkov.
Move asynchronous event dispatching out of Document
https://bugs.webkit.org/show_bug.cgi?id=49785
Move asynchonous event code out of Document and into a standalone
EventQueue class (which supports async events for both regular nodes
and the window object).
No new tests necessary, since no new functionality is exposed (existing
layout tests pass).
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::enqueueWindowEvent):
(WebCore::Document::enqueueHashchangeEvent):
* dom/DOMAllInOne.cpp:
(WebCore::Document::eventQueue):
* dom/Document.h:
* dom/EventQueue.cpp: Added.
(WebCore::EventQueue::EventQueue):
(WebCore::EventQueue::enqueueEvent):
(WebCore::EventQueue::pendingEventTimerFired):
(WebCore::EventQueue::dispatchEvent):
* dom/EventQueue.h: Added.
* storage/StorageEventDispatcher.cpp:
(WebCore::StorageEventDispatcher::dispatch):
2010-12-14 Kyounga Ra <kyounga.ra@gmail.com>
Reviewed by Adam Barth.
<noscript> is rendered with enabled XHTMLMP.
https://bugs.webkit.org/show_bug.cgi?id=48493
* html/HTMLElement.cpp:
(WebCore::HTMLElement::rendererIsNeeded):
2010-12-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Eric Seidel.
[Qt] [Symbian] Do not use pkg-config on Symbian as it is not supported
https://bugs.webkit.org/show_bug.cgi?id=50231
No new tests as there is no new functionality.
Guard CONFIG+=link_pkgconfig with !symbian.
* WebCore.pro:
2010-12-14 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r74040.
http://trac.webkit.org/changeset/74040
https://bugs.webkit.org/show_bug.cgi?id=51050
Breaks 2d.shadow.canvas.transparent.2 and
2d.shadow.image.transparent.2 (Requested by helder on
#webkit).
* platform/graphics/ContextShadow.cpp:
(WebCore::ContextShadow::ContextShadow):
(WebCore::ContextShadow::calculateLayerBoundingRect):
* platform/graphics/ContextShadow.h:
(WebCore::ContextShadow::offset):
* platform/graphics/qt/ContextShadowQt.cpp:
(WebCore::ContextShadow::beginShadowLayer):
(WebCore::ContextShadow::endShadowLayer):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::setPlatformShadow):
2010-12-14 Nate Chapin <japhet@chromium.org>
Unreviewed, fixing qt (hopefully for real this time).
Remove a couple more references to loader.h.
* xml/XSLStyleSheetQt.cpp:
* xml/XSLTProcessorQt.cpp:
2010-12-14 Nate Chapin <japhet@chromium.org>
Unreviewed, fix mac and qt builds.
Missed a couple of references to loader.h and
improperly added CachedResourceRequest.h to
WebCore.xcodeproj.
* WebCore.xcodeproj/project.pbxproj:
* platform/android/TemporaryLinkStubs.cpp:
* platform/qt/TemporaryLinkStubsQt.cpp:
2010-12-14 Nate Chapin <japhet@chromium.org>
Reviewed by Adam Barth.
Rename Loader to CachedResourceRequest.
https://bugs.webkit.org/show_bug.cgi?id=50848
No new tests, rename only.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSStyleSelector.cpp:
* loader/cache/CachedCSSStyleSheet.cpp:
* loader/cache/CachedFont.cpp:
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::setRequest):
* loader/cache/CachedResource.h:
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::load):
(WebCore::CachedResourceLoader::loadDone):
(WebCore::CachedResourceLoader::cancelRequests):
* loader/cache/CachedResourceLoader.h:
* loader/cache/CachedResourceRequest.cpp: Copied from WebCore/loader/loader.cpp.
* loader/cache/CachedResourceRequest.h: Copied from WebCore/loader/loader.h.
* loader/loader.cpp: Removed.
* loader/loader.h: Removed.
* xml/XSLStyleSheetLibxslt.cpp:
* xml/XSLTProcessor.cpp:
* xml/XSLTProcessorLibxslt.cpp:
2010-12-14 David Hyatt <hyatt@apple.com>
Reviewed by Tim Hatcher.
https://bugs.webkit.org/show_bug.cgi?id=46422
Rename pageHeight variables and members in WebCore to pageLogicalHeight in preparation for
making printing and pagination work with vertical writing modes.
* page/FrameView.cpp:
(WebCore::FrameView::forceLayoutForPagination):
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
(WebCore::LayoutState::clearPaginationInformation):
* rendering/LayoutState.h:
(WebCore::LayoutState::LayoutState):
(WebCore::LayoutState::isPaginated):
(WebCore::LayoutState::pageLogicalHeight):
(WebCore::LayoutState::pageLogicalHeightChanged):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::layoutColumns):
(WebCore::RenderBlock::nextPageTop):
(WebCore::RenderBlock::applyBeforeBreak):
(WebCore::RenderBlock::applyAfterBreak):
(WebCore::RenderBlock::adjustForUnsplittableChild):
(WebCore::RenderBlock::adjustLinePositionForPagination):
* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalHeight):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::layout):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layoutRows):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
(WebCore::RenderView::layout):
* rendering/RenderView.h:
(WebCore::RenderView::pageLogicalHeight):
(WebCore::RenderView::setPageLogicalHeight):
2010-12-14 Dimitri Glazkov <dglazkov@chromium.org>
Fix GTK build by adding source files that were accidentally skipped in
r74044. Sorry!
* GNUmakefile.am: Added SliderThumbElement.
2010-12-14 Beth Dakin <bdakin@apple.com>
Reviewed by Darin Adler.
Fix for https://bugs.webkit.org/show_bug.cgi?id=50974
getComputedStyle() returns wrong values for zoomed elements when
display is none
-and corresponding-
<rdar://problem/8522731>
If there is no renderer but the RenderStyle's value is a fixed
length, send it through zoomAdjustedPixelValue(). There's not much
we can do for other length types without a renderer.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::zoomAdjustedPixelValueForLength):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2010-12-13 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by David Levin.
Move SliderThumbElement into its own file.
https://bugs.webkit.org/show_bug.cgi?id=50973
No change in behavior, so no tests.
* Android.mk: Added SliderThumbElement.
* CMakeLists.txt: Ditto.
* WebCore.gyp/WebCore.gyp: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto,
* html/shadow/SliderThumbElement.cpp: Added.
* html/shadow/SliderThumbElement.h: Added.
* rendering/RenderSlider.cpp: Removed code that was moved into
SliderThumbElement.
2010-12-13 Alexey Proskuryakov <ap@apple.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=50953
DNS Prefetch should be an opt-in feature
No new tests, can't test DNS.
* dom/Document.h: Made initDNSPrefetch public, since Page now calls it.
* page/Page.cpp: (WebCore::Page::dnsPrefetchingStateChanged):
* page/Page.h:
Documents cache the value of this setting, so they need to be notified of changes. In particular,
the first document in a page is created before settings are applied.
* page/Settings.cpp:
(WebCore::Settings::Settings): Changed default to false.
(WebCore::Settings::setDNSPrefetchingEnabled): Notify the page about the change.
2010-12-14 Helder Correia <helder@sencha.com>
Reviewed by Ariya Hidayat.
[Qt] Canvas shadow offset should not be affected by any transformation
https://bugs.webkit.org/show_bug.cgi?id=50422
On a canvas context, shadows are currently affected by all
transformations except scaling. According to the spec:
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#shadows
"The shadowOffsetX and shadowOffsetY attributes specify the distance
that the shadow will be offset in the positive horizontal and positive
vertical distance respectively. Their values are in coordinate space
units. They are not affected by the current transformation matrix."
NOTE: this applies only to canvas, not to box shadows.
Test: fast/canvas/canvas-transforms-fillRect-shadow.html
* platform/graphics/ContextShadow.cpp:
(WebCore::ContextShadow::ContextShadow):
(WebCore::ContextShadow::calculateLayerBoundingRect):
* platform/graphics/ContextShadow.h:
(WebCore::ContextShadow::setShadowsIgnoreTransforms):
(WebCore::ContextShadow::shadowsIgnoreTransforms):
(WebCore::ContextShadow::offset):
* platform/graphics/qt/ContextShadowQt.cpp:
(WebCore::ContextShadow::beginShadowLayer):
(WebCore::ContextShadow::endShadowLayer):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::mustUseContextShadow):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::setPlatformShadow):
2010-12-14 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Rule data not updated in Styles pane after stylesheet gets reverted
https://bugs.webkit.org/show_bug.cgi?id=51034
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModel.prototype._onRevert):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel):
(WebInspector.ElementsPanel.prototype._metricsPaneEdited):
(WebInspector.ElementsPanel.prototype._stylesPaneEdited):
(WebInspector.ElementsPanel.prototype._styleSheetChanged):
2010-12-14 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Avoid GraphicsContext save/restore in Image::drawPattern()
https://bugs.webkit.org/show_bug.cgi?id=51037
It's enough to restore the CompositeOperator after drawing.
* platform/graphics/qt/ImageQt.cpp:
(WebCore::Image::drawPattern):
2010-12-14 Eric Carlson <eric.carlson@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/8763862>
r72017 used incorrect compiler conditional.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::createQTMovie):
2010-12-14 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Martin Robinson.
[GTK] Simplify context-menu handling code
https://bugs.webkit.org/show_bug.cgi?id=49658
* platform/ContextMenuItem.h:
* platform/gtk/ContextMenuGtk.cpp:
(WebCore::ContextMenu::appendItem):
* platform/gtk/ContextMenuItemGtk.cpp:
(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::~ContextMenuItem):
(WebCore::ContextMenuItem::releasePlatformDescription):
(WebCore::ContextMenuItem::type):
(WebCore::ContextMenuItem::setType):
(WebCore::ContextMenuItem::action):
(WebCore::ContextMenuItem::setAction):
(WebCore::ContextMenuItem::title):
(WebCore::ContextMenuItem::setTitle):
(WebCore::ContextMenuItem::platformSubMenu):
(WebCore::ContextMenuItem::setSubMenu):
(WebCore::ContextMenuItem::setChecked):
(WebCore::ContextMenuItem::setEnabled):
2010-12-14 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Xan Lopez.
[Gtk] Implement STATE_FOCUSED, STATE_FOCUSABLE, and corresponding events for text objects
https://bugs.webkit.org/show_bug.cgi?id=27048
Handle focus change for text objects based in caret changes.
As text objects (such as paragraphs) seem not to accept focus in
WebCore in the same way other objects (text controls) do, a
Gtk-specific workaround is needed to expose this states and the
related events to ATK-based assistive technologies.
Test: platform/gtk/accessibility/caret-browsing-text-focus.html
Ensure that text objects are exposed with the ATK_STATE_FOCUSABLE
state, and that the ATK_STATE_FOCUSED state is added to those
text objects containing the currently active caret selection.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(selectionBelongsToObject): Moved upwards to use it from
the new isTextWithCaret() function.
(isTextWithCaret): New, checks whether an accessibility object
represents a text object with the current caret selection on it.
(setAtkStateSetFromCoreObject): Add the ATK_STATE_FOCUSED state
when also when isTextWithCaret(coreObject) returns true.
(webkit_accessible_ref_state_set): Add the ATK_STATE_FOCUSABLE
state to text objects and those with the ATK_ROLE_PARAGRAPH role.
(webkit_accessible_text_get_n_selections): Optimize return expression.
Make sure the proper events associated to a change of focus are
emitted, based on caret changes across different accessibility
objects. Also, refactored the code in more manageable and
understandable helper functions.
* editing/gtk/SelectionControllerGtk.cpp:
(WebCore::emitTextSelectionChange): New, includes the specific
code formerly placed in notifyAccessibilityForSelectionChange() to
emit the 'text-caret-moved' and 'text-selection-change' signals.
(WebCore::maybeEmitTextFocusChange): New, takes care of emitting
the 'focus-event' and 'state-changed::focused' signals when
needed, that is, when a change in the selection happens across
different accessible objects.
(WebCore::SelectionController::notifyAccessibilityForSelectionChange):
Refactored some code here, by using the new helper functions.
2010-12-14 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: regroup Inspector.idl entries.
Just for better visibility.
https://bugs.webkit.org/show_bug.cgi?id=51025
* inspector/Inspector.idl:
2010-12-14 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Reverted stylesheet breaks style data
https://bugs.webkit.org/show_bug.cgi?id=51030
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::reparseStyleSheet):
2010-12-14 Mads Ager <ager@chromium.org>
Reviewed by Pavel Feldman.
[V8] Reflected unsigned attributes should be in the range [0, 2^31)
https://bugs.webkit.org/show_bug.cgi?id=51023
Follow the changes made to CodeGeneratorJS.pm to return 0 for
reflected unsigned attributes that are outside the allowed range.
See https://bugs.webkit.org/show_bug.cgi?id=50472
* bindings/scripts/CodeGeneratorV8.pm:
2010-12-14 Charlie Reis <creis@chromium.org>
Reviewed by Darin Adler.
Remove stale include of Document.h in V8DOMWrapper.h
https://bugs.webkit.org/show_bug.cgi?id=50607
We no longer need to include Document.h or V8DOMMap.h in
V8DOMWrapper. Removing them to avoid dependencies.
* bindings/v8/V8DOMWrapper.h:
2010-12-14 Julien Chaffraix <jchaffraix@codeaurora.org>
Reviewed by Darin Adler.
Test for: EventSource fails to connect if Content-Type header has a charset attribute
https://bugs.webkit.org/show_bug.cgi?id=45372
Tests: http/tests/eventsource/eventsource-content-type-charset.html
http/tests/eventsource/eventsource-content-type-text-event-stream-foobar.html
* page/EventSource.cpp:
(WebCore::EventSource::didReceiveResponse): Use the mimeType instead of the Content-Type
header directly. This makes the detection of the "text/stream" mimeType more accurate.
2010-12-14 Pieter Senster <psenster@google.com>
Reviewed by Dirk Schulze.
Incorporate the channel offsets from the ColorMatrix filter in the filter calculation
https://bugs.webkit.org/show_bug.cgi?id=50682
Test: svg/filters/feColorMatrix-offset.svg
* platform/graphics/filters/FEColorMatrix.cpp:
(WebCore::matrix):
2010-12-14 Jarred Nicholls <jarred@sencha.com>
Reviewed by Kenneth Rohde Christiansen.
Qt's Clipboard::files() implementation for HTML5 Drag/Drop (DataTransfer)
No new tests. Run tests manually until DRT is updated w/ beginDragWithFiles.
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::files):
2010-12-13 Antonio Gomes <agomes@rim.com>
Rubber stamped by Daniel Bates.
Spatial Navigation: code clean up (part V)
https://bugs.webkit.org/show_bug.cgi?id=50666
No new tests needed.
* page/SpatialNavigation.cpp:
(WebCore::distanceDataForNode): Made 'FocusCandidate current' const since it is not
supposed to change within this function.
* page/SpatialNavigation.h: Ditto.
2010-12-13 takano takumi <takano@apple.com>
Reviewed by Dan Bernstein.
GlyphPage::fill() is slow on vertical writing (Mac)
https://bugs.webkit.org/show_bug.cgi?id=50865
No test. Just a performance improvement.
* platform/graphics/Font.cpp:
(WebCore::Font::isCJKIdeograph): Now this only checks pure ideographs (Hanji).
(WebCore::Font::isCJKIdeographOrSymbol): Added this for Hanji and Hanji related symbols.
* platform/graphics/Font.h:
* platform/graphics/FontFastPath.cpp:
(WebCore::Font::glyphDataForCharacter): Changed to call isCJKIdeographOrSymbol() instead of isCJKIdeograph().
* platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
(WebCore::shouldUseCoreText): This tests if GlyphPage::fill() should use CoreText or not.
For vertical writing, if the current page contains only ideographs, we go CG path.
(WebCore::GlyphPage::fill): Made to call shouldUseCoreText() and switch code path.
2010-12-13 Antonio Gomes <agomes@rim.com>
Reviewed by Daniel Bates.
Spatial Navigation: code clean up (part IV)
https://bugs.webkit.org/show_bug.cgi?id=50666
Avoid calling canScrollInDirection more than necessary.
No new tests needed.
* page/FocusController.cpp:
(WebCore::FocusController::advanceFocusDirectionallyInContainer): Moved the call to canScrollInDirection()
to within the scrollInDirection().
* page/SpatialNavigation.cpp: Removed the assertion to canScrollingDirection function.
(WebCore::scrollInDirection):
2010-12-13 Antonio Gomes <agomes@rim.com>
Reviewed by Daniel Bates.
Spatial Navigation: code clean up (part III)
https://bugs.webkit.org/show_bug.cgi?id=50666
No new tests needed.
* page/SpatialNavigation.h: Added FocusCandidate::isFrameOwnerElement and
WebCore::frameOwnerElement helper functions.
(WebCore::FocusCandidate::isFrameOwnerElement): Returns true if the Node pointer
wrapped by FocusCandidate is an instance of HTMLFrameOwnerElement. Returns false
otherwise.
* page/SpatialNavigation.cpp:
(WebCore::frameOwnerElement): Returns the HTMLFrameOwnerElement associated with
the FocusCandidate if appropriate.
* page/FocusController.cpp:
(WebCore::updateFocusCandidateIfNeeded): Make use of newly added frameOwnerElement() helper.
(WebCore::FocusController::advanceFocusDirectionallyInContainer): Ditto.
2010-12-13 Mike Lawther <mikelawther@chromium.org>
Reviewed by Daniel Bates.
[skia] ignore transform for canvas shadows
https://bugs.webkit.org/show_bug.cgi?id=50437
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::setPlatformShadow):
2010-12-13 Dai Mikurube <dmikurube@google.com>
Reviewed by Kent Tamura.
ValidityState's exposed functions should check if willValidate() is true before all
https://bugs.webkit.org/show_bug.cgi?id=50617
Added checking willValidate() to exposed functions. And modified willValidate() behavior
for <button type="submit"> and <input type="submit"> to return true if not disabled and
not readonly.
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::parseMappedAttribute): Added calling setNeedsWillValidateCheck() to refresh willValidate() after changing its type.
(WebCore::HTMLButtonElement::recalcWillValidate): Added to return true if not disabled and not readonly when type="submit". It's to be compliant to the spec.
* html/HTMLButtonElement.h:
* html/SubmitInputType.cpp:
(WebCore::SubmitInputType::supportsValidation): Removed it to enable willValidate() for <input> when type="submit". It's to be compliant to the spec.
(WebCore::SubmitInputType::supportsRequired): Added it to reject required attributes though validation is available.
* html/SubmitInputType.h:
* html/ValidityState.cpp: Added checking willValidate().
(WebCore::ValidityState::typeMismatch):
(WebCore::ValidityState::patternMismatch):
(WebCore::ValidityState::tooLong):
(WebCore::ValidityState::rangeUnderflow):
(WebCore::ValidityState::rangeOverflow):
(WebCore::ValidityState::stepMismatch):
(WebCore::ValidityState::customError):
* html/ValidityState.h:
2010-12-13 Noel Gordon <noel.gordon@gmail.com>
Reviewed by David Levin.
[chromium] Upstream skia/ImageBuffer.cpp routine mulDiv255Ceil()
https://bugs.webkit.org/show_bug.cgi?id=50545
Skia has rolled, replace uses of mulDiv255Ceil with SkMulDiv255Ceiling.
No new tests, no change in behaviour.
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::putImageData):
2010-12-13 Gavin Peters <gavinp@chromium.org>
Reviewed by Adam Barth.
Re land Purpose after bad merge
https://bugs.webkit.org/show_bug.cgi?id=51000
* loader/loader.cpp:
(WebCore::Loader::load):
2010-12-13 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/8763696> REGRESSION (r72173): Fallback fonts’ vertical metrics aren’t accounted for even when line-height is unspecified
https://bugs.webkit.org/show_bug.cgi?id=50979
Many test results updated.
* rendering/InlineFlowBox.cpp: Reinstated the code that updates affectsAscent and
affectsDescent in the used-fonts code path. Renamed variables for clarity. Added
a check whether usedFonts is empty (which it might be if there is glyph overflow
but no fallback) as an optimization.
2010-12-13 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Jon Honeycutt.
Remove unnecessary include of Switch module.
There are no switch statements in this file.
* dom/make_names.pl:
2010-12-13 Emil Eklund <eae@chromium.org>
Reviewed by Dimitri Glazkov.
Change SelectionController::setFocusedNodeIfNeeded to traverse the DOM
tree instead of the render tree.
https://bugs.webkit.org/show_bug.cgi?id=50989
* editing/SelectionController.cpp:
(WebCore::SelectionController::setFocusedNodeIfNeeded):
Walk up DOM/hosted tree rather than render tree and remove FIXME comment
that does't apply (SelectionController and EventHandler needs different
checks).
2010-12-13 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
AX: aria-invalid should be supported.
https://bugs.webkit.org/show_bug.cgi?id=50573
Test: platform/mac/accessibility/aria-invalid.html
* accessibility/AXObjectCache.h:
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::invalidStatus):
* accessibility/AccessibilityObject.h:
* accessibility/chromium/AXObjectCacheChromium.cpp
(WebCore::AXObjectCache::postPlatformNotification):
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postPlatformNotification):
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityAttributeNames]):
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
* dom/Element.cpp:
(WebCore::Element::updateAfterAttributeChanged):
* html/HTMLAttributeNames.in:
2010-12-13 Joone Hur <joone@kldp.org>
Reviewed by Eric Seidel.
WebKit fails to compile when building with WML support enabled
https://bugs.webkit.org/show_bug.cgi?id=42943
Use TextPosition instead of lineNumber() and columNumber().
No new tests are added, because this is just a build fix.
* dom/XMLDocumentParser.h: Make lineNumber() private.
* wml/WMLErrorHandling.cpp:
(WebCore::reportWMLError): Use TextPosition instead of lineNumber() and columnNumber().
2010-12-13 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
AX: lists and list boxes need different attributes
https://bugs.webkit.org/show_bug.cgi?id=50978
Separate out the attributes being returned for lists (<ul>) and listboxes (<select multiple>).
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2010-12-13 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=50963
REGRESSION: Scrolling nested iframes is messed up on platforms that use the cross-platform ScrollView.
The selfClipRect and childrenClipRect methods of RenderLayer were incorrectly relying on the bounding box
of the root layer. This bounding box was only coincidentally incorporating overflow as part of the
RenderLayer's bounds. Since I fixed the RenderLayer bounds to not include layout overflow any longer,
this check is now exposed as incorrect. Use the entire document size when computing layer clip
rects.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::childrenClipRect):
(WebCore::RenderLayer::selfClipRect):
* rendering/RenderView.h:
(WebCore::RenderView::documentRect):
2010-12-13 Simon Fraser <simon.fraser@apple.com>
GraphicsContextPrivate.h was removed. Nuke it from the project.
* WebCore.xcodeproj/project.pbxproj:
2010-12-13 Eric Carlson <eric.carlson@apple.com>
Reviewed by Antti Koivisto.
HTMLMediaElement::endedPlayback should not return true if duration is zero
https://bugs.webkit.org/show_bug.cgi?id=50962
(WebCore::HTMLMediaElement::endedPlayback): Don't return true when duration is zero because a
media file can't play if it has no duration, therefore it can't have ended playback.
2010-12-13 Brent Fulgham <bfulgham@webkit.org>
Unreviewed build fix after r73840.
* WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Update property file
to pass three arguments to build-generated-files.sh, just like
the official Apple port.
2010-12-13 David Hyatt <hyatt@apple.com>
Reviewed by Adam Roben.
Make sure the defaultSpaceEventHandler does logical scrolling.
* page/EventHandler.cpp:
(WebCore::EventHandler::defaultSpaceEventHandler):
2010-12-13 Matthew Delaney <mdelaney@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=50591 Adopt new CG API for canvas
No new tests necessary.
* Configurations/WebCore.xcconfig: Added IOSurface framework link.
* html/canvas/CanvasRenderingContext2D.cpp: Used IOSurface def. instead.
* platform/graphics/ImageBuffer.h: Pushed renderingMode down into ctor.
* platform/graphics/cairo/ImageBufferCairo.cpp:
* platform/graphics/cg/ImageBufferCG.cpp:
* platform/graphics/haiku/ImageBufferHaiku.cpp:
* platform/graphics/qt/ImageBufferQt.cpp:
* platform/graphics/skia/ImageBufferSkia.cpp:
* platform/graphics/wince/ImageBufferWinCE.cpp:
* platform/graphics/wx/ImageBufferWx.cpp:
2010-12-13 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r73923.
http://trac.webkit.org/changeset/73923
https://bugs.webkit.org/show_bug.cgi?id=50944
Broke editing/selection/extend-selection-home-end.html on non-
mac platforms. Looks like a real bug. (Requested by ojan on
#webkit).
* editing/SelectionController.cpp:
(WebCore::SelectionController::positionForPlatform):
(WebCore::SelectionController::modifyExtendingForward):
2010-12-13 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PageUp/PageDwn should respect writing-mode.
Add logical scrolling to WebCore. It basically mirrors physical scrolling but works in abstract logical
directions and only converts to physical when it's time to attempt the scroll.
Also fixed bugs in scrollRecursively and logicalScrollRecursively where overflow sections in containing
frames got skipped over.
Made the resetting of the inline axis scroll position on Home/End Mac-specific for overflow sections.
* WebCore.exp.in:
* page/EventHandler.cpp:
(WebCore::EventHandler::logicalScrollOverflow):
(WebCore::EventHandler::scrollRecursively):
(WebCore::EventHandler::logicalScrollRecursively):
* page/EventHandler.h:
* page/FrameView.cpp:
(WebCore::FrameView::isVerticalDocument):
(WebCore::FrameView::isFlippedDocument):
* page/FrameView.h:
* platform/ScrollTypes.h:
(WebCore::logicalToPhysical):
* platform/ScrollView.cpp:
(WebCore::ScrollView::scroll):
(WebCore::ScrollView::logicalScroll):
* platform/ScrollView.h:
(WebCore::ScrollView::isVerticalDocument):
(WebCore::ScrollView::isFlippedDocument):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::logicalScroll):
* rendering/RenderBox.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scroll):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::logicalScroll):
* rendering/RenderListBox.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::logicalScroll):
* rendering/RenderTextControlSingleLine.h:
2010-12-13 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Rollout 73914, 73915, 73917, 73920 and 73921.
REGRESSION(r73914): "Chromium page_cycler_morejs fails" (Requested by yurys on #webkit).
https://bugs.webkit.org/show_bug.cgi?id=50950
* Android.jscbindings.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.order:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDOMBinding.cpp:
(WebCore::reportException):
* bindings/js/JSWorkerContextErrorHandler.cpp: Renamed from WebCore/bindings/js/JSErrorHandler.cpp.
(WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
(WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
(WebCore::JSWorkerContextErrorHandler::handleEvent):
* bindings/js/JSWorkerContextErrorHandler.h: Renamed from WebCore/bindings/js/JSErrorHandler.h.
(WebCore::JSWorkerContextErrorHandler::create):
(WebCore::createJSWorkerContextErrorHandler):
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/V8ConsoleMessage.cpp:
(WebCore::V8ConsoleMessage::dispatchNow):
(WebCore::V8ConsoleMessage::handler):
* bindings/v8/V8ConsoleMessage.h:
* bindings/v8/V8WindowErrorHandler.cpp: Removed.
* bindings/v8/V8WindowErrorHandler.h: Removed.
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::v8MessageHandler):
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
* dom/Document.cpp:
(WebCore::Document::reportException):
(WebCore::Document::addMessage):
* dom/Document.h:
* dom/ErrorEvent.cpp:
* dom/ErrorEvent.h:
* dom/Event.cpp:
* dom/Event.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::ScriptExecutionContext):
* dom/ScriptExecutionContext.h:
* websockets/WebSocket.cpp:
(WebCore::WebSocket::connect):
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::didOpen):
(WebCore::WebSocketChannel::appendToBuffer):
* websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::readServerHandshake):
(WebCore::WebSocketHandshake::readStatusLine):
(WebCore::WebSocketHandshake::readHTTPHeaders):
(WebCore::WebSocketHandshake::checkResponseHeaders):
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::postExceptionTask):
(WebCore::postConsoleMessageTask):
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::WorkerContext):
(WebCore::WorkerContext::reportException):
(WebCore::WorkerContext::addMessage):
* workers/WorkerContext.h:
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerExceptionTask::performTask):
(WebCore::postConsoleMessageTask):
* xml/XMLHttpRequest.cpp:
(WebCore::reportUnsafeUsage):
2010-12-13 Antti Koivisto <antti@apple.com>
Reviewed by Alexey Proskuryakov.
https://bugs.webkit.org/show_bug.cgi?id=50758
<rdar://problem/8722094>
Defer loading print stylesheets
- Make preload scanner skip stylesheets with non-screen media types.
- Make it possible to specify non-default load priority from the client.
- Use this mechanism to load print stylesheets using very low priority so they get loaded after everything else.
- Move default priority code from Loader to CachedResource.
- Move ResourceLoadScheduler::Priority enum to a separate file (as ResourceLoadPriority).
- Add a way to make ResourceLoadScheduler load resources one at the time so the above functionality can be tested reliably.
Tests: http/tests/local/link-stylesheet-load-order-preload.html
http/tests/local/link-stylesheet-load-order.html
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::cachedImage):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::HTMLNames::PreloadTask::PreloadTask):
(WebCore::HTMLNames::PreloadTask::processAttributes):
(WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet):
(WebCore::HTMLNames::PreloadTask::linkMediaAttributeIsScreen):
(WebCore::HTMLNames::PreloadTask::preload):
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest):
* loader/ResourceLoadPriority.h: Added.
* loader/ResourceLoadScheduler.cpp:
(WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
(WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
(WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
(WebCore::ResourceLoadScheduler::scheduleLoad):
(WebCore::ResourceLoadScheduler::servePendingRequests):
(WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
(WebCore::ResourceLoadScheduler::HostInformation::schedule):
(WebCore::ResourceLoadScheduler::HostInformation::remove):
(WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
(WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
* loader/ResourceLoadScheduler.h:
(WebCore::ResourceLoadScheduler::isSerialLoadingEnabled):
(WebCore::ResourceLoadScheduler::setSerialLoadingEnabled):
(WebCore::ResourceLoadScheduler::HostInformation::requestsPending):
* loader/cache/CachedResource.cpp:
(WebCore::defaultPriorityForResourceType):
(WebCore::CachedResource::CachedResource):
* loader/cache/CachedResource.h:
(WebCore::CachedResource::loadPriority):
(WebCore::CachedResource::setLoadPriority):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestCSSStyleSheet):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::requestPreload):
* loader/cache/CachedResourceLoader.h:
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::requestResource):
* loader/cache/MemoryCache.h:
* loader/loader.cpp:
(WebCore::Loader::load):
2010-12-13 Justin Schuh <jschuh@chromium.org>
Reviewed by Dimitri Glazkov.
Build fix for r73927
https://bugs.webkit.org/show_bug.cgi?id=50946
Reverting CSSCanvasValue::canvasDestroyed to its code before r73927
because it's breaking the build and I changed it only because it
appeared redunudant after r73927.
No behavior changed so no new tests needed.
* css/CSSCanvasValue.cpp:
(WebCore::CSSCanvasValue::canvasDestroyed):
2010-12-13 Matthew Delaney <mdelaney@apple.com>
Reviewed by nobody, build fix.
Unlinking IOSurface framework from xcodeproj.
* WebCore.xcodeproj/project.pbxproj:
2010-12-13 Justin Schuh <jschuh@chromium.org>
Reviewed by Dimitri Glazkov.
HTMLCanvasElement should handle multiple observers.
https://bugs.webkit.org/show_bug.cgi?id=50899
Test: fast/canvas/canvas-bg-multiple-removal.html
* css/CSSCanvasValue.cpp:
(WebCore::CSSCanvasValue::~CSSCanvasValue):
(WebCore::CSSCanvasValue::canvasDestroyed):
(WebCore::CSSCanvasValue::element):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::HTMLCanvasElement):
(WebCore::HTMLCanvasElement::~HTMLCanvasElement):
(WebCore::HTMLCanvasElement::addObserver):
(WebCore::HTMLCanvasElement::removeObserver):
(WebCore::HTMLCanvasElement::didDraw):
(WebCore::HTMLCanvasElement::reset):
* html/HTMLCanvasElement.h:
2010-12-13 Mihai Parparita <mihaip@chromium.org>
Reviewed by Adam Barth.
[Chromium] canvas/philip/tests/2d.missingargs.html hangs on Snow Leopard
https://bugs.webkit.org/show_bug.cgi?id=50841
Test: fast/canvas/strokeText-missing-args.html
We didn't have isfinite checks for the x and y coordinates that are
passed to strokeText/drawTextInternal (unlike all the other methods,
which got checks in r50910 and r59447).
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal):
2010-12-09 Matthew Delaney <mdelaney@apple.com>
Reviewed by Simon Fraser.
Adopt new CG API for canvas
https://bugs.webkit.org/show_bug.cgi?id=50591
No new tests. All current layout tests are sufficient.
* html/HTMLCanvasElement.cpp: Add in accelerateRendering flag for imagebuffer creation.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::isAccelerated): Always return true if using CA on new platforms.
(WebCore::CanvasRenderingContext2D::drawTextInternal): Use accelerateRendering for imagebuffer.
* platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::create): Plumb through new flag.
* platform/graphics/cairo/ImageBufferCairo.cpp: Update method sig.
* platform/graphics/cg/ImageBufferCG.cpp: Switch off of accelerateRendering flag for new accelerated paths.
* platform/graphics/cg/ImageBufferData.h: Add in surface ref
* platform/graphics/haiku/ImageBufferHaiku.cpp: Update method sig.
* platform/graphics/qt/ImageBufferQt.cpp: ^^
* platform/graphics/skia/ImageBufferSkia.cpp: ^^
* platform/graphics/wince/ImageBufferWinCE.cpp: ^^
* platform/graphics/wx/ImageBufferWx.cpp: ^^
* platform/mac/WebCoreSystemInterface.h: Add new method sigs
* platform/mac/WebCoreSystemInterface.mm: ^^
* rendering/RenderLayerBacking.cpp:
* rendering/RenderLayerCompositor.cpp: Set acceleratesDrawing for canvas backings.
2010-12-13 Benjamin Kalman <kalman@chromium.org>
Reviewed by Ojan Vafai.
Shift-End does not select to the end of the line
https://bugs.webkit.org/show_bug.cgi?id=50610
Test: editing/selection/extend-to-line-boundary.html
* editing/SelectionController.cpp:
(WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than
start/end.
(WebCore::SelectionController::modifyExtendingForward):
2010-12-13 Adam Roben <aroben@apple.com>
Windows build fix after r73914
* WebCore.vcproj/WebCore.vcproj: Fix malformed XML.
2010-12-13 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Qt build fix.
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::ScriptExecutionContext):
* dom/ScriptExecutionContext.h:
2010-12-13 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Xan Lopez.
[Gtk] Additional support is needed for caret browsing
https://bugs.webkit.org/show_bug.cgi?id=25526
Enable "MoveTo{Beginninng|End}OfDocument" commands when caret
browsing is enabled.
This change impacts the GTK-port only as caret browsing is a
feature only used in that platform so far.
Test: platform/gtk/editing/selection/caret-mode-document-begin-end.html
* editing/EditorCommand.cpp:
(WebCore::createCommandMap): Enable the commads when in caret browsing.
2010-12-13 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Qt build fix.
* dom/Event.cpp:
(WebCore::Event::isErrorEvent):
* dom/Event.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not
only in workers.
2010-12-13 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions.
Debugger and Resources related notification functions of Inspector.idl were
marked as such with help of "domain" attribute. The other changes in js files
are reflecting this change. Some wrappers in WebInspector namespace were dropped,
the others were moved to DebuggerModel class.
https://bugs.webkit.org/show_bug.cgi?id=50906
* inspector/Inspector.idl:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::didParseSource):
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::resetState):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMAgent.prototype.didCommitLoad):
* inspector/front-end/Database.js:
* inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel):
(WebInspector.DebuggerModel.prototype.pausedScript):
(WebInspector.DebuggerModel.prototype.resumedScript):
(WebInspector.DebuggerModel.prototype.attachDebuggerWhenShown):
(WebInspector.DebuggerModel.prototype.debuggerWasEnabled):
(WebInspector.DebuggerModel.prototype.debuggerWasDisabled):
(WebInspector.DebuggerModel.prototype.parsedScriptSource):
(WebInspector.DebuggerModel.prototype.failedToParseScriptSource):
(WebInspector.DebuggerModel.prototype.didCreateWorker):
(WebInspector.DebuggerModel.prototype.didDestroyWorker):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel):
(WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
(WebInspector.ProfilesPanel.prototype.setRecordingProfile):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager):
(WebInspector.ResourceManager.prototype._unbindResourceURL):
(WebInspector.ResourceManager.prototype.updateDOMStorage):
(WebInspector.ResourceManager.prototype.updateApplicationCacheStatus):
(WebInspector.ResourceManager.prototype.didGetFileSystemPath):
(WebInspector.ResourceManager.prototype.didGetFileSystemError):
(WebInspector.ResourceManager.prototype.didGetFileSystemDisabled):
(WebInspector.ResourceManager.prototype.updateNetworkState):
(WebInspector.ResourceManager.prototype.addDOMStorage):
(WebInspector.ResourceManager.prototype.selectDOMStorage):
(WebInspector.ResourceManager.prototype.addDatabase):
(WebInspector.ResourceManager.prototype.selectDatabase):
(WebInspector.ResourceManager.prototype.sqlTransactionSucceeded):
(WebInspector.ResourceManager.prototype.sqlTransactionFailed):
* inspector/front-end/WorkersSidebarPane.js:
(WebInspector.Worker):
* inspector/front-end/inspector.js:
2010-12-13 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Qt build fix.
* dom/ErrorEvent.cpp:
* dom/ErrorEvent.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not
only in workers.
2010-12-13 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Adam Barth.
WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
https://bugs.webkit.org/show_bug.cgi?id=8519
Uncaught exceptions are propagated to window.onerror hander if one is present.
The handler is expected to be a function accepting three arguments: error message,
resource url and line number where the exception occured.
It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they
were created in the same isolated world where the exception occured or not.
Tests: fast/events/window-onerror1.html
fast/events/window-onerror10.html
fast/events/window-onerror11.html
fast/events/window-onerror2.html
fast/events/window-onerror3.html
fast/events/window-onerror4.html
fast/events/window-onerror5.html
fast/events/window-onerror6.html
fast/events/window-onerror7.html
fast/events/window-onerror8.html
fast/events/window-onerror9.html
http/tests/security/window-onerror-exception-in-iframe.html
userscripts/window-onerror-for-isolated-world-1.html
userscripts/window-onerror-for-isolated-world-2.html
* Android.jscbindings.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.order:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDOMBinding.cpp:
(WebCore::reportException):
* bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp.
(WebCore::JSErrorHandler::JSErrorHandler):
(WebCore::JSErrorHandler::~JSErrorHandler):
(WebCore::JSErrorHandler::handleEvent):
* bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
(WebCore::JSErrorHandler::create):
(WebCore::createJSErrorHandler):
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/V8ConsoleMessage.cpp:
(WebCore::V8ConsoleMessage::dispatchNow):
(WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception
reporting mechanism which is also used by JSC bindings.
* bindings/v8/V8ConsoleMessage.h:
* bindings/v8/V8WindowErrorHandler.cpp: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
(WebCore::V8WindowErrorHandler::V8WindowErrorHandler):
(WebCore::V8WindowErrorHandler::callListenerFunction):
* bindings/v8/V8WindowErrorHandler.h: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
(WebCore::V8WindowErrorHandler::create):
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::v8MessageHandler):
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
* dom/Document.cpp:
(WebCore::Document::errorEventTarget):
(WebCore::Document::logExceptionToConsole):
* dom/Document.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::PendingException::PendingException):
(WebCore::ScriptExecutionContext::ScriptExecutionContext):
(WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to
ensure that error event dispatching algorithm is the same in WorkerContext and in Document.
(WebCore::ScriptExecutionContext::dispatchErrorEvent):
* dom/ScriptExecutionContext.h:
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::postExceptionTask):
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::WorkerContext):
(WebCore::WorkerContext::errorEventTarget):
(WebCore::WorkerContext::logExceptionToConsole):
* workers/WorkerContext.h:
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerExceptionTask::performTask):
2010-12-08 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Joseph Pecoraro.
Web Inspector: Enable CSS property editing name/value-wise (like Firebug does)
https://bugs.webkit.org/show_bug.cgi?id=50565
For CSS property editing, the property name and value have become two fields separated
by a colon (rather than one field containing the full property text.) A user can tab
between the name and value fields forward and backward. A colon typed in the name field
and a semicolon in the value field (unless found inside a string) act as a Tab and focus
the next editable field (while applying the entire property value.)
Now a user can tab through all editable styles for an element, even across rule boundaries.
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint):
* inspector/front-end/DataGrid.js:
(WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode):
(WebInspector.DataGrid.prototype._startEditing):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
(WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
(WebInspector.ElementsTreeElement.prototype._startEditingTagName):
(WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
* inspector/front-end/MetricsSidebarPane.js:
(WebInspector.MetricsSidebarPane.prototype.startEditing):
* inspector/front-end/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
* inspector/front-end/Section.js:
(WebInspector.Section):
(WebInspector.Section.prototype.get subtitleAsTextForTest):
(WebInspector.Section.prototype.get nextSibling):
(WebInspector.Section.prototype.get previousSibling):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype._editBreakpointCondition):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertiesSection.prototype.nextEditableSibling):
(WebInspector.StylePropertiesSection.prototype.previousEditableSibling):
(WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
(WebInspector.StylePropertiesSection.prototype.startEditingSelector):
(WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
(WebInspector.StylePropertyTreeElement.prototype.):
(WebInspector.StylePropertyTreeElement.prototype):
* inspector/front-end/TextViewer.js:
(WebInspector.TextViewer.prototype._handleDoubleClick):
* inspector/front-end/WatchExpressionsSidebarPane.js:
(WebInspector.WatchExpressionTreeElement.prototype.startEditing):
* inspector/front-end/inspector.css:
(.child-editing):
* inspector/front-end/inspector.js:
(WebInspector.startEditing.defaultFinishHandler):
(WebInspector.startEditing):
* inspector/front-end/treeoutline.js:
(TreeElement.prototype.select):
2010-12-13 Yael Aharon <yael.aharon@nokia.com>
Unreviewed.
Added svn propery eol-style. Patches to this file fail to apply on Windows EWS bot.
* accessibility/AccessibilityAllInOne.cpp: Added property svn:eol-style.
2010-12-13 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r73898.
http://trac.webkit.org/changeset/73898
https://bugs.webkit.org/show_bug.cgi?id=50919
FileSystem and Database API's were broken (Requested by loislo
on #webkit).
* inspector/Inspector.idl:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::didParseSource):
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::resetState):
* inspector/front-end/DOMAgent.js:
* inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel):
(WebInspector.DebuggerModel.prototype.debuggerPaused):
(WebInspector.DebuggerModel.prototype.debuggerResumed):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel):
(WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager):
(WebInspector.ResourceManager.prototype._registerNotifyHandlers):
(WebInspector.ResourceManager.prototype._unbindResourceURL):
* inspector/front-end/inspector.js:
(WebInspector.addDatabase):
(WebInspector.addDOMStorage):
(WebInspector.updateDOMStorage):
(WebInspector.updateApplicationCacheStatus):
(WebInspector.didGetFileSystemPath):
(WebInspector.didGetFileSystemError):
(WebInspector.didGetFileSystemDisabled):
(WebInspector.updateNetworkState):
(WebInspector.attachDebuggerWhenShown):
(WebInspector.debuggerWasEnabled):
(WebInspector.debuggerWasDisabled):
(WebInspector.profilerWasEnabled):
(WebInspector.profilerWasDisabled):
(WebInspector.parsedScriptSource):
(WebInspector.restoredBreakpoint):
(WebInspector.failedToParseScriptSource):
(WebInspector.pausedScript):
(WebInspector.resumedScript):
(WebInspector.resetProfilesPanel):
(WebInspector.didCommitLoad):
(WebInspector.addProfileHeader):
(WebInspector.setRecordingProfile):
(WebInspector.addHeapSnapshotChunk):
(WebInspector.finishHeapSnapshot):
2010-12-13 Anton Muhin <antonm@chromium.org>
Reviewed by Pavel Feldman.
[v8] More CSS wrappers GC work: keep document's style sheets, style sheet and css rule lists' items in proper object groups
https://bugs.webkit.org/show_bug.cgi?id=50828
* bindings/v8/DOMData.h:
(WebCore::DOMData::WrapperMapObjectRemover::visitDOMWrapper):
(WebCore::DOMData::removeObjectsFromWrapperMap):
* bindings/v8/DOMDataStore.h:
(WebCore::ChunkedTable::visit):
(WebCore::ChunkedTable::visitEntries):
(WebCore::DOMDataStore::IntrusiveDOMWrapperMap::visit):
(WebCore::DOMDataStore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit):
* bindings/v8/V8DOMMap.cpp:
(WebCore::removeAllDOMObjectsInCurrentThread):
(WebCore::visitDOMNodesInCurrentThread):
(WebCore::visitDOMObjectsInCurrentThread):
(WebCore::visitActiveDOMObjectsInCurrentThread):
(WebCore::visitDOMSVGElementInstancesInCurrentThread):
* bindings/v8/V8DOMMap.h:
(WebCore::WeakReferenceMap::visit):
* bindings/v8/V8GCController.cpp:
(WebCore::DOMObjectVisitor::visitDOMWrapper):
(WebCore::EnsureWeakDOMNodeVisitor::visitDOMWrapper):
(WebCore::GCPrologueVisitor::visitDOMWrapper):
(WebCore::NodeGrouperVisitor::visitDOMWrapper):
(WebCore::NodeGrouperVisitor::applyGrouping):
(WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
(WebCore::GCEpilogueVisitor::visitDOMWrapper):
2010-12-13 Zoltan Herczeg <zherczeg@webkit.org>
Unreviewed build fix for r73894.
SVGFEImage should also check its hasResult() in its apply().
* svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::apply):
2010-12-13 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions.
Debugger and Resources related notification functions of Inspector.idl were
marked as such with help of "domain" attribute. The other changes in js files
are reflecting this change. Some wrappers in WebInspector namespace were dropped,
the others were moved to DebuggerModel class.
https://bugs.webkit.org/show_bug.cgi?id=50906
* inspector/Inspector.idl:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::didParseSource):
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::resetState):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMAgent.prototype.didCommitLoad):
* inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel):
(WebInspector.DebuggerModel.prototype.pausedScript):
(WebInspector.DebuggerModel.prototype.resumedScript):
(WebInspector.DebuggerModel.prototype.attachDebuggerWhenShown):
(WebInspector.DebuggerModel.prototype.debuggerWasEnabled):
(WebInspector.DebuggerModel.prototype.debuggerWasDisabled):
(WebInspector.DebuggerModel.prototype.parsedScriptSource):
(WebInspector.DebuggerModel.prototype.failedToParseScriptSource):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel):
(WebInspector.ProfilesPanel.prototype.addHeapSnapshots):
(WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
(WebInspector.ProfilesPanel.prototype.setRecordingProfile):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager):
(WebInspector.ResourceManager.prototype._unbindResourceURL):
(WebInspector.ResourceManager.prototype.updateDOMStorage):
(WebInspector.ResourceManager.prototype.updateApplicationCacheStatus):
(WebInspector.ResourceManager.prototype.didGetFileSystemPath):
(WebInspector.ResourceManager.prototype.didGetFileSystemError):
(WebInspector.ResourceManager.prototype.didGetFileSystemDisabled):
(WebInspector.ResourceManager.prototype.updateNetworkState):
(WebInspector.ResourceManager.prototype.addDatabase):
(WebInspector.ResourceManager.prototype.addDOMStorage):
* inspector/front-end/inspector.js:
2010-12-13 Zoltan Herczeg <zherczeg@webkit.org>
Reviewed by Dirk Schulze.
Better result passing in filter primitives
https://bugs.webkit.org/show_bug.cgi?id=49907
SVG filter primitives can use the output of other filters. The
input and output format of a filter can be a premultiplied or
unmultiplied RGBA array, or an image buffer. All filter
primitive results were converted to image buffers before, which
could be an unecessary (and really costly) operation, if
a filter expects its input in the same format as the output
of the input filter primitive. This overhead is removed by
this patch. All apply() methods are updated according to this
new filter primitive interface.
Filters do not generate their results twice (or more) anymore,
when their apply() called multiple times.
The existing tests cover this feature.
* manual-tests/svg-filter-animation.svg: Added.
* platform/graphics/filters/FEBlend.cpp:
(WebCore::FEBlend::apply):
* platform/graphics/filters/FEColorMatrix.cpp:
(WebCore::FEColorMatrix::apply):
* platform/graphics/filters/FEComponentTransfer.cpp:
(WebCore::FEComponentTransfer::apply):
* platform/graphics/filters/FEComposite.cpp:
(WebCore::FEComposite::apply):
* platform/graphics/filters/FEConvolveMatrix.cpp:
(WebCore::FEConvolveMatrix::apply):
* platform/graphics/filters/FEDisplacementMap.cpp:
(WebCore::FEDisplacementMap::apply):
* platform/graphics/filters/FEFlood.cpp:
(WebCore::FEFlood::apply):
* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::apply):
* platform/graphics/filters/FELighting.cpp:
(WebCore::FELighting::apply):
* platform/graphics/filters/FEMerge.cpp:
(WebCore::FEMerge::apply):
* platform/graphics/filters/FEMerge.h:
* platform/graphics/filters/FEMorphology.cpp:
(WebCore::FEMorphology::apply):
* platform/graphics/filters/FEOffset.cpp:
(WebCore::FEOffset::apply):
* platform/graphics/filters/FETile.cpp:
(WebCore::FETile::apply):
* platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::apply):
* platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::requestedRegionOfInputImageData):
(WebCore::FilterEffect::asImageBuffer):
(WebCore::FilterEffect::asUnmultipliedImage):
(WebCore::FilterEffect::asPremultipliedImage):
(WebCore::FilterEffect::copyImageBytes):
(WebCore::FilterEffect::copyUnmultipliedImage):
(WebCore::FilterEffect::copyPremultipliedImage):
(WebCore::FilterEffect::createImageBufferResult):
(WebCore::FilterEffect::createUnmultipliedImageResult):
(WebCore::FilterEffect::createPremultipliedImageResult):
* platform/graphics/filters/FilterEffect.h:
(WebCore::FilterEffect::hasResult):
* platform/graphics/filters/SourceAlpha.cpp:
(WebCore::SourceAlpha::apply):
* platform/graphics/filters/SourceGraphic.cpp:
(WebCore::SourceGraphic::apply):
* platform/graphics/filters/SourceGraphic.h:
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::postApplyResource):
* svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::apply):
2010-12-13 Csaba Osztrogonác <ossy@webkit.org>
Unreviewed.
* WebCore.pro: Remove non-existant loader/Request.h from build system.
2010-12-13 Noel Gordon <noel.gordon@gmail.com>
Reviewed by Eric Seidel.
[chromium] Reduce canvas.toDataURL("image/jpeg") run-time cost by 10%
https://bugs.webkit.org/show_bug.cgi?id=50804
Follow on from r73173, unroll the SkUnPreMultiply::PMColorToColor() call
viz., compute the unpremultiplatcion in-place. This reduces the run-time
cost of jpeg encoding by 10-15% for my image test set.
No new tests: canvas.toDataURL() is covered by existing tests.
* platform/image-encoders/skia/JPEGImageEncoder.cpp:
(WebCore::preMultipliedBGRAtoRGB):
2010-12-13 Helder Correia <helder@sencha.com>
Reviewed by Eric Seidel.
[Qt] StillImage::draw() should use ContextShadow
https://bugs.webkit.org/show_bug.cgi?id=50849
The branch that checks for a shadow requirement in StillImage::draw()
is executed when drawing a canvas onto a canvas with
ctx1.drawImage(canvas2, x, y). The current implementation supports
solid shadows only. And if transformations are present, the offset gets
transformed as well. Thus, ContextShadow must be used instead in order
to support blur and correct offset transformations.
Test: fast/canvas/canvas-draw-canvas-on-canvas-shadow.html
* platform/graphics/qt/StillImageQt.cpp:
(WebCore::StillImage::draw):
2010-12-12 Jon Honeycutt <jhoneycutt@apple.com>
Unreviewed build fix.
* editing/EditingAllInOne.cpp:
Add new file to the all-in-one.
2010-12-12 Jon Honeycutt <jhoneycutt@apple.com>
Unreviewed build fix.
* WebCore.vcproj/WebCore.vcproj:
Remove accidentally-committed conflict marker.
2010-10-28 MORITA Hajime <morrita@google.com>
Reviewed by Ojan Vafai.
spellcheck does not check pasted text
https://bugs.webkit.org/show_bug.cgi?id=40092
- Introduced SpellChecker class to encapsulate asynchronous spell
checker state: sequence id, requesting text and target node.
This is also the first step to decompose spell-check related
code to a separate class.
- Added EditorClient::isAsynchronousSpellCheckingEnabled()
to use async spellcheck API on the platform.
These APIs are touched by SpellChecker.
- Used SpellChecker to check a pasted test. Text to check is
collected from the subtree under the editingRoot.
- Added Setting::m_asynchronousSpellCheckingEnabled to control
async spell checking.
Test: editing/spelling/spellcheck-paste.html
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/DocumentMarkerController.cpp:
(WebCore::DocumentMarkerController::showMarkers):
(showDocumentMarkers):
* dom/DocumentMarkerController.h:
* dom/PositionIterator.cpp:
(WebCore::PositionIterator::setOffsetInLeafNode):
* dom/PositionIterator.h:
* editing/Editor.cpp:
(WebCore::Editor::replaceSelectionWithFragment):
(WebCore::Editor::Editor):
(WebCore::findFirstMarkable):
(WebCore::Editor::selectionStartHasSpellingMarkerFor):
* editing/Editor.h:
(WebCore::Editor::spellChecker):
* editing/SpellChecker.cpp: Added.
(WebCore::SpellChecker::SpellChecker):
(WebCore::SpellChecker::~SpellChecker):
(WebCore::SpellChecker::initRequest):
(WebCore::SpellChecker::clearRequest):
(WebCore::SpellChecker::isAsynchronousEnabled):
(WebCore::SpellChecker::canCheckAsynchronously):
(WebCore::SpellChecker::isBusy):
(WebCore::SpellChecker::isValid):
(WebCore::SpellChecker::isCheckable):
(WebCore::SpellChecker::requestCheckingFor):
(WebCore::forwardIterator):
(WebCore::SpellChecker::didCheck):
* editing/SpellChecker.h: Added.
(WebCore::SpellCheckingResult::SpellCheckingResult):
(WebCore::SpellCheckingResult::type):
(WebCore::SpellCheckingResult::location):
(WebCore::SpellCheckingResult::length):
* loader/EmptyClients.h:
(WebCore::EmptyEditorClient::requestCheckingOfString):
* page/EditorClient.h:
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setAsynchronousSpellCheckingEnabled):
(WebCore::Settings::asynchronousSpellCheckingEnabled):
2010-12-09 Antonio Gomes <agomes@rim.com>
Reviewed by Daniel Bates.
Spatial Navigation: code clean up (part II)
https://bugs.webkit.org/show_bug.cgi?id=50666
No new tests needed.
* page/FocusController.cpp: Removed static declaration of updateFocusCandidateIfNeeded() from
the top of FocusController.cpp, and added the 'static' keyword where the function is implemented;
* page/SpatialNavigation.cpp: In FocusCandidate constructor, renamed 'n' to 'node', and added an assert to it;
(WebCore::FocusCandidate::FocusCandidate):
(WebCore::virtualRectForAreaElementAndDirection): Added an assert to 'node';
* page/SpatialNavigation.h:I reordered the declaration of some methods in order to group related ones;
Removed isScrollableContainerNode() function declaration since it is not used outside SpatialNavigation.cpp;
And removed the declaration of isNodeDeepDescendantOfDocument() since it does not exist anymore.
2010-12-12 Philippe Normand <pnormand@igalia.com>
Reviewed by Xan Lopez.
build-webkit --gtk --minimal fails
https://bugs.webkit.org/show_bug.cgi?id=46267
No new tests, build fix only.
* GNUmakefile.am: Include some JS bindings generated headers in
the build even if their corresponding feature is disabled. They
are needed to make the DOM bindings build.
2010-12-12 Sam Magnuson <smagnuso@gmail.com>
Reviewed by Eric Seidel.
[Qt] Compile with QT_NO_QUUID_STRING.
https://bugs.webkit.org/show_bug.cgi?id=49745
* platform/UUID.cpp:
(WebCore::createCanonicalUUIDString):
2010-12-12 Ragner Magalhaes <ragner.magalhaes@openbossa.org>
Reviewed by Eric Seidel.
[Qt] Missing style for date pickers on Qt Mobile theme
https://bugs.webkit.org/show_bug.cgi?id=50628
* css/themeQtMobile.css:
2010-12-11 Alice Liu <alice.liu@apple.com>
Mac build fix.
* platform/network/mac/ResourceResponseMac.mm:
(WebCore::ResourceResponse::platformLazyInit):
Resolve string[0] ambiguity by passing 0U.
2010-12-11 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig.
[V8] Move to DOMWindow::setLocation
https://bugs.webkit.org/show_bug.cgi?id=50876
Recently, JavaScriptCore moved to implementing setLocation in WebCore.
This patch change V8 to use that common code path. I haven't removed
the old code path because it's still used for other things (like
assigning window.location.href), but I'll move the rest over in a
future patch.
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::locationAccessorSetter):
* bindings/v8/specialization/V8BindingState.cpp:
(WebCore::::getFirstWindow):
* bindings/v8/specialization/V8BindingState.h:
2010-10-11 Diego Gonzalez <diegohcg@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Mock DeviceOrientation client for DRT
https://bugs.webkit.org/show_bug.cgi?id=47490
* WebCore.pro:
2010-12-11 Joone Hur <joone@kldp.org>
Reviewed by Alexey Proskuryakov.
enumeration value ‘ResponseTypeArrayBuffer’ not handled in switch
https://bugs.webkit.org/show_bug.cgi?id=50871
Fix the warning which occurs when enumeration value is not handled in switch.
No new tests, no change in behavior.
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::response):
2010-12-11 Patrick Gansterer <paroga@webkit.org>
Reviewed by Darin Adler.
Add an overload to makeString for Vector<char>
https://bugs.webkit.org/show_bug.cgi?id=50123
This also contains a segfault fix for ImageBuffer::toDataURL of the Haiku port.
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/gtk/ImageBufferGtk.cpp:
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/haiku/ImageBufferHaiku.cpp:
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::toDataURL):
2010-12-10 Alexey Proskuryakov <ap@apple.com>
Mac build fix.
* platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit):
Resolve string[0] ambiguity by passing 0U.
2010-12-10 Steve Falkenburg <sfalken@apple.com>
Windows production build fix.
Only the vsprops are indirected through WebKitVSPropsRedirectionDir, not the scripts in WebKitLibraries/win/tools/scripts.
* WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
* WebCore.vcproj/build-generated-files.sh:
2010-12-10 John Knottenbelt <jknotten@chromium.org>
Reviewed by Eric Seidel.
Remove WebCore/platform/mac/GeolocationService.{h,mm}
https://bugs.webkit.org/show_bug.cgi?id=50074
Remove unused non-client-based geolocation code.
* platform/mac/GeolocationServiceMac.h: Removed.
* platform/mac/GeolocationServiceMac.mm: Removed.
2010-12-10 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=46573
<rdar://problem/8479389> REGRESSION: charset="utf-8" (with quotes) doesn't work
Test: http/tests/mime/quoted-charset.php
* platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit):
* platform/network/mac/ResourceResponseMac.mm: (WebCore::ResourceResponse::platformLazyInit):
Work around a CFNetwork issue, strip quotes if they are present.
2010-12-10 Vincent Scheib <scheib@chromium.org>
Reviewed by James Robinson.
Shader::loadShader() must initialize variable passed to getShaderiv
https://bugs.webkit.org/show_bug.cgi?id=50842
Test: fast/canvas/canvas-largedraws.html
* platform/graphics/gpu/Shader.cpp:
(WebCore::Shader::loadShader):
2010-12-10 Vincent Scheib <scheib@chromium.org>
Reviewed by James Robinson.
Texture::updateSubRect should pass IntRect by reference
https://bugs.webkit.org/show_bug.cgi?id=50845
No test, changing to pass by ref.
* platform/graphics/gpu/Texture.cpp:
(WebCore::Texture::updateSubRect):
* platform/graphics/gpu/Texture.h:
2010-12-10 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Move open and showModalDialog implementations from bindings into DOM class DOMWindow
https://bugs.webkit.org/show_bug.cgi?id=50836
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::open): Removed most of the code and changed to call
DOMWindow::open.
(WebCore::DialogHandler::DialogHandler): Added. Object is used to handle the
arguments and return value in showModalDialog.
(WebCore::DialogHandler::dialogCreated): Ditto.
(WebCore::DialogHandler::returnValue): Ditto.
(WebCore::setUpDialog): Added. Function passed to showModalDialog that just
casts pointer to DialogHandler can calls dialogCreated.
(WebCore::JSDOMWindow::showModalDialog): Removed most of the code and changed
to call DOMWindow::showModalDialog.
(WebCore::JSDOMWindow::postMessage): Made style match the rest of the file by
renaming local variables and getting rid of a needless ones.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::parseModalDialogFeatures): Moved body of this function
to the WindowFeatures class.
(WebCore::DOMWindow::allowPopUp): Renamed argument from activeFrame to firstFrame,
because that's the frame we pass in here. Also added an overload so this can be
called on a window rather than a frame.
(WebCore::DOMWindow::setLocation): Renamed a couple variables so the names are
the same as in open and showModalDialog. Factored the JavaScript security check
into a new function named isInsecureScriptAccess.
(WebCore::DOMWindow::isInsecureScriptAccess): Here is the new function.
(WebCore::DOMWindow::createWindow): Added. Contains logic shared by open and
showModalDialog just as the function named createWindow in JSDOMWindowCustom.cpp
used to.
(WebCore::DOMWindow::open): Added. Code from JSDOMWindowCustom without the
JavaScript language binding part, and with a bit of refactoring to share code
with the rest of the DOMWindow class.
(WebCore::DOMWindow::showModalDialog): Ditto.
* page/DOMWindow.h: Moved conditional parts of the file into separate paragraphs
in alphabetical order so they are not scattered thorugh the file. Removed redundant
includes. Added some blank lines for clarity. Added an open function and a
showModalDialog function. Added private createWindow and isInsecureScriptAccess
functions.
* page/WindowFeatures.cpp:
(WebCore::isWindowFeaturesSeparator): Renamed from isSeparator for clarity.
(WebCore::WindowFeatures::WindowFeatures): Updated for name change. Used isEmpty
instead of checking length. Added a new constructor for use when making dialogs,
with code from the showModalDialog function.
(WebCore::WindowFeatures::boolFeature): Use DialogFeaturesMap typedef.
(WebCore::WindowFeatures::floatFeature): Use DialogFeaturesMap typedef.
Renamed a local variable and tweaked the comments a bit.
(WebCore::WindowFeatures::parseDialogFeatures): Added. Code moved here from
DOMWindow::parseDialogFeatures and refactored a bit.
* page/WindowFeatures.h: Added new constructor, new parseDialogFeatures
function, DialogFeaturesMap typedef, and made setWindowFeature function private.
2010-12-10 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
AX: refactor AccessibilityRenderObject::doAccessibilityHitTest
https://bugs.webkit.org/show_bug.cgi?id=50574
Refactors accessibility hit testing to allow for a more flexible model when handling elements
with fake sub-elements (like sliders or list boxes).
Renamed doAccessibilityHitTest -> accessibilityHitTest, which is called on the root
accessibility render object. Then subclassers are able to override
elementAccessibilityHitTest to return their own specific elements.
* accessibility/AccessibilityListBox.cpp:
(WebCore::AccessibilityListBox::elementAccessibilityHitTest):
* accessibility/AccessibilityListBox.h:
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::accessibilityHitTest):
(WebCore::AccessibilityObject::elementAccessibilityHitTest):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::accessibilityHitTest):
* accessibility/AccessibilityRenderObject.h:
* accessibility/AccessibilitySlider.cpp:
(WebCore::AccessibilitySlider::elementAccessibilityHitTest):
* accessibility/AccessibilitySlider.h:
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(webkit_accessible_component_ref_accessible_at_point):
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityHitTest:]):
2010-12-10 Kenneth Russell <kbr@google.com>
Reviewed by Darin Adler.
Clean up assertion in Extensions3DOpenGL.cpp
https://bugs.webkit.org/show_bug.cgi?id=50852
Built Release mode to test. No functionality change.
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::ensureEnabled):
2010-12-10 Cosmin Truta <ctruta@chromium.org>
Reviewed by Eric Seidel.
Crash while processing ill-formed <textPath> ouside of <text>
https://bugs.webkit.org/show_bug.cgi?id=47759
Renderers within a <text> subtree are created only when their corresponding elements
satisfy the content model.
Test: svg/custom/invalid-text-content.svg
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::childShouldCreateRenderer): Fixed to comply with the content model.
(WebCore::SVGTRefElement::rendererIsNeeded): Added.
* svg/SVGTRefElement.h:
* svg/SVGTSpanElement.cpp:
(WebCore::SVGTSpanElement::childShouldCreateRenderer): Fixed to comply with the content model.
(WebCore::SVGTSpanElement::rendererIsNeeded): Added.
* svg/SVGTSpanElement.h: Changed indentation.
* svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::childShouldCreateRenderer): Reformatted.
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::childShouldCreateRenderer): Fixed to comply with the content model.
(WebCore::SVGTextPathElement::rendererIsNeeded): Added.
* svg/SVGTextPathElement.h:
2010-12-10 Zhenyao Mo <zmo@google.com>
Reviewed by Adam Barth.
Use enums instead of booleans in ImageSource/ImageDecoder constructors
https://bugs.webkit.org/show_bug.cgi?id=50818
This patch basically defines two enum type in ImageSource: AlphaOption
and GammaAndColorProfileOption and use them as ImageSource and ImageDecoder
constructor parameters instead of boolean typs.
* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::ImageSource):
(WebCore::ImageSource::setData):
* platform/graphics/ImageSource.h: Define the two enum types.
* platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::GraphicsContext3D::getImageData):
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::ImageSource):
* platform/graphics/qt/ImageDecoderQt.cpp:
(WebCore::ImageDecoder::create):
(WebCore::ImageDecoderQt::ImageDecoderQt):
* platform/graphics/qt/ImageDecoderQt.h:
* platform/graphics/skia/GraphicsContext3DSkia.cpp:
(WebCore::GraphicsContext3D::getImageData):
* platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageDecoder::create):
* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::ImageDecoder):
* platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::BMPImageDecoder):
* platform/image-decoders/bmp/BMPImageDecoder.h:
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::GIFImageDecoder):
* platform/image-decoders/gif/GIFImageDecoder.h:
* platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::ICOImageDecoder):
(WebCore::ICOImageDecoder::decodeAtIndex):
* platform/image-decoders/ico/ICOImageDecoder.h:
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageDecoder::JPEGImageDecoder):
* platform/image-decoders/jpeg/JPEGImageDecoder.h:
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::PNGImageDecoder):
* platform/image-decoders/png/PNGImageDecoder.h:
* platform/image-decoders/webp/WEBPImageDecoder.cpp:
(WebCore::WEBPImageDecoder::WEBPImageDecoder):
* platform/image-decoders/webp/WEBPImageDecoder.h:
2010-12-10 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
REGRESSION(r73799): editing/execCommand/4920488.html fails
https://bugs.webkit.org/show_bug.cgi?id=50854
The regression was caused by Range::processContents's not extracting
m_end.container()->firstChild(). Fixed the bug by always adding the first child.
* dom/Range.cpp:
(WebCore::Range::processContents):
2010-12-10 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
REGRESSION: Infinite redirect on developer.apple.com
https://bugs.webkit.org/show_bug.cgi?id=45627
Tests: fast/loader/form-submit-aborts-parsing.html
fast/loader/location-change-aborts-parsing.html
This patch is not pretty, but it fixes the bug. I stole this approach
from the old HTML parser (as suggested by Eric Seidel). The other
approaches that folks tried for this bug are better, but it's inclear
how to get them to work correctly. I've added a large FIXME comment.
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::pumpTokenizer):
* html/parser/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::isParsingFragment):
2010-12-10 Brian Weinstein <bweinstein@apple.com>
Reviewed by Ada Chan.
When we are creating a ContextMenuItem, only call setSubMenu if we have
a subMenu to set.
* platform/ContextMenuItem.cpp:
(WebCore::ContextMenuItem::ContextMenuItem):
2010-12-10 Kenneth Russell <kbr@google.com>
Unreviewed, another build fix. #include <wtf/UnusedParam.h> needed
for Release builds.
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
2010-12-10 Kenneth Russell <kbr@google.com>
Unreviewed, build fix. Change #ifndef NDEBUG to #ifdef NDEBUG.
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::ensureEnabled):
2010-12-10 Kenneth Russell <kbr@google.com>
Reviewed by James Robinson.
Implement extension entry points and remove EXTENSIONS enum
https://bugs.webkit.org/show_bug.cgi?id=40316
Implemented WebGLRenderingContext's getSupportedExtensions and
getExtensions entry points, and, to verify them, added support for
the first specified WebGL extension, OES_texture_float. This
extension is now advertised in the Chromium and WebKit ports when
the underlying hardware supports it.
The new OES_texture_float test in the WebGL conformance suite
verifies the allocation and population of floating point textures,
and their use as render targets. However, because this extension
is optional, it is not easily testable with a layout test; there
is only one set of expectations for a given test, and two would be
needed, one when the extension is available and one when it is not.
Tested with the oes-texture-float.html WebGL conformance test in
Chromium and WebKit on Mac OS X on hardware that supports the
extension. Also verified with a configuration that does not
advertise the extension that this same test passes.
* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::toJS):
(WebCore::JSWebGLRenderingContext::markChildren):
(WebCore::JSWebGLRenderingContext::getExtension):
(WebCore::JSWebGLRenderingContext::getSupportedExtensions):
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
(WebCore::toV8Object):
(WebCore::V8WebGLRenderingContext::getExtensionCallback):
(WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
* html/canvas/OESTextureFloat.cpp: Added.
(WebCore::OESTextureFloat::OESTextureFloat):
(WebCore::OESTextureFloat::~OESTextureFloat):
(WebCore::OESTextureFloat::getName):
(WebCore::OESTextureFloat::create):
* html/canvas/OESTextureFloat.h: Added.
* html/canvas/OESTextureFloat.idl: Added.
* html/canvas/WebGLExtension.cpp: Added.
(WebCore::WebGLExtension::WebGLExtension):
(WebCore::WebGLExtension::~WebGLExtension):
* html/canvas/WebGLExtension.h: Added.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
(WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
(WebCore::WebGLRenderingContext::validateTexFuncData):
(WebCore::WebGLRenderingContext::getNumberOfExtensions):
(WebCore::WebGLRenderingContext::getExtensionNumber):
* html/canvas/WebGLRenderingContext.h:
* html/canvas/WebGLRenderingContext.idl:
* platform/graphics/Extensions3D.h:
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
(WebCore::GraphicsContext3D::extractTextureData):
(WebCore::doUnpackingAndPacking):
(WebCore::doPacking):
(WebCore::doFloatingPointPacking):
(WebCore::GraphicsContext3D::packPixels):
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/chromium/Extensions3DChromium.h:
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::supports):
(WebCore::Extensions3DOpenGL::ensureEnabled):
* platform/graphics/opengl/Extensions3DOpenGL.h:
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::texImage2D):
* platform/graphics/qt/Extensions3DQt.cpp:
(WebCore::Extensions3DQt::ensureEnabled):
* platform/graphics/qt/Extensions3DQt.h:
2010-12-10 Darin Adler <darin@apple.com>
Try to fix Windows build.
* dom/Range.cpp:
(WebCore::Range::processContents): Put typedef of NodeVector inside the function
instead of at the top of the file, since the use is restricted to this function.
There's another NodeVector in ContainerNode.cpp.
2010-12-09 Brian Weinstein <bweinstein@apple.com>
Reviewed by Adam Roben.
Prep for WebKit2: Context menu support on Windows
https://bugs.webkit.org/show_bug.cgi?id=50514
Before this patch ContextMenu on Windows were backed by HMENUs, and ContextMenuItems
were backed by MENUITEMINFOs. This meant they couldn't be copied, and they needed to
be to work in WebKit2.
This patch adds a new USE flag - CROSS_PLATFORM_CONTEXT_MENUS that are for a cross-platform
representation of context menus. This patch also has Windows adopt them.
Cross-platform context menus change the API of context menus and the ContextMenuClient. There
is no more idea of a PlatformMenuDescription or a PlatformMenuItemDescription. Menus are backed
by a Vector of ContextMenuItems, and menu items are backed by the variables they need (enabled, checked
title, action, type, and submenu).
This patch also refactors the ContextMenuClient interface to use a variation on the getCustomMenuFromDefaultItems
function to allow for customization of the context menu.
For other ports to use CROSS_PLATFORM_CONTEXT_MENUS, all they need to do is write conversion functions from
a ContextMenu <-> native menu type, and ContextMenuItem <-> native menu item type. For Windows, this is done
in ContextMenuWin.cpp and ContextMenuItemWin.cpp.
No new tests, no change in behavior.
* WebCore.vcproj/WebCore.vcproj: Add new files (only needed on Windows for now).
* loader/EmptyClients.h:
(WebCore::EmptyContextMenuClient::customizeMenu): Define this function if CROSS_PLATFORM_CONTEXT_MENUS
is on.
* page/ContextMenuClient.h: Ditto.
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::showContextMenu): Call customizeMenu instead of
getCustomMenuFromDefaultItems if CROSS_PLATFORM_CONTEXT_MENUS is on.
* platform/ContextMenu.cpp: Added.
(WebCore::ContextMenu::ContextMenu): Empty constructor.
(WebCore::ContextMenu::setItems): Sets the items in the menu.
(WebCore::ContextMenu::items): Returns the items in the menu.
(WebCore::ContextMenu::itemAtIndex):
(WebCore::itemWithActionInMenu): Returns the item with the correct action, recursively descending
into submenus.
(WebCore::ContextMenu::itemWithAction): Calls through to itemWithActionInMenu.
* platform/ContextMenu.h: Added a new set of functions and member variables that are defined for
CROSS_PLATFORM_CONTEXT_MENUS.
(WebCore::ContextMenu::appendItem): Appends an item to the menu.
* platform/ContextMenuItem.cpp: Added.
(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::~ContextMenuItem):
(WebCore::ContextMenuItem::setSubMenu):
* platform/ContextMenuItem.h:
(WebCore::ContextMenuItem::type): Returns the type.
(WebCore::ContextMenuItem::setType): Sets the type.
(WebCore::ContextMenuItem::action): Returns the action.
(WebCore::ContextMenuItem::setAction): Sets the action.
(WebCore::ContextMenuItem::title): Returns the title.
(WebCore::ContextMenuItem::setTitle): Sets the title.
(WebCore::ContextMenuItem::checked): Returns whether or not the menu item is checked.
(WebCore::ContextMenuItem::setChecked): Sets whether ot not the menu item is checked.
(WebCore::ContextMenuItem::enabled): Returns whether or not the menu item is enabled.
(WebCore::ContextMenuItem::setEnabled): Sets whether or not the menu item is enabled.
(WebCore::ContextMenuItem::submenu): Returns the submenu.
* platform/PlatformMenuDescription.h: Remove the idea if a PlatformMenuDescription if
CROSS_PLATFORM_CONTEXT_MENUS is on.
* platform/win/ContextMenuItemWin.cpp:
(WebCore::ContextMenuItem::ContextMenuItem): Creates a ContextMenuItem from a MENUITEMINFO.
(WebCore::ContextMenuItem::nativeMenuItem): Creates and returns a MENUITEMINFO.
* platform/win/ContextMenuWin.cpp:
(WebCore::ContextMenu::ContextMenu): Creates a ContextMenu from an HMENU.
(WebCore::ContextMenu::nativeMenu): Creates and returns an HMENU.
2010-12-10 Emil Eklund <eae@chromium.org>
Reviewed by Adam Barth.
Fix crash in ReplaceSelectionCommand::doApply when selection is modified
during execution.
https://bugs.webkit.org/show_bug.cgi?id=50840
Test: editing/execCommand/insertHTML-mutation-crash.html
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::copyStyleToChildren):
Replaced raw node pointer with RefPtr.
(WebCore::ReplaceSelectionCommand::doApply):
Replaced raw node pointer with RefPtr and added null check.
2010-12-10 Emil Eklund <eae@chromium.org>
Reviewed by Adam Barth.
Fix crash in Range::processContents when modified during mutation event.
https://bugs.webkit.org/show_bug.cgi?id=50710
Test: fast/dom/Range/range-extractContents.html
* dom/Range.cpp:
(WebCore::Range::processContents):
Replace raw pointers with RefPtrs and add checks.
2010-12-09 Enrica Casucci <enrica@apple.com>
Reviewed by Alexey Proskuryakov.
Implement IME support for Mac.
<rdar://problem/7660589> WebKit2: Implement IME support for Mac.
https://bugs.webkit.org/show_bug.cgi?id=50788
* dom/KeyboardEvent.h:
(WebCore::KeypressCommand::KeypressCommand): Removed ASSERT in constructor,
since it is now used for more than one command.
2010-12-10 Jessie Berlin <jberlin@apple.com>
Windows build fix. Unreviewed.
* WebCore.vcproj/WebCore.vcproj:
Remove duplicate </File> tag.
2010-12-09 Jenn Braithwaite <jennb@chromium.org>
Reviewed by Adam Barth.
TextResourceDecoder::checkForHeadCharset can look way past the limit.
https://bugs.webkit.org/show_bug.cgi?id=47397
Replaced charset detection algorithm with real parser.
Added tests for parser bugs mentioned in the thread for this bug report.
Converted hixie's encoding parsing tests to a layout test.
Tests: fast/encoding/bracket-in-script.html
fast/encoding/bracket-in-tag.html
fast/encoding/escaped-bracket.html
fast/encoding/meta-in-body.html
fast/encoding/meta-in-script.html
fast/encoding/meta-in-title.html
fast/encoding/mismatched-end-tag.html
fast/encoding/namespace-meta.html
fast/encoding/not-http-equiv-content.html
fast/encoding/parser-tests.html
fast/encoding/quotes-in-title.html
fast/encoding/tag-name-digit.html
http/tests/misc/charset-sniffer-end-sniffing.html
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/parser/HTMLMetaCharsetParser.cpp: Added.
(WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser):
(WebCore::HTMLMetaCharsetParser::~HTMLMetaCharsetParser):
(WebCore::HTMLMetaCharsetParser::extractCharset):
(WebCore::HTMLMetaCharsetParser::processMeta):
(WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
* html/parser/HTMLMetaCharsetParser.h: Added.
(WebCore::HTMLMetaCharsetParser::create):
(WebCore::HTMLMetaCharsetParser::encoding):
* loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::checkForHeadCharset):
(WebCore::TextResourceDecoder::checkForMetaCharset):
* loader/TextResourceDecoder.h:
2010-12-10 Nate Chapin <japhet@chromium.org>
Reviewed by Antti Koivisto.
Merge Loader and Request. Currently, Loader is a singleton attached
to MemoryCache. Our goal is to remove knowledge of the loading process
from MemoryCache, so we should attach Loader to CachedResourceLoader instead.
Once Loader is moved off of MemoryCache, there's no reason it needs to be a singleton,
which removes the main reason for Request existing as a separate class (to store per-request
state that Loader couldn't).
Loader will be given a more descriptive name in a later patch.
https://bugs.webkit.org/show_bug.cgi?id=49837
Refactor only, no new tests.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* loader/FrameLoader.cpp:
* loader/Request.cpp:
* loader/Request.h:
* loader/cache/CachedFont.cpp:
* loader/cache/CachedImage.cpp:
* loader/cache/CachedResource.cpp:
* loader/cache/CachedResource.h:
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::CachedResourceLoader):
(WebCore::CachedResourceLoader::~CachedResourceLoader):
(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::setAutoLoadImages):
(WebCore::CachedResourceLoader::load):
(WebCore::CachedResourceLoader::loadDone): Was setLoadInProgress(false),
plus other CachedResourceLoader cleanup that had been handled in Loader.
(WebCore::CachedResourceLoader::cancelRequests): Moved from Loader.
(WebCore::CachedResourceLoader::requestCount):
* loader/cache/CachedResourceLoader.h:
(WebCore::CachedResourceLoader::loadFinishing): Was setLoadInProgress(true)
* loader/cache/MemoryCache.h:
* loader/loader.cpp:
(WebCore::Loader::Loader):
(WebCore::Loader::~Loader):
(WebCore::Loader::load):
(WebCore::Loader::willSendRequest):
(WebCore::Loader::didFinishLoading):
(WebCore::Loader::didFail):
(WebCore::Loader::didReceiveResponse):
(WebCore::Loader::didReceiveData):
(WebCore::Loader::didReceiveCachedMetadata):
* loader/loader.h:
(WebCore::Loader::cachedResourceLoader):
2010-12-10 Martin Robinson <mrobinson@igalia.com>
Unreviewed, rolling out r73703.
http://trac.webkit.org/changeset/73703
https://bugs.webkit.org/show_bug.cgi?id=49658
This patch is causing crashes on the GTK+ bots.
* platform/ContextMenuItem.h:
(WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
* platform/gtk/ContextMenuGtk.cpp:
(WebCore::ContextMenu::appendItem):
* platform/gtk/ContextMenuItemGtk.cpp:
(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::~ContextMenuItem):
(WebCore::ContextMenuItem::createNativeMenuItem):
(WebCore::ContextMenuItem::releasePlatformDescription):
(WebCore::ContextMenuItem::type):
(WebCore::ContextMenuItem::setType):
(WebCore::ContextMenuItem::action):
(WebCore::ContextMenuItem::setAction):
(WebCore::ContextMenuItem::title):
(WebCore::ContextMenuItem::setTitle):
(WebCore::ContextMenuItem::platformSubMenu):
(WebCore::ContextMenuItem::setSubMenu):
(WebCore::ContextMenuItem::setChecked):
(WebCore::ContextMenuItem::setEnabled):
2010-12-08 Mihai Parparita <mihaip@chromium.org>
Reviewed by Darin Adler.
fast/canvas/canvas-getImageData-negative-source.html fails on Mac
https://bugs.webkit.org/show_bug.cgi?id=47901
Test: fast/canvas/canvas-getImageData-rounding.html
static_cast<unsigned> is generally not what we want in
convertLogicalToDevice. It produces inconsistent results when compiling
for 32-bit vs. 64-bit, and in any case we weren't getting correct
rounding behavior for source rectangles (e.g. we should get a source rect
of width 2 if the source X is 0.9 and the source width is 0.2, but we
were getting only one of width 1).
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::convertLogicalToDevice):
(WebCore::HTMLCanvasElement::convertToValidDeviceSize):
* html/HTMLCanvasElement.h:
2010-12-10 Hironori Bono <hbono@chromium.org>
Reviewed by Ojan Vafai.
[Chromium] Use libjpeg-turbo instead of libjpeg
https://bugs.webkit.org/show_bug.cgi?id=50054
This change replaces the hard-coded path to the GYP files of the JPEG
library with a 'libjpeg_gyp_path' variable, which is added by Chromium
r68453. (When building WebKit Chromium, this change sets its value to
'<(chromium_src_dir)/third_party/libjpeg/libjpeg.gyp' to avoid changing
the current behavior.)
No new tests since this does not change the code at all.
* WebCore.gyp/WebCore.gyp:
2010-12-10 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
https://bugs.webkit.org/show_bug.cgi?id=49388
Got rid of the NonZeroBeginTimeFlag. Functionality is now hidden inside
the implementation.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setAnimationOnLayer):
* platform/graphics/ca/PlatformCAAnimation.h:
* platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
(hasNonZeroBeginTimeFlag):
(setNonZeroBeginTimeFlag):
(PlatformCAAnimation::PlatformCAAnimation):
(PlatformCAAnimation::setBeginTime):
2010-12-10 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: eliminate SourceFrameDelegate by passing scripts to SourceFrame constructor.
https://bugs.webkit.org/show_bug.cgi?id=50679
* inspector/front-end/Script.js:
* inspector/front-end/ScriptView.js:
(WebInspector.ScriptView):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.reset):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame):
(WebInspector.SourceFrame.prototype._createViewerIfNeeded):
(WebInspector.SourceFrame.prototype._breakpointAdded):
(WebInspector.SourceFrame.prototype._doEditLine):
(WebInspector.SourceFrame.prototype._commitEditLine):
(WebInspector.SourceFrame.prototype._breakpoints):
(WebInspector.SourceFrame.prototype._sourceIDForLine):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView):
2010-12-10 Andreas Kling <kling@webkit.org>
Reviewed by Eric Seidel.
Don't do GraphicsContext save/restore just to preserve the CompositeOperator
https://bugs.webkit.org/show_bug.cgi?id=50070
Add GraphicsContext::compositeOperation() so we don't have to do a full
save/restore if the only context-tainting call is setCompositeOperation().
GraphicsContext::setCompositeOperation() now stores the op in its state
and calls a port-specific setPlatformCompositeOperation().
No new tests, this is an optimization.
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::setCompositeOperation):
(WebCore::GraphicsContext::compositeOperation):
* platform/graphics/GraphicsContext.h:
* platform/graphics/GraphicsContextPrivate.h:
(WebCore::GraphicsContextState::GraphicsContextState):
* platform/graphics/Image.cpp:
(WebCore::Image::fillWithSolidColor):
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/haiku/GraphicsContextHaiku.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/openvg/GraphicsContextOpenVG.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/skia/SkiaUtils.cpp:
(WebCore::WebCoreCompositeToSkiaComposite):
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/wx/GraphicsContextWx.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderView.cpp:
(WebCore::RenderView::paintBoxDecorations):
2010-12-10 Renata Hodovan <reni@webkit.org>
Reviewed by Andreas Kling.
GraphicsContext: Merge m_common and m_data
https://bugs.webkit.org/show_bug.cgi?id=49914
Move data members from GraphicsContextPrivate into GraphicsContext. So GraphicsContextPlatform.h
and m_common became unnecessary. They are removed.
Add two methods to GraphicsContext: platformInit() and platformDestroy(), which
make the constructor of GraphicsContext clearer.
Besides add a getter to the private GraphicsContext::m_state member, because some inline
functions in cairo need it.
No new test is needed, because this is a refactoring.
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::~GraphicsContext):
(WebCore::GraphicsContext::save):
(WebCore::GraphicsContext::restore):
(WebCore::GraphicsContext::setStrokeThickness):
(WebCore::GraphicsContext::setStrokeStyle):
(WebCore::GraphicsContext::setStrokeColor):
(WebCore::GraphicsContext::setShadow):
(WebCore::GraphicsContext::clearShadow):
(WebCore::GraphicsContext::getShadow):
(WebCore::GraphicsContext::strokeThickness):
(WebCore::GraphicsContext::strokeStyle):
(WebCore::GraphicsContext::strokeColor):
(WebCore::GraphicsContext::strokeColorSpace):
(WebCore::GraphicsContext::fillRule):
(WebCore::GraphicsContext::setFillRule):
(WebCore::GraphicsContext::setFillColor):
(WebCore::GraphicsContext::fillColor):
(WebCore::GraphicsContext::fillColorSpace):
(WebCore::GraphicsContext::setShouldAntialias):
(WebCore::GraphicsContext::shouldAntialias):
(WebCore::GraphicsContext::state):
(WebCore::GraphicsContext::setStrokePattern):
(WebCore::GraphicsContext::setFillPattern):
(WebCore::GraphicsContext::setStrokeGradient):
(WebCore::GraphicsContext::setFillGradient):
(WebCore::GraphicsContext::fillGradient):
(WebCore::GraphicsContext::strokeGradient):
(WebCore::GraphicsContext::fillPattern):
(WebCore::GraphicsContext::strokePattern):
(WebCore::GraphicsContext::setShadowsIgnoreTransforms):
(WebCore::GraphicsContext::updatingControlTints):
(WebCore::GraphicsContext::setUpdatingControlTints):
(WebCore::GraphicsContext::setPaintingDisabled):
(WebCore::GraphicsContext::paintingDisabled):
(WebCore::GraphicsContext::textDrawingMode):
(WebCore::GraphicsContext::setTextDrawingMode):
* platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContextState::GraphicsContextState):
* platform/graphics/GraphicsContextPrivate.h: Removed.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::setPlatformFill):
(WebCore::setPlatformStroke):
(WebCore::drawPathShadow):
(WebCore::fillCurrentCairoPath):
(WebCore::strokeCurrentCairoPath):
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::platformDestroy):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::strokeRect):
(WebCore::GraphicsContext::setAlpha):
(WebCore::GraphicsContext::getAlpha):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::platformDestroy):
(WebCore::GraphicsContext::applyStrokePattern):
(WebCore::GraphicsContext::applyFillPattern):
(WebCore::GraphicsContext::drawPath):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::strokeRect):
* platform/graphics/haiku/GraphicsContextHaiku.cpp:
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::platformDestroy):
* platform/graphics/openvg/GraphicsContextOpenVG.cpp:
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::platformDestroy):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::clipOut):
(WebCore::GraphicsContext::addInnerRoundedRectClip):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::platformDestroy):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::platformDestroy):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::platformInit):
* platform/graphics/win/GraphicsContextCairoWin.cpp:
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::platformInit):
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::platformDestroy):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::fillRect):
* platform/graphics/wx/GraphicsContextWx.cpp:
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::platformDestroy):
2010-12-10 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: introduce a pair of set/remove methods for each breakpoint type.
https://bugs.webkit.org/show_bug.cgi?id=50809
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::setEventListenerBreakpoint):
(WebCore::InspectorController::removeEventListenerBreakpoint):
(WebCore::InspectorController::hasEventListenerBreakpoint):
(WebCore::InspectorController::setXHRBreakpoint):
(WebCore::InspectorController::removeXHRBreakpoint):
(WebCore::InspectorController::hasXHRBreakpoint):
(WebCore::InspectorController::clearNativeBreakpoints):
* inspector/InspectorController.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setDOMBreakpoint):
(WebCore::InspectorDOMAgent::removeDOMBreakpoint):
(WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
(WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
(WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
(WebCore::InspectorDOMAgent::descriptionForDOMEvent):
(WebCore::InspectorDOMAgent::didRemoveDOMNode):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
(WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager):
(WebInspector.NativeBreakpoint):
(WebInspector.DOMBreakpoint):
(WebInspector.EventListenerBreakpoint):
(WebInspector.XHRBreakpoint):
* inspector/front-end/CallStackSidebarPane.js:
(WebInspector.CallStackSidebarPane):
(WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
* inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel.prototype.debuggerPaused):
2010-12-10 Adam Roben <aroben@apple.com>
Windows production build fix after r72555
* WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Use
"$(WebKitVSPropsRedirectionDir)..\..\WebKitLibraries\win" to find the
.vsprops files, rather than $(WebKitLibrariesDir).
2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Reviewed by nobody, build fix.
[Qt] Second attempt to fix the build with Qt 4.6 broken in 73710.
* platform/network/qt/QtNAMThreadSafeProxy.cpp:
(WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy):
(WebCore::QtNetworkReplyThreadSafeProxy::localCustomRequest):
* platform/network/qt/QtNAMThreadSafeProxy.h:
2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Reviewed by nobody, build fix.
[Qt] Fix the build with Qt 4.6 broken in 73710.
* platform/network/qt/QtNAMThreadSafeProxy.cpp:
(WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy):
* platform/network/qt/QtNAMThreadSafeProxy.h:
2010-12-10 Emil Eklund <eae@chromium.org>
Reviewed by Eric Seidel.
Change EventHandler::dispatchMouseEvent code to use DOM traversal instead of render tree traversal
https://bugs.webkit.org/show_bug.cgi?id=49982
* page/EventHandler.cpp:
(WebCore::EventHandler::dispatchMouseEvent):
Walk up DOM/hosted tree rather than render tree.
2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Support a QNetworkAccessManager affined to a different thread.
https://bugs.webkit.org/show_bug.cgi?id=50080
This patch introduce thread safe proxy classes for QNetworkAccessManager
and QNetworkReply.
If run in the same thread, these objects will forward the calls with
Qt::DirectConnection bindings, while in the other case they will use
Qt::QueuedConnection to carry requests accross threads.
This patch basically:
- Makes sure that all access goes through these objects
- Reorders signal connections to make sure we are connected when the
signal comes
- Makes sure that no QObject in the WebCore thread is a child of the
reply which might be in a different thread.
- Forward the data directly in QByteArrays in signals instead of collecting
the data when the signal is handled.
New test: tst_QWebPage::networkAccessManagerOnDifferentThread
* WebCore.pro:
* platform/graphics/qt/MediaPlayerPrivateQt.cpp:
(WebCore::MediaPlayerPrivateQt::commitLoad):
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::FormDataIODevice::FormDataIODevice):
(WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
(WebCore::QNetworkReplyHandler::~QNetworkReplyHandler):
(WebCore::QNetworkReplyHandler::setLoadMode):
(WebCore::QNetworkReplyHandler::abort):
(WebCore::QNetworkReplyHandler::release):
(WebCore::ignoreHttpError):
(WebCore::QNetworkReplyHandler::finish):
(WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
(WebCore::QNetworkReplyHandler::forwardData):
(WebCore::QNetworkReplyHandler::start):
(WebCore::QNetworkReplyHandler::sendQueuedItems):
* platform/network/qt/QNetworkReplyHandler.h:
* platform/network/qt/QtNAMThreadSafeProxy.cpp: Added.
* platform/network/qt/QtNAMThreadSafeProxy.h: Added.
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::ResourceHandle::willLoadFromCache):
* platform/qt/CookieJarQt.cpp:
(WebCore::networkAccessManager):
(WebCore::setCookies):
(WebCore::cookies):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
2010-12-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Refactor QNetworkReplyHandler::finish() to prevent crashes.
https://bugs.webkit.org/show_bug.cgi?id=50761
This patch change the order to check if m_reply is null instead,
explicitly deleting the reply before calling start() for a redirect,
or after calling didFinishLoading()/didFail() in other cases.
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::finish):
2010-12-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Make sure we send the response before any data.
https://bugs.webkit.org/show_bug.cgi?id=50760
This patch make sure the data available flag is set before
we call sendResponseIfNeeded.
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
(WebCore::QNetworkReplyHandler::finish):
(WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
(WebCore::QNetworkReplyHandler::forwardData):
(WebCore::QNetworkReplyHandler::resetState):
* platform/network/qt/QNetworkReplyHandler.h:
2010-12-10 Koan-Sin Tan <koansin.tan@gmail.com>
Reviewed by Dan Bernstein.
Bopomofo should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp
https://bugs.webkit.org/show_bug.cgi?id=50668
No new tests. Note that, as said in the bug report discussion,
I did have a test case for the bug. However, to show the test
case you need some "broken" Microsoft copyrighted fonts, such
as DFKai-SB.
* platform/graphics/Font.cpp:
(WebCore::Font::isCJKIdeograph):
2010-12-10 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Martin Robinson.
[GTK] Simplify context-menu handling code
https://bugs.webkit.org/show_bug.cgi?id=49658
* platform/ContextMenuItem.h:
* platform/gtk/ContextMenuGtk.cpp:
(WebCore::ContextMenu::appendItem):
* platform/gtk/ContextMenuItemGtk.cpp:
(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::~ContextMenuItem):
(WebCore::ContextMenuItem::releasePlatformDescription):
(WebCore::ContextMenuItem::type):
(WebCore::ContextMenuItem::setType):
(WebCore::ContextMenuItem::action):
(WebCore::ContextMenuItem::setAction):
(WebCore::ContextMenuItem::title):
(WebCore::ContextMenuItem::setTitle):
(WebCore::ContextMenuItem::platformSubMenu):
(WebCore::ContextMenuItem::setSubMenu):
(WebCore::ContextMenuItem::setChecked):
(WebCore::ContextMenuItem::setEnabled):
2010-12-10 Philippe Normand <pnormand@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GStreamer] un-needed methods
https://bugs.webkit.org/show_bug.cgi?id=50805
No new tests, code cleanup only.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2010-12-10 Philippe Normand <pnormand@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GStreamer] data: source could also support non-base64 encoded URIs
https://bugs.webkit.org/show_bug.cgi?id=30007
Removed our ancient implementation of dataurisrc. We should now
use the one in gst-plugins-bad which is more mature.
* GNUmakefile.am:
* platform/graphics/gstreamer/DataSourceGStreamer.cpp: Removed.
* platform/graphics/gstreamer/DataSourceGStreamer.h: Removed.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::doGstInit):
2010-12-10 Zoltan Herczeg <zherczeg@webkit.org>
Reviewed by Eric Seidel.
[Qt] Fix crashes in debug mode
https://bugs.webkit.org/show_bug.cgi?id=49976
The m_methods hashmap of QtInstance contains InternalFunctions
whose depend on the current RuntimeObject. When we recreate the
RuntimeObject, we should also reset this hashmap.
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtInstance::newRuntimeObject):
2010-12-10 François Sausset <sausset@gmail.com>
Reviewed by Eric Seidel.
MathML: update baselinePosition() call in RenderMathMLBlock.cpp
https://bugs.webkit.org/show_bug.cgi?id=50540
The call of baselinePosition() is outdated: new arguments added.
* mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::paint):
2010-12-10 Hans Wennborg <hans@chromium.org>
Reviewed by Jeremy Orlow.
IndexedDB: Numeric keys are floats.
https://bugs.webkit.org/show_bug.cgi?id=50674
Use floating point to represent numeric keys,
add version meta data to the SQLite db,
and migrate object stores that use integers.
* bindings/v8/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue):
* bindings/v8/custom/V8IDBKeyCustom.cpp:
(WebCore::toV8):
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::createTables):
(WebCore::migrateDatabase):
(WebCore::IDBFactoryBackendImpl::open):
* storage/IDBKey.cpp:
(WebCore::IDBKey::IDBKey):
(WebCore::IDBKey::fromQuery):
(WebCore::IDBKey::bind):
(WebCore::IDBKey::bindWithNulls):
* storage/IDBKey.h:
(WebCore::IDBKey::create):
(WebCore::IDBKey::number):
2010-12-10 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[Gtk] style="font-family: courier" makes text disappear
https://bugs.webkit.org/show_bug.cgi?id=47452
Don't ever use fonts that do not have any of the three charmaps that
Fontconfig supports (Unicode, Apple Roman and Symbol). If we select
a font that doesn't have one of these charmaps, use the next font in
the list.
Test: platform/gtk/fonts/font-with-no-valid-encoding.html
* platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::FontCache::createFontPlatformData): Check whether the
font we selected has a valid Fontconfig charmap.
* platform/graphics/freetype/FontPlatformData.h: Added new method definition.
* platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::hasCompatibleCharmap): Added this method which
verifies that a font has a valid Fontconfig charmap.
2010-12-09 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Ojan Vafai.
Make DOM Mutation Events Asynchronous
https://bugs.webkit.org/show_bug.cgi?id=46936
Implemented DOM mutations events as scoped events. A scoped event is an event whose
dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by
EventQueueScope objects (RAII idiom), which increments and decrements the scoping level
on its constructor and destructor respectively.
When the scoping level is 0 (initial level), scoped events are dispatched as soon as
they are enqueued and act like synchronous events. When the scoping level is greater than 0,
however, events are queued in ScopedEventQueue and their dispatches are delayed until
the scoping level goes back to 0 (by the destruction of EventQueueScope).
DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument,
DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as
scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches
of the events until the completion of each call of EditCommand::doApply.
Test: fast/events/mutation/execCommands.html
* Android.mk: Added ScopedEventQueue.cpp.
* CMakeLists.txt: Ditto.
* WebCore.pro: Ditto.
* GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h.
* WebCore.gypi: Ditto.
* WebCore.vcproj/project.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* dom/ContainerNode.cpp:
(WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent.
(WebCore::dispatchChildRemovalEvents): Ditto.
* dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp.
* dom/Element.cpp:
(WebCore::Element::dispatchAttrRemovalEvent): Ditto.
(WebCore::Element::dispatchAttrAdditionEvent): Ditto.
* dom/Node.cpp:
(WebCore::Node::dispatchScopedEvent): Added.
(WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent.
* dom/Node.h:
* dom/ScopedEventQueue.cpp: Added.
(WebCore::ScopedEventQueue::initialize): Added.
(WebCore::ScopedEventQueue::enqueueEvent): Added.
(WebCore::ScopedEventQueue::dispatchAllEvents): Added.
(WebCore::ScopedEventQueue::dispatchEvent): Added.
(WebCore::ScopedEventQueue::instance): Added.
(WebCore::ScopedEventQueue::incrementScopingLevel): Added.
(WebCore::ScopedEventQueue::decrementScopingLevel): Added.
* dom/ScopedEventQueue.h: Added.
(WebCore::ScopedEventQueue::~ScopedEventQueue): Added.
(WebCore::ScopedEventQueue::ScopedEventQueue): Added.
(WebCore::EventQueueScope::EventQueueScope): Added.
(WebCore::EventQueueScope::~EventQueueScope): Added.
* editing/EditCommand.cpp:
(WebCore::EditCommand::apply): Instantiates EventQueueScope.
2010-12-09 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r73684.
http://trac.webkit.org/changeset/73684
https://bugs.webkit.org/show_bug.cgi?id=50801
"missing bug number" (Requested by rniwa on #webkit).
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/ContainerNode.cpp:
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):
* dom/DOMAllInOne.cpp:
* dom/Element.cpp:
(WebCore::Element::dispatchAttrRemovalEvent):
(WebCore::Element::dispatchAttrAdditionEvent):
* dom/Node.cpp:
(WebCore::Node::dispatchSubtreeModifiedEvent):
(WebCore::Node::dispatchUIEvent):
* dom/Node.h:
* dom/ScopedEventQueue.cpp: Removed.
* dom/ScopedEventQueue.h: Removed.
* editing/EditCommand.cpp:
(WebCore::EditCommand::apply):
2010-12-09 Qi Zhang <qi.2.zhang@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] enable orientation flag when QtMobility available
https://bugs.webkit.org/show_bug.cgi?id=50781
When QtMobility available, enable orientation flag by default.
* features.pri:
2010-12-09 Kenichi Ishibashi <bashi@google.com>
Reviewed by Kent Tamura.
Improve validation API support of <object> and <keygen>
https://bugs.webkit.org/show_bug.cgi?id=50663
Adds validation API to HTMLObjectElement class.
Makes HTMLKeygenElement::willValidate() return false.
Test: fast/forms/setCustomValidity-existence.html
* html/HTMLKeygenElement.h:
(WebCore::HTMLKeygenElement::willValidate): Added.
* html/HTMLObjectElement.h:
(WebCore::HTMLObjectElement::validationMessage): Added.
(WebCore::HTMLObjectElement::checkValidity): Added.
(WebCore::HTMLObjectElement::setCustomValidity): Added.
* html/HTMLObjectElement.idl: Added validation API properties.
2010-12-09 Sadrul Habib Chowdhury <sadrul@chromium.org>
Reviewed by Kent Tamura.
Make sure a non-zero value is used for tile-width to avoid a crash
https://bugs.webkit.org/show_bug.cgi?id=50341
The scaled tile width can be very small at times (e.g. with 'style: font 1
required'). So use a minimum width of 1 instead of using 0 (which leads to a
crash).
Tests: fast/dom/HTMLProgressElement/progress-element-with-style-crash.html
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::paintProgressBar):
2010-12-09 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Ojan Vafai.
Implemented DOM mutations events as scoped events. A scoped event is an event whose
dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by
EventQueueScope objects (RAII idiom), which increments and decrements the scoping level
on its constructor and destructor respectively.
When the scoping level is 0 (initial level), scoped events are dispatched as soon as
they are enqueued and act like synchronous events. When the scoping level is greater than 0,
however, events are queued in ScopedEventQueue and their dispatches are delayed until
the scoping level goes back to 0 (by the destruction of EventQueueScope).
DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument,
DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as
scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches
of the events until the completion of each call of EditCommand::doApply.
Test: fast/events/mutation/execCommands.html
* Android.mk: Added ScopedEventQueue.cpp.
* CMakeLists.txt: Ditto.
* WebCore.pro: Ditto.
* GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h.
* WebCore.gypi: Ditto.
* WebCore.vcproj/project.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* dom/ContainerNode.cpp:
(WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent.
(WebCore::dispatchChildRemovalEvents): Ditto.
* dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp.
* dom/Element.cpp:
(WebCore::Element::dispatchAttrRemovalEvent): Ditto.
(WebCore::Element::dispatchAttrAdditionEvent): Ditto.
* dom/Node.cpp:
(WebCore::Node::dispatchScopedEvent): Added.
(WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent.
* dom/Node.h:
* dom/ScopedEventQueue.cpp: Added.
(WebCore::ScopedEventQueue::initialize): Added.
(WebCore::ScopedEventQueue::enqueueEvent): Added.
(WebCore::ScopedEventQueue::dispatchAllEvents): Added.
(WebCore::ScopedEventQueue::dispatchEvent): Added.
(WebCore::ScopedEventQueue::instance): Added.
(WebCore::ScopedEventQueue::incrementScopingLevel): Added.
(WebCore::ScopedEventQueue::decrementScopingLevel): Added.
* dom/ScopedEventQueue.h: Added.
(WebCore::ScopedEventQueue::~ScopedEventQueue): Added.
(WebCore::ScopedEventQueue::ScopedEventQueue): Added.
(WebCore::EventQueueScope::EventQueueScope): Added.
(WebCore::EventQueueScope::~EventQueueScope): Added.
* editing/EditCommand.cpp:
(WebCore::EditCommand::apply): Instantiates EventQueueScope.
2010-12-09 Sam Weinig <sam@webkit.org>
Reviewed by Gavin Barraclough.
Fix scrolling with mouse wheel in WebKit2 views. Once
we coalesce wheel events, we can re-enable this.
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::scroll):
2010-12-09 Abhishek Arya <inferno@chromium.org>
Reviewed by James Robinson.
For details element, ensure that if we ended up being inline that we set out replaced
flag so that we are treated like an inline block.
https://bugs.webkit.org/show_bug.cgi?id=50671
Test: fast/html/details-element-render-inline-crash.html
* rendering/RenderDetails.cpp:
(WebCore::RenderDetails::styleDidChange): setReplaced to true if we are set as inline.
* rendering/RenderDetails.h: function definition.
2010-12-09 Jasmin Lapalme <jlapalme@druide.com>
Reviewed by Alexey Proskuryakov.
Fix a faulty conversion from UTF-8 to UTF-16 in WebCore during an XSLT transformation.
https://bugs.webkit.org/show_bug.cgi?id=50708
Test: fast/xsl/utf8-chunks.xml
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::writeToVector): now converts and returns the correct byte count when the end of the chunk is in the middle of a multibyte UTF-8 character.
2010-12-09 Vincent Scheib <scheib@chromium.org>
Reviewed by James Robinson.
Clip update rectangle for Texture::updateSubRect to texture size
https://bugs.webkit.org/show_bug.cgi?id=49929
Test: fast/canvas/canvas-largedraws.html
* platform/graphics/gpu/Texture.cpp:
(WebCore::Texture::updateSubRect):
2010-12-09 Kenneth Russell <kbr@google.com>
Unreviewed. Another speculative Gtk build fix after r73669. Add
needed derived sources to GNUmakefile.am.
* GNUmakefile.am:
2010-12-09 Kenneth Russell <kbr@google.com>
Unreviewed. Speculative Gtk build fix after
https://bugs.webkit.org/show_bug.cgi?id=36512 / r73669. Process
all of the WebGL classes' IDL files.
* CMakeLists.txt:
2010-12-09 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Expose constructor functions for instanceof checks of WebGL objects
https://bugs.webkit.org/show_bug.cgi?id=36512
Test: fast/canvas/webgl/instanceof-test.html
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::webGLActiveInfoEnabled):
(WebCore::RuntimeEnabledFeatures::webGLBufferEnabled):
(WebCore::RuntimeEnabledFeatures::webGLFramebufferEnabled):
(WebCore::RuntimeEnabledFeatures::webGLProgramEnabled):
(WebCore::RuntimeEnabledFeatures::webGLRenderbufferEnabled):
(WebCore::RuntimeEnabledFeatures::webGLShaderEnabled):
(WebCore::RuntimeEnabledFeatures::webGLTextureEnabled):
(WebCore::RuntimeEnabledFeatures::webGLUniformLocationEnabled):
* html/canvas/WebGLActiveInfo.idl: Remove OmitConstructor.
* html/canvas/WebGLBuffer.idl: Ditto.
* html/canvas/WebGLFramebuffer.idl: Ditto.
* html/canvas/WebGLProgram.idl: Ditto.
* html/canvas/WebGLRenderbuffer.idl: Ditto.
* html/canvas/WebGLShader.idl: Ditto.
* html/canvas/WebGLTexture.idl: Ditto.
* html/canvas/WebGLUniformLocation.idl: Ditto.
* page/DOMWindow.idl: Expose constructors for WebGL objects in DOMWindow.
2010-12-09 Timothy Hatcher <timothy@apple.com>
Export Color::white and Color::transparent.
Reviewed by Anders Carlsson.
* WebCore.exp.in:
2010-12-09 Sam Weinig <sam@webkit.org>
Fix failing Mac tests.
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::scroll): Don't smooth scroll if the default
AppleScrollAnimationEnabled is false.
2010-12-09 James Robinson <jamesr@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Compositor needs to manage its VRAM use
https://bugs.webkit.org/show_bug.cgi?id=49629
This adds a basic texture manager to the Chromium compositor to limit the amount of VRAM
used by compositor textures and switches ContentLayerChromium, ImageLayerChromium, and
RenderSurfaceChromium to use managed LayerTexture. The other *LayerChromium classes (Canvas,
Video, and WebGL) and the root layer are still unmanaged.
The TextureManager works by providing tokens to callers that want to use a managed texture.
The token can be used to request a texture, see if the previously requested texture is still
available, and to protect/unprotect textures when they cannot be collected. Whenever a
texture is created the manager attempts to free up the least recently used textures until the
total memory use is below the provided threshhold. If the manager cannot satisfy the memory
limit it will not return any new textures until some old textures are released.
A LayerTexture wraps a TextureManager token, size, and format. A LayerChromium can check if a
previously requested texture is still available for use and reserve the LayerTexture's underlying
storage between the updateContentsIfDirty() and the draw() call.
Also changes LayerChromium from having separate contentsDirty()/updateContents() calls to a single
updateContentsIfDirty().
Tests: platform/chromium/compositing/lots-of-img-layers-with-opacity.html
platform/chromium/compositing/lots-of-img-layers.html
* WebCore.gypi:
* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::updateContentsIfDirty):
* platform/graphics/chromium/Canvas2DLayerChromium.h:
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::cleanupResources):
(WebCore::ContentLayerChromium::updateContentsIfDirty):
(WebCore::ContentLayerChromium::updateTextureRect):
(WebCore::ContentLayerChromium::draw):
* platform/graphics/chromium/ContentLayerChromium.h:
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::updateContentsIfDirty):
* platform/graphics/chromium/ImageLayerChromium.h:
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::updateContentsIfDirty):
(WebCore::LayerChromium::draw):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::useShader):
(WebCore::LayerRendererChromium::prepareToDrawLayers):
(WebCore::LayerRendererChromium::updateRootLayerTextureRect):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::getFramebufferPixels):
(WebCore::LayerRendererChromium::createLayerTexture):
(WebCore::LayerRendererChromium::deleteLayerTexture):
(WebCore::LayerRendererChromium::updateLayersRecursive):
(WebCore::LayerRendererChromium::useRenderSurface):
(WebCore::LayerRendererChromium::drawLayer):
(WebCore::LayerRendererChromium::setScissorToRect):
(WebCore::LayerRendererChromium::setDrawViewportRect):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::renderSurfaceSharedValues):
(WebCore::LayerRendererChromium::textureManager):
* platform/graphics/chromium/LayerTexture.cpp: Added.
(WebCore::LayerTexture::LayerTexture):
(WebCore::LayerTexture::~LayerTexture):
(WebCore::LayerTexture::isValid):
(WebCore::LayerTexture::reserve):
(WebCore::LayerTexture::unreserve):
(WebCore::LayerTexture::bindTexture):
(WebCore::LayerTexture::framebufferTexture2D):
* platform/graphics/chromium/LayerTexture.h: Added.
(WebCore::LayerTexture::create):
* platform/graphics/chromium/PluginLayerChromium.cpp:
(WebCore::PluginLayerChromium::updateContentsIfDirty):
* platform/graphics/chromium/PluginLayerChromium.h:
* platform/graphics/chromium/RenderSurfaceChromium.cpp:
(WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
(WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
(WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
(WebCore::RenderSurfaceChromium::cleanupResources):
(WebCore::RenderSurfaceChromium::prepareContentsTexture):
(WebCore::RenderSurfaceChromium::draw):
* platform/graphics/chromium/RenderSurfaceChromium.h:
(WebCore::RenderSurfaceChromium::SharedValues::shaderProgram):
(WebCore::RenderSurfaceChromium::SharedValues::shaderSamplerLocation):
(WebCore::RenderSurfaceChromium::SharedValues::shaderMatrixLocation):
(WebCore::RenderSurfaceChromium::SharedValues::shaderAlphaLocation):
(WebCore::RenderSurfaceChromium::SharedValues::initialized):
* platform/graphics/chromium/TextureManager.cpp: Added.
(WebCore::memoryUseBytes):
(WebCore::TextureManager::TextureManager):
(WebCore::TextureManager::getToken):
(WebCore::TextureManager::releaseToken):
(WebCore::TextureManager::hasTexture):
(WebCore::TextureManager::protectTexture):
(WebCore::TextureManager::unprotectTexture):
(WebCore::TextureManager::reduceMemoryToLimit):
(WebCore::TextureManager::addTexture):
(WebCore::TextureManager::removeTexture):
(WebCore::TextureManager::requestTexture):
* platform/graphics/chromium/TextureManager.h: Added.
(WebCore::TextureManager::create):
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::updateContentsIfDirty):
* platform/graphics/chromium/VideoLayerChromium.h:
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::updateContentsIfDirty):
* platform/graphics/chromium/WebGLLayerChromium.h:
2010-12-09 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Rework my recent setLocation refactoring to use DOMWindow instead of Frame.
It's difficult to make correct security decisions based on Frame since a
Frame can navigate to a new document.
Fixes some test failures that I somehow missed before the last check-in.
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Call to the
shell DOMWindow; not sure this one matters, but it's closer to the old
code before my last patch. Also pass the DOMWindow rather than the
frame to crossDomainAccessErrorMessage.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setLocation): Pass DOMWindow rather than Frame
to the DOMWindow::setLocation function.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::setLocation): Take DOMWindow rather than Frame.
(WebCore::DOMWindow::crossDomainAccessErrorMessage): Ditto.
* page/DOMWindow.h: Update new functions to take DOMWindow rather
than Frame.
2010-12-09 Sam Weinig <sam@webkit.org>
Try and fix the mac build.
* WebCore.exp.in:
2010-12-09 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
Removed an unused variable.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::computeLogicalBoxHeights): Removed parentLineHeight.
2010-12-09 Darin Adler <darin@apple.com>
Reviewed by Geoffrey Garen.
Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding
https://bugs.webkit.org/show_bug.cgi?id=50640
* bindings/js/JSDOMBinding.cpp:
(WebCore::printErrorMessageForFrame): Removed body; just call through to
DOMWindow::printErrorMessage.
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body;
just call through to DOMWindow::crossDomainAccessErrorMessage.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and
firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most
of the body and moved it into DOMWindow::setLocation.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::setLocation): Added. Does all the same work that
JSDOMWindow::setLocation used to do, but in a way that's not specific
to JavaScript.
(WebCore::DOMWindow::printErrorMessage): Added.
(WebCore::DOMWindow::crossDomainAccessErrorMessage): Added.
* page/DOMWindow.h: Added setLocation, printErrorMessage, and
crossDomainAccessErrorMessage.
2010-12-09 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
WebKit2 needs smooth scrolling support on the mac
<rdar://problem/8219402>
* WebCore.xcodeproj/project.pbxproj: Change ScrollAnimatorMac.cpp to ScrollAnimatorMac.mm.
* platform/mac/ScrollAnimatorMac.cpp: Removed.
* platform/mac/ScrollAnimatorMac.h:
* platform/mac/ScrollAnimatorMac.mm: Copied from platform/mac/ScrollAnimatorMac.cpp.
(-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
(-[ScrollAnimationHelperDelegate bounds]):
(-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
(-[ScrollAnimationHelperDelegate convertSizeToBase:]):
(-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
(-[ScrollAnimationHelperDelegate superview]):
(-[ScrollAnimationHelperDelegate documentView]):
(-[ScrollAnimationHelperDelegate window]):
(-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
(WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::scroll):
(WebCore::ScrollAnimatorMac::setScrollPositionAndStopAnimation):
(WebCore::ScrollAnimatorMac::currentPosition):
(WebCore::ScrollAnimatorMac::immediateScrollToPoint):
Add implementation of ScrollAnimator for the Mac.
2010-12-09 Brady Eidson <beidson@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/8613779> and https://bugs.webkit.org/show_bug.cgi?id=50777
WebKit2 ContextMenuClient support
Export some symbols and headers needed by WebKit2 Mac:
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
2010-12-09 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r73635.
http://trac.webkit.org/changeset/73635
https://bugs.webkit.org/show_bug.cgi?id=50778
'Side-effects on 3 css tests needs closer review' (Requested
by mwenge on #webkit).
* platform/graphics/qt/ImageQt.cpp:
(loadResourcePixmap):
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::computeSizeBasedOnStyle):
(WebCore::RenderThemeQt::paintSearchField):
(WebCore::RenderThemeQt::adjustSearchFieldStyle):
(WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeQt::paintSearchFieldCancelButton):
* platform/qt/RenderThemeQt.h:
2010-12-09 Robert Hogan <robert@webkit.org>
Reviewed by Andreas Kling.
[Qt] Search input field doesn't have cancel button
Add a cancel button to the search field and make it customizable
by the client. For now, use the close dialog button associated
with the application's style as the default.
https://bugs.webkit.org/show_bug.cgi?id=42887
* platform/graphics/qt/ImageQt.cpp:
(loadResourcePixmap):
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::computeSizeBasedOnStyle):
(WebCore::RenderThemeQt::paintSearchField):
(WebCore::RenderThemeQt::adjustSearchFieldStyle):
(WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeQt::convertToPaintingRect):
(WebCore::RenderThemeQt::paintSearchFieldCancelButton):
* platform/qt/RenderThemeQt.h:
2010-12-09 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Antonio Gomes.
Spatial Navigation: Crash when handling iframe of size 0.
https://bugs.webkit.org/show_bug.cgi?id=50730
if we have a frame of size 0, we would get into infinite loop and eventually crash. The reason is
that when the algorithm sees a starting rect of size 0, it assumes that there is no focused node,
thus restarts itself. The solution is to avoid considering iframes with size 0 for the spatial
navigation algorithm.
Test: fast/spatial-navigation/snav-hidden-iframe-zero-size.html
* page/FocusController.cpp:
(WebCore::updateFocusCandidateIfNeeded):
2010-12-09 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r73616.
http://trac.webkit.org/changeset/73616
https://bugs.webkit.org/show_bug.cgi?id=50772
Breaks chromium win build (Requested by hwennborg on #webkit).
* bindings/v8/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue):
* bindings/v8/custom/V8IDBKeyCustom.cpp:
(WebCore::toV8):
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::createTables):
(WebCore::IDBFactoryBackendImpl::open):
* storage/IDBKey.cpp:
(WebCore::IDBKey::IDBKey):
(WebCore::IDBKey::fromQuery):
(WebCore::IDBKey::bind):
(WebCore::IDBKey::bindWithNulls):
* storage/IDBKey.h:
(WebCore::IDBKey::create):
(WebCore::IDBKey::number):
2010-12-09 Antonio Gomes <agomes@rim.com>
Rubber stamped by by Gustavo Noronha Silva.
Buildfix for GTK+ with building with -no-video.
paintStockIcon static function was implemented under the ENABLE(VIDEO) guard
but used from outside the guard. See RenderThemeGtk::paintSearchFieldResultsDecoration()
and RenderThemeGtk::paintSearchFieldCancelButton() methods.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::getMediaElementFromRenderObject):
2010-12-07 Antonio Gomes <agomes@rim.com>
Reviewed by Daniel Bates.
Spatial Navigation: code clean up
https://bugs.webkit.org/show_bug.cgi?id=50666
Patch unifies two FocusCandidate constructors, making caller sites
simpler. Now the special handling HTMLAreaElement gets is done within
the non default constructor (i.e. FocusCanditate(Node*, FocusDirection)).
No new tests needed.
* page/FocusController.cpp:
(WebCore::FocusController::findFocusCandidateInContainer):
* page/SpatialNavigation.cpp:
(WebCore::FocusCandidate::FocusCandidate):
2010-12-09 Philippe Normand <pnormand@igalia.com>
Reviewed by Eric Carlson.
[GStreamer] disable fullscreen on MacOS Tiger and Leopard
https://bugs.webkit.org/show_bug.cgi?id=50748
Don't support fullscreen video on Tiger and Leopard, just like the
QTKit player.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::supportsFullscreen):
2010-12-06 Philippe Normand <pnormand@igalia.com>
Reviewed by Martin Robinson.
[GTK] Support the Mozilla-style Fullscreen Javascript API
https://bugs.webkit.org/show_bug.cgi?id=50572
* GNUmakefile.am: enable the Javascript Fullscreen API feature if
it's been requested at configure time.
2010-12-09 Yong Li <yoli@rim.com>
Reviewed by Darin Adler.
Check the return value of ImageBuffer::create()
to avoid crash when ImageBuffer::create() fails.
https://bugs.webkit.org/show_bug.cgi?id=50631
No new test because it relies on the platform implementation
of ImageBuffer. It is hard to make ImageBuffer::create() fail
in most ports.
* platform/graphics/GeneratedImage.cpp:
(WebCore::GeneratedImage::drawPattern):
2010-12-09 Maciej Stachowiak <mjs@apple.com>
Reviewed by Dan Bernstein.
Implement "Use Selection for Find" in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=50737
<rdar://problem/8564881>
Implement a TakeFindStringFromSelection editor command. This is
used solely to implement the "Use Selection for Find" menu command
on Mac, and is not made available to script. On WebKit2, it is
very convenient to reuse the editing machinery since this command
is very similar to Copy.
* editing/Editor.h:
* editing/EditorCommand.cpp:
(WebCore::executeTakeFindStringFromSelection): Call to a mac-only Editor function.
(WebCore::enabledTakeFindStringFromSelection): Check using Editor::canCopyExcludingStandaloneImage
(WebCore::createCommandMap): Add "TakeFindStringFromSelection" command.
* editing/mac/EditorMac.mm:
(WebCore::Editor::canCopyExcludingStandaloneImages): Helper function; we can't use Editor::canCopy
since it would make no sense to enable "Use Selection for Find" when viewing a standalone image
document.
(WebCore::Editor::takeFindStringFromSelection): Implement by copying the selected text
to the special Find pasteboard.
2010-12-09 Abhishek Arya <inferno@chromium.org>
Reviewed by Dimitri Glazkov.
As part of r73559, I added the referenceNode check to validate whether the root
node of the iterator matches the node which is getting moved to other document.
referenceNode is initialized to root, however can get moved using previousNode
and nextNode methods, so it is required to use root directly.
https://bugs.webkit.org/show_bug.cgi?id=50764
Test: fast/dom/node-iterator-reference-node-moved-crash.html
* dom/Document.cpp:
(WebCore::Document::moveNodeIteratorsToNewDocument): change referenceNode to root.
2010-12-08 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Adler.
Provide a generic way to store shadowParent on a Node.
https://bugs.webkit.org/show_bug.cgi?id=50184
This patch makes TreeShared::m_parent act as either parentNode() or
shadowHost() for Node. The distinction is controlled by IsShadowRootFlag.
Refactoring, so no new tests. See performance result testing in bug.
* dom/Element.cpp:
(WebCore::Element::recalcStyle): Changed to use parentOrHostNode().
* dom/Node.cpp:
(WebCore::Node::shadowHost): Added.
(WebCore::Node::setShadowHost): Added.
(WebCore::Node::isContentEditable): Changed to use parentOrHostNode().
(WebCore::Node::isContentRichlyEditable): Ditto.
(WebCore::Node::nextRenderer): Ditto.
(WebCore::Node::virtualComputedStyle): Ditto.
(WebCore::Node::canStartSelection): Ditto.
(WebCore::Node::shadowTreeRootNode): Changed to use parentNodeGuaranteedHostFree().
(WebCore::Node::getEventAncestors): Ditto.
(WebCore::Node::defaultEventHandler): Changed to use parentOrHostNode().
* dom/Node.h: Added an extra flag and adjusted bit counts.
(WebCore::Node::isShadowNode): Made non-virtual, switched to use flag.
(WebCore::Node::parentNode): Made to recognize flag.
(WebCore::Node::parentOrHostNode): Changed to use straight parent() and made const.
(WebCore::Node::parentNodeGuaranteedHostFree): Added.
(WebCore::Node::shadowParentNode): Made non-virtual and const.
* editing/TextIterator.cpp:
(WebCore::depthCrossingShadowBoundaries): Changed to use parentOrHostNode();
(WebCore::nextInPreOrderCrossingShadowBoundaries): Ditto.
(WebCore::previousInPostOrderCrossingShadowBoundaries): Ditto.
(WebCore::setUpFullyClippedStack): Ditto.
(WebCore::TextIterator::advance): Ditto.
(WebCore::SimplifiedBackwardsTextIterator::advance): Ditto.
* page/DOMSelection.cpp:
(WebCore::DOMSelection::anchorNode): Changed to use parentNodeGuaranteedHostFree().
(WebCore::DOMSelection::focusNode): Ditto.
(WebCore::DOMSelection::baseNode): Ditto.
(WebCore::DOMSelection::extentNode): Ditto.
(WebCore::DOMSelection::getRangeAt): Ditto.
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
Changed to setShadowHost().
(WebCore::MediaControlShadowRootElement::updateStyle): Changed to use shadowHost().
(WebCore::MediaControlShadowRootElement::detach): Added an override to
explicitly set shadowHost to 0. Otherwise, the element will leak.
* rendering/MediaControlElements.h: Added detach def, removed members that are
no longer needed.
* rendering/RenderSVGShadowTreeRootContainer.cpp:
(WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
Added explicit clearing of shadowHost to avoid leaking and crashes,
because SVG shadow DOM can be dynamically attached/detached, producing
stale nodes in over/out event handling.
* rendering/RenderSlider.cpp:
(WebCore::SliderThumbElement::defaultEventHandler): Changed to use shadowHost().
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
Added explicit clearing of shadowHost and explicit destruction to
avoid out-of-order removal of children.
* rendering/RenderTreeAsText.cpp:
(WebCore::nodePosition): Simplified code.
* rendering/SVGShadowTreeElements.cpp:
(WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Added
setting of shadowHost.
(WebCore::SVGShadowTreeRootElement::attachElement): Changed to use shadowHost().
(WebCore::SVGShadowTreeRootElement::clearShadowHost): Added.
* rendering/SVGShadowTreeElements.h: Added def, removed members that are
no longer needed.
* rendering/ShadowElement.cpp:
(WebCore::ShadowBlockElement::initAsPart): Changed to use shadowHost().
* rendering/ShadowElement.h: Removed members that are no longer needed.
(WebCore::ShadowElement::ShadowElement): Added setting of shadowHost.
(WebCore::ShadowElement::detach): Added.
* rendering/TextControlInnerElements.cpp:
(WebCore::TextControlInnerElement::TextControlInnerElement): Added setting
of shadowHost.
(WebCore::TextControlInnerElement::attachInnerElement): Changed to use
isShadowNode().
(WebCore::TextControlInnerElement::detach): Added.
* rendering/TextControlInnerElements.h: Removed members that are no
longer needed.
* svg/SVGElement.cpp:
(WebCore::SVGElement::ownerSVGElement): Simplified code.
(WebCore::SVGElement::viewportElement): Ditto.
* svg/SVGLocatable.cpp:
(WebCore::SVGLocatable::computeCTM): Ditto.
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::title): Ditto.
* svg/SVGUseElement.cpp:
(WebCore::ShadowTreeUpdateBlocker::while): Ditto.
2010-12-09 Brady Eidson <beidson@apple.com>
Reviewed by Maciej Stachowiak.
<rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
WebKit2 Authentication Support
* WebCore.exp.in:
2010-12-09 Peter Beverloo <peter@lvp-media.com>
Reviewed by Maciej Stachowiak.
Default CSS definitions for the figure and figcaption elements.
Tests: fast/html/figcaption-element.html
fast/html/figure-element.html
* css/html.css:
(figure): The default figure-style equals a blockquote
(figcaption): A non-sectioning block-level element
2010-12-09 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Console records for failed XHRs should contain call stack and request method
https://bugs.webkit.org/show_bug.cgi?id=50390
When inspector front-end is open we capture call stack at the place where request is sent and
pass the stack along with other request data. There is a new type of console messages which
is NetworkErrorMessageType, all messages of that type will have requestId field initialized
with the corresponding network request identifier so that later on when we need to display
that message in the front-end we could pull request data from the Network panel using
this identifier. If there are no data for given requestId message formatting falls back to
the old implementation which lacks such things as call stack, request method and exact
source location.
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::ConsoleMessage):
(WebCore::ConsoleMessage::addToFrontend):
(WebCore::ConsoleMessage::isEqual):
* inspector/ConsoleMessage.h:
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::didReceiveResponse):
(WebCore::InspectorController::didFailLoading):
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::identifierForInitialRequest):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
(WebInspector.ConsoleMessage):
(WebInspector.ConsoleMessage.prototype._formatMessage):
(WebInspector.ConsoleMessage.prototype.toMessageElement):
(WebInspector.ConsoleMessage.prototype.toString):
(WebInspector.ConsoleMessage.prototype.isEqual):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager.prototype.identifierForInitialRequest):
* inspector/front-end/inspector.js:
(WebInspector.addConsoleMessage):
* page/Console.h:
2010-12-09 Dai Mikurube <dmikurube@google.com>
Reviewed by Kent Tamura.
Implement "required" attribute for select tags
https://bugs.webkit.org/show_bug.cgi?id=50380
Test: fast/forms/select-live-pseudo-selectors.html
platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html
* dom/SelectElement.cpp:
(WebCore::SelectElement::updateValidity): Added. It's a pure virtual function which is prepared so that HTMLSelectElement::updateValidity() calls HTMLSelectElement::setNeedsValidityCheck().
(WebCore::SelectElement::parseMultipleAttribute): Added calling updateValidity().
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface.
(WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck().
(WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck().
(WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified.
(WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180.
(WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck().
(WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck().
(WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck().
(WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck().
(WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck().
(WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck().
(WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated..
(WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck().
(WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not.
(WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added.
(WebCore::HTMLSelectElement::updateValidity): Added. It calls setNeedsValidityCheck().
* html/HTMLSelectElement.h:
(WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required.
* html/HTMLSelectElement.idl: Added a required attribute to select elements..
* html/ValidityState.cpp:
(WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing().
* wml/WMLSelectElement.h:
(WebCore::WMLSelectElement::updateValidity): Added. It does nothing.
2010-12-07 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
IndexedDB returns the wrong exceptions
https://bugs.webkit.org/show_bug.cgi?id=50632
IndexedDB exceptions need to have an offset so they can
be distinguished from DOM exceptions. We also need to
add strings for the various exceptions. Lastly, make
IDBDatabaseException use the common exception base class.
* bindings/js/JSDOMBinding.cpp:
(WebCore::setDOMException):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::setDOMException):
* dom/ExceptionCode.cpp:
(WebCore::getExceptionCodeDescription):
* dom/ExceptionCode.h:
* storage/IDBDatabaseError.h:
(WebCore::IDBDatabaseError::code):
* storage/IDBDatabaseException.h:
(WebCore::IDBDatabaseException::create):
(WebCore::IDBDatabaseException::ErrorCodeToExceptionCode):
(WebCore::IDBDatabaseException::IDBDatabaseException):
* storage/IDBDatabaseException.idl:
2010-12-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Build fix for GTK+3. Use functions added for GTK+ 2.24 to get the
GDK window size.
* plugins/gtk/gtk2xtbin.c:
(gtk_xtbin_realize):
2010-12-09 Siddharth Mathur <siddharth.mathur@nokia.com>
Reviewed by Laszlo Gombos.
Use BUILDING_WEBKIT like other ports
https://bugs.webkit.org/show_bug.cgi?id=50713
* WebCore.pro: Change BUILD_WEBKIT to BUILDING_WEBKIT
2010-12-08 Erik Arvidsson <arv@chromium.org>
Reviewed by Darin Adler.
Replace getAttribute().isNull() with fastHasAttribute()
https://bugs.webkit.org/show_bug.cgi?id=50719
Covered by existing tests.
* dom/SelectElement.cpp:
(WebCore::SelectElement::reset):
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::rendererIsNeeded):
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::itemAfter):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::formNoValidate):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::noValidate):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultChecked):
(WebCore::HTMLInputElement::multiple):
(WebCore::HTMLInputElement::webkitdirectory):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::defaultSelected):
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::asyncAttributeValue):
(WebCore::HTMLScriptElement::deferAttributeValue):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::allowsMultipleFiles):
(WebCore::RenderFileUploadControl::allowsDirectoryUpload):
2010-12-08 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
Reviewed by Martin Robinson.
Full page size flash plugins do not show in all situations
https://bugs.webkit.org/show_bug.cgi?id=47742
This patch moves the plugin widget size allocation after the
NPP_SetWindow is called with the effect that the resize of Flash
content no longer result in grey flash. This seems logical since the
widget tree cannot be fully constructed before the plugin receives
the new container window.
Test: manual-tests/plugins/gtk-windowed-grey-glitch.html
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::setNPWindowIfNeeded):
2010-12-08 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
Fix regression from xji's wheel scroll patch. The vertical case is looking at the horizontal
maximum position and not the vertical position.
* platform/ScrollView.cpp:
(WebCore::ScrollView::wheelEvent):
2010-12-08 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Need a way to get a WKBundleFrameRef from JS HTMLIFrameElement
https://bugs.webkit.org/show_bug.cgi?id=50726
* WebCore.xcodeproj/project.pbxproj: Expose HTMLIFrameElement.h.
2010-12-08 Matthew Delaney <mdelaney@apple.com>
Reviewed by Simon Fraser.
Add getter and setters for acceleratesRendering flag on layers
https://bugs.webkit.org/show_bug.cgi?id=50717
* platform/graphics/GraphicsLayer.cpp:
* platform/graphics/ca/GraphicsLayerCA.cpp:
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
Plumbed through acceleratedRendering flag.
2010-12-07 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
WebGLUniformLocation objects must be invalidated during linkProgram
https://bugs.webkit.org/show_bug.cgi?id=37118
* html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::WebGLProgram): Initialize link count to 0.
(WebCore::WebGLProgram::cacheActiveAttribLocations): Don't check link status through gl call; use the cached status instead.
* html/canvas/WebGLProgram.h:
(WebCore::WebGLProgram::getLinkCount): Get link count.
(WebCore::WebGLProgram::increaseLinkCount): Increase link count by 1.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getUniform): Fix a bug where wrong error is generated.
(WebCore::WebGLRenderingContext::linkProgram): call increaseLinkCount after linkProgram.
* html/canvas/WebGLUniformLocation.cpp:
(WebCore::WebGLUniformLocation::WebGLUniformLocation): Set program's link count upon creation.
(WebCore::WebGLUniformLocation::program): Return null if count doesn't match the program's.
(WebCore::WebGLUniformLocation::location): Return -1 if count doesn't match the program's.
* html/canvas/WebGLUniformLocation.h:
2010-12-08 Adele Peterson <adele@apple.com>
Reviewed by Darin Adler.
Fix for https://bugs.webkit.org/show_bug.cgi?id=50725
<rdar://problem/8694972> REGRESSION (r72052): "Search" placeholder in MobileMe mail is positioned too high
Test: fast/forms/placeholder-position.html
Since we center the inner text element for single line text controls,
we should ask the subclass to give us the y offset instead of trying to calculate it in the RenderTextControl class.
* rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::paintPlaceholder):
* rendering/RenderTextControl.h:
* rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::textBlockInsetTop):
* rendering/RenderTextControlMultiLine.h:
* rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
* rendering/RenderTextControlSingleLine.h:
2010-12-08 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add web audio files to mac port Xcode projects
https://bugs.webkit.org/show_bug.cgi?id=50721
No new tests since audio API is not yet implemented.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::webkitAudioContext):
2010-12-08 Kent Tamura <tkent@chromium.org>
Reviewed by Alexey Proskuryakov.
Yensign hack should work with Shift_JIS and ISO-2022-JP encodings.
https://bugs.webkit.org/show_bug.cgi?id=49714
IE chooses a font which shows a yensign for 0x5c code point for a page
encoded in x-mac-japanese, ISO-2022-JP, EUC-JP, Shift_JIS, Shift_JIS_X0213-2000,
x-sjis, and Windows-31J.
We have emulated this behavior by replacing 0x5c with 0xa5 for EUC-JP and
Shift_JIS_X0213-2000. This change adds other encodings above.
Also, we move the HashSet initialization for isJapanese() and
backslashAsCurrencySymbol() to TextEncodingRegistry.cpp because of
ease of making them multi-thread safe.
* platform/text/TextEncoding.cpp:
(WebCore::TextEncoding::isJapanese): Just calls isJapaneseEncoding().
(WebCore::TextEncoding::backslashAsCurrencySymbol): Uses shouldShowBackslashAsCurrencySymbolIn().
* platform/text/TextEncodingRegistry.cpp:
(WebCore::addEncodingName): Moved from TextEncoding.cpp, and stop using atomicCanonicalTextEncodingName().
(WebCore::buildQuirksSets): Added. Initializes HashSets for isJapaneseEncoding() and shouldShowBackslashAsCurrencySymbolIn().
(WebCore::isJapaneseEncoding):
(WebCore::shouldShowBackslashAsCurrencySymbolIn):
(WebCore::extendTextCodecMaps): Add a call to buildQuirksSets().
* platform/text/TextEncodingRegistry.h:
2010-12-08 Andy Estes <aestes@apple.com>
Reviewed by Darin Adler.
Reflected unsigned attributes should be in the range [0, 2^31).
https://bugs.webkit.org/show_bug.cgi?id=50472
HTML5 says that unsigned reflected attributes should be in the range
[0, 2^31). When a value isn't in this range, a default value (or 0)
should be returned instead. Update the JS bindings code generator to
ensure 0 is returned when a content attribute value falls outside of
this range.
Tests: bindings/scripts/test/TestObj.idl
fast/html/marquee-element.html
* bindings/scripts/CodeGeneratorJS.pm: Return the maximum of 0 and the
content attribute as a 32-bit signed int when converting a native value
to an unsigned JS value.
* bindings/scripts/test/TestObj.idl: Add a reflected unsigned attribute
to test code generation.
* bindings/scripts/test/CPP/WebDOMTestObj.cpp: Update test results.
* bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
* bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
* bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
* bindings/scripts/test/JS/JSTestObj.h: Ditto.
* bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
* bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
* bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
2010-12-08 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Martin Robinson.
[GTK] Use gtk_icon_set_render_icon() to render icons in RenderThemeGtk
https://bugs.webkit.org/show_bug.cgi?id=50623
We don't need to cache the icons since the will be cached by GTK+,
and they will be rendered using the state and text direction.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::paintStockIcon):
(WebCore::getMediaButtonIconSize):
(WebCore::RenderThemeGtk::initMediaColors):
(WebCore::RenderThemeGtk::initMediaButtons):
(WebCore::RenderThemeGtk::RenderThemeGtk):
(WebCore::RenderThemeGtk::~RenderThemeGtk):
(WebCore::RenderThemeGtk::gtkIconState):
(WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
(WebCore::centerRectVerticallyInParentInputElement):
(WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
(WebCore::RenderThemeGtk::platformColorsDidChange):
(WebCore::RenderThemeGtk::paintMediaButton):
(WebCore::RenderThemeGtk::paintMediaFullscreenButton):
(WebCore::RenderThemeGtk::paintMediaMuteButton):
(WebCore::RenderThemeGtk::paintMediaPlayButton):
(WebCore::RenderThemeGtk::paintMediaSeekBackButton):
(WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
* platform/gtk/RenderThemeGtk.h:
2010-12-08 Abhishek Arya <inferno@chromium.org>
Reviewed by Dimitri Glazkov.
Detach node iterator and move to new document when node gets moved.
https://bugs.webkit.org/show_bug.cgi?id=50697
Test: fast/dom/node-iterator-document-moved-crash.html
* dom/Document.cpp: Method that takes a node and new document as argument.
It detaches the node iterators belonging to the current document and attaches
them to the new document.
(WebCore::Document::moveNodeIteratorsToNewDocument):
* dom/Document.h: Function definition.
* dom/Node.cpp: When node is moved to another document, call the function to move
the iterators appropriately.
(WebCore::Node::setDocument):
2010-12-08 James Robinson <jamesr@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Text is blurry on a large composited layer with an odd center x/y coordinate
https://bugs.webkit.org/show_bug.cgi?id=50702
Compute the center of a large layer using floats instead of ints to avoid roundoff errors.
Test: compositing/text-on-large-layer.html
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::draw):
2010-12-08 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Dan Bernstein.
REGRESSION: LayoutTests/editing/selection/caret-rtl-2.html fails
https://bugs.webkit.org/show_bug.cgi?id=33503
The bug was caused by Font::offsetForPosition's not taking into account the containing block's text direction.
When RTL text appears in a LTR block, the offset at the beginning of RTL text is on the left of RTL text,
and the offset at the end of RTL text is on the right of RTL text. For example, if we had RTL text CBA,
then the correspondance between letters and offsets in logical order are: A -> 0, B -> 1, and C -> 2.
Case 1. CBA appears in a RTL block:
In this case, clicking on the visual left of CBA puts the caret naturally at Position("CBA", 2).
Clicking on the visual right of CBA puts the caret at Position("CBA", 0) as expected.
Case 2. CBA appears in a LTR block:
Because the containing block flows from left to right, by convention, Position("CBA", 2") corresponds
to the visual right of CBA, and Position("CBA", 0) corresponds to the visual left of CBA.
Therefore, clicking on the visual left of CBA should put the caret at Position("CBA", 0),
and clicking on the visual right should put it at Position("CBA", 2).
The bug was caused by WebKit's not considering case 2. The same bug also exist for LTR text in a RTL block.
Fixed the bug by taking care of the case 2 in InlineTextBox::offsetForPosition.
Tests: editing/selection/caret-ltr-2-left.html
editing/selection/caret-ltr-2.html
editing/selection/caret-ltr-right.html
editing/selection/caret-ltr.html
editing/selection/caret-rtl-2-left.html
editing/selection/caret-rtl-right.html
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::offsetForPosition):
2010-12-08 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Fix some clang++ warnings (one of which was an actual bug)
https://bugs.webkit.org/show_bug.cgi?id=50700
* page/mac/DragControllerMac.mm:
(WebCore::DragController::dragOperation):
Add parentheses to silent a clang warning.
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
Fix || vs && precedence bug uncovered by clang.
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::reshape):
Use an early return to avoid a warning.
2010-12-08 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
https://bugs.webkit.org/show_bug.cgi?id=49388
Added copy constructors and casting operators to go between
TransformationMatrix and CATransform3D. Also added a copy
constructor to go from CGAffineTransform to TransformationMatrix.
Used these new methods to clean up platform CA code. This will
make it easier to port to Windows.
I also fixed a couple of build issues found when trying out a
Windows build.
This is a resubmission of changesets r73477 and r73483 with a
fix for the SL build. The failure was because TransformationMatrix
included QuartzCore/CATransform3D.h which brought in some system
libraries, including Quickdraw, which has a definition for
'Cursor' which clashed with WebCore's 'Cursor' class. So I had
to qualify its use in WebChromeClient.cpp in WebKit2.
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateContentsTransform):
(WebCore::GraphicsLayerCA::ensureCloneLayers):
(WebCore::GraphicsLayerCA::fetchCloneLayers):
* platform/graphics/ca/TransformationMatrixCA.cpp: Copied from WebCore/platform/graphics/ca/TransformationMatrixCA.cpp.
* platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
(PlatformCAAnimation::setFromValue):
(PlatformCAAnimation::setToValue):
(PlatformCAAnimation::setValues):
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::transform):
(PlatformCALayer::setTransform):
(PlatformCALayer::sublayerTransform):
(PlatformCALayer::setSublayerTransform):
(PlatformCALayer::contentsTransform):
(PlatformCALayer::setContentsTransform):
* platform/graphics/cg/TransformationMatrixCG.cpp:
(WebCore::TransformationMatrix::TransformationMatrix):
* platform/graphics/transforms/TransformationMatrix.h:
2010-12-07 Brian Weinstein <bweinstein@apple.com>
Reviewed by John Sullivan.
Layering Violation in ContextMenu - member variable of type HitTestResult
https://bugs.webkit.org/show_bug.cgi?id=50586
ContextMenu had a layering violation by having a member variable of type HitTestResult, because
classes in WebCore/platform can't know about classes in WebCore.
This patch moves the HitTestResult and all functions that use it out of ContextMenu into ContextMenuController.
All of the functions that dealt with populating the ContextMenu are now in ContextMenuController, and this
allowed us to delete the ContextMenu file, putting all of the cross-platform code that used to be it
in ContextMenuController, and the rest of the code is in the platform-specific files.
No change in behavior, no new tests.
* Android.mk: Removed ContextMenu.cpp.
* CMakeLists.txt: Ditto.
* GNUmakefile.am: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::ContextMenuController): Initialized m_hitTestResult to an empty HitTestResult.
(WebCore::ContextMenuController::handleContextMenuEvent): Call populate on the ContextMenuController instead
of the ContextMenu.
(WebCore::ContextMenuController::createContextMenu): Fix some indination, and store the HitTestResult in a member
variable.
(WebCore::ContextMenuController::showContextMenu): Call addInspectElementItem on the ContextMenuController.
(WebCore::ContextMenuController::contextMenuItemSelected): Use m_hitTestResult whenever we need a HitTestResult.
(WebCore::ContextMenuController::appendItem): Validates the item for its state, and then appends it to the parent menu.
This allowed us to move checkOrEnableIfNeeded from ContextMenu.
These functions were all moved from ContextMenu, and changed slightly to fit in ContextMenuController.
All calls to ContextMenu::appendItem were changed to ContextMenuController::appendItem, which takes care
of validating the menu.
(WebCore::separatorItem): Moved from ContextMenu.
(WebCore::ContextMenuController::createAndAppendFontSubMenu): Ditto.
(WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu): Ditto.
(WebCore::ContextMenuController::createAndAppendSpeechSubMenu): Ditto.
(WebCore::ContextMenuController::createAndAppendWritingDirectionSubMenu): Ditto.
(WebCore::ContextMenuController::createAndAppendTextDirectionSubMenu): Ditto.
(WebCore::ContextMenuController::createAndAppendSubstitutionsSubMenu): Ditto.
(WebCore::ContextMenuController::createAndAppendTransformationsSubMenu): Ditto.
(WebCore::selectionContainsPossibleWord): Ditto.
(WebCore::ContextMenuController::populate): Ditto.
(WebCore::ContextMenuController::addInspectElementItem): Ditto.
(WebCore::ContextMenuController::checkOrEnableIfNeeded): Ditto.
* page/ContextMenuController.h:
(WebCore::ContextMenuController::hitTestResult): Returns the HitTestResult of the current ContextMenu.
* platform/ContextMenu.cpp: Removed.
* platform/ContextMenu.h:
* platform/efl/ContextMenuEfl.cpp:
(WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
(WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded.
* platform/gtk/ContextMenuGtk.cpp:
(WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
(WebCore::ContextMenu::appendItem): Ditto.
* platform/haiku/ContextMenuHaiku.cpp:
(WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
(WebCore::ContextMenu::appendItem): Ditto.
(WebCore::ContextMenu::insertItem): Ditto.
* platform/mac/ContextMenuMac.mm:
(-[WebCoreMenuTarget validateMenuItem:]): Calls checkOrEnableIfNeeded on the controller instead of
the context menu.
(WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
(WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded.
(WebCore::ContextMenu::insertItem): Ditto.
* platform/win/ContextMenuWin.cpp:
(WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
(WebCore::ContextMenu::insertItem): Removed the call to checkOrEnableIfNeeded.
* platform/wx/ContextMenuWx.cpp:
(WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
(ContextMenu::appendItem): Ditto.
2010-12-08 Martin Robinson <mrobinson@igalia.com>
Reviewed by John Sullivan.
[GTK] Layering violation in ContextMenuGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=50676
ContextMenuGtk accesses the page's ContextMenuController, which is a layering
violation. This was fixed for Mac with change r73469. We make a similar fix here
by moving the "activated" signal connection to the WebKit layer.
* platform/gtk/ContextMenuGtk.cpp:
(WebCore::ContextMenu::appendItem): Remove access of ContextMenuController. This
is a layering violation.
2010-12-08 Jessie Berlin <jberlin@apple.com>
Reviewed by Adam Roben.
WebKit2: Implement WebChromeClient::exceededDatabaseQuota
https://bugs.webkit.org/show_bug.cgi?id=50656
* WebCore.exp.in:
Export the symbol for SecurityOrigin::databaseIdentifier.
2010-12-08 Csaba Osztrogonác <ossy@webkit.org>
Unreviewed, rolling out r73521.
http://trac.webkit.org/changeset/73521
https://bugs.webkit.org/show_bug.cgi?id=50640
It broke 90 layout tests
* bindings/js/JSDOMBinding.cpp:
(WebCore::printErrorMessageForFrame):
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setLocation):
* page/DOMWindow.cpp:
* page/DOMWindow.h:
2010-12-08 David Hyatt <hyatt@apple.com>
Reviewed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=50576
REGRESSION in position of autocomplete popup on RTL page.
RTL static position computation did not subtract out the width of the enclosing box if the
immediate parent was a RenderInline. This bug was exposed by properly changing the RenderView
to be RTL when the document was RTL.
Added three new tests in fast/block/positioning.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computePositionedLogicalWidth):
2010-12-08 Xiaomei Ji <xji@chromium.org>
Reviewed by David Hyatt.
Fix backward mouse wheeling not working when scroll position is below 0.
https://bugs.webkit.org/show_bug.cgi?id=50370
Tests: fast/events/wheelevent-in-horizontal-scrollbar-in-rtl.html
fast/events/wheelevent-in-vertical-scrollbar-in-rtl.html
* platform/ScrollView.cpp:
(WebCore::ScrollView::wheelEvent):
2010-12-08 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Fix pauseAnimation API to work with shorthand properties
https://bugs.webkit.org/show_bug.cgi?id=50639
The pause API is always called with a long-hand property, but that
property may be animating via a shorthand. Detect this, and pause
such shorthand animations.
* page/animation/AnimationBase.cpp:
(WebCore::ShorthandPropertyWrapper::propertyWrappers): Expose the vector
of wrappers used by a shorthand wrapper.
(WebCore::gatherEnclosingShorthandProperties): Utility function that walks
through the shorthand wrappers, keeping track of which can affect the given
property.
(WebCore::AnimationBase::animatableShorthandsAffectingProperty): Return a set
of shorthand properties that can affect the given property.
* page/animation/AnimationBase.h: New method.
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::pauseTransitionAtTime): If we don't find the
property itself, check whether it's being animated via shorthands.
2010-12-08 David Hyatt <hyatt@apple.com>
Reviewed by Beth Dakin.
<rdar://problem/8740920> Gestures: Frame::scalePage() broken by r73885
Make sure the transform applied to the RenderView for page scaling is incorporated into the
docTop/Bottom/Left/Right accessors.
* rendering/RenderView.cpp:
(WebCore::RenderView::docTop):
(WebCore::RenderView::docBottom):
(WebCore::RenderView::docLeft):
(WebCore::RenderView::docRight):
2010-12-08 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Protocol cleanup task. Remove WebInspector wrappers
for TimelineAgent functions.
https://bugs.webkit.org/show_bug.cgi?id=50690
* inspector/Inspector.idl:
* inspector/front-end/TimelineAgent.js:
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype.timelineProfilerWasStarted):
(WebInspector.TimelinePanel.prototype.timelineProfilerWasStopped):
2010-12-08 Philippe Normand <pnormand@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] media/fullscreen* failing on 64-bits Debug
https://bugs.webkit.org/show_bug.cgi?id=50394
Avoid emiting durationchanged in the case where the previous
duration was 0 because that case is already handled by the
HTMLMediaElement.
Test: media/media-fullscreen*.html
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::durationChanged):
2010-12-07 Darin Adler <darin@apple.com>
Reviewed by Geoffrey Garen.
Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding
https://bugs.webkit.org/show_bug.cgi?id=50640
* bindings/js/JSDOMBinding.cpp:
(WebCore::printErrorMessageForFrame): Removed body; just call through to
DOMWindow::printErrorMessage.
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body;
just call through to DOMWindow::crossDomainAccessErrorMessage.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and
firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most
of the body and moved it into DOMWindow::setLocation.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::setLocation): Added. Does all the same work that
JSDOMWindow::setLocation used to do, but in a way that's not specific
to JavaScript.
(WebCore::DOMWindow::printErrorMessage): Added.
(WebCore::DOMWindow::crossDomainAccessErrorMessage): Added.
* page/DOMWindow.h: Added setLocation, printErrorMessage, and
crossDomainAccessErrorMessage.
2010-12-08 Alejandro G. Castro <alex@igalia.com>
Unreviewed, rolling out r73494.
http://trac.webkit.org/changeset/73494
https://bugs.webkit.org/show_bug.cgi?id=50380
The tests added are crashing in the debug bots (macn and gtk)
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::deselectItems):
(WebCore::HTMLSelectElement::setSelectedIndex):
(WebCore::HTMLSelectElement::setSelectedIndexByUser):
(WebCore::HTMLSelectElement::listBoxSelectItem):
(WebCore::HTMLSelectElement::add):
(WebCore::HTMLSelectElement::remove):
(WebCore::HTMLSelectElement::restoreFormControlState):
(WebCore::HTMLSelectElement::parseMappedAttribute):
(WebCore::HTMLSelectElement::selectAll):
(WebCore::HTMLSelectElement::reset):
(WebCore::HTMLSelectElement::updateListBoxSelection):
(WebCore::HTMLSelectElement::setLength):
* html/HTMLSelectElement.h:
(WebCore::HTMLSelectElement::isOptionalFormControl):
* html/HTMLSelectElement.idl:
* html/ValidityState.cpp:
(WebCore::ValidityState::valueMissing):
2010-12-07 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Inspector protocol cleanup task. Remove
WebInspector wrappers for DOMAgent functions.
There were a lot of wrappers in WebInspector namespace
for different WebInspector agents functions. As far as we have a
generic mechanic for such functions we can remove these
wrappers and register domAgent instance as a handler for
DOM domain notifications.
https://bugs.webkit.org/show_bug.cgi?id=50626
* inspector/Inspector.idl:
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode):
(WebInspector.DOMAgent):
(WebInspector.DOMAgent.prototype.attributesUpdated):
(WebInspector.DOMAgent.prototype.characterDataModified):
(WebInspector.DOMAgent.prototype.setDocument):
(WebInspector.DOMAgent.prototype.setDetachedRoot):
(WebInspector.DOMAgent.prototype.setChildNodes):
(WebInspector.DOMAgent.prototype.childNodeCountUpdated):
(WebInspector.DOMAgent.prototype.childNodeInserted):
(WebInspector.DOMAgent.prototype.childNodeRemoved):
(WebInspector.EventListeners.getEventListenersForNodeAsync):
* inspector/front-end/inspector.js:
(WebInspector.didCommitLoad):
2010-12-08 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: remove groupLevel counter from console messages
https://bugs.webkit.org/show_bug.cgi?id=50672
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::ConsoleMessage):
(WebCore::ConsoleMessage::addToFrontend):
(WebCore::ConsoleMessage::isEqual):
* inspector/ConsoleMessage.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::addMessageToConsole):
(WebCore::InspectorController::clearConsoleMessages):
(WebCore::InspectorController::startGroup):
(WebCore::InspectorController::endGroup):
* inspector/InspectorController.h:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.createFilterElement):
(WebInspector.ConsoleView):
(WebInspector.ConsoleView.prototype.filter):
(WebInspector.ConsoleView.prototype.afterShow):
(WebInspector.ConsoleView.prototype.addMessage):
(WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
(WebInspector.ConsoleView.prototype.clearMessages):
(WebInspector.ConsoleMessage):
(WebInspector.ConsoleMessage.createTextMessage):
(WebInspector.ConsoleMessage.prototype.toMessageElement):
(WebInspector.ConsoleMessage.prototype._addMessageHeader):
(WebInspector.ConsoleMessage.prototype._updateRepeatCount):
(WebInspector.ConsoleMessage.prototype.toString):
(WebInspector.ConsoleMessage.prototype.isEqual):
(WebInspector.ConsoleGroup):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype._checkWarning):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype._addMessageToSource):
* inspector/front-end/inspector.js:
(WebInspector.addConsoleMessage):
(WebInspector.log.logMessage):
(WebInspector.log):
2010-12-07 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: introduce DebuggerModel class representing InspectorDebuggerAgent state.
https://bugs.webkit.org/show_bug.cgi?id=50567
Moved debugging-related code from BreakpointManager to DebuggerModel. Moved Breakpoint class to a separate file.
* English.lproj/localizedStrings.js:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/Breakpoint.js: Added.
(WebInspector.Breakpoint): Moved from BreakpointManager.js.
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager): Remove debugger-related methods.
* inspector/front-end/CallStackSidebarPane.js:
(WebInspector.CallStackSidebarPane):
(WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
(WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit):
* inspector/front-end/DebuggerModel.js: Added.
(WebInspector.DebuggerModel): Moved debugger-related methods from BreakpointManager.
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype.continueToLine):
(WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
(WebInspector.ScriptsPanel.prototype.editScriptSource):
(WebInspector.ScriptsPanel.prototype._debuggerPaused):
(WebInspector.ScriptsPanel.prototype._debuggerResumed):
(WebInspector.ScriptsPanel.prototype.reset):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype._createViewerIfNeeded):
(WebInspector.SourceFrameDelegate.prototype.addBreakpoint):
(WebInspector.SourceFrameDelegate.prototype.breakpoints):
(WebInspector.SourceFrameDelegate.prototype.findBreakpoint):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector.createJSBreakpointsSidebarPane):
(WebInspector.restoredBreakpoint):
(WebInspector.pausedScript):
(WebInspector.resumedScript):
(WebInspector.reset):
2010-12-08 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: SourceFrame refactoring.
https://bugs.webkit.org/show_bug.cgi?id=50223
SourceFrame should ask BreakpointManager about existing breakpoints instead of maintaining
it's own storages. Move common code from ScriptView and SourceView to SourceFrame.
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype.findBreakpoints):
(WebInspector.BreakpointManager.prototype.findBreakpoint):
* inspector/front-end/Script.js:
(WebInspector.Script):
(WebInspector.Script.prototype.get linesCount):
(WebInspector.Script.prototype.get source):
(WebInspector.Script.prototype.set source):
* inspector/front-end/ScriptView.js:
(WebInspector.ScriptView):
(WebInspector.ScriptView.prototype._scriptSourceChanged):
(WebInspector.ScriptFrameDelegateImpl):
(WebInspector.ScriptFrameDelegateImpl.prototype.canEditScripts):
(WebInspector.ScriptFrameDelegateImpl.prototype.editLineComplete):
(WebInspector.ScriptFrameDelegateImpl.prototype.scripts):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame): Add common methods of ScriptView and SourceView.
(WebInspector.SourceFrameDelegate):
(WebInspector.SourceFrameDelegate.prototype.canEditScripts):
(WebInspector.SourceFrameDelegate.prototype.editLineComplete):
(WebInspector.SourceFrameDelegate.prototype.scripts):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView):
(WebInspector.SourceView.prototype._contentLoaded):
(WebInspector.ResourceFrameDelegateImpl):
(WebInspector.ResourceFrameDelegateImpl.prototype.canEditScripts):
(WebInspector.ResourceFrameDelegateImpl.prototype.editLineComplete):
(WebInspector.ResourceFrameDelegateImpl.prototype.scripts):
2010-12-08 Yuta Kitamura <yutak@chromium.org>
Unreviewed, rolling out r73492.
http://trac.webkit.org/changeset/73492
https://bugs.webkit.org/show_bug.cgi?id=49914
Caused a lot of pixel test failures and broke Windows build.
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::createGraphicsContextPrivate):
(WebCore::GraphicsContext::destroyGraphicsContextPrivate):
(WebCore::GraphicsContext::save):
(WebCore::GraphicsContext::restore):
(WebCore::GraphicsContext::setStrokeThickness):
(WebCore::GraphicsContext::setStrokeStyle):
(WebCore::GraphicsContext::setStrokeColor):
(WebCore::GraphicsContext::setShadow):
(WebCore::GraphicsContext::clearShadow):
(WebCore::GraphicsContext::getShadow):
(WebCore::GraphicsContext::strokeThickness):
(WebCore::GraphicsContext::strokeStyle):
(WebCore::GraphicsContext::strokeColor):
(WebCore::GraphicsContext::strokeColorSpace):
(WebCore::GraphicsContext::fillRule):
(WebCore::GraphicsContext::setFillRule):
(WebCore::GraphicsContext::setFillColor):
(WebCore::GraphicsContext::fillColor):
(WebCore::GraphicsContext::fillColorSpace):
(WebCore::GraphicsContext::setShouldAntialias):
(WebCore::GraphicsContext::shouldAntialias):
(WebCore::GraphicsContext::setStrokePattern):
(WebCore::GraphicsContext::setFillPattern):
(WebCore::GraphicsContext::setStrokeGradient):
(WebCore::GraphicsContext::setFillGradient):
(WebCore::GraphicsContext::fillGradient):
(WebCore::GraphicsContext::strokeGradient):
(WebCore::GraphicsContext::fillPattern):
(WebCore::GraphicsContext::strokePattern):
(WebCore::GraphicsContext::setShadowsIgnoreTransforms):
(WebCore::GraphicsContext::updatingControlTints):
(WebCore::GraphicsContext::setUpdatingControlTints):
(WebCore::GraphicsContext::setPaintingDisabled):
(WebCore::GraphicsContext::paintingDisabled):
(WebCore::GraphicsContext::textDrawingMode):
(WebCore::GraphicsContext::setTextDrawingMode):
* platform/graphics/GraphicsContext.h:
* platform/graphics/GraphicsContextPrivate.h: Added.
(WebCore::GraphicsContextState::GraphicsContextState):
(WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::setPlatformFill):
(WebCore::setPlatformStroke):
(WebCore::drawPathShadow):
(WebCore::fillCurrentCairoPath):
(WebCore::strokeCurrentCairoPath):
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::~GraphicsContext):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::strokeRect):
(WebCore::GraphicsContext::setAlpha):
(WebCore::GraphicsContext::getAlpha):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::~GraphicsContext):
(WebCore::GraphicsContext::applyStrokePattern):
(WebCore::GraphicsContext::applyFillPattern):
(WebCore::GraphicsContext::drawPath):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::strokeRect):
* platform/graphics/haiku/GraphicsContextHaiku.cpp:
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::~GraphicsContext):
* platform/graphics/openvg/GraphicsContextOpenVG.cpp:
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::~GraphicsContext):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::clipOut):
(WebCore::GraphicsContext::addInnerRoundedRectClip):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::~GraphicsContext):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::~GraphicsContext):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::GraphicsContext::GraphicsContext):
* platform/graphics/win/GraphicsContextCairoWin.cpp:
(WebCore::GraphicsContext::GraphicsContext):
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::~GraphicsContext):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::fillRect):
* platform/graphics/wx/GraphicsContextWx.cpp:
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::~GraphicsContext):
2010-12-08 Dai Mikurube <dmikurube@google.com>
Reviewed by Kent Tamura.
Implement "required" attribute for select tags
https://bugs.webkit.org/show_bug.cgi?id=50380
Test: fast/forms/select-live-pseudo-selectors.html
platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface.
(WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck().
(WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck().
(WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified.
(WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180.
(WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck().
(WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck().
(WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck().
(WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck().
(WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck().
(WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck().
(WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated..
(WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck().
(WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not.
(WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added.
* html/HTMLSelectElement.h:
(WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required.
* html/HTMLSelectElement.idl: Added a required attribute to select elements..
* html/ValidityState.cpp:
(WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing().
2010-12-08 Renata Hodovan <reni@webkit.org>
Reviewed by Andreas Kling.
GraphicsContext: Merge m_common and m_data
https://bugs.webkit.org/show_bug.cgi?id=49914
Move data members from GraphicsContextPrivate into GraphicsContext. So GraphicsContextPlatform.h
and m_common became unnecessary. They are removed.
Add two methods to GraphicsContext: platformInit() and platformDestroy(), which
make the constructor of GraphicsContext clearer.
Besides add a getter to the private GraphicsContext::m_state member, because some inline
functions in cairo need it.
No new test is needed, because this is a refactoring.
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::~GraphicsContext):
(WebCore::GraphicsContext::save):
(WebCore::GraphicsContext::restore):
(WebCore::GraphicsContext::setStrokeThickness):
(WebCore::GraphicsContext::setStrokeStyle):
(WebCore::GraphicsContext::setStrokeColor):
(WebCore::GraphicsContext::setShadow):
(WebCore::GraphicsContext::clearShadow):
(WebCore::GraphicsContext::getShadow):
(WebCore::GraphicsContext::strokeThickness):
(WebCore::GraphicsContext::strokeStyle):
(WebCore::GraphicsContext::strokeColor):
(WebCore::GraphicsContext::strokeColorSpace):
(WebCore::GraphicsContext::fillRule):
(WebCore::GraphicsContext::setFillRule):
(WebCore::GraphicsContext::setFillColor):
(WebCore::GraphicsContext::fillColor):
(WebCore::GraphicsContext::fillColorSpace):
(WebCore::GraphicsContext::setShouldAntialias):
(WebCore::GraphicsContext::shouldAntialias):
(WebCore::GraphicsContext::state):
(WebCore::GraphicsContext::setStrokePattern):
(WebCore::GraphicsContext::setFillPattern):
(WebCore::GraphicsContext::setStrokeGradient):
(WebCore::GraphicsContext::setFillGradient):
(WebCore::GraphicsContext::fillGradient):
(WebCore::GraphicsContext::strokeGradient):
(WebCore::GraphicsContext::fillPattern):
(WebCore::GraphicsContext::strokePattern):
(WebCore::GraphicsContext::setShadowsIgnoreTransforms):
(WebCore::GraphicsContext::updatingControlTints):
(WebCore::GraphicsContext::setUpdatingControlTints):
(WebCore::GraphicsContext::setPaintingDisabled):
(WebCore::GraphicsContext::paintingDisabled):
(WebCore::GraphicsContext::textDrawingMode):
(WebCore::GraphicsContext::setTextDrawingMode):
* platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContextState::GraphicsContextState):
* platform/graphics/GraphicsContextPrivate.h: Removed.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::setPlatformFill):
(WebCore::setPlatformStroke):
(WebCore::drawPathShadow):
(WebCore::fillCurrentCairoPath):
(WebCore::strokeCurrentCairoPath):
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::platformDestroy):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::strokeRect):
(WebCore::GraphicsContext::setAlpha):
(WebCore::GraphicsContext::getAlpha):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::platformDestroy):
(WebCore::GraphicsContext::applyStrokePattern):
(WebCore::GraphicsContext::applyFillPattern):
(WebCore::GraphicsContext::drawPath):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::strokeRect):
* platform/graphics/haiku/GraphicsContextHaiku.cpp:
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::platformDestroy):
* platform/graphics/openvg/GraphicsContextOpenVG.cpp:
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::platformDestroy):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::clipOut):
(WebCore::GraphicsContext::addInnerRoundedRectClip):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::platformDestroy):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::platformDestroy):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::GraphicsContext::platformInit):
* platform/graphics/win/GraphicsContextCairoWin.cpp:
(WebCore::GraphicsContext::platformInit):
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::platformDestroy):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::fillRect):
* platform/graphics/wx/GraphicsContextWx.cpp:
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::platformDestroy):
2010-12-07 Anton Muhin <antonm@chromium.org>
Reviewed by Nate Chapin.
Port http://trac.webkit.org/changeset/72819/ to v8-backed ports.
https://bugs.webkit.org/show_bug.cgi?id=50246
* bindings/v8/V8DOMMap.h:
(WebCore::AbstractWeakReferenceMap::Visitor::startMap):
(WebCore::AbstractWeakReferenceMap::Visitor::endMap):
(WebCore::WeakReferenceMap::visit):
* bindings/v8/V8GCController.cpp:
(WebCore::GrouperItem::GrouperItem):
(WebCore::GrouperItem::groupId):
(WebCore::makeV8ObjectGroups):
(WebCore::NodeGrouperVisitor::NodeGrouperVisitor):
(WebCore::NodeGrouperVisitor::visitDOMWrapper):
(WebCore::NodeGrouperVisitor::applyGrouping):
(WebCore::DOMObjectGrouperVisitor::ObjectGrouperVisitor):
(WebCore::DOMObjectGrouperVisitor::startMap):
(WebCore::DOMObjectGrouperVisitor::endMap):
(WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
(WebCore::V8GCController::gcPrologue):
2010-12-07 Daniel Bates <dbates@rim.com>
Reviewed by Martin Robinson.
Implement focus ring support for image maps
https://bugs.webkit.org/show_bug.cgi?id=50371
Implement GraphicsContext::drawFocusRing(const Path&, ...) so as to support
drawing a focus ring for image maps.
Tests: fast/images/imagemap-circle-focus-ring.html
fast/images/imagemap-polygon-focus-ring.html
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::adjustFocusRingColor): Added.
(WebCore::adjustFocusRingLineWidth): Added.
(WebCore::focusRingStrokeStyle): Added.
(WebCore::GraphicsContext::drawFocusRing): Moved code for determining focus ring- color,
line width and stroke style into functions adjustFocusRingColor(), adjustFocusRingLineWidth(),
and focusRingStrokeStyle(), respectively. Implemented GraphicsContext::drawFocusRing(const Path&, ...).
2010-12-07 Sergio Villar Senin <svillar@igalia.com>
Reviewed by Xan Lopez.
[GTK] WebKitSoupCache fails to load resources when cache contents are externally removed
https://bugs.webkit.org/show_bug.cgi?id=50577
Try to download cached resources again if they are no longer
accesible by the cache.
* platform/network/soup/cache/soup-request-http.c:
(send_async_cb):
(webkit_soup_request_http_send_async):
2010-12-06 MORITA Hajime <morrita@google.com>
Reviewed by Dimitri Glazkov.
RenderIndicator subclasses should not change the render tree during layout.
https://bugs.webkit.org/show_bug.cgi?id=50026
The old code created shadow elements during a layout computation,
that makes the layout state inconsisntent and cause an assertion failure.
This change created shadow elements before the layout to avoid
state inconsistencies.
Instead of creating shadows on demand, RenderMeter and
RenderProgress now create all necessary shadows before layouts,
and change its visibilities during the layout: Changing
visibilities doesn't trigger relayout and keep the state
consistent.
RenderMeter uses new HidablePartElement for shadow elements,
which can toggle visibiliby between hidden and original value.
Test: fast/dom/HTMLMeterElement/meter-element-crash.html
* html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::attach): Calling updateFromElement()
* html/HTMLMeterElement.h:
* html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::attach): Calling updateFromElement()
* html/HTMLProgressElement.h:
* rendering/RenderIndicator.cpp:
* rendering/RenderIndicator.h:
* rendering/RenderMeter.cpp:
(WebCore::MeterPartElement::MeterPartElement): Added to hold a restorable visibility.
(WebCore::MeterPartElement::createForPart):
(WebCore::MeterPartElement::hide):
(WebCore::MeterPartElement::restoreVisibility):
(WebCore::MeterPartElement::updateStyleForPart):
(WebCore::MeterPartElement::saveVisibility):
(WebCore::RenderMeter::~RenderMeter):
(WebCore::RenderMeter::createPart): Extracted
(WebCore::RenderMeter::updateFromElement): Had a shadow generation.
(WebCore::RenderMeter::layoutParts): Removed shadow generation code.
(WebCore::RenderMeter::shouldHaveParts):
(WebCore::RenderMeter::valuePartRect): Adopted orientation.
(WebCore::RenderMeter::orientation): Morphed from isHorizontal()
(WebCore::RenderMeter::valuePseudoId): Adoptedn orientation
(WebCore::RenderMeter::barPseudoId): Adopted orientation.
* rendering/RenderMeter.h:
(WebCore::RenderMeter::shadowAttached):
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::updateFromElement): Had a shadow generation.
(WebCore::RenderProgress::layoutParts):
* rendering/RenderProgress.h:
* rendering/ShadowElement.cpp:
(WebCore::ShadowBlockElement::createForPart): Extracted initAsPart().
(WebCore::ShadowBlockElement::initAsPart): Extracted from createForPart().
* rendering/ShadowElement.h:
2010-11-29 Mihai Parparita <mihaip@chromium.org>
Reviewed by Adam Barth.
returning to a POST result within a frame does a GET instead of a POST
https://bugs.webkit.org/show_bug.cgi?id=10199
FrameLoader::loadURLIntoChildFrame had a check for whether a frame
had a HistoryItem, and if so used that item's URL. However, that did
not handle the case where the HistoryItem had FormData and thus was the
result of a POST request. FrameLoader::navigateToDifferentDocument (now
renamed to loadDifferentDocumentItem) does all that, so just switch to
using it instead.
Besides the bug fix, the only difference in behavior is that we use the
HistoryItem's URL instead of original URL when restoring it in a child
frame. This seems desirable too (for consistency with other browsers, and
so that we can avoid form double-submits for forms that that do
POST-then-redirect), and is tested by
fast/history/history-back-initial-vs-final-url.html.
Tests: fast/history/history-back-initial-vs-final-url.html
http/tests/navigation/post-frames-goback1.html
http/tests/navigation/postredirect-frames-goback1.html
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURLIntoChildFrame): Switch to using
loadDifferentDocumentItem. Also cleaned up ordering slightly (if
on the archive path, there's no need to do any of the other checks).
(WebCore::FrameLoader::loadDifferentDocumentItem): Renamed from
navigateToDifferentDocument so that calling it from loadItem and
loadURLIntoChildFrame flows more easily.
(WebCore::FrameLoader::loadSameDocumentItem): Similarly, renamed from
navigateWithinDocument.
(WebCore::FrameLoader::loadItem): Update callsites to the above methods.
* loader/FrameLoader.h:
2010-12-07 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
Made tables repaint correctly in all writing modes
Part of: Make tables work with vertical text
https://bugs.webkit.org/show_bug.cgi?id=46417
Tests: fast/repaint/table-writing-modes-h.html
fast/repaint/table-writing-modes-v.html
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::paintObject): Compute the ranges of rows and
columns to repaint based on the logical extent of the repaint rect.
2010-12-07 Alexey Marinichev <amarinichev@chromium.org>
Reviewed by James Robinson.
[chromium] compositor lost context recovery fix
https://bugs.webkit.org/show_bug.cgi?id=50614
To test, load a page that triggers the compositor, kill the GPU
process and hover over a link to redraw and thus restart the GPU
process. Without this patch it will assert in
ContentLayerChromium::updateTextureRect; with this patch it will not.
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setNeedsDisplay):
2010-12-07 Anders Carlsson <andersca@apple.com>
Fix the last clang++ build error.
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::animationForKey):
Cast the returned animation to the correct type.
2010-12-07 Anders Carlsson <andersca@apple.com>
Fix some clang++ build errors.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
Remove unused variable.
* platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
Fix constness of pointers.
2010-12-07 Simon Fraser <simon.fraser@apple.com>
Reviewed by Chris Marrin.
Fix the Color -> CGColorRef conversions for the debug colors
used for compositing layers.
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::setBackgroundColor):
(PlatformCALayer::setBorderColor):
2010-12-07 Brian Weinstein <bweinstein@apple.com>
Reviewed by John Sullivan.
Part of Layering Violation in ContextMenu
https://bugs.webkit.org/show_bug.cgi?id=50586
ContextMenuMac.mm had a WebCoreMenuTarget class, which was responsible for wrapping
a ContextMenuItem, and calling through to the ContextMenuController to validate it
and call a function when it was selected.
It was a layering violation to have this class here, because ContextMenu can't know
about ContextMenuController.
This patch moves the class that wraps the ContextMenuItems to WebKit/mac/WebHTMLView.mm,
and sets up the menu targets there.
No change in behavior, no new tests.
* WebCore.exp.in: Added function that needs to be exported.
* platform/mac/ContextMenuMac.mm:
(WebCore::ContextMenu::ContextMenu): Don't set the sharedMenuTarget anymore.
(WebCore::ContextMenu::appendItem): Don't call setMenuItemTarget (this is done in WebKit now).
(WebCore::ContextMenu::insertItem): Ditto.
2010-12-07 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
-webkit-transition Fails on Multiple text-shadow Shadows
https://bugs.webkit.org/show_bug.cgi?id=42281
When transitioning multiple shadows, the blend function for
ShadowData dropped all but the first and last shadow because
of a failure to append to the end of the list. Fixed.
Test: transitions/multiple-text-shadow-transition.html
* page/animation/AnimationBase.cpp:
(WebCore::PropertyWrapperShadow::blend):
2010-12-07 Simon Fraser <simon.fraser@apple.com>
Reviewed by Beth Dakin.
CSS animation doesn't work for border-radius
https://bugs.webkit.org/show_bug.cgi?id=48340
Include CSSPropertyBorderRadius in the list of shorthand
properties, so that the individual border-radius properties
get animated.
Test: transitions/border-radius-transition.html
* page/animation/AnimationBase.cpp:
(WebCore::addShorthandProperties):
2010-12-07 Maciej Stachowiak <mjs@apple.com>
Reviewed by Kent Tamura.
Implement HTML5 hidden attribute
https://bugs.webkit.org/show_bug.cgi?id=40511
Test: fast/html/hidden-attr.html
* html/HTMLElement.cpp:
(WebCore::HTMLElement::mapToEntry): Pick up hidden as a global mapped attribute.
(WebCore::HTMLElement::parseMappedAttribute): Map hidden attribute to display: none.
2010-12-07 Kenneth Russell <kbr@google.com>
Reviewed by David Levin.
Fix compilation of core web audio files on Windows
https://bugs.webkit.org/show_bug.cgi?id=50603
Changed a few constructs using C99 features of math.h to use
wtf/MathExtras.h instead. Changed inline definitions of a couple of
const static doubles in classes to out-of-line. Built Chrome with
web audio enabled on Windows and Mac OS X to test these changes.
No new tests since audio API is not yet implemented.
* WebCore.gypi:
* platform/audio/AudioResampler.cpp:
* platform/audio/Biquad.cpp:
(WebCore::Biquad::setLowpassParams):
(WebCore::Biquad::setHighpassParams):
(WebCore::Biquad::setLowShelfParams):
* platform/audio/Cone.cpp:
(WebCore::ConeEffect::gain):
* platform/audio/EqualPowerPanner.cpp:
(WebCore::EqualPowerPanner::pan):
* platform/audio/FFTFrame.cpp:
(WebCore::FFTFrame::interpolateFrequencyComponents):
(WebCore::FFTFrame::extractAverageGroupDelay):
(WebCore::FFTFrame::addConstantGroupDelay):
* platform/audio/HRTFKernel.cpp:
* platform/audio/HRTFPanner.cpp:
* webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::readFromBufferWithGrainEnvelope):
* webaudio/AudioPannerNode.cpp:
(WebCore::AudioPannerNode::getAzimuthElevation):
* webaudio/AudioParam.cpp: Added.
(AudioParam::setValue):
(AudioParam::smooth):
* webaudio/AudioParam.h:
* webaudio/RealtimeAnalyser.cpp:
2010-11-25 Philippe Normand <pnormand@igalia.com>
Reviewed by Martin Robinson.
[GStreamer] faster elements linking
https://bugs.webkit.org/show_bug.cgi?id=50067
Perform less checks during GStreamer elements linking if building
against GStreamer >= 0.10.30.
* platform/graphics/gstreamer/GStreamerGWorld.cpp:
(WebCore::GStreamerGWorld::enterFullscreen):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
2010-12-07 Philippe Normand <pnormand@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GStreamer] ::buffered() should return multiple ranges in some cases
https://bugs.webkit.org/show_bug.cgi?id=45101
Improved the ::buffered() method thanks to the new buffering query
support that landed in GStreamer 0.10.31. The method now
queries the media buffered-ranges on the pipeline and queue2
handles it if it's buffering the media to disk.
The webkitwebsrc element also gained BYTES duration query
support. This is needed in the rare cases where uridecodebin
configures its queue before the HTTP server returns the media
Content-Length.
Test: http/tests/media/video-buffered.html
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::buffered):
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webkit_web_src_init):
(webKitWebSrcQuery): Make webkitwebsrc handle the duration queries
if it's aware of the media content-length.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::paintMediaSliderTrack): Fix position of
the second and next buffered ranges.
2010-12-07 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Antonio Gomes.
Spatial navigation not Working for Map and Area Tags
https://bugs.webkit.org/show_bug.cgi?id=47142
Give area elements special treatment in spatial navigation algorithm by getting the
rect of the area from the associated image. Since area elements are likely to overlap
if they are not rects, or if authors are not careful, we flatten the rect of area elements.
Tests: fast/spatial-navigation/snav-imagemap-area-not-focusable.html
fast/spatial-navigation/snav-imagemap-area-without-image.html
fast/spatial-navigation/snav-imagemap-overlapped-areas.html
fast/spatial-navigation/snav-imagemap-simple.html
* page/FocusController.cpp:
(WebCore::FocusController::findFocusCandidateInContainer):
(WebCore::FocusController::advanceFocusDirectionallyInContainer):
(WebCore::FocusController::advanceFocusDirectionally):
* page/SpatialNavigation.cpp:
(WebCore::FocusCandidate::FocusCandidate):
(WebCore::virtualRectForDirection):
(WebCore::virtualRectForAreaElementAndDirection):
* page/SpatialNavigation.h:
(WebCore::FocusCandidate::FocusCandidate):
2010-12-07 Darin Adler <darin@apple.com>
Try to fix V8 build.
* bindings/generic/BindingDOMWindow.h:
(WebCore::BindingDOMWindow::createWindow): Pass security origin.
2010-12-07 Darin Adler <darin@apple.com>
Another build fix.
* loader/CrossOriginAccessControl.cpp: Added a missing include.
2010-12-07 Darin Adler <darin@apple.com>
Try to fix build.
* plugins/PluginView.cpp:
(WebCore::PluginView::start): Pass security origin.
(WebCore::PluginView::getURLNotify): Ditto.
(WebCore::PluginView::getURL): Ditto.
(WebCore::PluginView::handlePost): Ditto.
2010-12-06 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Pass security origin to make local file decision correctly
https://bugs.webkit.org/show_bug.cgi?id=48603
* bindings/generic/BindingDOMWindow.h:
(WebCore::BindingDOMWindow::createWindow): Pass security origin.
(WebCore::BindingDOMWindow::open): Ditto.
* bindings/generic/BindingFrame.h:
(WebCore::BindingFrame::navigateIfAllowed): Ditto.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setLocation): Pass security origin.
(WebCore::createWindow): Ditto.
(WebCore::JSDOMWindow::open): Ditto.
* bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::setLocation): Pass security origin.
* dom/Document.cpp:
(WebCore::Document::processHttpEquiv): Pass security origin.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::openInInspectedWindow):
Pass security origin.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::changeLocation): Added a security origin
argument, passed through to urlSelected.
(WebCore::FrameLoader::urlSelected): Replaced the resource request
and frame name arguments with a frame load request arguments in one
overload, and changed the other overload to pass in the current
frame's document for the security origin.
(WebCore::FrameLoader::loadFrameRequest): Moved the canDisplay
check before the referrer computation because it no longer needs
to look at the referrer. Replaced the call to canDisplay that
used the target frame's security origin and the call to
deprecatedCanDisplay with a single call to canDisplay that uses
the requester security origin.
* loader/FrameLoader.h: Updated for argument changes above.
* loader/NavigationScheduler.cpp:
(WebCore::ScheduledURLNavigation::ScheduledURLNavigation): Added
a security origin.
(WebCore::ScheduledURLNavigation::fire): Pass the security origin
in to FrameLoader::changeLocation.
(WebCore::ScheduledURLNavigation::securityOrigin): Added.
(WebCore::ScheduledRedirect::ScheduledRedirect): Added a security
origin argument.
(WebCore::ScheduledLocationChange::ScheduledLocationChange): Ditto.
(WebCore::ScheduledRefresh::ScheduledRefresh): Ditto.
(WebCore::ScheduledRefresh::fire): Pass the security origin in to
FrameLoader::changeLocation.
(WebCore::ScheduledFormSubmission::fire): Include the security
origin when constructing form submission.
(WebCore::NavigationScheduler::scheduleRedirect): Include the security
origin when creating the scheduled navigation object.
(WebCore::NavigationScheduler::scheduleLocationChange): Ditto.
(WebCore::NavigationScheduler::scheduleRefresh): Ditto.
* loader/NavigationScheduler.h: Added the security origin argument
to scheduleLocationChange.
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadOrRedirectSubframe): Pass in the security
origin when calling scheduleLocationChange.
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::selectCache): Ditto.
* page/ContextMenuController.cpp:
(WebCore::openNewWindow): Pass in the security origin.
(WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
* page/FrameLoadRequest.h: Added a security origin called the requester
to all FrameLoadRequest objects.
* page/XSSAuditor.cpp:
(WebCore::XSSAuditor::findInRequest): Added the security origin.
2010-12-07 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: avoid initializing Context on when creating attaching listener to ScriptDebugServer
https://bugs.webkit.org/show_bug.cgi?id=50627
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::addListener): don't try to collect already parsed scripts if context has
not been initialized yet.
2010-12-07 Csaba Osztrogonác <ossy@webkit.org>
Unreviewed. Rolling out r73421, because it made transitions/color-transition-all.html flakey.
* page/animation/AnimationBase.cpp:
(WebCore::addShorthandProperties):
2010-12-07 Martin Robinson <mrobinson@igalia.com>
Unreviewed, rolling out r73392.
http://trac.webkit.org/changeset/73392
https://bugs.webkit.org/show_bug.cgi?id=50489
This commit caused crashes on the GTK+ bots
* bindings/ScriptControllerBase.cpp:
(WebCore::ScriptController::executeIfJavaScriptURL):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::close):
(WebCore::Document::lastModified):
(WebCore::Document::finishedParsing):
(WebCore::Document::initSecurityContext):
(WebCore::Document::updateURLForPushOrReplaceState):
* dom/Document.h:
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::checkStyleSheet):
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::scriptCharset):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
* html/MediaDocument.cpp:
(WebCore::MediaDocument::replaceMediaElementTimerFired):
* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::createDocumentStructure):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::commitData):
(WebCore::DocumentLoader::setupForReplaceByMIMEType):
(WebCore::DocumentLoader::setFrame):
* loader/DocumentLoader.h:
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::begin):
* loader/DocumentWriter.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::init):
(WebCore::FrameLoader::clear):
(WebCore::FrameLoader::receivedFirstData):
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::open):
(WebCore::FrameLoader::finishedLoadingDocument):
(WebCore::FrameLoader::addExtraFieldsToRequest):
* loader/FrameLoader.h:
(WebCore::FrameLoader::writer):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestPreload):
* platform/network/FormDataBuilder.cpp:
(WebCore::FormDataBuilder::encodingFromAcceptCharset):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
2010-12-07 Patrick Gansterer <paroga@webkit.org>
Reviewed by Andreas Kling.
[CMake] Remove WebKitGenerators
https://bugs.webkit.org/show_bug.cgi?id=50445
Move remaining logic into main CMakeLists.txt.
* CMakeLists.txt:
2010-12-07 Justin Schuh <jschuh@chromium.org>
Reviewed by Nikolas Zimmermann.
Clear old SVG cursor entry before adding a new one
https://bugs.webkit.org/show_bug.cgi?id=50549
Test: svg/css/cursor-replace.svg
* css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::~CSSCursorImageValue):
* svg/SVGCursorElement.cpp:
(WebCore::SVGCursorElement::~SVGCursorElement):
(WebCore::SVGCursorElement::removeClient):
(WebCore::SVGCursorElement::removeReferencedElement):
* svg/SVGCursorElement.h:
* svg/SVGElement.cpp:
(WebCore::SVGElement::setCursorElement):
(WebCore::SVGElement::cursorElementRemoved):
(WebCore::SVGElement::setCursorImageValue):
(WebCore::SVGElement::cursorImageElementRemoved):
* svg/SVGElement.h:
2010-12-07 Kenichi Ishibashi <bashi@google.com>
Reviewed by Kent Tamura.
Let HTMLObjectElement be a form associated element
https://bugs.webkit.org/show_bug.cgi?id=48821
Introduces FormAssociatedElement class which would be a super class
of form assocated elements. Some of member functions and variables of
HTMLFormControlElement are migrated into this class.
Following the HTML5 spec, HTMLFormControlElement class and
HTMLObjectElement class are subclasses of it for now.
Test: fast/forms/form-collection-elements-order.html
* Android.mk: Added FormAssociatedElement.cpp
* CMakeLists.txt: Ditto.
* GNUmakefile.am: Added FormAssociatedElement.{cpp,h}
* WebCore.exp.in: Added the symbol for toHTMLElement(FormAssociatedElement*)
* WebCore.gypi: Added FormAssociatedElement.{cpp,h}
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* dom/CheckedRadioButtons.h: Fixed class forward declaration order.
* dom/Document.cpp:
(WebCore::Document::registerFormElementWithFormAttribute): Modified to
use FormAssociatedElement instead of HTMLFormControlElement
(WebCore::Document::unregisterFormElementWithFormAttribute): Ditto.
(WebCore::Document::resetFormElementsOwner):
* dom/Document.h: Ditto.
* html/DOMFormData.cpp: Ditto.
(WebCore::DOMFormData::DOMFormData):
* html/FormAssociatedElement.cpp: Copied and renamed from WebCore/html/HTMLFormControlElement.cpp.
(WebCore::FormAssociatedElement::FormAssociatedElement):
(WebCore::FormAssociatedElement::~FormAssociatedElement):
(WebCore::FormAssociatedElement::validity):
(WebCore::FormAssociatedElement::insertedIntoTree):
(WebCore::FormAssociatedElement::removedFromTree):
(WebCore::FormAssociatedElement::removeFromForm):
(WebCore::FormAssociatedElement::resetFormOwner):
(WebCore::FormAssociatedElement::formAttributeChanged):
(WebCore::toHTMLElement):
* html/FormAssociatedElement.h: Ditto.
(WebCore::FormAssociatedElement::ref):
(WebCore::FormAssociatedElement::deref):
(WebCore::FormAssociatedElement::formDestroyed):
(WebCore::FormAssociatedElement::setForm):
* html/HTMLElement.h: Changed the access level of findFormAncestor().
* html/HTMLFormCollection.cpp:
(WebCore::HTMLFormCollection::item): Modified to use FormAssociatedElement
instead of HTMLFormControlElement.
(WebCore::HTMLFormCollection::getNamedFormItem): Ditto.
(WebCore::HTMLFormCollection::updateNameCache): Ditto.
* html/HTMLFormControlElement.cpp: Modified regarding with the change of class
hierarchy.
(WebCore::HTMLFormControlElement::HTMLFormControlElement):
(WebCore::HTMLFormControlElement::~HTMLFormControlElement):
(WebCore::HTMLFormControlElement::insertedIntoTree):
(WebCore::HTMLFormControlElement::removedFromTree):
(WebCore::HTMLFormControlElement::supportsFocus):
(WebCore::HTMLFormControlElement::checkValidity):
(WebCore::HTMLFormControlElement::virtualForm):
(WebCore::HTMLFormControlElement::isDefaultButtonForForm):
(WebCore::HTMLFormControlElement::attributeChanged):
* html/HTMLFormControlElement.h: Ditto.
(WebCore::HTMLFormControlElement::form):
(WebCore::HTMLFormControlElement::disabled):
(WebCore::HTMLFormControlElement::type):
(WebCore::HTMLFormControlElement::refFormAssociatedElement):
(WebCore::HTMLFormControlElement::derefFormAssociatedElement):
* html/HTMLFormElement.cpp: Modified to use FormAssociatedElement
instead of HTMLFormControlElement.
(WebCore::HTMLFormElement::submitImplicitly):
(WebCore::HTMLFormElement::validateInteractively):
(WebCore::HTMLFormElement::submit):
(WebCore::HTMLFormElement::reset):
(WebCore::HTMLFormElement::formElementIndexWithFormAttribute):
(WebCore::HTMLFormElement::formElementIndex):
(WebCore::HTMLFormElement::registerFormElement):
(WebCore::HTMLFormElement::removeFormElement):
(WebCore::HTMLFormElement::defaultButton):
(WebCore::HTMLFormElement::checkValidity):
(WebCore::HTMLFormElement::collectUnhandledInvalidControls):
(WebCore::HTMLFormElement::documentDidBecomeActive):
* html/HTMLFormElement.h: Ditto.
(WebCore::HTMLFormElement::associatedElements):
* html/HTMLInputElement.cpp: Ditto.
(WebCore::HTMLInputElement::updateCheckedRadioButtons):
* html/HTMLObjectElement.cpp: Modified regarding with the change of class
hierarchy.
(WebCore::HTMLObjectElement::HTMLObjectElement):
(WebCore::HTMLObjectElement::~HTMLObjectElement):
(WebCore::HTMLObjectElement::create):
(WebCore::HTMLObjectElement::attributeChanged):
(WebCore::HTMLObjectElement::insertedIntoTree):
(WebCore::HTMLObjectElement::removedFromTree):
(WebCore::HTMLObjectElement::appendFormData):
(WebCore::HTMLObjectElement::formControlName):
* html/HTMLObjectElement.h: Ditto.
(WebCore::HTMLObjectElement::form):
(WebCore::HTMLObjectElement::isFormControlElement):
(WebCore::HTMLObjectElement::isEnumeratable):
(WebCore::HTMLObjectElement::refFormAssociatedElement):
(WebCore::HTMLObjectElement::derefFormAssociatedElement):
* html/HTMLTagNames.in: Added constructorNeedsFormElement to object tag.
* html/ValidationMessage.cpp: Modified to use FormAssociatedElement
instead of HTMLFormControlElement.
(WebCore::ValidationMessage::ValidationMessage):
(WebCore::ValidationMessage::create):
* html/ValidationMessage.h: Ditto.
* html/ValidityState.cpp: Ditto.
(WebCore::ValidityState::validationMessage):
(WebCore::ValidityState::setCustomErrorMessage):
(WebCore::ValidityState::valueMissing):
(WebCore::ValidityState::typeMismatch):
(WebCore::ValidityState::patternMismatch):
(WebCore::ValidityState::tooLong):
(WebCore::ValidityState::rangeUnderflow):
(WebCore::ValidityState::rangeOverflow):
(WebCore::ValidityState::stepMismatch):
* html/ValidityState.h: Ditto.
(WebCore::ValidityState::create):
(WebCore::ValidityState::ValidityState):
* loader/FormSubmission.cpp: Ditto.
(WebCore::FormSubmission::create):
2010-12-06 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Rolling out r72988 for breaking iframes.
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::insertedIntoParent):
2010-12-06 Hironori Bono <hbono@chromium.org>
Reviewed by David Levin.
[Chromium] Refactor FontCacheChromiumWin.cpp
https://bugs.webkit.org/show_bug.cgi?id=50611
This change just moved the helper functions for the WebCore::FontCache class to the beginning of ths file.
No new tests are added since this is a refactoring.
* platform/graphics/chromium/FontCacheChromiumWin.cpp:
(WebCore::fontDataFromDescriptionAndLogFont): Moved to the beginning of the file.
(WebCore::toGDIFontWeight): Moved to the beginning of the file.
(WebCore::FillLogFont): Moved to the beginning of the file.
(WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Moved to the beginning of the file.
(WebCore::traitsInFamilyEnumProc): Moved to the beginning of the file.
(WebCore::FontCache::platformInit): Moved after the static functions.
2010-12-06 Alexey Marinichev <amarinichev@chromium.org>
Reviewed by Kenneth Russell.
Throw webglcontextlost and webglcontextrestored events when a WebGL context is lost and restored.
https://bugs.webkit.org/show_bug.cgi?id=50364
No new tests since there is currently no way to force a context lost event.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
(WebCore::WebGLRenderingContext::create):
(WebCore::WebGLRenderingContext::WebGLRenderingContext):
(WebCore::WebGLRenderingContext::isContextLost):
(WebCore::WebGLRenderingContext::loseContext):
(WebCore::WebGLRenderingContext::restoreContext):
* html/canvas/WebGLRenderingContext.h:
(WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::WebGLRenderingContextRestoreTimer):
2010-12-06 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=50593
Fix background canvas painting for documents with left/top overflow. The math from the original RTL patch was incorrect.
Just use the RenderView's document dimensions always.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintRootBoxDecorations):
2010-12-06 Simon Fraser <simon.fraser@apple.com>
Reviewed by Beth Dakin.
CSS animation doesn't work for border-radius
https://bugs.webkit.org/show_bug.cgi?id=48340
Include CSSPropertyBorderRadius in the list of shorthand
properties, so that the individual border-radius properties
get animated.
Test: transitions/border-radius-transition.html
* page/animation/AnimationBase.cpp:
(WebCore::addShorthandProperties):
2010-12-06 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
ApplyStyleCommand should take EditingStyle instead of CSSStyleDeclaration
https://bugs.webkit.org/show_bug.cgi?id=49938
Modified ApplyStyleCommand::ApplyStyleCommand and ApplyStyleCommand::create to take EditingStyle*
instead of CSSStyleDeclaration*. Also replaced much of code in Editor::computeAndSetTypingStyle
by calls to EditingStyle's member functions and extracted EditingStyle::overrideWith and
EditingStyle::extractAndRemoveBlockProperties.
No new tests are added since this is a refactoring.
* WebCore.exp.in: Added SelectionController::copyTypingStyle and EditingStyle::~EditingStyle.
* css/CSSMutableStyleDeclaration.cpp: Made CSSMutableStyleDeclaration* in the argument list const.
(WebCore::CSSMutableStyleDeclaration::merge):
* css/CSSMutableStyleDeclaration.h:
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::ApplyStyleCommand): Takes EditingStyle* instead of CSSStyleDeclaration*.
(WebCore::ApplyStyleCommand::doApply): Uses EditingStyle.
* editing/ApplyStyleCommand.h: m_style is now a ref-pointer to EditingStyle instead of CSSMutableStyleDeclaration.
(WebCore::ApplyStyleCommand::create): Takes EditingStyle* instead of CSSStyleDeclaration*.
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::applyStyle): Ditto.
(WebCore::CompositeEditCommand::moveParagraphs): Calls applyStyle.
(WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
* editing/CompositeEditCommand.h:
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto.
* editing/EditCommand.cpp:
* editing/EditCommand.h:
* editing/EditingStyle.cpp:
(WebCore::EditingStyle::~EditingStyle): Added.
(WebCore::EditingStyle::overrideWithStyle): Extracted from Editor::calculateTypingStyleAfterDelete.
(WebCore::EditingStyle::copy): Added.
(WebCore::EditingStyle::extractAndRemoveBlockProperties): Extracted from Editor::calculateTypingStyleAfterDelete.
* editing/EditingStyle.h:
* editing/Editor.cpp:
(WebCore::Editor::applyStyle): Calls ApplyStyleCommand::create.
(WebCore::Editor::applyParagraphStyle): Ditto.
(WebCore::Editor::computeAndSetTypingStyle): Ditto.
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::doApply): Calls applyStyle.
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto.
* editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::input): Ditto.
* editing/RemoveFormatCommand.cpp:
(WebCore::RemoveFormatCommand::doApply): Calls ApplyStyleCommand::create.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Calls applyStyle.
* editing/SelectionController.cpp:
(WebCore::SelectionController::copyTypingStyle): Moved from SelectionController.h
* editing/SelectionController.h:
2010-12-05 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
Executing FormatBlock on multiple paragraphs inside pre does not remove the outer pre
https://bugs.webkit.org/show_bug.cgi?id=47300
The bug was caused by FormatBlockCommand::formatRange's not removing refNode when the refNode
contains more than one paragraphs even when the refNode is fully selected.
Fixed the bug by modifying FormatBlockCommand::formatRange to correctly remove the node in
such a situation.
Also fixed a bug in ApplyBlockElementCommand::formatSelection that the end of selection
is not properly updated when the end of selection resides in the node split by
rangeForParagraphSplittingTextNodesIfNeeded or endOfNextParagrahSplittingTextNodesIfNeeded.
Test: editing/execCommand/format-block-multiple-paragraphs-in-pre.html
* editing/ApplyBlockElementCommand.cpp:
(WebCore::ApplyBlockElementCommand::formatSelection): Calls formatRange with m_endOfLastParagraph.
(WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Updates
m_endOfLastParagraph when the position points to the node split by this function.
(WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Ditto.
* editing/ApplyBlockElementCommand.h: Added m_endOfLastParagraph as a member variable.
* editing/FormatBlockCommand.cpp:
(WebCore::FormatBlockCommand::formatRange): See above.
* editing/FormatBlockCommand.h:
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::formatRange): Ignores the end of selection.
* editing/IndentOutdentCommand.h:
2010-12-03 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Postpone gl delete* calls until shaders/programs are no longer attached
https://bugs.webkit.org/show_bug.cgi?id=50501
* html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::deleteObjectImpl): Simply delete GL resource.
* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::deleteObjectImpl): Ditto.
* html/canvas/WebGLObject.cpp:
(WebCore::WebGLObject::deleteObject): Tracking whether deleteObjectImpl should be called or not.
* html/canvas/WebGLObject.h:
(WebCore::WebGLObject::detachContext): Set attachmentCount to 0 to ensure OpenGL resource deletion.
(WebCore::WebGLObject::onDetached): No need to track attachmentCount here as we track it in deleteObject.
(WebCore::WebGLObject::isDeleted): Make this public.
* html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::deleteObjectImpl): Simply delete GL resource.
* html/canvas/WebGLRenderbuffer.cpp:
(WebCore::WebGLRenderbuffer::deleteObjectImpl): Ditto.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getProgramParameter): intercept DELETE_STATUS.
(WebCore::WebGLRenderingContext::getShaderParameter): Ditto.
* html/canvas/WebGLShader.cpp:
(WebCore::WebGLShader::deleteObjectImpl): Simply delete GL resource.
* html/canvas/WebGLTexture.cpp:
(WebCore::WebGLTexture::deleteObjectImpl): Simply delete GL resource.
2010-12-06 Ryosuke Niwa <rniwa@webkit.org>
Yet unreviewed another Leopard build fix for r73380.
* platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
(PlatformCAAnimation::setKeyTimes):
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::platformCALayer):
2010-12-06 Andy Estes <aestes@apple.com>
Reviewed by Darin Adler.
Marquee elements do not stop animating when scrollAmount is set to 0.
https://bugs.webkit.org/show_bug.cgi?id=50434
Test: fast/html/marquee-scrollamount.html
* rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::timerFired): Allow increment to be 0.
2010-12-06 Ryosuke Niwa <rniwa@webkit.org>
Unreviewed Leopard buildfix for r73380.
* platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
(PlatformCAAnimation::setTimingFunctions):
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::PlatformCALayer):
2010-12-06 Philippe Normand <pnormand@igalia.com>
Reviewed by Martin Robinson.
[GStreamer] use ResourceHandle::setDefersLoading in WebKitWebSourceGStreamer
https://bugs.webkit.org/show_bug.cgi?id=44157
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcNeedDataMainCb):
(webKitWebSrcEnoughDataMainCb): Replaced platform-specific code
with cross-platform ResourceHandle::setDefersLoading calls.
2010-12-06 Ryosuke Niwa <rniwa@webkit.org>
Unreviewed Leopard build fix for r73388.
* accessibility/AccessibilitySlider.cpp:
(WebCore::AccessibilitySlider::maxValueForRange):
(WebCore::AccessibilitySlider::minValueForRange):
2010-12-06 Ryosuke Niwa <rniwa@webkit.org>
Unreviewed build fix for Leopard after r73379.
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setAllowsFontSmoothing):
2010-12-06 Nate Chapin <japhet@chromium.org>
Reviewed by Adam Barth.
Make DocumentWriter a member of DocumentLoader
instead of FrameLoader.
https://bugs.webkit.org/show_bug.cgi?id=50489
Refactor, no new tests.
* bindings/ScriptControllerBase.cpp:
(WebCore::ScriptController::executeIfJavaScriptURL):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::close):
(WebCore::Document::lastModified):
(WebCore::Document::finishedParsing):
(WebCore::Document::initSecurityContext):
(WebCore::Document::updateURLForPushOrReplaceState):
* dom/Document.h:
(WebCore::Document::setDocumentLoader):
(WebCore::Document::loader):
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::checkStyleSheet):
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::scriptCharset):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
* html/MediaDocument.cpp:
(WebCore::MediaDocument::replaceMediaElementTimerFired):
* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::createDocumentStructure):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::commitData):
(WebCore::DocumentLoader::setupForReplaceByMIMEType):
(WebCore::DocumentLoader::setFrame):
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::writer):
* loader/DocumentWriter.h:
(WebCore::DocumentWriter::setFrame):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::init):
(WebCore::FrameLoader::clear):
(WebCore::FrameLoader::receivedFirstData):
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::open):
(WebCore::FrameLoader::finishedLoadingDocument):
(WebCore::FrameLoader::addExtraFieldsToRequest):
* loader/FrameLoader.h:
(WebCore::FrameLoader::notifier):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestPreload):
* platform/network/FormDataBuilder.cpp:
(WebCore::FormDataBuilder::encodingFromAcceptCharset):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
2010-12-06 Mark Rowe <mrowe@apple.com>
Build fix.
* WebCore.xcodeproj/project.pbxproj: Don't force WebCore to build against the 10.5 SDK.
That's just plain wrong.
2010-12-06 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
HTML5 Slider does not work correctly with VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=50505
Address a few problems with the Mac implementation for the accessibility slider.
1) The value indicator is not hit testable.
2) The value indicator does not return an AXValue.
3) In the slider, the min/max values are not correct when min/max attributes are not present.
4) When you change the value with the keyboard, it doesn't send out the right notification.
5) Sliders were returning AXValue and AXTopLevelUIElement attributes twice in their list of attributes.
Test: platform/mac/accessibility/html-slider-indicator.html
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::getAttribute):
Use fastGetAttribute on Element, instead of getAttribute.
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isInputSlider):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
* accessibility/AccessibilitySlider.cpp:
(WebCore::AccessibilitySlider::doAccessibilityHitTest):
(WebCore::AccessibilitySlider::maxValueForRange):
(WebCore::AccessibilitySlider::minValueForRange):
* accessibility/AccessibilitySlider.h:
(WebCore::AccessibilitySlider::isInputSlider):
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityAttributeNames]):
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::applyStep):
2010-12-06 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
Fix for https://bugs.webkit.org/show_bug.cgi?id=49220 <<rdar://problem/8644849>, REGRESSION: transforms now
O(n^3) from pathological behavior in lowestPosition, rightmostPosition, leftmostPosition and topmostPosition.
This patch throws out the lowest/rightmost/leftmost/topmostPosition functions and re-architects layout overflow
in the engine to cache all the information required to properly handle scrolling.
In the old code, there were two types of overflow: layout overflow and visual overflow. The former could
affect scrolling and the latter could not. The distinction was largely meaningless, since layout overflow
wasn't actually used to determine scroll width or scroll height. It didn't propagate across self-painting layer
boundaries either. In the old code, the term visible overflow meant the union of the layout overflow and
visual overflow rects.
In the new code, the two types of overflow remain, but the distinction between the two is now clear. Visual overflow
is used purely for painting and hit testing checks and layout overflow is used specifically for scrolling. It has
been expanded to propagate across self-painting layers, to factor in relative positioning and transforms, and to
work with writing modes.
In order to minimize layout test changes, layers no longer incorporate right/bottom overflow into their width/height members.
Doing so uncovered two bugs where left/top overflow was ignored (proof that even having layer dimensions is harmful).
A render tree dump hack has been put into the code to keep this overflow dumping for the RenderView's layer, since otherwise
a huge number of tests would change.
Added fast/overflow/overflow-rtl-vertical.html to test vertical writing-mode overflow. Existing tests cover the rest.
* page/FrameView.cpp:
(WebCore::FrameView::adjustViewSize):
(WebCore::FrameView::forceLayoutForPagination):
Changed to use RenderView's docTop/Left/Width/Height accessors, which simply grab the overflow and properly flip it
to account for writing modes.
* platform/graphics/IntRect.h:
(WebCore::IntRect::shiftLeftEdgeTo):
(WebCore::IntRect::shiftRightEdgeTo):
(WebCore::IntRect::shiftTopEdgeTo):
(WebCore::IntRect::shiftBottomEdgeTo):
New helper functions for sliding the edge of a rectangle without moving any of the other three edges.
* rendering/InlineBox.h:
(WebCore::InlineBox::frameRect):
frameRect is a helper for obtaining the x, y, width, height of an InlineBox as an IntRect.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesInInlineDirection):
All of the overflow setting in the inline direction has been removed from this function. All line overflow is computed
at once now in a single function: computeOverflow.
(WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
(WebCore::InlineFlowBox::addTextBoxVisualOverflow):
(WebCore::InlineFlowBox::addReplacedChildOverflow):
Helper for propagating overflow from specific types of children that occur on a line into the InlineFlowBox's overflow.
(WebCore::InlineFlowBox::computeOverflow):
The new function that computes both horizontal and vertical overflow for a line box.
(WebCore::InlineFlowBox::setLayoutOverflow):
(WebCore::InlineFlowBox::setVisualOverflow):
(WebCore::InlineFlowBox::setOverflowFromLogicalRects):
New functions that set the overflow computed by computeOverflow. These replace setBlockDirectionOverflowPositions
and setInlineDirectionOverflowPositions. They essentially do the same thing, but they operate on rectangles.
(WebCore::InlineFlowBox::nodeAtPoint):
(WebCore::InlineFlowBox::paint):
Changed to use visual overflow instead of visible overflow. (Visible overflow as a union of layout and visual
overflow is no longer necessary, since visual overflow is now equivalent to the old visible overflow concept.)
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::logicalLayoutOverflowRect):
(WebCore::InlineFlowBox::logicalVisualOverflowRect):
Helpers for obtaining logical overflow rectangles, since lines compute their overflow in logical terms before
converting to block coordinates at the end.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::addOverflowFromChildren):
(WebCore::RenderBlock::computeOverflow):
(WebCore::RenderBlock::addOverflowFromFloats):
(WebCore::RenderBlock::addOverflowFromPositionedObjects):
Blocks now have a computeOverflow function called at the end of layout that adds in all the types of overflow. The addOverflowFromChildren
method is virtual so that RenderListItem and RenderTable can subclass it. RenderListItem has to position its list marker and
propagate marker overflow up, and RenderTable adds in overflow from its sections.
(WebCore::RenderBlock::layoutOnlyPositionedObjects):
(WebCore::RenderBlock::layoutPositionedObjects):
When only positioned objects lay out, overflow must still be recomputed. The refactoring of overflow computation into a single
callable method: computeOverflow, makes it possible for this to be done easily.
(WebCore::RenderBlock::paint):
visible -> visual.
(WebCore::RenderBlock::addOverhangingFloats):
The propagation of float overflow has changed substantially. The basic rules are:
(1) The float must be in our floating objects list to contribute to overflow.
(2) The float must be a descendant to contribute to overflow.
(3) The block must have the outermost list that contains the float, or it has a self-painting layer and
so the float needs to be included in its overflow.
(WebCore::RenderBlock::nodeAtPoint):
visible -> visual.
(WebCore::RenderBlock::layoutColumns):
Remove column overflow computation from layoutColumns and move it to computeOverflow.
(WebCore::RenderBlock::adjustLinePositionForPagination):
visible -> visual.
* rendering/RenderBlock.h:
(WebCore::RenderBlock::scrollbarsChanged):
Added a new virtual method used by table cells when scrollbars in an overflow:auto/scroll table cell come and go.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::determineStartPosition):
(WebCore::RenderBlock::matchedEndLine):
(WebCore::RenderBlock::addOverflowFromInlineChildren):
(WebCore::RenderBlock::beforeSideVisualOverflowForLine):
(WebCore::RenderBlock::afterSideVisualOverflowForLine):
visible -> visual.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::scrollWidth):
(WebCore::RenderBox::scrollHeight):
Patched to use layoutOverflow functions instead of the old rightmost/leftmostPosition functions.
(WebCore::RenderBox::paintRootBoxDecorations):
Use docLeft and docTop here, so that writing modes are handled.
(WebCore::RenderBox::clippedOverflowRectForRepaint):
visible -> visual.
(WebCore::RenderBox::addOverflowFromChild):
(WebCore::RenderBox::addLayoutOverflow):
(WebCore::RenderBox::addVisualOverflow):
(WebCore::RenderBox::logicalVisualOverflowRectForPropagation):
(WebCore::RenderBox::visualOverflowRectForPropagation):
(WebCore::RenderBox::logicalLayoutOverflowRectForPropagation):
(WebCore::RenderBox::layoutOverflowRectForPropagation):
* rendering/RenderBox.h:
The new overflow system for boxes. Layout overflow now crosses self-painting layer boundaries and adjusts child boxes
for transforms, relative positioning and writing mode differences.
(WebCore::RenderBox::layoutOverflowRect):
(WebCore::RenderBox::topLayoutOverflow):
(WebCore::RenderBox::bottomLayoutOverflow):
(WebCore::RenderBox::leftLayoutOverflow):
(WebCore::RenderBox::rightLayoutOverflow):
Changed the default rectangle for layout overflow to be the client box to match the scrollable areas of overflow regions.
(WebCore::RenderBox::clientLogicalBottom):
New helper for obtaining the logical bottom of the client box.
(WebCore::RenderBox::clientBoxRect):
New helper for obtaining the clientLeft/Top/Width/Height box.
* rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::relativePositionLogicalOffset):
Helper for obtaining the relative position offset transposed for vertical writing modes. Used by line overflow.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
Changed flexible boxes to just call the base class computeOverflow method.
* rendering/RenderInline.cpp:
(WebCore::RenderInline::linesVisualOverflowBoundingBox):
(WebCore::RenderInline::clippedOverflowRectForRepaint):
visible -> visual.
* rendering/RenderInline.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPosition):
Changed layers to no longer incorporate right/bottom overflow into width/height. This is the reason many layout
tests change. (Not doing this makes the layout test changes far worse, since overflow propagates across self-painting
layers now.)
(WebCore::RenderLayer::overflowTop):
(WebCore::RenderLayer::overflowBottom):
(WebCore::RenderLayer::overflowLeft):
(WebCore::RenderLayer::overflowRight):
overflowTop/Bottom/Left/Right return overflow that accounts for writing modes, i.e., purely physical overflow that can be used
to set up the scroll area.
(WebCore::RenderLayer::computeScrollDimensions):
Drastically simplified this method now that overflowTop/Bottom/Left/Right just do the right thing regarding unreachable overflow.
(WebCore::RenderLayer::updateScrollInfoAfterLayout):
Make sure to explicitly set the vertical scrollbar's position just as we did with horizontal scrollbars, so that clamping to the
bottom works.
(WebCore::performOverlapTests):
(WebCore::RenderLayer::paintLayer):
Fix a bug in performOverlapTests. It incorrectly used the layer's bounds, and so it didn't account for left/top overflow out
of the layer (see why I hate layers even having dimensions?). Changed it to use the bounding box of the layer instead.
(WebCore::RenderLayer::hitTest):
Fix a bug in hit testing. It incorrectly used the root layer's bounds as the limit of the hit test, and so it didn't account
for left/top overflow in a ScrollView (hate hate hate layers having dimensions). I changed it to use the hit test rect instead,
so that the damage rect never stops the point from being tested (unless the hit test request says not to ignore clipping).
(WebCore::RenderLayer::localBoundingBox):
visible -> visual.
* rendering/RenderLayer.h:
Added the new overflowTop/Left/Right/Bottom accessors.
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::anyLineIntersectsRect):
(WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
(WebCore::RenderLineBoxList::paint):
(WebCore::RenderLineBoxList::hitTest):
visible -> visual.
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::addOverflowFromChildren):
(WebCore::RenderListItem::positionListMarker):
* rendering/RenderListItem.h:
RenderListItem now positions the list marker when computing its overflow, since the marker propagates overflow back up to the list item.
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint):
visible -> visual.
* rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::computePosition):
Changed to use overflow functions instead of rightmost/lowestPosition.
* rendering/RenderMedia.cpp:
* rendering/RenderMedia.h:
Removed the lowest/topmost/rightmost/leftmostPosition functions, since control overflow is handled properly already.
* rendering/RenderOverflow.h:
(WebCore::RenderOverflow::RenderOverflow):
(WebCore::RenderOverflow::setLayoutOverflow):
(WebCore::RenderOverflow::setVisualOverflow):
Add new setters for layout and visual overflow as rects.
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::shouldPaint):
(WebCore::RenderReplaced::clippedOverflowRectForRepaint):
visible -> visual.
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::layout):
Call computeOverflow to recompute our overflow information after we adjust the ruby.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
(WebCore::RenderTable::addOverflowFromChildren):
(WebCore::RenderTable::paint):
* rendering/RenderTable.h:
Move section overflow propagation into addOverflowFromChildren, and change RenderTable to just call computeOverflow.
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::clippedOverflowRectForRepaint):
visible -> visual.
(WebCore::RenderTableCell::scrollbarsChanged):
Adding unreachable overflow support (something that in the old code only existed for positioned objects in the root view) exposed
a bug in table layout. If scrollbars are added during the layout that occurs after intrinsic padding was incorporated into the
cell, then the cell won't lay out properly the second time (after the scrollbars have been added). We have to adjust the intrinsic
padding accounting for the presence of the new scrollbar so the second layout will get the right dimensions.
* rendering/RenderTableCell.h:
(WebCore::RenderTableCell::hasVisualOverflow):
visible -> visual.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layoutRows):
* rendering/RenderTableSection.h:
visible -> visual. Removed the leftmost/rightmost/topmost/bottommostPosition functions.
* rendering/RenderTreeAsText.cpp:
(WebCore::writeLayers):
Added a hack to render tree dumping to include right/bottom overflow for the root layer only. This keeps a zillion layout tests
from failing.
* rendering/RenderView.cpp:
(WebCore::RenderView::layout):
(WebCore::RenderView::docTop):
(WebCore::RenderView::docBottom):
(WebCore::RenderView::docLeft):
(WebCore::RenderView::docRight):
* rendering/RenderView.h:
(WebCore::RenderView::docHeight):
(WebCore::RenderView::docWidth):
RenderView now uses docLeft/Top/Height/Width functions, which are just overflow queries that account for writing modes. These methods
are now the preferred way to query for the physical dimensions of a document.
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::addHighlightOverflow):
Changed to call setOverflowFromLogicalRects instead of the block/inline position functions.
(WebCore::RootInlineBox::alignBoxesInBlockDirection):
Remove the computation of block direction overflow, since it now all happens at once after the line is built.
(WebCore::RootInlineBox::paddedLayoutOverflowRect):
* rendering/RootInlineBox.h:
Added a new helper function for incorporating the end padding into a line. This end padding also includes the single pixel for a caret
in LTR if needed.
2010-12-06 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
https://bugs.webkit.org/show_bug.cgi?id=49388
Replaced GraphicsLayerMac with GraphicsLayerCA. GraphicsLayerCA is essentially
identical to GraphicsLayerMac, but replaces all the CoreAnimation specific calls
with calls to PlatformCALayer and PlatformCAAnimation. This makes GraphicsLayerCA
platform neutral as long as implementations of those two classes are available.
Added implementations in PlatformCALayerMac and PlatformCAAnimationMac. Also got
rid of GraphicsLayer::nativeLayer() and replaced it with GraphicsLayer::platformLayer()
to avoid confusion since both names were used to refer to the same thing.
This patch is only for Mac. Windows implementation has not changed.
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/GraphicsLayer.h:
* platform/graphics/ca/GraphicsLayerCA.cpp: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.cpp.
* platform/graphics/ca/GraphicsLayerCA.h: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.h.
* platform/graphics/ca/PlatformCAAnimation.h: Copied from WebCore/platform/graphics/ca/PlatformCAAnimation.h.
* platform/graphics/ca/PlatformCALayer.h: Copied from WebCore/platform/graphics/ca/PlatformCALayer.h.
* platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm.
(toCAMediaTimingFunction):
* platform/graphics/ca/mac/PlatformCALayerMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm.
(PlatformCALayer::PlatformCALayer):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
* platform/graphics/chromium/GraphicsLayerChromium.h:
* platform/graphics/mac/GraphicsLayerMac.h: Removed.
* platform/graphics/mac/GraphicsLayerMac.mm: Removed.
* platform/graphics/mac/WebLayer.h:
* platform/graphics/mac/WebLayer.mm:
(-[WebLayer setNeedsDisplay]):
(-[WebLayer setNeedsDisplayInRect:]):
(-[WebLayer display]):
(-[WebLayer drawInContext:]):
* platform/graphics/mac/WebTiledLayer.h:
* platform/graphics/mac/WebTiledLayer.mm:
(-[WebTiledLayer setNeedsDisplay]):
(-[WebTiledLayer setNeedsDisplayInRect:]):
(-[WebTiledLayer display]):
(-[WebTiledLayer drawInContext:]):
* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::GraphicsLayerQtImpl::flushChanges):
* platform/graphics/qt/GraphicsLayerQt.h:
* platform/graphics/win/GraphicsLayerCACF.cpp:
* platform/graphics/win/GraphicsLayerCACF.h:
2010-12-06 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Font antialiasing (smoothing) changes when elements are rendered into compositing layers
https://bugs.webkit.org/show_bug.cgi?id=23364
Text rendered by Core Graphics over a transparent background looks bad because of
font smoothing, so turn off smoothing when rendering text into compositing layers.
* platform/graphics/GraphicsContext.h:
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setAllowsFontSmoothing):
* platform/graphics/mac/WebLayer.mm:
(drawLayerContents):
2010-12-06 Patrick Gansterer <paroga@webkit.org>
Reviewed by Andreas Kling.
[WINCE] Add build system
https://bugs.webkit.org/show_bug.cgi?id=50522
* CMakeListsWinCE.txt: Added.
2010-12-06 Chris Fleizach <cfleizach@apple.com>
Reviewed by Oliver Hunt.
AX does not support HTML5 "required"
https://bugs.webkit.org/show_bug.cgi?id=50507
Test: platform/mac/accessibility/html5-required-attribute.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isRequired):
2010-12-06 Alejandro G. Castro <alex@igalia.com>
Reviewed by Martin Robinson.
[GTK] using shadows leaks memory
https://bugs.webkit.org/show_bug.cgi?id=50541
Fixed leaks in the shadow code.
* platform/graphics/cairo/CairoUtilities.cpp:
(WebCore::drawPatternToCairoContext): adoptRef instead of just
getting a new reference.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::drawPathShadow): handle cairo_path_t with smart
pointers.
2010-12-06 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
[v8] Web Inspector: remove duplicate code for capturing stack trace
https://bugs.webkit.org/show_bug.cgi?id=50461
No new tests. Covered with existing inspector tests.
* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::createScriptCallStack):
* bindings/js/ScriptCallStackFactory.h:
* bindings/v8/ScriptCallStackFactory.cpp:
(WebCore::toScriptCallFrame):
(WebCore::toScriptCallFramesVector):
(WebCore::createScriptCallStack):
* bindings/v8/ScriptCallStackFactory.h:
* bindings/v8/V8ConsoleMessage.cpp:
(WebCore::V8ConsoleMessage::handler):
* inspector/ScriptCallFrame.cpp:
(WebCore::ScriptCallFrame::ScriptCallFrame):
(WebCore::ScriptCallFrame::isEqual):
(WebCore::ScriptCallFrame::buildInspectorObject):
* inspector/ScriptCallFrame.h:
(WebCore::ScriptCallFrame::sourceURL):
* inspector/ScriptCallStack.h:
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createGenericRecord):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
== Rolled over to ChangeLog-2010-12-06 ==