Merge WebKit at branches/chromium/742 r88085: Initial merge by git.
Change-Id: I0501b484b9528e31b0026e5ad64416dd6541cdde
diff --git a/Source/JavaScriptCore/wtf/CryptographicallyRandomNumber.cpp b/Source/JavaScriptCore/wtf/CryptographicallyRandomNumber.cpp
index 4c49873..6fe4249 100644
--- a/Source/JavaScriptCore/wtf/CryptographicallyRandomNumber.cpp
+++ b/Source/JavaScriptCore/wtf/CryptographicallyRandomNumber.cpp
@@ -142,8 +142,6 @@
{
#if ENABLE(JSC_MULTIPLE_THREADS)
MutexLocker locker(m_mutex);
-#else
- ASSERT(isMainThread());
#endif
m_count -= 4;
@@ -155,8 +153,6 @@
{
#if ENABLE(JSC_MULTIPLE_THREADS)
MutexLocker locker(m_mutex);
-#else
- ASSERT(isMainThread());
#endif
unsigned char* result = reinterpret_cast<unsigned char*>(buffer);
diff --git a/Source/JavaScriptCore/wtf/FastMalloc.cpp b/Source/JavaScriptCore/wtf/FastMalloc.cpp
index 95a9aff..47238d5 100644
--- a/Source/JavaScriptCore/wtf/FastMalloc.cpp
+++ b/Source/JavaScriptCore/wtf/FastMalloc.cpp
@@ -183,15 +183,12 @@
char* fastStrDup(const char* src)
{
- int len = strlen(src) + 1;
+ size_t len = strlen(src) + 1;
char* dup = static_cast<char*>(fastMalloc(len));
-
- if (dup)
- memcpy(dup, src, len);
-
+ memcpy(dup, src, len);
return dup;
}
-
+
TryMallocReturnValue tryFastZeroedMalloc(size_t n)
{
void* result;
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index b0b0239..11f0168 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,16443 @@
+2011-05-11 Antoine Labour <piman@chromium.org>
+
+ Reviewed by David Levin.
+
+ Expose shouldBufferData to ThreadableLoaderOptions to be able to disable buffering of the
+ loaded resource.
+ https://bugs.webkit.org/show_bug.cgi?id=60656
+
+ * loader/DocumentThreadableLoader.cpp:
+ (WebCore::DocumentThreadableLoader::loadRequest):
+ Pass the shouldBufferData to the resource load scheduler, forcing it to true for the
+ preflight request.
+ * loader/ResourceLoadScheduler.cpp:
+ (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
+ Pass through shouldBufferData to SubresourceLoader::create
+ * loader/ResourceLoadScheduler.h:
+
+ * loader/SubresourceLoader.cpp:
+ (WebCore::SubresourceLoader::create):
+ Set shouldBufferData on the newly created loader
+
+ * loader/SubresourceLoader.h:
+
+ * loader/ThreadableLoader.h:
+ (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions):
+ Add shouldBufferData to the options, defaulting to true.
+
+2011-05-11 Jay Civelli <jcivelli@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Adding a Content-Type parser. This is needed for MHTML support.
+ https://bugs.webkit.org/show_bug.cgi?id=60637
+
+ (WebCore::ScriptController::disableEval):
+ * platform/network/ContentTypeParser.cpp: Added.
+ * platform/network/ContentTypeParser.h: Added.
+
+2011-05-11 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Steve Falkenburg.
+
+ [Windows WebKit2] Use cookies set in WebKit1
+ https://bugs.webkit.org/show_bug.cgi?id=60274
+
+ Share the default storage session between the UI and Web Processes.
+
+ * platform/network/cf/CookieStorageCFNet.cpp:
+ (WebCore::defaultSessionCookieStorage):
+ Keep track of the default storage session cookie storage.
+ (WebCore::currentCookieStorage):
+ Call defaultCookieStorage to get the default cookie storage.
+ (WebCore::defaultCookieStorage):
+ If there is a default storage session cookie storage, prefer that over getting the default
+ cookie storage. In the Web Process, asking CFNetwork for the default cookie storage directly
+ without specifying a storage session will not get the cookie storage being shared by the UI
+ and Web Processes.
+
+ * platform/network/ResourceHandle.h:
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::willSendRequest):
+ Make sure to set the current storage session on any requests used by the Web
+ Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
+ doing anything with the Web Process's default storage session (which is not the one shared
+ with the UI Process).
+ (WebCore::makeFinalRequest):
+ Ditto.
+ (WebCore::ResourceHandle::willSendRequest):
+ Ditto.
+ (WebCore::ResourceHandle::currentStorageSession):
+ If there is a Private Browsing storage session, return that.
+ If not, on Windows return the default storage session that is being shared with the UI
+ Process and on Mac return 0.
+ (WebCore::defaultCFURLStorageSession):
+ (WebCore::ResourceHandle::setDefaultStorageSession):
+ (WebCore::ResourceHandle::defaultStorageSession):
+
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore::ResourceRequest::doUpdatePlatformRequest):
+ Make sure to set the current storage session on any requests used by the Web
+ Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
+ doing anything with the Web Process's default storage session (which is not the one shared
+ with the UI Process).
+
+2011-05-11 Lucas De Marchi <lucas.demarchi@profusion.mobi>
+
+ Reviewed by David Kilzer.
+
+ Remove wml directory from include lists
+ https://bugs.webkit.org/show_bug.cgi?id=60646
+
+ Remove wml dir from CMake, Autotools and qmake build systems since WML
+ was removed in r85256.
+
+ No new tests since no change in functionality.
+
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.pri:
+
+2011-05-11 Lucas De Marchi <lucas.demarchi@profusion.mobi>
+
+ Reviewed by Antonio Gomes.
+
+ [CMAKE] Move EFL-specific file to CMakeListsEfl.txt
+ https://bugs.webkit.org/show_bug.cgi?id=60642
+
+ Move file EFL-specific file to the CMakeListsEfl.txt file. This implies
+ having to include CMakeLists${PORT}.txt before the ADD_CUSTOM_COMMAND
+ calls, since they depend on lists that now may change inside a port
+ like WebCore_USER_AGENT_STYLE_SHEETS.
+
+ No new tests since no change in functionality.
+
+ * CMakeLists.txt: remove css file specific to EFL port.
+ * CMakeListsEfl.txt: move file here.
+
+2011-05-11 Tao Bai <michaelbai@chromium.org>
+
+ Reviewed by David Kilzer.
+
+ Return empty Favicon URL instead of default one when the frame isn't top level one
+ https://bugs.webkit.org/show_bug.cgi?id=60527
+ This issue was discovered by chromium browser test.
+
+ * dom/Document.cpp:
+ (WebCore::Document::setIconURL):
+ Restored original logic which was inadvertently flipped by http://trac.webkit.org/changeset/85785.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::iconURLs):
+ (WebCore::FrameLoader::fillIconURL):
+ Restored original logic, the empty URL should be returned instead of default one. The client (at
+ least chromium) may rely on the returned value to decided whether the favicon should be changed.
+
+2011-05-11 Nat Duca <nduca@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Make throttling of WebGL based on webgl frames, not compositor frames
+ https://bugs.webkit.org/show_bug.cgi?id=60508
+
+ When a WebGL layer is dirtied outside of a requestAnimFrame callback, we need
+ to prevent WebGL from running too far ahead of the GPU process. The current
+ throttling mechanism relies on prepareTexture being called for every WebGL frame.
+ However, in a non-requestAnimFrame application, multiple frames might get created
+ before the compositor runs and calls prepareTexture on the surface.
+
+ To address this, we post a task that calls a special rate limiting GL extension on
+ the WebGL context after every WebGL "frame." When the compositor runs, it calls
+ prepareTexture as usual.
+
+ * platform/graphics/chromium/Extensions3DChromium.h:
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::LayerRendererChromium):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ (WebCore::LayerRendererChromium::setIsAnimating):
+ (WebCore::LayerRendererChromium::isAnimating):
+ * platform/graphics/chromium/WebGLLayerChromium.cpp:
+ (WebCore::WebGLLayerChromiumRateLimitTask::WebGLLayerChromiumRateLimitTask):
+ (WebCore::WebGLLayerChromiumRateLimitTask::run):
+ (WebCore::WebGLLayerChromiumRateLimitTask::cancel):
+ (WebCore::WebGLLayerChromium::WebGLLayerChromium):
+ (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
+ (WebCore::WebGLLayerChromium::setTextureUpdated):
+ (WebCore::WebGLLayerChromium::setContext):
+ * platform/graphics/chromium/WebGLLayerChromium.h:
+ (WebCore::WebGLLayerChromium::context):
+
+2011-05-11 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
+ https://bugs.webkit.org/show_bug.cgi?id=60439
+
+ Patch 12/12: Enable accelerated animations in texture-mapper. The entire interpolation
+ mechanism happens inside TextureMapper, and we interpolate right before we paint.
+
+ No new tests. Tests in LayoutTests/compositing cover this.
+
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
+ (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
+ (WebCore::GraphicsLayerTextureMapper::syncCompositingState):
+ (WebCore::GraphicsLayerTextureMapper::addAnimation):
+ (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
+ (WebCore::GraphicsLayerTextureMapper::removeAnimation):
+ (WebCore::GraphicsLayerTextureMapper::animationStartedTimerFired):
+ * platform/graphics/texmap/TextureMapperNode.cpp:
+ (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
+ (WebCore::normalizedAnimationValue):
+ (WebCore::TextureMapperNode::applyOpacityAnimation):
+ (WebCore::solveEpsilon):
+ (WebCore::solveCubicBezierFunction):
+ (WebCore::solveStepsFunction):
+ (WebCore::applyTimingFunction):
+ (WebCore::TextureMapperNode::applyTransformAnimation):
+ (WebCore::TextureMapperNode::applyAnimationFrame):
+ (WebCore::TextureMapperNode::applyAnimation):
+ (WebCore::TextureMapperNode::hasRunningOpacityAnimation):
+ (WebCore::TextureMapperNode::hasRunningTransformAnimation):
+ (WebCore::TextureMapperNode::syncAnimations):
+ (WebCore::copyTimingFunction):
+ (WebCore::copyAnimationValue):
+ (WebCore::TextureMapperAnimation::TextureMapperAnimation):
+ * platform/graphics/texmap/TextureMapperNode.h:
+ (WebCore::TextureMapperAnimation::create):
+
+2011-05-11 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
+ https://bugs.webkit.org/show_bug.cgi?id=60439
+
+ Patch 11/12: Patch PluginView to build with TextureMapper on Linux.
+
+ No new tests. This is a build fix.
+
+ * platform/qt/QWebPageClient.h:
+ (QWebPageClient::setRootGraphicsLayer):
+
+2011-05-11 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
+ https://bugs.webkit.org/show_bug.cgi?id=60439
+
+ Patch 10/12: Glue the TextureMapper refactoring into Webkit(1).
+ Pass a GraphicsLayer* instead of a PlatformLayer* to the QWebPageClient.
+
+ No new tests. Tests in LayoutTests/compositing cover this.
+
+ * platform/qt/QWebPageClient.h:
+ (QWebPageClient::setRootGraphicsLayer):
+
+2011-05-11 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
+ https://bugs.webkit.org/show_bug.cgi?id=60439
+
+ Patch 9/12: Refactor TextureMapperNode for performance, readability and accuracy.
+ Changes include:
+ 1. Support the new TextureMapperPlatformLayer for media & WebGL.
+ 2. Use a pool for intermediate surfaces, to avoid constant allocating/freeing of textures.
+ 3. Divide computation operations to different smaller functions.
+ 4. Get rid of scissor/clip layers, use transformed clip instead.
+ 5. Allow tiling for big layers.
+
+ No new tests. Tests in LayoutTests/compositing cover this.
+
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
+ (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
+ (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
+ (WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
+ (WebCore::GraphicsLayerTextureMapper::platformLayer):
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
+ (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
+ (WebCore::GraphicsLayerTextureMapper::setContentsToCanvas):
+ (WebCore::GraphicsLayerTextureMapper::node):
+ * platform/graphics/texmap/TextureMapperNode.cpp:
+ (WebCore::TextureMapperSurfaceManager::getIntermediateSurface):
+ (WebCore::TextureMapperSurfaceManager::releaseIntermediateSurface):
+ (WebCore::toTextureMapperNode):
+ (WebCore::TextureMapperNode::rootLayer):
+ (WebCore::TextureMapperNode::setTransform):
+ (WebCore::TextureMapperNode::computePerspectiveTransformIfNeeded):
+ (WebCore::TextureMapperNode::countDescendantsWithContent):
+ (WebCore::TextureMapperNode::computeOverlapsIfNeeded):
+ (WebCore::TextureMapperNode::computeReplicaTransformIfNeeded):
+ (WebCore::TextureMapperNode::computeLocalTransformIfNeeded):
+ (WebCore::TextureMapperNode::needsToComputeBoundingRect):
+ (WebCore::TextureMapperNode::computeAllTransforms):
+ (WebCore::TextureMapperNode::computeBoundingRectFromRootIfNeeded):
+ (WebCore::TextureMapperNode::computeTiles):
+ (WebCore::TextureMapperNode::computeVisibleRectIfNeeded):
+ (WebCore::TextureMapperNode::renderContent):
+ (WebCore::TextureMapperNode::paint):
+ (WebCore::TextureMapperNode::targetRectForTileRect):
+ (WebCore::TextureMapperNode::paintSelf):
+ (WebCore::TextureMapperNode::compareGraphicsLayersZValue):
+ (WebCore::TextureMapperNode::sortByZOrder):
+ (WebCore::TextureMapperNode::paintSelfAndChildren):
+ (WebCore::TextureMapperNode::paintReflection):
+ (WebCore::TextureMapperNode::paintRecursive):
+ (WebCore::TextureMapperNode::~TextureMapperNode):
+ (WebCore::TextureMapperNode::resetDescendants):
+ (WebCore::TextureMapperNode::setContentScale):
+ (WebCore::TextureMapperNode::setVisibleRect):
+ (WebCore::TextureMapperNode::syncCompositingState):
+ (WebCore::TextureMapperNode::invalidateOverlaps):
+ (WebCore::TextureMapperNode::syncCompositingStateSelf):
+ (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
+ * platform/graphics/texmap/TextureMapperNode.h:
+ (WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):
+ (WebCore::TextureMapperAnimation::create):
+ (WebCore::TextureMapperNode::TextureMapperNode):
+ (WebCore::TextureMapperNode::size):
+ (WebCore::TextureMapperNode::setOpacity):
+ (WebCore::TextureMapperNode::setTextureMapper):
+ (WebCore::TextureMapperNode::media):
+ (WebCore::TextureMapperNode::texture):
+ (WebCore::TextureMapperNode::targetRect):
+ (WebCore::TextureMapperNode::entireRect):
+ (WebCore::TextureMapperNode::contentSize):
+ (WebCore::TextureMapperNode::State::State):
+ (WebCore::deleteOwnedPtr):
+
+2011-05-07 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
+ https://bugs.webkit.org/show_bug.cgi?id=60439
+
+ Patch 8/12: Changes to the GL backend of TextureMapper. The code for these changes is intertwined so it was hard to separate
+ them to different patches. This is the summary of what the changes do:
+
+ 1. Use stencil for clipping instead of scissors, refactor beginClip/endClip functions to accomodate that.
+ 2. Get rid of the "Target" program which forced an intermediate framebuffer for any content. Instead,
+ we upload the texture with BGRA from the start. Ports other than Qt can optimize this for their needs.
+ 3. Use glGetAttribLocation instead of glBindAttribLocation; On some platforms we might be polluting the
+ GL context otherwise.
+ 4. Use image UIDs (cache-key in Qt) instead of image pointers. This is important for images that change their
+ internal content.
+ 5. Allow packing and unpacking. This is currently a stub, for future memory optimizations.
+ 6. Put some of the initialization code here (beginPainting/endPainting).
+ 7. Allow painting a texture via an ID instead of a BitmapTexture data type.
+ 8. Get rid of makeContextCurrent / obtainCurrentContext. We only use texture-mapper when the context is current.
+
+ No new tests. Tests in LayoutTests/compositing test this.
+
+ * platform/graphics/opengl/TextureMapperGL.cpp:
+ (WebCore::debugGLCommand):
+ (WebCore::TextureMapperGLData::GlobalGLData::createShaderProgram):
+ (WebCore::TextureMapperGLData::GlobalGLData::GlobalGLData):
+ (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::findOrCreate):
+ (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::deref):
+ (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::~DirectlyCompositedImageRepository):
+ (WebCore::TextureMapperGLData::TextureMapperGLData):
+ (WebCore::BitmapTextureGL::id):
+ (WebCore::BitmapTextureGL::isOpaque):
+ (WebCore::BitmapTextureGL::relativeSize):
+ (WebCore::BitmapTextureGL::setTextureMapper):
+ (WebCore::BitmapTextureGL::pack):
+ (WebCore::BitmapTextureGL::unpack):
+ (WebCore::BitmapTextureGL::isPacked):
+ (WebCore::BitmapTextureGL::BitmapTextureGL):
+ (WebCore::TextureMapperGL::TextureMapperGL):
+ (WebCore::TextureMapperGL::initializeShaders):
+ (WebCore::TextureMapperGL::beginPainting):
+ (WebCore::TextureMapperGL::endPainting):
+ (WebCore::TextureMapperGL::drawTexture):
+ (WebCore::BitmapTextureGL::reset):
+ (WebCore::BitmapTextureGL::endPaint):
+ (WebCore::BitmapTextureGL::setContentsToImage):
+ (WebCore::createProjectionMatrix):
+ (WebCore::BitmapTextureGL::bind):
+ (WebCore::BitmapTextureGL::destroy):
+ (WebCore::TextureMapperGL::~TextureMapperGL):
+ (WebCore::TextureMapperGL::bindSurface):
+ (WebCore::TextureMapperGL::beginClip):
+ (WebCore::TextureMapperGL::endClip):
+ (WebCore::TextureMapperGL::createTexture):
+ * platform/graphics/opengl/TextureMapperGL.h:
+ (WebCore::TextureMapperGL::allowSurfaceForRoot):
+ (WebCore::TextureMapperGL::create):
+ (WebCore::TextureMapperGL::setGraphicsContext):
+ (WebCore::TextureMapperGL::graphicsContext):
+ (WebCore::TextureMapperGL::isOpenGLBacked):
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
+ (WebCore::GraphicsContext3DInternal::boundingRect):
+ (WebCore::GraphicsContext3DInternal::paint):
+ * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
+ (WebCore::MediaPlayerPrivateQt::repaint):
+ (WebCore::MediaPlayerPrivateQt::paintToTextureMapper):
+ * platform/graphics/qt/MediaPlayerPrivateQt.h:
+ (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
+ (WebCore::MediaPlayerPrivateQt::platformLayer):
+
+2011-05-11 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
+ https://bugs.webkit.org/show_bug.cgi?id=60439
+
+ Patch 7/12: Allow a 3D-context (WebGL) to paint itself into a TextureMapper.
+ This allows using a WebGL canvas with CSS.
+
+ No new tests. Tests in LayoutTests/compositing/webgl cover this.
+
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
+ (WebCore::GraphicsContext3DInternal::boundingRect):
+ (WebCore::GraphicsContext3DInternal::paint):
+ * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
+ (WebCore::MediaPlayerPrivateQt::repaint):
+ (WebCore::MediaPlayerPrivateQt::paintToTextureMapper):
+ * platform/graphics/qt/MediaPlayerPrivateQt.h:
+ (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
+ (WebCore::MediaPlayerPrivateQt::platformLayer):
+
+2011-05-11 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
+ https://bugs.webkit.org/show_bug.cgi?id=60439
+
+ Patch 6/12: Allow the Qt media player implementation to paint into a TextureMapper,
+ to allow videos to be composited.
+
+ No new tests. Tests in LayoutTests/compositing cover this.
+
+ * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
+ (WebCore::MediaPlayerPrivateQt::repaint):
+ (WebCore::MediaPlayerPrivateQt::paintToTextureMapper):
+ * platform/graphics/qt/MediaPlayerPrivateQt.h:
+ (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
+ (WebCore::MediaPlayerPrivateQt::platformLayer):
+
+2011-05-11 John Bauman <jbauman@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ Don't send zeros in TexImage if GL implementation handles that
+ https://bugs.webkit.org/show_bug.cgi?id=60581
+
+ Chromium already handles zeroing textures upon creation, so don't
+ bother zeroing them in WebKit, as that causes some unnecessary memcpys
+ of zeros.
+
+ No new tests as functionality is the same.
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::texImage2DBase):
+ * platform/graphics/GraphicsContext3D.cpp:
+ (WebCore::GraphicsContext3D::texImage2DResourceSafe):
+ * platform/graphics/GraphicsContext3D.h:
+ * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
+ (WebCore::GraphicsContext3D::GraphicsContext3D):
+ * platform/graphics/mac/GraphicsContext3DMac.mm:
+ (WebCore::GraphicsContext3D::GraphicsContext3D):
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3D::GraphicsContext3D):
+
+2011-05-11 Simon Fraser <simon.fraser@apple.com>
+
+ Attempt to fix Chromium Mac build.
+
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::paintSliderThumb):
+
+2011-05-11 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt] Extract code to set mouse event modifiers into common function
+ https://bugs.webkit.org/show_bug.cgi?id=60649
+
+ Consolidate code to set the keyboard modifiers for a mouse event into a common
+ function that can be used by both PlatformMouseEvent(QGraphicsSceneMouseEvent*, int clickCount)
+ and PlatformMouseEvent(QInputEvent*, int clickCount) so as to remove duplicate code.
+
+ No functionality was changed. So, no new tests.
+
+ * platform/qt/PlatformMouseEventQt.cpp:
+ (WebCore::mouseEventModifiersFromQtKeyboardModifiers): Added.
+ (WebCore::PlatformMouseEvent::PlatformMouseEvent): Modified to call mouseEventModifiersFromQtKeyboardModifiers().
+
+2011-05-11 Levi Weintraub <leviw@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Switch RenderBoxModelObject::paintBorder to use IntRect instead of four ints
+ https://bugs.webkit.org/show_bug.cgi?id=60591
+
+ Switching RenderBoxModelObject::paintBorder to use IntRect instead of four ints representing a rect.
+
+ No new tests since there is no functionality change.
+
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::paintBoxDecorations):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::paintBoxDecorationsWithSize):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintBorder):
+ * rendering/RenderBoxModelObject.h:
+ * rendering/RenderFieldset.cpp:
+ (WebCore::RenderFieldset::paintBoxDecorations):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::paintBoxDecorations):
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::paintBoxDecorations):
+
+2011-05-11 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r86255.
+ http://trac.webkit.org/changeset/86255
+ https://bugs.webkit.org/show_bug.cgi?id=60660
+
+ REGRESSION (r86255): Lots of tests crashing in
+ CFWriteStreamCreateWithAllocatedBuffers on Windows 7 Release
+ (WebKit2 Tests) (Requested by aroben on #webkit).
+
+ * platform/network/ResourceHandle.h:
+ * platform/network/cf/CookieStorageCFNet.cpp:
+ (WebCore::currentCookieStorage):
+ (WebCore::defaultCookieStorage):
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::willSendRequest):
+ (WebCore::makeFinalRequest):
+ (WebCore::ResourceHandle::willSendRequest):
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore::ResourceRequest::doUpdatePlatformRequest):
+
+2011-05-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Frequent crashes beneath WebCore::ScriptElement::prepareScript
+ https://bugs.webkit.org/show_bug.cgi?id=60559
+
+ * html/parser/HTMLScriptRunner.cpp:
+ (WebCore::HTMLScriptRunner::runScript):
+ Add null check and explanation that we are keeping the ASSERT to help
+ track down the cause and produce a test.
+
+2011-05-11 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
+ https://bugs.webkit.org/show_bug.cgi?id=60439
+
+ Patch 5/12: Implement the new TextureMapper functions for the Qt backend.
+ This allow non-rectangular clipping, some stub functions, and getting a unique
+ id for an image.
+
+ No new tests. Tests in LayoutTests/compositing cover this.
+
+ * platform/graphics/qt/TextureMapperQt.cpp:
+ (WebCore::TextureMapperQt::beginClip):
+ (WebCore::TextureMapperQt::endClip):
+ (WebCore::TextureMapperQt::viewportSize):
+ (WebCore::TextureMapperQt::setGraphicsContext):
+ (WebCore::TextureMapperQt::graphicsContext):
+ (WebCore::TextureMapperQt::drawTexture):
+ (WebCore::TextureMapperQt::beginPainting):
+ (WebCore::TextureMapperQt::endPainting):
+ (WebCore::RGBA32PremultimpliedBufferQt::beginPaint):
+ (WebCore::uidForImage):
+ * platform/graphics/qt/TextureMapperQt.h:
+
+2011-05-11 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Texmap] Upstream texture-mapper changes from Qt's WebKit2 branch
+ https://bugs.webkit.org/show_bug.cgi?id=60439
+
+ Patch 3/12: TextureMapper shouldn't depend on OpenGL, but rather only allow the GL backend when
+ OpenGL is present.
+
+ No new tests. This is a build fix.
+
+ * WebCore.pri:
+ * WebCore.pro:
+
+2011-05-11 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
+ https://bugs.webkit.org/show_bug.cgi?id=60439
+
+ Patch 2/12: Add a few functions to the TextureMapper API, allowing:
+ 1. an entry/exit point for painting (beginPaint/endPaint)
+ 2. Clipping with a matrix, since we use stencil instead of scissors
+ 3. Draw a texture directly with an ID
+ 4. Remove offset, since we're using real tiling
+ 5. numberOfBytes calculation for textures, for memory management
+
+ No new tests. Tests in LayoutTests/compositing test this.
+
+ * platform/graphics/texmap/TextureMapper.h:
+ (WebCore::BitmapTexture::destroy):
+ (WebCore::BitmapTexture::allowOfflineTextureUpload):
+ (WebCore::BitmapTexture::bpp):
+ (WebCore::BitmapTexture::numberOfBytes):
+ (WebCore::TextureMapper::viewportSize):
+ (WebCore::TextureMapper::setViewportSize):
+ (WebCore::TextureMapper::allowPartialUpdates):
+ (WebCore::TextureMapper::isOpenGLBacked):
+ (WebCore::TextureMapper::setTransform):
+ (WebCore::TextureMapper::transform):
+ (WebCore::TextureMapper::beginPainting):
+ (WebCore::TextureMapper::endPainting):
+
+2011-05-11 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
+ https://bugs.webkit.org/show_bug.cgi?id=60439
+
+ Patch 1/12: Change the TextureMapperPlatformLayer API to allow a 3D-context or a
+ media player to decide how to paint into the TextureMapper, rather than mandate specific
+ types of platform layers.
+
+ No new tests. Tests in LayoutTests/compositing test this.
+
+ * platform/graphics/GraphicsLayer.h:
+ * platform/graphics/texmap/TextureMapperPlatformLayer.h:
+
+2011-05-11 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Flesh out RenderLayer's ScrollableArea implementation a little more
+ https://bugs.webkit.org/show_bug.cgi?id=60593
+
+ Override a few more ScrollableArea methods on RenderLayer
+ as a baby-step towards animating overflow div scrolling.
+
+ * platform/ScrollableArea.h:
+ (WebCore::ScrollableArea::visibleContentRect):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollPosition):
+ (WebCore::RenderLayer::minimumScrollPosition):
+ (WebCore::RenderLayer::maximumScrollPosition):
+ (WebCore::RenderLayer::visibleContentRect):
+ (WebCore::RenderLayer::overhangAmount):
+ (WebCore::RenderLayer::didCompleteRubberBand):
+ * rendering/RenderLayer.h:
+ (WebCore::RenderLayer::shouldSuspendScrollAnimations):
+
+2011-05-11 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ <rdar://problem/9421781> Slider thumb draws upside-down in WebKit2
+ <rdar://problem/9418025> Slider thumb has odd appearance
+
+ Fix two issues drawing the slider thumb.
+
+ To fix <rdar://problem/9421781>, if we detect that we're in WebKit2
+ by virtual of the FrameView not having a documentView, then flip
+ the graphics context.
+
+ To fix <rdar://problem/9418025>, we call -drawInteriorWithFrame:inView:
+ rather than -drawWithFrame:inView: so that AppKit doesn't draw a section
+ of track behind the thumb.
+
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::paintSliderThumb):
+
+2011-05-11 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Steve Falkenburg.
+
+ [Windows WebKit2] Use cookies set in WebKit1
+ https://bugs.webkit.org/show_bug.cgi?id=60274
+
+ Share the default storage session between the UI and Web Processes.
+
+ * platform/network/cf/CookieStorageCFNet.cpp:
+ (WebCore::defaultSessionCookieStorage):
+ Keep track of the default storage session cookie storage.
+ (WebCore::currentCookieStorage):
+ Call defaultCookieStorage to get the default cookie storage.
+ (WebCore::defaultCookieStorage):
+ If there is a default storage session cookie storage, prefer that over getting the default
+ cookie storage. In the Web Process, asking CFNetwork for the default cookie storage directly
+ without specifying a storage session will not get the cookie storage being shared by the UI
+ and Web Processes.
+
+ * platform/network/ResourceHandle.h:
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::willSendRequest):
+ Make sure to set the current storage session on any requests used by the Web
+ Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
+ doing anything with the Web Process's default storage session (which is not the one shared
+ with the UI Process).
+ (WebCore::makeFinalRequest):
+ Ditto.
+ (WebCore::ResourceHandle::willSendRequest):
+ Ditto.
+ (WebCore::ResourceHandle::currentStorageSession):
+ If there is a Private Browsing storage session, return that.
+ If not, on Windows return the default storage session that is being shared with the UI
+ Process and on Mac return 0.
+ (WebCore::defaultCFURLStorageSession):
+ (WebCore::ResourceHandle::setDefaultStorageSession):
+ (WebCore::ResourceHandle::defaultStorageSession):
+
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore::ResourceRequest::doUpdatePlatformRequest):
+ Make sure to set the current storage session on any requests used by the Web
+ Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
+ doing anything with the Web Process's default storage session (which is not the one shared
+ with the UI Process).
+
+2011-05-11 Martin Robinson <mrobinson@igalia.com>
+
+ Try once more to fix the WinCairo build.
+
+ * platform/graphics/cairo/CairoUtilities.h: Include GraphicsTypes.h with a relative
+ include rather than a system include.
+
+2011-05-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Stop including Console.h just to get Console enum types
+ https://bugs.webkit.org/show_bug.cgi?id=60607
+
+ Move MessageSource, MessageType and MessageLevel into its own
+ header and cleanup surrounding classes.
+
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSCustomXPathNSResolver.cpp:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/v8/V8Proxy.cpp:
+ * dom/ScriptExecutionContext.h:
+ * html/HTMLFormElement.cpp:
+ * html/parser/XSSFilter.cpp:
+ * inspector/ConsoleMessage.h:
+ * inspector/InjectedScriptHost.h:
+ * inspector/InspectorAgent.h:
+ * inspector/InspectorConsoleAgent.h:
+ * inspector/InspectorFrontendHost.h:
+ * inspector/InspectorInstrumentation.cpp:
+ * inspector/InspectorInstrumentation.h:
+ * loader/EmptyClients.h:
+ * loader/FrameLoader.cpp:
+ * loader/MainResourceLoader.cpp:
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ * page/ChromeClient.h:
+ * page/Console.cpp:
+ (WebCore::Console::~Console):
+ * page/Console.h:
+ * page/ConsoleTypes.h: Added.
+ * page/ContentSecurityPolicy.cpp:
+ * page/Geolocation.h:
+ * workers/WorkerReportingProxy.h:
+ * xml/XMLHttpRequest.cpp:
+
+2011-05-11 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, rolling out r85650.
+ http://trac.webkit.org/changeset/85650
+ https://bugs.webkit.org/show_bug.cgi?id=59983
+
+ Triggers m_numNodeListCaches > 0 assert in gc-heavy sites.
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::childrenChanged):
+ * dom/Node.cpp:
+ (WebCore::Node::~Node):
+ (WebCore::Node::setDocument):
+ (WebCore::Node::setTreeScopeRecursively):
+ (WebCore::Node::childNodes):
+ (WebCore::Node::registerDynamicNodeList):
+ (WebCore::Node::unregisterDynamicNodeList):
+ (WebCore::Node::notifyLocalNodeListsAttributeChanged):
+ (WebCore::Node::notifyLocalNodeListsChildrenChanged):
+ (WebCore::Node::getElementsByTagName):
+ (WebCore::Node::getElementsByTagNameNS):
+ (WebCore::Node::getElementsByName):
+ (WebCore::Node::getElementsByClassName):
+ * dom/Node.h:
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::labels):
+
+2011-05-11 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Video track sometimes fails to draw.
+ https://bugs.webkit.org/show_bug.cgi?id=60635
+ <rdar://problem/9281951>
+
+ No new tests, covered by existing pixel tests.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::loadResource): Set display mode to "Unknown" to force a
+ recalculation, and media engine notification, the next time the state machine runs.
+
+2011-05-11 Adam Roben <aroben@apple.com>
+
+ WinCE build fixes for strict PassOwnPtr
+
+ * platform/graphics/wince/SharedBitmap.cpp:
+ (WebCore::SharedBitmap::createHandle):
+ (WebCore::SharedBitmap::clipBitmap):
+ Use nullptr instead of 0.
+
+ * platform/graphics/wince/SimpleFontDataWinCE.cpp: Keep LOOSE_PASS_OWN_PTR turned on for
+ this file until SimpleFontData::scaledFontData is dealt with on all platforms.
+
+ * platform/text/wince/TextCodecWinCE.cpp:
+ (WebCore::newTextCodecWinCE): Use adoptPtr.
+
+2011-05-11 Chang Shu <cshu@webkit.org>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt] Tab not working in editing/inserting/typing-tab-designmode-forms.html
+ https://bugs.webkit.org/show_bug.cgi?id=60477
+
+ PlatformKeyboardEvent.m_text should be set to "\t" instead of leaving as null.
+ The value is checked at EventHandler.cpp:2527 (r86166).
+
+ Function keyTextForKeyEvent is partially implemented and can be enhanced in
+ a need-base.
+
+ * platform/qt/PlatformKeyboardEventQt.cpp:
+ (WebCore::keyTextForKeyEvent):
+ (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
+
+2011-05-11 Adam Roben <aroben@apple.com>
+
+ Use case-insensitive comparisons when checking plugin filenames on Windows
+
+ Windows paths are nearly always case-insensitive.
+
+ I couldn't think of a good way to test this.
+
+ Fixes <http://webkit.org/b/60633> WebKit1 loads Windows Presentation Foundation plugin, but
+ should not
+
+ Reviewed by Steve Falkenburg.
+
+ * plugins/win/PluginPackageWin.cpp:
+ (WebCore::PluginPackage::isPluginBlacklisted): Use equalIgnoringCase instead of == when
+ checking plugin filenames.
+
+2011-05-11 Adam Roben <aroben@apple.com>
+
+ Turn on strict PassOwnPtr on Windows
+
+ Fixes <http://webkit.org/b/60632> Windows should build with strict PassOwnPtr enabled
+
+ Reviewed by Adam Barth.
+
+ * platform/graphics/win/SimpleFontDataWin.cpp: Keep LOOSE_PASS_OWN_PTR turned on for this
+ file until SimpleFontData::scaledFontData is dealt with on all platforms.
+
+2011-05-11 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ XPathResult should keep its node set's JS wrappers alive
+ https://bugs.webkit.org/show_bug.cgi?id=34231
+
+ The change added a custom mark function for JSC. V8 was already properly
+ marking the nodes so no change were done on the V8 side.
+
+ Tests: fast/xpath/xpath-iterator-result-should-mark-its-nodeset.html
+ fast/xpath/xpath-other-nodeset-result-should-mark-its-nodeset.html
+ fast/xpath/xpath-result-eventlistener-crash.html
+ fast/xpath/xpath-snapshot-result-should-mark-its-nodeset.html
+
+ * Android.jscbindings.mk:
+ * GNUmakefile.list.am:
+ * UseJSC.cmake:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ Added the new file to our build systems.
+
+ * bindings/js/JSXPathResultCustom.cpp: Added.
+ (WebCore::JSXPathResult::markChildren): Added code to mark the
+ XPathResult snapshot's nodes.
+ * xml/XPathResult.h:
+ (WebCore::XPathResult::value): Exposed this getter so that we can
+ mark our XPathValue.
+ * xml/XPathResult.idl: Told the IDL parser that we now need
+ a custom mark function.
+
+2011-05-04 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [Gtk+] deadlock in gstreamer video player when exiting fullscreen
+ https://bugs.webkit.org/show_bug.cgi?id=58548
+
+ Block data flow towards the pipeline branch to remove to avoid
+ potential deadlocks during the PAUSED->READY transitions of the
+ elements to remove.
+
+ * platform/graphics/gstreamer/GStreamerGWorld.cpp:
+ (WebCore::GStreamerGWorld::exitFullscreen):
+
+2011-05-11 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Hajime Morita.
+
+ The position of validation message bubble is wrong for non text fields.
+ https://bugs.webkit.org/show_bug.cgi?id=60341
+
+ Tests: fast/forms/validation-message-on-checkbox.html
+ fast/forms/validation-message-on-listbox.html
+ fast/forms/validation-message-on-menulist.html
+ fast/forms/validation-message-on-radio.html
+ fast/forms/validation-message-on-textarea.html
+
+ * css/html.css:
+ (::-webkit-validation-bubble-message):
+ Add white-space:normal in order not to inherit white-space:pre for <select>.
+ * html/ValidationMessage.cpp:
+ (WebCore::adjustBubblePosition):
+ Adjust the bubble position.
+ - The top of the bubble should be same as the bottom of the target control.
+ - The left of the bubble should be same as the left of the target control.
+ But If the left+32 is larger than the center of the target control,
+ left+32 should be at the center of the target control.
+ But the left position should not be less than 0.
+ (WebCore::ValidationMessage::buildBubbleTree): Call adjustBubblePosition().
+
+2011-05-11 Emil A Eklund <eae@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Convert RenderFlexibleBox to use IntPoint/IntSize instead of x,y/w,h pairs
+ https://bugs.webkit.org/show_bug.cgi?id=60592
+
+ Refactoring, covered by existing tests.
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::layoutBlock):
+ (WebCore::RenderFlexibleBox::layoutHorizontalBox):
+ (WebCore::RenderFlexibleBox::layoutVerticalBox):
+ (WebCore::RenderFlexibleBox::placeChild):
+ * rendering/RenderFlexibleBox.h:
+
+2011-05-10 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Unreviewed buildfix for strict OwnPtr.
+
+ * platform/audio/AudioBus.cpp:
+ (WebCore::AudioBus::createBufferFromRange):
+ (WebCore::AudioBus::createBySampleRateConverting):
+ (WebCore::AudioBus::createByMixingToMono):
+ * platform/audio/HRTFElevation.cpp:
+ (WebCore::HRTFElevation::createForSubject):
+ (WebCore::HRTFElevation::createByInterpolatingSlices):
+ * platform/audio/Panner.cpp:
+ (WebCore::Panner::create):
+ * platform/audio/Reverb.cpp:
+ (WebCore::Reverb::initialize):
+ * platform/audio/chromium/AudioBusChromium.cpp:
+ (WebCore::AudioBus::loadPlatformResource):
+ (WebCore::createBusFromInMemoryAudioFile):
+
+2011-05-10 Adam Barth <abarth@webkit.org>
+
+ Build fix for font data madness. I've had to whitelist this on several
+ ports. They need to all be fixed at once.
+
+ * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
+
+2011-05-10 David Kilzer <ddkilzer@apple.com>
+
+ BUILD FIX for !ENABLE(TEXT_CARET) after r86039
+
+ * editing/FrameSelection.cpp:
+ (WebCore::DragCaretController::paintDragCaret): Added
+ UNUSED_PARAM(frame) for !ENABLE(TEXT_CARET).
+
+2011-05-10 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Clean up setLayerRenderer() calls in LayerRendererChromium
+ https://bugs.webkit.org/show_bug.cgi?id=60524
+
+ This refactors the way LayerRendererChromium calls setLayerRenderer on its layers in a few ways to clean things
+ up:
+
+ *) Move the pre-paint call to setLayerRenderer from updatePropertiesAndRenderSurfaces() to paintLayerContents().
+ updatePropertiesAndRenderSurfaces() does too much and the layer renderer pointer only has to be up to date to do
+ the actual paint. Longer term we won't need to call this at all in order to call paint and this call will just
+ go away.
+ *) Tweaks updateCompositorResourcesRecursive() to be slightly shorter and less error-prone.
+ *) Explicitly set the LayerRendererChromium for each layer in the tree when transfering the root layer (used
+ during lost context). LayerChromium::setLayerRenderer checks if the new LayerRendererChromium is different
+ by comparing the pointer value to the old one. This check will be incorrect if there are multiple lost
+ contexts between a setLayerRenderer() call and a new LayerRendererChromium happens to be allocated at the
+ same address as the old one. An explicit call to setLayerRenderer() for every layer in the tree fixes this
+ since when this function is called the new and old LayerRendererChromium are still live and so they cannot
+ live at the same address.
+
+ The first two changes are purely refactors and do not change behavior. The third issue can't be tested via a
+ layout test directly as we don't have a way to induce a lost context on the compositor in a layout test.
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::paintLayerContents):
+ (WebCore::LayerRendererChromium::clearLayerRendererRecursive):
+ (WebCore::LayerRendererChromium::transferRootLayer):
+ (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
+ (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+
+2011-05-10 Anton D'Auria <adauria@apple.com>
+
+ Reviewed by David Levin.
+
+ StorageTracker should report actual local storage usage on disk
+ https://bugs.webkit.org/show_bug.cgi?id=60558
+
+ Tests: storage/domstorage/localstorage/storagetracker/storage-tracker-6-create.html
+ storage/domstorage/localstorage/storagetracker/storage-tracker-7-usage.html
+
+ Use SQLiteFileSystem::getDatabaseFileSize to get actual usage by
+ an origin's local storage db. Factored out code that retrieves
+ path of local storage db.
+
+ * WebCore.exp.in: Sorted alphabetically StorageTracker's mangled
+ function names.
+ * storage/StorageTracker.cpp:
+ (WebCore::StorageTracker::syncDeleteOrigin): Uses helper function
+ to get path of origin's db
+ (WebCore::StorageTracker::databasePathForOrigin): New helper function.
+ that gets the path of an origin's local storage db from StorageTracker.
+ (WebCore::StorageTracker::diskUsageForOrigin): New API.
+ * storage/StorageTracker.h:
+
+2011-05-10 Anton D'Auria <adauria@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Add ApplicationCache API to get disk usage per origin
+ https://bugs.webkit.org/show_bug.cgi?id=57127
+
+ ApplicationCacheStorage already provides an API to get per-origin
+ disk usage. This should be exposed through WebCore::ApplicationCache
+ to not be dependent on storage implementation.
+
+ Test: http/tests/appcache/origin-usage.html
+
+ * WebCore.exp.in:
+ * loader/appcache/ApplicationCache.cpp:
+ (WebCore::ApplicationCache::diskUsageForOrigin):
+ * loader/appcache/ApplicationCache.h:
+
+2011-05-10 Pratik Solanki <psolanki@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Protect self in [WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]
+ https://bugs.webkit.org/show_bug.cgi?id=60594
+ <rdar://problem/9203259>
+
+ No tests since we don't have any bots testing CFNETWORK_DATA_ARRAY_CALLBACK.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]): The didReceiveData()
+ callback on client can result in the load being cancelled. This results in the delegate
+ (self) being freed. Protect self during the loop so we can check for m_handle and safely
+ return without crashing.
+
+2011-05-10 Chris Guillory <chris.guillory@google.com>
+
+ Reviewed by James Robinson.
+
+ [ChromiumWin] Font::drawComplexText calls EndPlatformPaint without calling BeginPlatformPaint.
+ https://bugs.webkit.org/show_bug.cgi?id=59848
+
+ To test this I plan to make the non-printing device (BitmapPlatformDevice) fail
+ when EndPlatformPaint doesn't matchup with BeginPlatformPaint.
+ http://codereview.chromium.org/6949012/
+
+ * platform/graphics/chromium/FontChromiumWin.cpp:
+ (WebCore::Font::drawComplexText):
+
+2011-05-10 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r86195.
+ http://trac.webkit.org/changeset/86195
+ https://bugs.webkit.org/show_bug.cgi?id=60597
+
+ LayerOffset is a really bad name (Requested by smfr on
+ #webkit).
+
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::paintScrollCorner):
+ * platform/graphics/LayerOffset.h: Removed.
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::paint):
+ (WebCore::InlineTextBox::paintCustomHighlight):
+ * rendering/InlineTextBox.h:
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::paintCustomHighlight):
+ * rendering/RenderBox.h:
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::paintReplaced):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintScrollCorner):
+ (WebCore::RenderLayer::paintResizer):
+ * rendering/RenderListMarker.cpp:
+ (WebCore::RenderListMarker::paint):
+ * rendering/RenderObject.h:
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::paintPart):
+ * rendering/RenderScrollbarPart.cpp:
+ (WebCore::RenderScrollbarPart::paintIntoRect):
+ * rendering/RenderScrollbarPart.h:
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::paintObject):
+ (WebCore::RenderTable::paintMask):
+ * rendering/RenderTable.h:
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::paint):
+ * rendering/RootInlineBox.cpp:
+ (WebCore::RootInlineBox::paintCustomHighlight):
+ (WebCore::RootInlineBox::paint):
+ * rendering/RootInlineBox.h:
+
+2011-05-10 Emil A Eklund <eae@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Convert x,y and width,height pairs to IntPoint and IntSize for RenderLayer
+ https://bugs.webkit.org/show_bug.cgi?id=60409
+
+ Convert RenderLayer to use IntPoint for x,y pairs and IntSize for offsets and sizes.
+
+ Refactoring, covered by existing tests.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::RenderLayer):
+ (WebCore::RenderLayer::updateLayerPositions):
+ (WebCore::RenderLayer::updateLayerPosition):
+ (WebCore::RenderLayer::scrollTo):
+ (WebCore::RenderLayer::visibleHeight):
+ (WebCore::RenderLayer::visibleWidth):
+ (WebCore::RenderLayer::scrollWidth):
+ (WebCore::RenderLayer::scrollHeight):
+ (WebCore::RenderLayer::computeScrollDimensions):
+ (WebCore::RenderLayer::updateScrollInfoAfterLayout):
+ * rendering/RenderLayer.h:
+ (WebCore::RenderLayer::x):
+ (WebCore::RenderLayer::y):
+ (WebCore::RenderLayer::setLocation):
+ (WebCore::RenderLayer::width):
+ (WebCore::RenderLayer::height):
+ (WebCore::RenderLayer::size):
+ (WebCore::RenderLayer::setWidth):
+ (WebCore::RenderLayer::setHeight):
+ (WebCore::RenderLayer::scrolledContentOffset):
+ (WebCore::RenderLayer::scrollXOffset):
+ (WebCore::RenderLayer::scrollYOffset):
+ (WebCore::RenderLayer::scrollOffset):
+ (WebCore::RenderLayer::scrollToXOffset):
+ (WebCore::RenderLayer::scrollToYOffset):
+ (WebCore::RenderLayer::relativePositionOffset):
+
+2011-05-10 Levi Weintraub <leviw@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Create LayerOffset class
+ https://bugs.webkit.org/show_bug.cgi?id=60490
+
+ Adding a LayerOffset class that will replace existing usage of tx/ty.
+ LayerOffset is necessary since these values are commonly used as both
+ a size and a point. Updating paintIntoRect to use this new class.
+
+ No new tests since this doesn't change any behavior.
+
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::paintScrollCorner):
+ * platform/graphics/LayerOffset.h: Added.
+ (WebCore::LayerOffset::LayerOffset):
+ (WebCore::LayerOffset::x):
+ (WebCore::LayerOffset::y):
+ (WebCore::LayerOffset::setX):
+ (WebCore::LayerOffset::setY):
+ (WebCore::LayerOffset::toSize):
+ (WebCore::LayerOffset::toPoint):
+ (WebCore::operator+=):
+ (WebCore::operator-=):
+ (WebCore::operator+):
+ (WebCore::operator-):
+ (WebCore::operator==):
+ (WebCore::operator!=):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintScrollCorner):
+ (WebCore::RenderLayer::paintResizer):
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::paintPart):
+ * rendering/RenderScrollbarPart.cpp:
+ (WebCore::RenderScrollbarPart::paintIntoRect):
+ * rendering/RenderScrollbarPart.h:
+
+2011-05-10 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Make member variables of CaretBase private
+ https://bugs.webkit.org/show_bug.cgi?id=60454
+
+ Moved m_absCaretBounds, m_absoluteCaretRepaintBounds, m_absCaretBoundsDirty, and m_caretPaint back
+ from CaretBase to FrameSelection because they are only used in FrameSelection, and made the rest
+ of member variables in CaretBase private.
+
+ * editing/FrameSelection.cpp:
+ (WebCore::CaretBase::CaretBase): Takes CaretVisibility as an argument.
+ (WebCore::DragCaretController::DragCaretController):
+ (WebCore::FrameSelection::FrameSelection): Initializes m_absCaretBoundsDirty and m_caretPaint
+ now that they are part of FrameSelection again.
+ (WebCore::DragCaretController::setCaretPosition):
+ (WebCore::FrameSelection::setSelection):
+ (WebCore::CaretBase::clearCaretRect): Extracted from updateCaretRect.
+ (WebCore::CaretBase::updateCaretRect): No longer clears caret; all call sites (namely setCaretPosition
+ and localCaretRect) that used to call updateCaretRect now need to call clearCaretRect or updateCaretRect
+ based on some conditions.
+ (WebCore::FrameSelection::localCaretRect):
+ (WebCore::CaretBase::caretRepaintRect):
+ (WebCore::FrameSelection::recomputeCaretRect):
+ (WebCore::FrameSelection::paintCaret): Only calls CaretBase::paintCaret if m_caretPaint is true.
+ (WebCore::CaretBase::paintCaret): Removed an early exit for when m_caretPaint is false since m_caretPaint
+ has been moved from CaretBase to FrameSelection.
+ (WebCore::FrameSelection::focusedOrActiveStateChanged):
+ (WebCore::FrameSelection::updateAppearance):
+ (WebCore::FrameSelection::setCaretVisibility): Takes CaretVisibility instead of bool.
+ (WebCore::FrameSelection::caretBlinkTimerFired):
+ * editing/FrameSelection.h:
+ (WebCore::CaretBase::fastLocalCaretRect): Added; replaces localCaretRectForPainting.
+ (WebCore::CaretBase::shouldUpdateCaretRect): Added.
+ (WebCore::CaretBase::setCaretRectNeedsUpdate): Added.
+ (WebCore::CaretBase::setCaretVisibility): Added.
+ (WebCore::CaretBase::caretIsVisible): Added.
+ (WebCore::FrameSelection::setCaretRectNeedsUpdate): Added.
+
+2011-05-10 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ [chromium] Use parent/child terms for compositor tree structures consistently instead of superlayer/sublayer
+ https://bugs.webkit.org/show_bug.cgi?id=60588
+
+ GraphicsLayer uses parent/child terminology for tree structure, as does CCLayerImpl. LayerChromium was using
+ superlayer/sublayer terms, inherited from this code's branching from the platform/graphics/win/CACF code. The
+ mixed terminology is confusing and parent/child is more common, so this unifies everything to use parent/child.
+
+ No new tests, refactor only.
+
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::setChildren):
+ (WebCore::GraphicsLayerChromium::addChild):
+ (WebCore::GraphicsLayerChromium::addChildAtIndex):
+ (WebCore::GraphicsLayerChromium::addChildBelow):
+ (WebCore::GraphicsLayerChromium::addChildAbove):
+ (WebCore::GraphicsLayerChromium::replaceChild):
+ (WebCore::GraphicsLayerChromium::removeFromParent):
+ (WebCore::GraphicsLayerChromium::setContentsToImage):
+ (WebCore::GraphicsLayerChromium::setContentsToCanvas):
+ (WebCore::GraphicsLayerChromium::setContentsToMedia):
+ (WebCore::GraphicsLayerChromium::hostLayerForChildren):
+ (WebCore::GraphicsLayerChromium::layerForParent):
+ (WebCore::GraphicsLayerChromium::updateChildList):
+ (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
+ (WebCore::GraphicsLayerChromium::setupContentsLayer):
+ * platform/graphics/chromium/GraphicsLayerChromium.h:
+ * platform/graphics/chromium/LayerChromium.cpp:
+ (WebCore::LayerChromium::LayerChromium):
+ (WebCore::LayerChromium::~LayerChromium):
+ (WebCore::LayerChromium::addChild):
+ (WebCore::LayerChromium::insertChild):
+ (WebCore::LayerChromium::removeFromParent):
+ (WebCore::LayerChromium::removeChild):
+ (WebCore::LayerChromium::replaceChild):
+ (WebCore::LayerChromium::indexOfChild):
+ (WebCore::LayerChromium::rootLayer):
+ (WebCore::LayerChromium::removeAllChildren):
+ (WebCore::LayerChromium::setChildren):
+ (WebCore::LayerChromium::parent):
+ (WebCore::LayerChromium::dumpLayer):
+ * platform/graphics/chromium/LayerChromium.h:
+ (WebCore::LayerChromium::children):
+ (WebCore::LayerChromium::setParent):
+ (WebCore::LayerChromium::numChildren):
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
+ (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive):
+ (WebCore::LayerRendererChromium::dumpRenderSurfaces):
+ * platform/graphics/chromium/cc/CCLayerImpl.cpp:
+ (WebCore::CCLayerImpl::parent):
+ (WebCore::CCLayerImpl::descendantsDrawsContent):
+ * platform/graphics/chromium/cc/CCLayerImpl.h:
+
+2011-05-10 Levi Weintraub <leviw@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Switch RenderBoxModelObject::paintNinePieceImage to use IntRect instead of four ints
+ https://bugs.webkit.org/show_bug.cgi?id=60586
+
+ Switch paintNinePieceImage to take an IntRect instead of four ints representing an IntRect!
+
+ No new tests as this is simply refactoring.
+
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::paintMask):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::paintMaskImages):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintNinePieceImage):
+ (WebCore::RenderBoxModelObject::paintBorder):
+ * rendering/RenderBoxModelObject.h:
+
+2011-05-05 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Removing the full screen element via parent.innerHTML="" does not result in a webkitfullscreenchange event.
+ https://bugs.webkit.org/show_bug.cgi?id=60278
+
+ Handle the removal of a full screen element from within Node::willRemove() instead
+ of Document::nodeWillBeRemoved(). The new function Document::fullScreenElementWillBeRemoved() will
+ be called by Node::willRemove() to handle those changes which used to occur in nodeWillBeRemoved().
+
+ Test: fullscreen/full-screen-remove-children.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::nodeWillBeRemoved): Removed the code checking for the full screen element.
+ (WebCore::Document::fullScreenElementWillBeRemoved): Added, moved from nodeWillBeRemoved.
+ * dom/Document.h:
+ * dom/Node.cpp:
+ (WebCore::Node::willRemove): Check to see if this is the current full screen element.
+
+2011-05-10 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=60582
+ Crash switching overlay/non-overlay scrollbar preference still possible
+ -and corresponding-
+ <rdar://problem/9323983>
+
+ This patch prevents any work from being done on pages that are in the page cache
+ when the preference is switched.
+
+ When the Document is going into or coming out of the page cache, have the
+ FrameView inactivate or activate the Page's ScrollAnimators as appropriate.
+ * dom/Document.cpp:
+ (WebCore::Document::setInPageCache):
+
+ Iterate through the Page's ScrollableAreas setting the active state of the
+ ScrollAnimators.
+ * page/FrameView.cpp:
+ (WebCore::FrameView::setAnimatorsAreActive):
+ * page/FrameView.h:
+
+ ScrollAnimator has a new bit -- m_isActive. Right now m_isActive is always true
+ unless the ScrollAnimator belongs to a ScrollableArea that is in the page cache.
+ * platform/ScrollAnimator.cpp:
+ (WebCore::ScrollAnimator::ScrollAnimator):
+ * platform/ScrollAnimator.h:
+ (WebCore::ScrollAnimator::setIsActive):
+ (WebCore::ScrollAnimator::isActive):
+
+ ScrollAnimatorMac has a new bit -- m_needsScrollerStyleUpdate. This is set to true
+ when a ScrollAnimator is inactive and has received the
+ updateScrollerStyleForNewRecommendedScrollerStyle delegate notification. It
+ prevents any work from being done for this delegate until the ScrollAnimator
+ becomes active again.
+ * platform/mac/ScrollAnimatorMac.h:
+ (WebCore::ScrollAnimatorMac::setNeedsScrollerStyleUpdate):
+ (WebCore::ScrollAnimatorMac::needsScrollerStyleUpdate):
+
+ This delegate method has been re-factored into ScrollAnimatorMac::
+ updateScrollerStyle(). This way the meat of the function can be called by both the
+ delegate and ScrollAnimatorMac::setIsActive()
+ * platform/mac/ScrollAnimatorMac.mm:
+ (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
+ (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
+
+ This override of ScrollAnimator::setIsActive() calls the base class, and then calls updateScrollerStyle() if needsScrollerStyleUpdate() is set to true.
+ (WebCore::ScrollAnimatorMac::setIsActive):
+
+ This is mostly the same as the old delegate method. Key differences are that if
+ the ScrollAnimator is inactive, we now setNeedsScrollerStyleUpdate(true) and
+ return early. We also only call scrollableArea()->scrollbarStyleChanged() if
+ needsScrollerStyleUpdate() is false since in the true case when we are restoring
+ from the page cache, this would be duplicated work.
+ (WebCore::ScrollAnimatorMac::updateScrollerStyle):
+
+ New WKSystemInterface function is needed to retrieve the scrollbar style.
+ * WebCore.exp.in:
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+
+2011-05-10 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ Enable strict PassOwnPtr on Chromium
+ https://bugs.webkit.org/show_bug.cgi?id=60502
+
+ Technically there are a few bits in here that weren't reviewed by Dave,
+ but close enough for government work. This patch all fixes the
+ remaining strict PassOwnPtr violations on Chromium Linux.
+
+ * platform/graphics/chromium/PlatformCanvas.cpp:
+ (WebCore::PlatformCanvas::resize):
+ * platform/graphics/chromium/SimpleFontDataLinux.cpp:
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
+
+2011-05-10 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Alice Liu.
+
+ <rdar://problem/9343191> and https://bugs.webkit.org/show_bug.cgi?id=60572
+ REGRESSION - Canon On-screen Manual.app crashes after a search
+
+ No new tests - There's no way to reproduce the truly bizarre things Canon does in their app
+ that would reasonably fit in to our testing infrastructure.
+
+ In r66577 a new behavior was added where changing the "setLoadsImagesAutomatically" setting to "true" would immediately
+ start loading those images that had been disabled.
+
+ If this happens while a WebView is being dealloc'ed, and we don't know the WebView is being dealloc'ed, these new loads
+ can cause crashes downstream when the WebView memory has actually been free'd.
+
+ One example where this can happen is in Mac apps that subclass WebView then do work in their overridden dealloc methods.
+ And the Canon Onscreen Manual is one such app.
+
+ Starting these loads synchronously is not important. By putting it on a 0-delay, properly closing the Page cancels them
+ before they have a chance to really start.
+
+ See http://webkit.org/b/60572 for more discussion.
+
+
+ Add a timer to Settings and instead of calling setLoadsImagesAutomaticallyInAllFrames right
+ away when this pref changes, call it on a 0-delay:
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ (WebCore::Settings::setLoadsImagesAutomatically):
+ (WebCore::Settings::loadsImagesAutomaticallyTimerFired):
+ * page/Settings.h:
+
+2011-05-10 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK][WebKit2] GTK+ 2.x widget rendering fails after r85480
+ https://bugs.webkit.org/show_bug.cgi?id=59990
+
+ No new tests. This is covered by existing pixel tests.
+
+ * platform/gtk/GtkVersioning.c:
+ (getGdkDrawableSize): Added this helper method.
+ * platform/gtk/GtkVersioning.h: Added helper method declaration.
+ * platform/gtk/WidgetRenderingContext.cpp:
+ (WebCore::WidgetRenderingContext::WidgetRenderingContext): Call into the helper if
+ there is actually a GdkDrawable. If not, disable the sanity check.
+
+2011-05-10 Martin Robinson <mrobinson@igalia.com>
+
+ Fix the GTK+ WebKit2 build. Add a CredentialsStorage stub for libsoup.
+
+ * GNUmakefile.list.am: Add stub to source list.
+ * platform/network/soup/CredentialStorageSoup.cpp: Added.
+ (WebCore::CredentialStorage::getFromPersistentStorage): Added stub.
+ (WebCore::CredentialStorage::get):
+
+2011-05-09 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/9354979> REGRESSION (r83070-r83126): This conversation takes 10 seconds to load and makes mail unresponsive
+
+ Second attempts at a fix for this bug. Instead of removing the dirtying (which turned out to be needed in a few cases),
+ make dirtyLinesFromChangedChild mark a child as needing layout when it has to recur to the parent. Because the method already
+ aborts the recursion if selfNeedsLayout() is set on the parent, this has the effect of stopping the O(n^2) pathological
+ behavior, since you can use the selfNeedsLayout() bit to understand that you've dirtied the lines already.
+
+ * rendering/RenderLineBoxList.cpp:
+ (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
+
+2011-05-05 Brent Fulgham <bfulgham@webkit.org> and Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Anders Carlsson.
+
+ [Cairo][WebKit2] Add an implementation of ShareableBitmap for Cairo
+ https://bugs.webkit.org/show_bug.cgi?id=60293
+
+ No new tests. This is covered by current pixel tests.
+
+ * platform/graphics/cairo/CairoUtilities.cpp:
+ (WebCore::copyCairoImageSurface): Abstract the code from WebCore::ImageBuffer::copyImage
+ into this helper which creates a deep copy of a Cairo image surface.
+ * platform/graphics/cairo/CairoUtilities.h: Added declaration.
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (WebCore::ImageBuffer::copyImage): Use the new helper.
+ * platform/graphics/cairo/ImageCairo.cpp: Abstract some of this logic
+ into the new drawSurfaceToContext method on PlatformContextCairo.
+ (WebCore::BitmapImage::draw):
+ * platform/graphics/cairo/PlatformContextCairo.cpp:
+ (WebCore::drawPatternToCairoContext): Added.
+ (WebCore::PlatformContextCairo::drawSurfaceToContext): Added.
+ * platform/graphics/cairo/PlatformContextCairo.h: Added declarations.
+
+2011-05-10 Anders Carlsson <andersca@apple.com>
+
+ Attempt to fix Qt build.
+
+ * platform/network/qt/CredentialStorageQt.cpp:
+ (WebCore::CredentialStorage::get):
+ Add stub.
+
+2011-05-10 Kenichi Ishibashi <bashi@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ REGRESSION(r85013): platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html is failing
+ https://bugs.webkit.org/show_bug.cgi?id=60079
+
+ Set resultingNumPoints = 0 so that harfbuzz uses the design coordinate
+ value pair.
+
+ * platform/graphics/chromium/HarfbuzzSkia.cpp:
+ (WebCore::getOutlinePoint): Just return HB_Err_Ok with resultingNumPoints = 0.
+
+2011-05-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Extra sign in required to view video on MobileMe Gallery album
+ https://bugs.webkit.org/show_bug.cgi?id=60560
+ <rdar://problem/9338693>
+
+ Add symbols required by WebKit2.
+
+ * WebCore.exp.in:
+
+2011-05-10 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Styles sidebar is not updated upon changes in the Resources panel.
+ https://bugs.webkit.org/show_bug.cgi?id=60320
+
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel):
+
+2011-05-06 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Use a File object to store the downloaded file reference rather than
+ just the path. This keeps the file and permissions in scope (using the
+ already-existing blob system) so the browser won't delete the file
+ when the load is complete. Instead, the file will be cleaned up when
+ the request objects are deleted.
+ https://bugs.webkit.org/show_bug.cgi?id=60281
+
+ * platform/network/chromium/ResourceResponse.cpp:
+ (WebCore::ResourceResponse::doPlatformCopyData):
+ (WebCore::ResourceResponse::doPlatformAdopt):
+ * platform/network/chromium/ResourceResponse.h:
+ (WebCore::ResourceResponse::downloadedFile):
+ (WebCore::ResourceResponse::setDownloadedFile):
+
+2011-05-10 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Files that load quickly sometimes won't play.
+ https://bugs.webkit.org/show_bug.cgi?id=60556
+ <rdar://problem/9330567>
+
+ No new tests, this failure is very difficult to reproduce on some machines. The fix was
+ verified manually.
+
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
+ (WebCore::MediaPlayerPrivateAVFoundation::playabilityKnown): Move the call to updateStates
+ to dispatchNotification so it is more obvious which state changes call it.
+ (WebCore::MediaPlayerPrivateAVFoundation::setNaturalSize): Correct logging typo.
+ (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Move updateStates call to
+ dispatchNotification.
+ (WebCore::MediaPlayerPrivateAVFoundation::rateChanged): Ditto.
+ (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Ditto.
+ (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Call updateStates after
+ processing "size changed" notification so we detect all state changes. Consolidate
+ calls to updateStates here.
+
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Name the video layer in
+ a debug build.
+
+2011-05-10 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Add containsFloats call to hasOverhangingFloats.
+ https://bugs.webkit.org/show_bug.cgi?id=60537
+
+ Test: fast/block/float/no-overhanging-float-crash.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::repaintOverhangingFloats):
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::hasOverhangingFloats):
+
+2011-05-10 Alexis Menard <alexis.menard@openbossa.org>
+
+ Reviewed by Antonio Gomes.
+
+ Warning fix on PluginPackage.cpp.
+ https://bugs.webkit.org/show_bug.cgi?id=60371
+
+ Warning fix on conversion from time_t to unsigned on Linux with GCC 4.6.0.
+ Let's use a struct rather than an array so we can pass everything to StringHasher.
+
+ * plugins/PluginPackage.cpp:
+ (WebCore::PluginPackage::hash):
+
+2011-05-10 Andreas Kling <andreas.kling@nokia.com>
+
+ Rubber-stamped by Csaba Osztrogonác.
+
+ [Qt] Disable HAVE_QRAWFONT until Qt API stabilizes.
+ https://bugs.webkit.org/show_bug.cgi?id=60551
+
+ * WebCore.pro: Disable the line that enables HAVE_QRAWFONT
+ if the feature is found. Added a comment about why.
+
+2011-05-10 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Sam Weinig.
+
+ Web Inspector: inspector/console/console-shadow-dom-access.html crashes on mac debug
+ https://bugs.webkit.org/show_bug.cgi?id=60266
+
+ * bindings/objc/DOM.mm:
+ (kitClass): return DOMNode class for shadow root node
+
+
+2011-05-10 Ben Murdoch <benm@google.com>
+
+ Reviewed by Steve Block.
+
+ Fix build in WebCore/xml/XSLTProcessorLibxslt.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=60478
+
+ No new tests), build fix only.
+
+ * xml/XSLTProcessorLibxslt.cpp: Add CString.h include.
+
+2011-05-10 Keith Kyzivat <keith.kyzivat@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] QtRawFont support should check based on feature, not version
+ https://bugs.webkit.org/show_bug.cgi?id=60513
+
+ Build fix - no tests added.
+
+ * WebCore.pro:
+
+2011-05-10 Tony Gentilcore <tonyg@chromium.org>
+
+ Build fix: include ExceptionCode
+ https://bugs.webkit.org/show_bug.cgi?id=60538
+
+ * bindings/js/JSDOMBinding.cpp:
+
+2011-05-06 Tony Gentilcore <tonyg@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix some unnecessary includes in headers
+ https://bugs.webkit.org/show_bug.cgi?id=60388
+
+ These were all found using the include-what-you-use clang plugin.
+
+ * css/CSSFontFaceSrcValue.h:
+ * css/CSSImageGeneratorValue.h:
+ * css/CSSParser.h:
+ * css/CSSPrimitiveValueCache.cpp:
+ * css/CSSPrimitiveValueCache.h:
+ * css/CSSStyleSelector.cpp:
+ * css/CSSStyleSelector.h:
+ * css/RGBColor.cpp:
+ * css/RGBColor.h:
+ * dom/EventTarget.h:
+ * dom/ExceptionBase.cpp:
+ * dom/ExceptionBase.h:
+ * dom/MessagePort.cpp:
+ * dom/Range.cpp:
+ * dom/Range.h:
+ * dom/SelectElement.cpp:
+ * dom/SelectElement.h:
+ * dom/TextEvent.cpp:
+ * dom/TextEvent.h:
+ * dom/Touch.cpp:
+ * dom/Touch.h:
+ * dom/TouchEvent.cpp:
+ * dom/TouchEvent.h:
+ * dom/XMLDocumentParser.h:
+ * dom/XMLDocumentParserScope.h:
+ * editing/AppendNodeCommand.cpp:
+ * editing/ApplyBlockElementCommand.h:
+ * editing/DeleteFromTextNodeCommand.cpp:
+ * editing/EditCommand.h:
+ * editing/Editor.h:
+ * editing/FormatBlockCommand.h:
+ * editing/IndentOutdentCommand.h:
+ * editing/InsertIntoTextNodeCommand.cpp:
+ * editing/InsertNodeBeforeCommand.cpp:
+ * editing/ReplaceSelectionCommand.h:
+ * editing/SetNodeAttributeCommand.h:
+ * html/HTMLSelectElement.h:
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ * loader/appcache/DOMApplicationCache.cpp:
+ * page/EventSource.cpp:
+ * rendering/RenderListBox.cpp:
+ * rendering/RenderMenuList.cpp:
+ * rendering/RenderTextControlSingleLine.cpp:
+ * rendering/svg/RenderSVGInlineText.cpp:
+ * svg/SVGMatrix.h:
+ * websockets/WebSocket.cpp:
+ * workers/AbstractWorker.cpp:
+ * xml/XMLHttpRequest.cpp:
+ * xml/XPathExpression.cpp:
+
+2011-05-10 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Ryosuke Niwa.
+
+ REGRESSION(r73886): Frequent crashes in replaceSelectionWithFragment
+ https://bugs.webkit.org/show_bug.cgi?id=60090
+
+ SpellChecker uses TextCheckerClient, which belongs Page object,
+ which is possibly destroyed during SpellChecker's lifetime.
+ This change added to a guard before using TextCheckerClient to
+ ensure it being live.
+
+ No new tests, this is a speculative fix for a real crash.
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::Editor):
+ * editing/SpellChecker.cpp:
+ (WebCore::SpellChecker::SpellChecker):
+ (WebCore::SpellChecker::client):
+ (WebCore::SpellChecker::canCheckAsynchronously):
+ (WebCore::SpellChecker::requestCheckingFor):
+ * editing/SpellChecker.h:
+
+2011-05-09 Dan Bernstein <mitz@apple.com>
+
+ Try to fix the LLVM Compiler build.
+
+ * page/EventHandler.h:
+
+2011-05-09 Daniel Cheng <dcheng@chromium.org>
+
+ Fix the build.
+
+ Really add the file this time.
+
+ * page/DragState.h: Added.
+ (WebCore::DragState::DragState):
+
+2011-05-09 Daniel Cheng <dcheng@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ Refactor RenderObject::draggableNode.
+ https://bugs.webkit.org/show_bug.cgi?id=60503
+
+ This patch lays the ground for refactoring the drag start logic. It moves draggableNode to
+ DragController to avoid the awkward plumbing of calling DragController from RenderObject and
+ also moves EventHandlerDragState out from EventHandler so it can be shared between
+ EventHandler and DragController where appropriate.
+
+ No new tests since there should be no behavior change.
+
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * page/DragController.cpp:
+ (WebCore::DragController::draggableNode):
+ (WebCore::DragController::mayStartDragAtEventLocation):
+ * page/DragController.h:
+ * page/DragState.h: Added.
+ (WebCore::DragState::DragState):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::dragState):
+ (WebCore::EventHandler::eventMayStartDrag):
+ (WebCore::EventHandler::handleDrag):
+ * page/EventHandler.h:
+ * rendering/RenderObject.cpp:
+ * rendering/RenderObject.h:
+
+2011-05-09 Luke Macpherson <macpherson@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Enable casting between CSSPrimitiveValue and FontWeight enum
+ https://bugs.webkit.org/show_bug.cgi?id=60516
+
+ No new tests added as no functionality changed.
+
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ Implement cast from FontWeight to CSSPrimitiveValue.
+ (WebCore::CSSPrimitiveValue::operator FontWeight):
+ Implement cast from CSSPrimitiveValue to FontWeight
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ Use new cast to reduce code size.
+ Flatten switch inside if.
+
+2011-05-09 Simon Fraser <simon.fraser@apple.com>
+
+ Move IconURL.* into the dom grouping.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2011-05-08 Jeremy Noble <jer.noble@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Full-screen video disappears behind black screen with scrollbar, followed by crash at jerryseinfeld.com
+ https://bugs.webkit.org/show_bug.cgi?id=60449
+
+ Make RenderFullScreen a non-anonymous block, so that it does not get deleted when a parent attempts to
+ coalesce anonymous children.
+
+ Test: fullscreen/full-screen-remove-sibling.html
+
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::isAnonymousBlock):
+
+2011-05-09 Jeremy Noble <jer.noble@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ REGRESSION (r84706): Crazy rendering of vimeo.com after exiting fullscreen video
+ https://bugs.webkit.org/show_bug.cgi?id=60512
+
+ Initialize m_containsFullScreenElement.
+
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
+
+2011-05-09 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(r86039): DragCaretController doesn't draw caret
+ https://bugs.webkit.org/show_bug.cgi?id=60505
+
+ Removed an early exit in setCaretPosition introduced by r86039.
+ Also replaced calls to containerNode by deprecatedNode since rendering code doesn't
+ support container node for rendering caret.
+
+ * editing/FrameSelection.cpp:
+ (WebCore::DragCaretController::setCaretPosition):
+
+2011-04-29 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [GTK] Untangle GtkAdjustments from WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=59821
+
+ Completely remove the ability for WebKit to set GtkAdjustments on ScrollViews
+ and, consequently, Scrollbars. Handling adjustment updates can now be managed
+ in WebKit.
+
+ No new tests. This is covered by existing Scrollbar tests.
+
+ * platform/ScrollView.cpp: platformInit and platformDestroy can now be shared
+ between ScrollView.cpp and ScrollViewGtk.cpp.
+ * platform/ScrollView.h: Remove unused methods.
+ * platform/gtk/MainFrameScrollbarGtk.cpp:
+ (MainFrameScrollbarGtk::create): No longer need to pass in the adjustment.
+ (MainFrameScrollbarGtk::MainFrameScrollbarGtk): Update the comments here.
+ * platform/gtk/MainFrameScrollbarGtk.h: Lots of code removal.
+ * platform/gtk/ScrollViewGtk.cpp: Ditto.
+ (WebCore::ScrollView::createScrollbar): Ditto.
+ (WebCore::ScrollView::setScrollbarModes): Ditto.
+ * plugins/gtk/PluginViewGtk.cpp: This file needs the GRefPtrGtk.h include now
+ that it doesn't receive it transitively.
+
+2011-05-09 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ CSP should block Function constructor
+ https://bugs.webkit.org/show_bug.cgi?id=60240
+
+ Tests: http/tests/security/contentSecurityPolicy/function-constructor-allowed.html
+ http/tests/security/contentSecurityPolicy/function-constructor-blocked.html
+
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::JSLazyEventListener::initializeJSFunction):
+ - Update call site to the new entrypoint.
+ * bindings/v8/V8LazyEventListener.cpp:
+ (WebCore::V8LazyEventListener::prepareListenerObject):
+ - Add some comments about the rediculousness of this implementation.
+
+2011-05-09 Chris Rogers <crogers@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ Add RAII-style DenormalDisabler class to disable denormals which hurt audio performance
+ https://bugs.webkit.org/show_bug.cgi?id=60396
+
+ No new tests since audio API is not yet implemented.
+
+ * WebCore.gypi:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/audio/DenormalDisabler.h: Added.
+ (WebCore::DenormalDisabler::DenormalDisabler):
+ (WebCore::DenormalDisabler::~DenormalDisabler):
+ (WebCore::DenormalDisabler::getCSR):
+ (WebCore::DenormalDisabler::setCSR):
+ * webaudio/AudioDestinationNode.cpp:
+ (WebCore::AudioDestinationNode::provideInput):
+
+2011-05-09 Tony Chang <tony@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Style cleanups in RenderFlexibleBox.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=60504
+
+ No new tests, just refactoring.
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::FlexBoxIterator::FlexBoxIterator): Use m_ for member variables, and
+ use class initializer list.
+ (WebCore::FlexBoxIterator::reset):
+ (WebCore::FlexBoxIterator::next):
+ (WebCore::RenderFlexibleBox::RenderFlexibleBox):
+ (WebCore::marginWidthForChild): Pull out common code used in calc*PrefWidths
+ (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths):
+ (WebCore::RenderFlexibleBox::calcVerticalPrefWidths):
+ (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
+ (WebCore::RenderFlexibleBox::layoutBlock):
+ (WebCore::gatherFlexChildrenInfo): Rewrite uses of FlexBoxIterator into for statements
+ rather than while loops.
+ (WebCore::RenderFlexibleBox::layoutHorizontalBox): ditto
+ (WebCore::RenderFlexibleBox::layoutVerticalBox): ditto
+ (WebCore::RenderFlexibleBox::applyLineClamp):
+ (WebCore::RenderFlexibleBox::allowedChildFlex): Rename variables w/h to width/height.
+
+2011-05-09 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Ryosuke Niwa.
+
+ Abstract line deletion code into a function
+ https://bugs.webkit.org/show_bug.cgi?id=60501
+
+ No change in behavior, thus no testing.
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::deleteLineRange):
+ (WebCore::RenderBlock::layoutRunsAndFloats):
+ (WebCore::RenderBlock::determineStartPosition):
+ (WebCore::RenderBlock::matchedEndLine):
+
+2011-05-09 Darin Adler <darin@apple.com>
+
+ Cleared some stray executable bits on source files.
+
+ * bindings/js/WorkerScriptDebugServer.cpp: Removed property svn:executable.
+ * bindings/js/WorkerScriptDebugServer.h: Removed property svn:executable.
+
+2011-05-09 Erik Arvidsson <arv@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ radiogroup: onchange not detected when triggered by keyboard
+ https://bugs.webkit.org/show_bug.cgi?id=32013
+
+ Test: fast/forms/radio-group-keyboard-change-event.html
+
+ * html/RadioInputType.cpp:
+ (WebCore::RadioInputType::handleKeydownEvent): Ensure that we do not check the radio input before we simulate the click
+ event. The simulated click event will check it for us but more importantly it will fire the "change" event as
+ expected.
+
+2011-05-09 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ XSSAuditor should be more selective about the <meta http-equivs> that it blocks
+ https://bugs.webkit.org/show_bug.cgi?id=60489
+
+ We don't need to filter most http-equiv attributes. This patch
+ introduces a blacklist for two that we probably do want to filter.
+ It's possible a whitelist would be more appropriate, but I'm inclined
+ to start with a blacklist and see how it works.
+
+ This patch will hopefully fix a false positive that is causing errors
+ with copy-and-pasted text in Gmail in some configurations (due to using
+ the <meta> tag to request UTF-8 encoding both in the pasted text and in
+ the page itself).
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::isNonCanonicalCharacter):
+ (WebCore::canonicalize):
+ (WebCore::isRequiredForInjection):
+ (WebCore::hasName):
+ (WebCore::findAttributeWithName):
+ (WebCore::isNameOfInlineEventHandler):
+ (WebCore::isDangerousHTTPEquiv):
+ - This function is new in the patch and includes a blacklist of
+ dangerous http-equivs. Many of the other functions listed here
+ are just being moved from an anonymous namespace to use static
+ for internal linkage.
+ (WebCore::containsJavaScriptURL):
+ (WebCore::decodeURL):
+ (WebCore::XSSFilter::eraseAttributeIfInjected):
+
+2011-05-05 Matthew Delaney <mdelaney@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Remove canvas usage of roundToDevicePixels
+ https://bugs.webkit.org/show_bug.cgi?id=60331
+
+ No new tests. This could only affect canvases at non-integral scale factors. Our tests only run in 1.0x.
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::drawImage):
+
+2011-05-09 Alexis Menard <alexis.menard@openbossa.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Fix the build on Embedded Linux.
+ https://bugs.webkit.org/show_bug.cgi?id=60347
+
+ qpa is the name for lighthouse but the old name for Qt for Embedded Linux should
+ still be used in order to build properly.
+
+ * WebCore.pri:
+
+2011-05-09 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Simple small-caps text is displayed in uniform size.
+ https://bugs.webkit.org/show_bug.cgi?id=60492
+
+ Covered by existing tests.
+
+ * platform/graphics/qt/FontPlatformDataQt.cpp:
+ (WebCore::FontPlatformData::FontPlatformData): In the FontPlatformData constructor
+ used by SimpleFontData::scaledFontData(), pass the pixel size to both QFont and QRawFont
+ to make small caps and emphasis marks have the correct size when rendered through
+ the fast font path.
+
+2011-05-09 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Remove unused FontPlatformData functions.
+ https://bugs.webkit.org/show_bug.cgi?id=60485
+
+ * platform/graphics/qt/FontPlatformData.h:
+ (WebCore::FontPlatformData::bold): Removed.
+ (WebCore::FontPlatformData::family): Removed.
+ (WebCore::FontPlatformData::italic): Removed.
+ (WebCore::FontPlatformData::smallCaps): Removed.
+
+2011-05-09 Robin Dunn <robin@alldunn.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Add invalid file handle check.
+
+ https://bugs.webkit.org/show_bug.cgi?id=60483
+
+ * platform/wx/FileSystemWx.cpp:
+ (WebCore::closeFile):
+
+2011-05-09 Robin Dunn <robin@alldunn.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Update the popup menu code to grab the native control and initialize the
+ event handler properly.
+
+ https://bugs.webkit.org/show_bug.cgi?id=60482
+
+ * platform/wx/PopupMenuWx.cpp:
+ (WebCore::PopupMenuWx::PopupMenuWx):
+ (WebCore::PopupMenuWx::~PopupMenuWx):
+ (WebCore::PopupMenuWx::show):
+
+2011-05-09 Robin Dunn <robin@alldunn.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Make sure other controls adjust the rect to handle transforms, and turn off the
+ adjustment in 2.9.2+ where it is handled internally by wx.
+
+ Also add a couple drawing and focus handling fixes for text fields and menulist controls.
+
+ https://bugs.webkit.org/show_bug.cgi?id=60481
+
+ * platform/wx/RenderThemeWx.cpp:
+ (WebCore::getAdjustedRect):
+ (WebCore::RenderThemeWx::supportsFocus):
+ (WebCore::RenderThemeWx::paintButton):
+ (WebCore::RenderThemeWx::adjustTextFieldStyle):
+ (WebCore::RenderThemeWx::paintTextField):
+ (WebCore::RenderThemeWx::adjustMenuListStyle):
+ (WebCore::RenderThemeWx::paintMenuList):
+ (WebCore::RenderThemeWx::paintMenuListButton):
+
+2011-05-09 Tony Gentilcore <tonyg@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Style fix: Function names must begin with lowercase letter and should not use "get".
+ https://bugs.webkit.org/show_bug.cgi?id=60475
+
+ * dom/Document.cpp:
+ (WebCore::Document::webkitVisibilityState):
+ * page/PageVisibilityState.cpp:
+ (WebCore::pageVisibilityStateString): Renamed.
+ * page/PageVisibilityState.h:
+
+2011-05-09 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Tony Gentilcore.
+
+ Make Chromium build with strict PassOwnPtr
+ https://bugs.webkit.org/show_bug.cgi?id=60461
+
+ Fix many, many PassOwnPtr nits.
+
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::precompileScript):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::WindowSetTimeoutImpl):
+ * bindings/v8/custom/V8MessageEventCustom.cpp:
+ (WebCore::V8MessageEvent::initMessageEventCallback):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::SetTimeoutOrInterval):
+ * dom/Document.cpp:
+ (WebCore::Document::removedLastRef):
+ (WebCore::Document::detach):
+ * fileapi/DOMFileSystem.h:
+ (WebCore::DOMFileSystem::scheduleCallback):
+ * fileapi/FileSystemCallbacks.cpp:
+ (WebCore::FileSystemCallbacks::didOpenFileSystem):
+ (WebCore::ResolveURICallbacks::didOpenFileSystem):
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayer::create):
+ * platform/graphics/chromium/cc/CCLayerImpl.cpp:
+ (WebCore::CCLayerImpl::createRenderSurface):
+ * platform/graphics/gpu/BicubicShader.cpp:
+ (WebCore::BicubicShader::create):
+ * platform/graphics/gpu/ConvolutionShader.cpp:
+ (WebCore::ConvolutionShader::create):
+ * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
+ (WebCore::LoopBlinnSolidFillShader::create):
+ * platform/graphics/gpu/SolidFillShader.cpp:
+ (WebCore::SolidFillShader::create):
+ * platform/graphics/gpu/TexShader.cpp:
+ (WebCore::TexShader::create):
+ * platform/graphics/gpu/Texture.cpp:
+ (WebCore::Texture::create):
+ * storage/chromium/DatabaseTrackerChromium.cpp:
+ (WebCore::TrackerRemoveOpenDatabaseTask::create):
+ * storage/chromium/SQLTransactionClientChromium.cpp:
+ (WebCore::NotifyDatabaseChangedTask::create):
+
+2011-05-07 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Daniel Bates.
+
+ [Soup] Clean up error handling in ResourceHandleSoup
+ https://bugs.webkit.org/show_bug.cgi?id=60436
+
+ Instead of repeating the ResourceError creation twice, abstract
+ it into a helper method.
+
+ No new tests. This is a code cleanup.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::soupErrorShouldCauseLoadFailure): Added.
+ (WebCore::convertSoupErrorToResourceError): Added.
+ (WebCore::sendRequestCallback): Use the new helpers.
+ (WebCore::readCallback): Ditto.
+
+2011-05-09 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Dave Hyatt.
+
+ Regression(r85869): Restore dirty line logic in RenderInline::destroy.
+ https://bugs.webkit.org/show_bug.cgi?id=60448
+
+ Test: fast/inline/inline-destroy-dirty-lines-crash.html
+
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::destroy):
+
+2011-05-09 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] WidgetGtk setFocus can not access directly the widget in WK2
+ https://bugs.webkit.org/show_bug.cgi?id=60016
+
+ Added code to check the situation where we do not have direct
+ access to the widget. We use the page to grab the focus which
+ would send a request to the UIProcess in WK2.
+
+ * platform/gtk/WidgetGtk.cpp:
+ (WebCore::Widget::setFocus):
+
+2011-05-09 Leandro Gracia Gil <leandrogracia@chromium.org>
+
+ Reviewed by Tony Gentilcore.
+
+ Media Stream API: add exception raising to the getUserMedia method.
+ https://bugs.webkit.org/show_bug.cgi?id=60387
+
+ Perform the required changes to support rising exceptions in the
+ navigator.getUserMedia method. This is required by the latest changes in the spec:
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dom-navigator-getusermedia
+
+ Test: fast/dom/MediaStream/argument-types.html
+
+ * bindings/js/JSNavigatorCustom.cpp:
+ (WebCore::JSNavigator::webkitGetUserMedia):
+ * bindings/v8/custom/V8NavigatorCustom.cpp:
+ (WebCore::V8Navigator::webkitGetUserMediaCallback):
+ * page/Navigator.cpp:
+ (WebCore::Navigator::webkitGetUserMedia):
+ * page/Navigator.h:
+ * page/Navigator.idl:
+
+2011-05-09 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed Qt 4.8 fix.
+
+ * WebCore.pro: 4.8 bots are updated with the full QRawFont APIs, so we can set HAVE_QRAWFONT now.
+
+2011-05-09 Adam Roben <aroben@apple.com>
+
+ Windows project file fix after r86047
+
+ * WebCore.vcproj/WebCore.vcproj: Added missing closing tags.
+
+2011-05-06 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix layer names to say "tiled" and show CALayer addresses, not PlatformCALayer addresses
+ https://bugs.webkit.org/show_bug.cgi?id=60417
+
+ Layer name now has "Tiled" prepended if it is a TiledLayer. This is true on Mac where
+ the layer is a CATiledLayer and on Win where the layer is actually still a CACFLayer
+ but implements a tiled layer. I also now print the address of the CALayer or CACFLayer
+ instead of the PlatformCALayer everywhere.
+
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
+
+2011-05-09 Rob Buis <rbuis@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ Elements should assert that the QualifiedName given to their constructor corresponds to the Element constructed
+ https://bugs.webkit.org/show_bug.cgi?id=22576
+
+ Add tag name ASSERTs in SVG Element constructors.
+
+ No new tests, since no change in behaviour.
+
+ * svg/SVGAElement.cpp:
+ (WebCore::SVGAElement::SVGAElement):
+ * svg/SVGAltGlyphElement.cpp:
+ (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
+ * svg/SVGAnimateColorElement.cpp:
+ (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
+ * svg/SVGAnimateElement.cpp:
+ (WebCore::SVGAnimateElement::SVGAnimateElement):
+ * svg/SVGAnimateMotionElement.cpp:
+ (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
+ * svg/SVGAnimateTransformElement.cpp:
+ (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
+ * svg/SVGCircleElement.cpp:
+ (WebCore::SVGCircleElement::SVGCircleElement):
+ * svg/SVGClipPathElement.cpp:
+ (WebCore::SVGClipPathElement::SVGClipPathElement):
+ * svg/SVGCursorElement.cpp:
+ (WebCore::SVGCursorElement::SVGCursorElement):
+ * svg/SVGDefsElement.cpp:
+ (WebCore::SVGDefsElement::SVGDefsElement):
+ * svg/SVGDescElement.cpp:
+ (WebCore::SVGDescElement::SVGDescElement):
+ * svg/SVGEllipseElement.cpp:
+ (WebCore::SVGEllipseElement::SVGEllipseElement):
+ * svg/SVGFEBlendElement.cpp:
+ (WebCore::SVGFEBlendElement::SVGFEBlendElement):
+ * svg/SVGFEColorMatrixElement.cpp:
+ (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
+ * svg/SVGFEComponentTransferElement.cpp:
+ (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
+ * svg/SVGFECompositeElement.cpp:
+ (WebCore::SVGFECompositeElement::SVGFECompositeElement):
+ * svg/SVGFEConvolveMatrixElement.cpp:
+ (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
+ * svg/SVGFEDiffuseLightingElement.cpp:
+ (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
+ * svg/SVGFEDisplacementMapElement.cpp:
+ (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
+ * svg/SVGFEDistantLightElement.cpp:
+ (WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement):
+ * svg/SVGFEDropShadowElement.cpp:
+ (WebCore::SVGFEDropShadowElement::SVGFEDropShadowElement):
+ * svg/SVGFEFloodElement.cpp:
+ (WebCore::SVGFEFloodElement::SVGFEFloodElement):
+ * svg/SVGFEFuncAElement.cpp:
+ (WebCore::SVGFEFuncAElement::SVGFEFuncAElement):
+ * svg/SVGFEFuncBElement.cpp:
+ (WebCore::SVGFEFuncBElement::SVGFEFuncBElement):
+ * svg/SVGFEFuncGElement.cpp:
+ (WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
+ * svg/SVGFEFuncRElement.cpp:
+ (WebCore::SVGFEFuncRElement::SVGFEFuncRElement):
+ * svg/SVGFEGaussianBlurElement.cpp:
+ (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
+ * svg/SVGFEImageElement.cpp:
+ (WebCore::SVGFEImageElement::SVGFEImageElement):
+ * svg/SVGFEMergeElement.cpp:
+ (WebCore::SVGFEMergeElement::SVGFEMergeElement):
+ * svg/SVGFEMergeNodeElement.cpp:
+ (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
+ * svg/SVGFEMorphologyElement.cpp:
+ (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
+ * svg/SVGFEOffsetElement.cpp:
+ (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
+ * svg/SVGFEPointLightElement.cpp:
+ (WebCore::SVGFEPointLightElement::SVGFEPointLightElement):
+ * svg/SVGFESpecularLightingElement.cpp:
+ (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
+ * svg/SVGFESpotLightElement.cpp:
+ (WebCore::SVGFESpotLightElement::SVGFESpotLightElement):
+ * svg/SVGFETileElement.cpp:
+ (WebCore::SVGFETileElement::SVGFETileElement):
+ * svg/SVGFETurbulenceElement.cpp:
+ (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
+ * svg/SVGFilterElement.cpp:
+ (WebCore::SVGFilterElement::SVGFilterElement):
+ * svg/SVGFontElement.cpp:
+ (WebCore::SVGFontElement::SVGFontElement):
+ * svg/SVGFontFaceElement.cpp:
+ (WebCore::SVGFontFaceElement::SVGFontFaceElement):
+ * svg/SVGFontFaceFormatElement.cpp:
+ (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
+ * svg/SVGFontFaceNameElement.cpp:
+ (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
+ * svg/SVGFontFaceSrcElement.cpp:
+ (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
+ * svg/SVGFontFaceUriElement.cpp:
+ (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
+ * svg/SVGForeignObjectElement.cpp:
+ (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
+ * svg/SVGGElement.cpp:
+ (WebCore::SVGGElement::SVGGElement):
+ * svg/SVGGlyphElement.cpp:
+ (WebCore::SVGGlyphElement::SVGGlyphElement):
+ * svg/SVGHKernElement.cpp:
+ (WebCore::SVGHKernElement::SVGHKernElement):
+ * svg/SVGImageElement.cpp:
+ (WebCore::SVGImageElement::SVGImageElement):
+ * svg/SVGLineElement.cpp:
+ (WebCore::SVGLineElement::SVGLineElement):
+ * svg/SVGLinearGradientElement.cpp:
+ (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
+ * svg/SVGMPathElement.cpp:
+ (WebCore::SVGMPathElement::SVGMPathElement):
+ * svg/SVGMarkerElement.cpp:
+ (WebCore::SVGMarkerElement::SVGMarkerElement):
+ * svg/SVGMaskElement.cpp:
+ (WebCore::SVGMaskElement::SVGMaskElement):
+ * svg/SVGMetadataElement.cpp:
+ (WebCore::SVGMetadataElement::SVGMetadataElement):
+ * svg/SVGMissingGlyphElement.cpp:
+ (WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement):
+ * svg/SVGPathElement.cpp:
+ (WebCore::SVGPathElement::SVGPathElement):
+ * svg/SVGPatternElement.cpp:
+ (WebCore::SVGPatternElement::SVGPatternElement):
+ * svg/SVGPolygonElement.cpp:
+ (WebCore::SVGPolygonElement::SVGPolygonElement):
+ * svg/SVGPolylineElement.cpp:
+ (WebCore::SVGPolylineElement::SVGPolylineElement):
+ * svg/SVGRadialGradientElement.cpp:
+ (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
+ * svg/SVGRectElement.cpp:
+ (WebCore::SVGRectElement::SVGRectElement):
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::SVGSVGElement):
+ * svg/SVGScriptElement.cpp:
+ (WebCore::SVGScriptElement::SVGScriptElement):
+ * svg/SVGSetElement.cpp:
+ (WebCore::SVGSetElement::SVGSetElement):
+ * svg/SVGStopElement.cpp:
+ (WebCore::SVGStopElement::SVGStopElement):
+ * svg/SVGStyleElement.cpp:
+ (WebCore::SVGStyleElement::SVGStyleElement):
+ * svg/SVGSwitchElement.cpp:
+ (WebCore::SVGSwitchElement::SVGSwitchElement):
+ * svg/SVGSymbolElement.cpp:
+ (WebCore::SVGSymbolElement::SVGSymbolElement):
+ * svg/SVGTRefElement.cpp:
+ (WebCore::SVGTRefElement::SVGTRefElement):
+ * svg/SVGTSpanElement.cpp:
+ (WebCore::SVGTSpanElement::SVGTSpanElement):
+ * svg/SVGTextElement.cpp:
+ (WebCore::SVGTextElement::SVGTextElement):
+ * svg/SVGTextPathElement.cpp:
+ (WebCore::SVGTextPathElement::SVGTextPathElement):
+ * svg/SVGTitleElement.cpp:
+ (WebCore::SVGTitleElement::SVGTitleElement):
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::SVGUseElement):
+ * svg/SVGVKernElement.cpp:
+ (WebCore::SVGVKernElement::SVGVKernElement):
+ * svg/SVGViewElement.cpp:
+ (WebCore::SVGViewElement::SVGViewElement):
+
+2011-05-09 Shishir Agrawal <shishir@chromium.org>
+
+ Reviewed by Tony Gentilcore.
+
+ Implement Page Visibility API.
+ https://bugs.webkit.org/show_bug.cgi?id=54181
+
+ Tests: fast/events/page-visibility-iframe-delete-test.html
+ fast/events/page-visibility-iframe-move-test.html
+ fast/events/page-visibility-iframe-propagation-test.html
+ fast/events/page-visibility-transition-test.html
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Document.cpp:
+ (WebCore::Document::visibilityState):
+ (WebCore::Document::webkitVisibilityState):
+ (WebCore::Document::webkitIsVisible):
+ (WebCore::Document::dispatchVisibilityStateChangeEvent):
+ * dom/Document.h:
+ * dom/Document.idl:
+ * dom/EventNames.h:
+ * page/Frame.cpp:
+ (WebCore::Frame::dispatchVisibilityStateChangeEvent):
+ * page/Frame.h:
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ (WebCore::Page::setVisibilityState):
+ (WebCore::Page::visibilityState):
+ * page/Page.h:
+ * page/PageVisibilityState.cpp: Added.
+ (WebCore::GetPageVisibilityStateString):
+ * page/PageVisibilityState.h: Added.
+
+2011-05-09 Luke Macpherson <macpherson@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Implement expanding CSS border properties in CSSStyleApplyProperty.
+ https://bugs.webkit.org/show_bug.cgi?id=60456
+
+ No new tests added as no functionality changed.
+
+ * css/CSSStyleApplyProperty.cpp:
+ (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
+ Create CSS border expanding property handlers.
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ Remove property handlers that are no longer needed.
+
+2011-05-08 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Kent Tamura.
+
+ selectstart event does not fire when selection is made via select all
+ https://bugs.webkit.org/show_bug.cgi?id=60376
+
+ Fire selectstart event when a user selects all contents (i.e. document.execCommand('SelectAll')) in
+ document, editable region, or text control.
+
+ Tests: editing/selection/selectstart-on-selectall.html
+ editing/selection/selectstart-prevent-selectall.html
+
+ * dom/Node.h: Removed canSelectAll and selectAll as they are left over from WMLSelectElement.
+ * editing/FrameSelection.cpp:
+ (WebCore::FrameSelection::selectAll): Dispatch selectstart event on selectStartTarget, which is
+ input element or textarea element when the current selection is inside a shadow DOM, and the root
+ editable element if it's inside a non-shadow editable region, and the body element otherwise.
+ * html/HTMLSelectElement.h: Made canSelectAll and selectAll public since they are no longer
+ declared in Node.
+
+2011-05-08 Luke Macpherson <macpherson@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Make RenderStyle::setColumnBreakInside() reject unsupported enum values.
+ https://bugs.webkit.org/show_bug.cgi?id=60249
+
+ No new tests added as no functionality changed.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ Remove special-case code and use appropriate macro.
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::setColumnBreakInside):
+ Assert that supported values are used.
+
+2011-05-08 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Extract a DragCaretController from FrameSelection
+ https://bugs.webkit.org/show_bug.cgi?id=60273
+
+ Extracted CaretBase and DragCaretController from FrameSelection. CaretBase is a base class for
+ DragCaretController and FrameSelection and provides functions to paint caret.
+
+ Since DragCaretController doesn't need to store selection, it only holds one VisiblePosition.
+
+ * WebCore.exp.in:
+ * editing/FrameSelection.cpp:
+ (WebCore::CaretBase::CaretBase): Added.
+ (WebCore::DragCaretController::DragCaretController): Added; Set m_caretVisible true.
+ (WebCore::DragCaretController::isContentRichlyEditable): Added.
+ (WebCore::FrameSelection::FrameSelection): Several member variables are move to CaretBase.
+ (WebCore::DragCaretController::setCaretPosition): Extracted from FrameSelection::setSelection.
+ (WebCore::FrameSelection::setSelection): Removed an early exit for DragCaretController.
+ (WebCore::clearRenderViewSelection): Extracted from FrameSelection::respondToNodeModification.
+ (WebCore::DragCaretController::nodeWillBeRemoved): Extracted from FrameSelection::nodeWillBeRemoved
+ and respondToNodeModification. Note that the position DragCaretController holds is equivalent to
+ FrameSelection's base or start so when removingNodeRemovesPosition returns true for m_position,
+ we used to execute the first if clause and cleared render tree selection and DOM tree selection.
+ This is exactly what new DragCaretController::nodeWillBeRemoved does.
+ (WebCore::FrameSelection::nodeWillBeRemoved): Simplified early exist conditions.
+ (WebCore::FrameSelection::respondToNodeModification): Calls clearRenderViewSelection.
+ (WebCore::CaretBase::updateCaretRect): Takes document, caretPosition, selection type, and boolean isOrphaned.
+ Note that we can't obtain the document from caretPosition because VisiblePosition can be null even if
+ FrameSelection's start was not null.
+ (WebCore::caretRendersInsideNode): Moved; Made static local.
+ (WebCore::CaretBase::caretRenderer): Extracted from FrameSelection::caretRenderer.
+ (WebCore::FrameSelection::caretRenderer): Calls CaretBase::caretRenderer.
+ (WebCore::DragCaretController::caretRenderer): Ditto.
+ (WebCore::FrameSelection::localCaretRect): Calls updateCaretRect with extra arguments.
+ (WebCore::CaretBase::absoluteBoundsForLocalRect): Moved from FrameSelection; Takes Node*.
+ (WebCore::CaretBase::caretRepaintRect): Ditto.
+ (WebCore::FrameSelection::recomputeCaretRect): Calls absoluteBoundsForLocalRect, caretRepaintRect,
+ and shouldRepaintCaret with extra arguments.
+ (WebCore::CaretBase::shouldRepaintCaret): Takes a boolean isContentEditable.
+ (WebCore::FrameSelection::invalidateCaretRect): Calls CaretBase::invalidateCaretRect.
+ (WebCore::CaretBase::invalidateCaretRect): Extracted from FrameSelection::invalidateCaretRect.
+ (WebCore::FrameSelection::paintCaret): Calls CaretBase::paintCaret.
+ (WebCore::CaretBase::paintCaret): Extracted from FrameSelection::paintCaret.
+ (WebCore::FrameSelection::updateAppearance): Removed an assertion that this function is never called for
+ DragCaretController.
+ (WebCore::DragCaretController::paintDragCaret): Moved from FrameSelection::paintDragCaret.
+ * editing/FrameSelection.h:
+ (WebCore::CaretBase::localCaretRectForPainting): Added.
+ (WebCore::DragCaretController::isContentEditable): Added.
+ (WebCore::DragCaretController::hasCaret): Added.
+ (WebCore::DragCaretController::caretPosition): Added.
+ (WebCore::DragCaretController::clear): Added.
+ * page/DragController.cpp:
+ (WebCore::DragController::tryDocumentDrag): Uses DragCaretController.
+ (WebCore::DragController::dispatchTextInputEventFor): Ditto.
+ (WebCore::DragController::concludeEditDrag): Ditto.
+ (WebCore::DragController::placeDragCaret): Ditto.
+ * page/Page.cpp:
+ (WebCore::Page::Page): Instantiates DragCaretController instead of FrameSelection.
+ * page/Page.h:
+ (WebCore::Page::dragCaretController): Returns DragCaretController* instead of FrameSelection*.
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::paintCaret): Uses FrameSelection and DragCaretController.
+
+2011-05-08 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/9401853> REGRESSION (r78846): Insufficient expansion for justification when there are multiple inline boxes
+ https://bugs.webkit.org/show_bug.cgi?id=60432
+
+ * rendering/InlineTextBox.h:
+ (WebCore::InlineTextBox::setExpansion): Changed back to take a int, since the m_expansion member
+ variable is a (truncated) int anyway.
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::computeExpansionForJustifiedText): Changed the expansion local variable into an int
+ so that the right amount is added to the total width. Also changed to use an early return.
+
+2011-05-08 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed: ignore 0 responses in the inspector network instrumentation.
+
+ * inspector/front-end/NetworkManager.js:
+
+2011-05-08 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] GraphicsContext3D::getImageData() does not retrieve image data correctly
+ https://bugs.webkit.org/show_bug.cgi?id=58556
+
+ Tests: fast/canvas/webgl/gl-teximage.html
+
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3D::getImageData):
+
+2011-05-07 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ <rdar://problem/9403055> REGRESSION (r85499): Inline images in iChat overflow their chat bubbles
+ https://bugs.webkit.org/show_bug.cgi?id=60443
+
+ Test: fast/replaced/table-percent-height-positioned.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computeReplacedLogicalHeightUsing): Do not apply the logic to prevent precent-height
+ replaced elements from being squeezed by table cells when the replaced element is positioned (and thus
+ doesn’t affect the table cell’s height).
+
+2011-05-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r86016.
+ http://trac.webkit.org/changeset/86016
+ https://bugs.webkit.org/show_bug.cgi?id=60445
+
+ caused crashes on the WK2 Windows bots (Requested by
+ jessieberlin on #webkit).
+
+ * platform/network/ResourceHandle.h:
+ * platform/network/cf/CookieStorageCFNet.cpp:
+ (WebCore::currentCookieStorage):
+ (WebCore::defaultCookieStorage):
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::willSendRequest):
+ (WebCore::makeFinalRequest):
+ (WebCore::ResourceHandle::willSendRequest):
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore::ResourceRequest::doUpdatePlatformRequest):
+
+2011-05-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r85974.
+ http://trac.webkit.org/changeset/85974
+ https://bugs.webkit.org/show_bug.cgi?id=60444
+
+ broke browser tests (Requested by inferno-sec on #webkit).
+
+ * platform/network/chromium/ResourceResponse.cpp:
+ (WebCore::ResourceResponse::doPlatformCopyData):
+ (WebCore::ResourceResponse::doPlatformAdopt):
+ * platform/network/chromium/ResourceResponse.h:
+ (WebCore::ResourceResponse::downloadFilePath):
+ (WebCore::ResourceResponse::setDownloadFilePath):
+
+2011-05-07 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Steve Falkenburg.
+
+ [Windows WebKit2] Use cookies set in WebKit1
+ https://bugs.webkit.org/show_bug.cgi?id=60274
+
+ Share the default storage session between the UI and Web Processes.
+
+ * platform/network/cf/CookieStorageCFNet.cpp:
+ (WebCore::defaultSessionCookieStorage):
+ Keep track of the default storage session cookie storage.
+ (WebCore::currentCookieStorage):
+ Call defaultCookieStorage to get the default cookie storage.
+ (WebCore::defaultCookieStorage):
+ If there is a default storage session cookie storage, prefer that over getting the default
+ cookie storage. In the Web Process, asking CFNetwork for the default cookie storage directly
+ without specifying a storage session will not get the cookie storage being shared by the UI
+ and Web Processes.
+
+ * platform/network/ResourceHandle.h:
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::willSendRequest):
+ Make sure to set the current storage session on any requests used by the Web
+ Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
+ doing anything with the Web Process's default storage session (which is not the one shared
+ with the UI Process).
+ (WebCore::makeFinalRequest):
+ Ditto.
+ (WebCore::ResourceHandle::willSendRequest):
+ Ditto.
+ (WebCore::ResourceHandle::currentStorageSession):
+ If there is a Private Browsing storage session, return that.
+ If not, on Windows return the default storage session that is being shared with the UI
+ Process and on Mac return 0.
+ (WebCore::defaultCFURLStorageSession):
+ (WebCore::ResourceHandle::setDefaultStorageSession):
+ (WebCore::ResourceHandle::defaultStorageSession):
+
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore::ResourceRequest::doUpdatePlatformRequest):
+ Make sure to set the current storage session on any requests used by the Web
+ Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
+ doing anything with the Web Process's default storage session (which is not the one shared
+ with the UI Process).
+
+2011-05-07 Joe Mason <jmason@rim.com>
+
+ Reviewed by Daniel Bates.
+
+ FrameLoader::isProcessingUserGesture is wrong in dispatchWillPerformClientRedirect
+ https://bugs.webkit.org/show_bug.cgi?id=52211
+
+ Create a UserGestureIndicator when calling the clientRedirected callback.
+
+ * loader/NavigationScheduler.cpp:
+ (WebCore::ScheduledURLNavigation::didStartTimer):
+ (WebCore::ScheduledURLNavigation::didStopTimer):
+ (WebCore::ScheduledFormSubmission::didStartTimer):
+ (WebCore::ScheduledFormSubmission::didStopTimer):
+
+2011-05-06 Jon Lee <jonlee@apple.com>
+
+ Reviewed by Alice Liu.
+
+ Crash when sending a wheel event to a node with no shadow ancestor node
+ https://bugs.webkit.org/show_bug.cgi?id=60429
+ <rdar://problem/9389619>
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleWheelEvent):add check to see if the shadow ancestor node of the node that was under the mouse exists before trying to dispatch the wheel event to it.
+
+2011-05-06 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Ryosuke Niwa.
+
+ Eliminate WebCore/dom/InputElement.{cpp,h}
+ https://bugs.webkit.org/show_bug.cgi?id=60262
+
+ - Fold in all of the code of InputElement.{cpp,h} into HTMLInputElement
+ and TextFieldInputType.
+ - Change the return type of Node::toInputElement():
+ InputElement* -> HTMLInputElement*
+
+ No new tests. This change should not change the existing behaviour.
+
+ * CMakeLists.txt: Remove InpuntElement.cpp and/or InputElement.h.
+ * GNUmakefile.list.am: ditto.
+ * WebCore.exp.in: Add symbols of functions exposed to WebKit.
+ * WebCore.gypi: Remove InpuntElement.cpp and/or InputElement.h.
+ * WebCore.pro: ditto.
+ * WebCore.vcproj/WebCore.vcproj: ditto.
+ * WebCore.xcodeproj/project.pbxproj: ditto.
+ * accessibility/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
+ Follow the return type change of Node::toInputElement().
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::isPasswordField): ditto.
+ (WebCore::AccessibilityRenderObject::isIndeterminate): ditto.
+ (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio): ditto.
+ (WebCore::AccessibilityRenderObject::isChecked): ditto.
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::canShareStyleWithElement): ditto.
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto.
+ * dom/CheckedRadioButtons.cpp:
+ (WebCore::CheckedRadioButtons::removeButton): ditto.
+ * dom/DOMAllInOne.cpp: Remove InputElement.h.
+ * dom/InputElement.cpp: Removed.
+ * dom/InputElement.h: Removed.
+ * dom/Node.cpp:
+ (WebCore::Node::toInputElement):
+ Change the return type from InputElement* to HTMLInputElement*.
+ * dom/Node.h: ditto.
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::HTMLInputElement):
+ (WebCore::HTMLInputElement::formControlName):
+ (WebCore::HTMLInputElement::tooLong):
+ (WebCore::HTMLInputElement::updateFocusAppearance):
+ (WebCore::HTMLInputElement::aboutToUnload):
+ (WebCore::HTMLInputElement::handleFocusEvent):
+ (WebCore::HTMLInputElement::handleBlurEvent):
+ (WebCore::HTMLInputElement::updateType):
+ (WebCore::HTMLInputElement::parseMappedAttribute):
+ (WebCore::HTMLInputElement::size):
+ (WebCore::HTMLInputElement::copyNonAttributeProperties):
+ (WebCore::HTMLInputElement::value):
+ (WebCore::HTMLInputElement::suggestedValue):
+ (WebCore::HTMLInputElement::setSuggestedValue):
+ (WebCore::HTMLInputElement::setValue):
+ (WebCore::HTMLInputElement::setValueFromRenderer):
+ (WebCore::HTMLInputElement::setFileListFromRenderer):
+ (WebCore::HTMLInputElement::setDefaultName):
+ (WebCore::HTMLInputElement::maxLength):
+ (WebCore::HTMLInputElement::cacheSelection):
+ (WebCore::formatCodes): Moved from InputElement.
+ (WebCore::cursorPositionToMaskIndex): ditto.
+ (WebCore::HTMLInputElement::isConformToInputMask): ditto.
+ (WebCore::HTMLInputElement::validateInputMask): ditto.
+ (WebCore::HTMLInputElement::setWapInputFormat): ditto.
+ (WebCore::HTMLInputElement::notifyFormStateChanged): ditto.
+ (WebCore::HTMLInputElement::parseMaxLengthAttribute): ditto.
+ (WebCore::HTMLInputElement::updateValueIfNeeded):ditto.
+ * html/HTMLInputElement.h:
+ - Add data members which were defined in InputElementData.
+ - Make some functions public because the public interface InputElement is removed.
+ - Make some functions non-virtual because they don't override
+ corresponding virtual functions of InputElement anymore.
+ (WebCore::HTMLInputElement::toInputElement):
+ Follow the return type change of Node::toInputElement().
+ (WebCore::HTMLInputElement::isIndeterminate):
+ (WebCore::HTMLInputElement::isAutofilled):
+ (WebCore::HTMLInputElement::supportsMaxLength):
+ (WebCore::HTMLInputElement::cachedSelectionStart):
+ (WebCore::HTMLInputElement::cachedSelectionEnd):
+ * html/HTMLTextAreaElement.cpp: Remove unused InputElement.h.
+ * html/InputType.cpp:
+ (WebCore::InputType::handleBeforeTextInsertedEvent): Remove the code.
+ * html/InputType.h: Update for the above.
+ * html/TextFieldInputType.cpp:
+ (WebCore::replaceEOLAndLimitLength): Moved from InputElement.cpp.
+ (WebCore::TextFieldInputType::sanitizeValue): Implement with replaceEOLAndLimitLength().
+ (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
+ Move the code from InputElement::handleBeforeTextInsertedEvent().
+ * html/TextFieldInputType.h: Update declarations.
+ * rendering/RenderTextControlSingleLine.cpp:
+ - Remove ASSERT(node()->isHTMLElement()) because it is checked in the constructor.
+ - Follow the return type change of inputElement().
+ (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
+ Make sure node() is an HTMLInputElement instance.
+ (WebCore::RenderTextControlSingleLine::addSearchResult):
+ (WebCore::RenderTextControlSingleLine::stopSearchEventTimer):
+ (WebCore::RenderTextControlSingleLine::showPopup):
+ (WebCore::RenderTextControlSingleLine::hidePopup):
+ (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
+ (WebCore::RenderTextControlSingleLine::updateFromElement):
+ (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
+ (WebCore::RenderTextControlSingleLine::createResultsButtonStyle):
+ (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
+ (WebCore::RenderTextControlSingleLine::createInnerSpinButtonStyle):
+ (WebCore::RenderTextControlSingleLine::createOuterSpinButtonStyle):
+ (WebCore::RenderTextControlSingleLine::createSpeechButtonStyle):
+ (WebCore::RenderTextControlSingleLine::visibilityForCancelButton):
+ (WebCore::RenderTextControlSingleLine::startSearchEventTimer):
+ (WebCore::RenderTextControlSingleLine::searchEventTimerFired):
+ (WebCore::RenderTextControlSingleLine::valueChanged):
+ (WebCore::RenderTextControlSingleLine::setTextFromItem):
+ (WebCore::RenderTextControlSingleLine::inputElement):
+ * rendering/RenderTextControlSingleLine.h:
+ Change the return type of inputElement(): InputElement* -> HTMLInputElement*.
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::isChecked):
+ Follow the return type change of Node::toInputElement().
+ (WebCore::RenderTheme::isIndeterminate): ditto.
+ (WebCore::RenderTheme::shouldHaveSpinButton):
+ Change the parameter type: InputElement* -> HTMLInputElement*.
+ * rendering/RenderTheme.h: ditto.
+
+2011-05-06 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Implement "Report-Only" mode for CSP
+ https://bugs.webkit.org/show_bug.cgi?id=60402
+
+ This mode lets web sites try out CSP by getting violation reports (and
+ console spam) without actually changing the behavior of their web sites.
+
+ Test: http/tests/security/contentSecurityPolicy/report-only.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::processHttpEquiv):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::didBeginDocument):
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
+ (WebCore::ContentSecurityPolicy::didReceiveHeader):
+ (WebCore::ContentSecurityPolicy::reportViolation):
+ (WebCore::ContentSecurityPolicy::checkInlineAndReportViolation):
+ (WebCore::ContentSecurityPolicy::checkEvalAndReportViolation):
+ (WebCore::ContentSecurityPolicy::checkSourceAndReportViolation):
+ (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
+ * page/ContentSecurityPolicy.h:
+
+2011-05-06 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=60421
+ Custom scrollbars nested inside an overlay scrollbar overflow region end up
+ painting twice
+ -and corresponding-
+ <rdar://problem/9389072>
+
+ Be sure not to paint custom css scrollbars during the special overlay-scrollbar
+ painting pass.
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintOverflowControls):
+
+2011-05-06 Cary Clark <caryclark@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Add utility for converting SkCanvas to CGContext
+ https://bugs.webkit.org/show_bug.cgi?id=59808
+
+ Skia on Mac uses Skia to render WebKit, and CG
+ to render UI elements. The CG elements need a
+ transcribed graphics context that preserves the
+ canvas matrix, and the canvas clip.
+
+ The BitLockerSkia utility class sets up a CGContext
+ from the SkCanvas, locks the bitmap's bits, and
+ releases the lock when the class goes out of scope.
+
+ Each time the CGContext is retrieved, it is rebuilt.
+ This permits the caller to modify the same canvas
+ between calls.
+
+ This change adds utilities but does not modify any
+ existing code. For now, there are no callers to these
+ utilities, so there is no functional change.
+
+ No new tests.
+
+ * platform/graphics/skia/BitLockerSkia.cpp: Added.
+ (WebCore::SkMatrixToCGAffineTransform): Conversion utility.
+ (WebCore::BitLockerSkia::BitLockerSkia): Takes SkCanvas.
+ (WebCore::BitLockerSkia::~BitLockerSkia): Unlocks, cleans up.
+ (WebCore::BitLockerSkia::release): Internal private helper.
+ (WebCore::BitLockerSkia::cgContext): Returns CGContextRef.
+ * platform/graphics/skia/BitLockerSkia.h: Added.
+
+2011-05-06 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] [WebKit2] WebView::windowToScreen needs an implementation
+ https://bugs.webkit.org/show_bug.cgi?id=55960
+
+ Abstract coordinate system translation code from WebKit into WebCore.
+ This will allow the code to be shared between WebKit and WebKit2. The code
+ now lives in a new GtkUtilities.cpp helper file.
+
+ * GNUmakefile.list.am: Added GtkUtilities to the source list.
+ * platform/gtk/GtkUtilities.cpp: Added.
+ (WebCore::convertWidgetRectToScreenRect):
+ * platform/gtk/GtkUtilities.h: Added.
+
+2011-05-06 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ Remove some unnecessary static methods in ResourceHandleSoup.
+
+ No new tests. This is only a small cleanup.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::restartedCallback): Call ResourceResponse::updateFromSoupMessage directly.
+ (WebCore::gotHeadersCallback):Ditto.
+ (WebCore::contentSniffedCallback):Ditto.
+ (WebCore::sendRequestCallback):Ditto.
+ (WebCore::ResourceHandle::defaultSession): Create the soup session directly.
+
+2011-05-06 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [Soup] ResourceHandles are leaked on 304 responses
+ https://bugs.webkit.org/show_bug.cgi?id=60413
+
+ Always call cleanupSoupRequestOperation, even when the request was not
+ canceled. Before the code would call didFinishLoading and then never clean up
+ the request.
+
+ No new tests. This simply fixes a memory leak.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::sendRequestCallback):
+
+2011-05-06 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add disable-javascript-urls CSP directive
+ https://bugs.webkit.org/show_bug.cgi?id=60301
+
+ This CSP directive is not in the CSP spec. This patch is somewhat of
+ an experiment to see whether this feature is useful. Based on our
+ implementation experience, we will coordinate with folks via the W3C to
+ see if this makes sense to add to the spec.
+
+ Test: http/tests/security/contentSecurityPolicy/javascript-urls-blocked.html
+
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
+ (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
+ (WebCore::ContentSecurityPolicy::addDirective):
+ * page/ContentSecurityPolicy.h:
+
+2011-05-06 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Use a File object to store the downloaded file reference rather than
+ just the path. This keeps the file and permissions in scope (using the
+ already-existing blob system) so the browser won't delete the file
+ when the load is complete. Instead, the file will be cleaned up when
+ the request objects are deleted.
+ https://bugs.webkit.org/show_bug.cgi?id=60281
+
+ * platform/network/chromium/ResourceResponse.cpp:
+ (WebCore::ResourceResponse::doPlatformCopyData):
+ (WebCore::ResourceResponse::doPlatformAdopt):
+ * platform/network/chromium/ResourceResponse.h:
+ (WebCore::ResourceResponse::downloadedFile):
+ (WebCore::ResourceResponse::setDownloadedFile):
+
+2011-05-06 Alexis Menard <alexis.menard@openbossa.org>
+
+ Reviewed by Darin Adler.
+
+ Fix two warnings of unused variables.
+ https://bugs.webkit.org/show_bug.cgi?id=60370
+
+ Remove two unused local variable from the code.
+
+ No new tests, the existing ones should cover.
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::layoutVerticalBox):
+ * svg/animation/SVGSMILElement.cpp:
+ (WebCore::SVGSMILElement::calculateNextProgressTime):
+
+2011-05-06 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Wire up CSP's eval blocking to V8's new API
+ https://bugs.webkit.org/show_bug.cgi?id=60384
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::disableEval):
+
+2011-05-06 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=60398 (<rdar://problem/9307696>)
+ REGRESSION (r81684?): cox.com sign in button is missing
+
+ Fix a typo in r81684 where the ascent was used in a comparison instead of boxHeight.
+ This restores the original behavior before the refactoring messed it up.
+
+ Added fast/inline/nested-top-alignment.html
+
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::computeLogicalBoxHeights):
+
+2011-05-06 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=60390 (<rdar://problem/9364449>)
+ REGRESSION (r81992): portions of ticketmaster site render blank
+
+ Make simplified layout skip from a positioned object out to its containing block. There is no
+ need to dirty the intermediate inlines, and in this case it's actively harmful, since the
+ block responsible for the layout of the positioned object doesn't get m_posChildNeedsLayout set.
+
+ Added fast/block/positioning/hiding-inside-relpositioned-inline.html
+
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::markContainingBlocksForLayout):
+
+2011-05-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed: move selection test into the text area branch.
+
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer.prototype._contextMenu):
+
+2011-05-04 Adrienne Walker <enne@google.com>
+
+ Reviewed by James Robinson.
+
+ [chromium] Fix incorrect scissor rect for layers that render into a rendersurface
+ https://bugs.webkit.org/show_bug.cgi?id=59020
+
+ Allow for empty scissor rects, which implies scissoring to the render
+ surface. The previous code and previous patch on this bug both didn't
+ take into account that the scissor rect should be the render surface
+ and not the projection of the layer itself, because child layers
+ aren't necessarily contained within the bounds of their superlayer.
+
+ Test: compositing/flat-with-transformed-child.html
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::paintLayerContents):
+ (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
+ (WebCore::LayerRendererChromium::drawLayer):
+ (WebCore::LayerRendererChromium::setScissorToRect):
+
+2011-05-06 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Lazily allocate ScrollAnimator in ScrollableArea
+ https://bugs.webkit.org/show_bug.cgi?id=60327
+
+ Avoid allocating the ScrollAnimator up-front, because we
+ create lots of ScrollableAreas via RenderLayer, and we should
+ only need the animator when scrolling.
+
+ * platform/ScrollableArea.cpp:
+ (WebCore::ScrollableArea::ScrollableArea):
+ (WebCore::ScrollableArea::scrollAnimator):
+ (WebCore::ScrollableArea::scroll):
+ (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
+ (WebCore::ScrollableArea::scrollToXOffsetWithoutAnimation):
+ (WebCore::ScrollableArea::scrollToYOffsetWithoutAnimation):
+ (WebCore::ScrollableArea::handleWheelEvent):
+ (WebCore::ScrollableArea::handleGestureEvent):
+ * platform/ScrollableArea.h:
+
+2011-05-06 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION (r77954): HTTP Live Streams have incorrect controller UI
+ https://bugs.webkit.org/show_bug.cgi?id=60304
+ <rdar://problem/9392609>
+
+ Don't assume that the only time the media controls UI may need to change is on a
+ network state change, readyState changes can be significant as well.
+
+ Tested manually because we don't have any live streams to test in DRT.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::setNetworkState): changedNetworkState -> updateStatusDisplay.
+ (WebCore::HTMLMediaElement::setReadyState): Call updateStatusDisplay.
+
+ * html/shadow/MediaControlRootElement.cpp:
+ (WebCore::MediaControlRootElement::reset): changedNetworkState -> updateStatusDisplay.
+ (WebCore::MediaControlRootElement::updateStatusDisplay): Ditto.
+ * html/shadow/MediaControlRootElement.h:
+
+ * html/shadow/MediaControlRootElementChromium.cpp:
+ (WebCore::MediaControlRootElementChromium::reset): Ditto.
+ (WebCore::MediaControlRootElementChromium::updateStatusDisplay): Ditto.
+ * html/shadow/MediaControlRootElementChromium.h:
+ * html/shadow/MediaControls.h:
+
+2011-05-06 Andreas Kling <andreas.kling@nokia.com>
+
+ Unreviewed Qt 4.8 build fix.
+
+ * WebCore.pro: Don't set HAVE_QRAWFONT yet. Left a FIXME so we can
+ enable it after the 4.8 bots are updated with the full QRawFont APIs.
+
+2011-05-06 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: editing CSS in the Resources panel and not committing does not revert the change.
+ https://bugs.webkit.org/show_bug.cgi?id=60319
+
+ * inspector/front-end/ResourceView.js:
+ (WebInspector.ResourceSourceFrame.prototype.cancelEditing):
+
+2011-05-06 Joe Mason <jmason@rim.com>
+
+ Reviewed by Adam Barth.
+
+ WebSocket urls should always be encoded as UTF-8.
+ https://bugs.webkit.org/show_bug.cgi?id=57138
+
+ Change WebSocket::connect to take the raw URL string and parse it
+ internally using the simple KURL constructor, which expects an absolute
+ UTF-8 encoded URL. This ensures that all code that creates a WebSocket
+ goes through this method instead of completeURL.
+
+ Test: http/tests/websocket/tests/url-with-nonascii-query.html
+
+ * bindings/js/JSWebSocketCustom.cpp:
+ (WebCore::JSWebSocketConstructor::constructJSWebSocket): Pass String instead of KURL to WebSocket::connect().
+ * websockets/WebSocket.cpp:
+ (WebCore::WebSocket::connect): Now takes a String instead of a KURL and parses it using UTF-8.
+ * websockets/WebSocket.h:
+
+2011-05-06 Luke Macpherson <macpherson@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Make CSSStyleSelector::applyProperty() CSSPropertyWebkitColorCorrection case use appropriate macro.
+ https://bugs.webkit.org/show_bug.cgi?id=60339
+
+ No tests added as no functionality changed.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ Use correct macro for CSSPropertySpeak.
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::initialColorSpace):
+ Add initialColorSpace() static method.
+
+2011-05-06 Luke Macpherson <macpherson@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Make RenderStyle::setPageBreakInside() reject unsupported enum values.
+ https://bugs.webkit.org/show_bug.cgi?id=60235
+
+ No tests added as no functionality changed.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ Remove special-case code and use appropriate macro.
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::setPageBreakInside):
+ Assert that only supported values are used.
+
+2011-05-06 Luke Macpherson <macpherson@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Move burden of checking for BJustify box alignment into RenderStyle
+ https://bugs.webkit.org/show_bug.cgi?id=60246
+
+ No new tests added as no functionality changed.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ Remove special-case logic checking for BJUSTIFY and use existing macro.
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::setBoxAlign):
+ Assert valid values are used.
+
+2011-05-06 Luke Macpherson <macpherson@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Make CSSStyleSelector::applyProperty() CSSPropertyPointerEvents use the correct macro.
+ https://bugs.webkit.org/show_bug.cgi?id=60338
+
+ No tests added as no functionality changed.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ Use correct macro for CSSPropertySpeak.
+
+2011-05-06 Alexis Menard <alexis.menard@openbossa.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Build fix with gcc 4.6 and c++0x support.
+ https://bugs.webkit.org/show_bug.cgi?id=60284
+
+ When enabling support of c++0x the compilation fails because of an
+ ambiguous overload error. In this code when constructing the pair
+ we use the new c++0x rvalue reference feature (&&). It means we are
+ calling String(const WTF::AtomicString&) which becomes ambiguous because
+ it has an overload WTF::String::String(const WTF::String&) and usually one
+ with the native port string type (e.g. QString). In this code we want the
+ String version because the pair store Strings.
+
+ No new tests, build fix.
+
+ * loader/FormSubmission.cpp:
+ (WebCore::FormSubmission::create):
+
+2011-05-06 Cris Neckar <cdn@chromium.org>
+
+ Reviewed by Dirk Schulze.
+
+ Tests for crash when a transform is applied to certain filters.
+ https://bugs.webkit.org/show_bug.cgi?id=59551
+
+ Test: svg/filters/filter-after-transform-crash.svg
+
+ * platform/graphics/filters/FEComposite.cpp:
+ (WebCore::FEComposite::determineAbsolutePaintRect):
+ * platform/graphics/filters/FEConvolveMatrix.h:
+ (WebCore::FEConvolveMatrix::determineAbsolutePaintRect):
+ * platform/graphics/filters/FEDisplacementMap.h:
+ (WebCore::FEDisplacementMap::determineAbsolutePaintRect):
+ * platform/graphics/filters/FEFlood.h:
+ (WebCore::FEFlood::determineAbsolutePaintRect):
+ * platform/graphics/filters/FELighting.h:
+ (WebCore::FELighting::determineAbsolutePaintRect):
+ * platform/graphics/filters/FETile.h:
+ (WebCore::FETile::determineAbsolutePaintRect):
+ * platform/graphics/filters/FETurbulence.h:
+ (WebCore::FETurbulence::determineAbsolutePaintRect):
+ * platform/graphics/filters/FilterEffect.cpp:
+ (WebCore::isFilterSizeValid):
+ (WebCore::FilterEffect::determineAbsolutePaintRect):
+ (WebCore::FilterEffect::asUnmultipliedImage):
+ (WebCore::FilterEffect::asPremultipliedImage):
+ (WebCore::FilterEffect::copyUnmultipliedImage):
+ (WebCore::FilterEffect::copyPremultipliedImage):
+ (WebCore::FilterEffect::createUnmultipliedImageResult):
+ (WebCore::FilterEffect::createPremultipliedImageResult):
+ * platform/graphics/filters/FilterEffect.h:
+ (WebCore::FilterEffect::maxEffectRect):
+ (WebCore::FilterEffect::setMaxEffectRect):
+ * rendering/svg/RenderSVGResourceFilter.cpp:
+ * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
+ (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
+
+2011-05-06 Luke Macpherson <macpherson@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Use cast to convert primitive value to FontSmoothingMode.
+ https://bugs.webkit.org/show_bug.cgi?id=60242
+
+ No tests added as no functionality changed.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ Use cast to convert primitive value to FontSmoothingMode.
+
+2011-05-05 Luke Macpherson <macpherson@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Make CSSPropertySpeak use the correct macro.
+ https://bugs.webkit.org/show_bug.cgi?id=60335
+
+ No tests added as no functionality changed.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ Use correct macro for CSSPropertySpeak.
+
+2011-05-05 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ <rdar://problem/9390864>
+ https://bugs.webkit.org/show_bug.cgi?id=60343
+ Crash on Recovery System when trying to load page that includes media element
+
+ Automated test not possible, tested manually.
+
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::isAvailable): Only return true if
+ AVFoundation and CoreMedia are installed.
+
+ * platform/mac/SoftLinking.h: Define SOFT_LINK_FRAMEWORK_OPTIONAL, identical to
+ SOFT_LINK_FRAMEWORK except that it doesn't ASSERT if the framework doesn't exist.
+
+2011-05-05 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Live streams sometimes won't play with AVFoundation backend
+ https://bugs.webkit.org/show_bug.cgi?id=58961
+ rdar://problem/9284748
+
+ Tested manually because we don't have any live streams to test in DRT.
+
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
+ (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Don't special case seeking, assume
+ AVFoundation will notify us when internal states change.
+
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Make m_timeObserver
+ a RetainPtr
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Ditto.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Ditto.
+
+2011-05-05 Jay Civelli <jcivelli@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Adding quoted-printable encoding/decoding capabilities.
+ This is needed for MHTML support.
+ https://bugs.webkit.org/show_bug.cgi?id=59834
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/text/QuotedPrintable.cpp: Added.
+ * platform/text/QuotedPrintable.h: Added.
+
+2011-05-05 Andy Estes <aestes@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Implement document.innerHTML
+ https://bugs.webkit.org/show_bug.cgi?id=60316
+
+ ASSERT that contextElement is non-0 when constructing a HTMLTreeBuilder
+ for fragment parsing. This assertion will become invalid when
+ document.innerHTML is implemented, which is the only case where HTML5
+ specifies that a fragment will not have a context element.
+
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
+
+2011-05-05 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Unreviewed build fix. Include ApplicationServices for wx port.
+
+ * platform/graphics/GlyphBuffer.h:
+ * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
+
+2011-05-05 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ WebCore part of <rdar://problem/9155590> Broken animation in iAd producer
+
+ * WebCore.exp.in: Export wkExecutableWasLinkedOnOrBeforeSnowLeopard.
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): Account for the binary-compatiblity
+ check in Core Animation.
+ * platform/mac/WebCoreSystemInterface.h: Added wkExecutableWasLinkedOnOrBeforeSnowLeopard.
+ * platform/mac/WebCoreSystemInterface.mm: Ditto.
+
+2011-05-05 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2 (Mac): Background tabs/windows can force themselves to the front
+ <rdar://problem/9386346>
+ https://bugs.webkit.org/show_bug.cgi?id=60315
+
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::setFocus):
+ It is incorrect for us to call Chrome::focus() here, which could bring a window/tab
+ to the front. Calling focusNSView() was only necessary because in WebKit we must inform
+ the platform widget that the focus has changed. WebKit2 Mac now matches other ports.
+
+2011-05-05 Justin Novosad <junov@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [Chromium] Change the --accelerated-2d-canvas flag to mean Ganesh, and stop using --enable-accelerated-drawing for that purpose
+ https://bugs.webkit.org/show_bug.cgi?id=60173
+
+ * page/Page.cpp:
+ (WebCore::Page::sharedGraphicsContext3D):
+ Flipping the switch to make Skia the default for the accelerated 2d canvas
+
+2011-05-05 Tony Gentilcore <tonyg@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ ASSERT(m_state == ParsingState) fires @ www.canalplus.fr
+ https://bugs.webkit.org/show_bug.cgi?id=60101
+
+ Test: fast/parser/close-while-stopping.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::close): According to http://www.whatwg.org/specs/web-apps/current-work/#dom-document-close,
+ the close() steps should be aborted if there is no script-created parser
+ associated with the document. Our parser lives throughout
+ http://www.whatwg.org/specs/web-apps/current-work/#the-end, but it seems
+ the spec doesn't consider the parser active any more. So to properly
+ respect this, we need to check that the parser is still parsing.
+
+2011-04-28 Evan Martin <evan@chromium.org>
+
+ Reviewed by Ojan Vafai.
+
+ REGRESSION: backspace should not go back on Linux
+ https://bugs.webkit.org/show_bug.cgi?id=59731
+
+ Add a new EditingBehavior, shouldNavigateBackOnBackspace, which is false on
+ Linux, and test for it in the default backspace handler.
+
+ * editing/EditingBehavior.h:
+ (WebCore::EditingBehavior::shouldNavigateBackOnBackspace):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::defaultBackspaceEventHandler):
+
+2011-05-05 Igor Oliveira <igor.oliveira@openbossa.org>
+
+ Reviewed by Kenneth Russell.
+
+ Framebuffer object is being created twice
+ https://bugs.webkit.org/show_bug.cgi?id=60207
+
+ Does not create more than one opengl framebuffer
+
+ * platform/graphics/gpu/mac/DrawingBufferMac.mm:
+ (WebCore::DrawingBuffer::DrawingBuffer):
+ * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
+ (WebCore::DrawingBuffer::DrawingBuffer):
+ * platform/graphics/gtk/DrawingBufferGtk.cpp:
+ (WebCore::DrawingBuffer::DrawingBuffer):
+
+2011-05-05 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Every RenderLayer registers itself as a ScrollableArea
+ https://bugs.webkit.org/show_bug.cgi?id=59650
+
+ Rather than registering every RenderLayer as a ScrollableArea
+ on layer creation, only register RenderLayers which are overflow-
+ scrollable. Use the m_scrollableAreaPage pointer to keep track
+ of whether we've registered to avoid excess work.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::RenderLayer):
+ (WebCore::RenderLayer::scrollsOverflow):
+ (WebCore::RenderLayer::styleChanged):
+ * rendering/RenderLayer.h:
+
+2011-05-05 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Steve Falkenburg.
+
+ Workaround iTunes' incorrect registry entry for .m4a extensions.
+ https://bugs.webkit.org/show_bug.cgi?id=60229
+
+ No new tests, as a test already exits for .m4a support (LayoutTests/media/audio-mpeg4-supported.html).
+ The test failed to catch this regression because the build bots haven't installed iTunes.
+
+ Add a hard-coded MIME type mapping for 'm4a' -> 'audio/x-m4a'.
+
+ * platform/win/MIMETypeRegistryWin.cpp:
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+
+2011-05-05 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Dave Hyatt.
+
+ When style changes for a RenderBlock and we lose our ability to intrude into
+ floats in the next siblings block (e.g a position change), make sure to mark
+ our childs with floats for layout and iterate through our next sibling block
+ chain to see which ones contain the float that also exists in our floating
+ objects list and clear those using markAllDescendantsWithFloatsForLayout.
+ https://bugs.webkit.org/show_bug.cgi?id=56299
+
+ Tests: fast/block/float/float-not-removed-from-next-sibling-crash.html
+ fast/block/float/float-not-removed-from-next-sibling.html
+ fast/block/float/float-not-removed-from-next-sibling2.html
+ fast/block/float/float-not-removed-from-next-sibling3.html
+ fast/block/float/float-not-removed-from-next-sibling4.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::styleWillChange):
+ (WebCore::RenderBlock::styleDidChange):
+ (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
+ * rendering/RenderBlock.h:
+
+2011-05-05 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ WebKit2: Docking Web Inspector doesn't respect maximum inspector size
+ https://bugs.webkit.org/show_bug.cgi?id=60294
+ <rdar://problem/9388518>
+
+ Make a needed function public and export it.
+
+ * WebCore.exp.in: Export constrainedAttaechedWindowHeight.
+ * inspector/InspectorFrontendClientLocal.h: Make constrainedAttaechedWindowHeight public.
+
+2011-05-05 Tony Gentilcore <tonyg@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ [Navigation Timing] navigationStart should always be available
+ https://bugs.webkit.org/show_bug.cgi?id=59448
+
+ * page/PerformanceTiming.cpp:
+ (WebCore::PerformanceTiming::navigationStart):
+
+2011-05-05 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Block callbacks delivered during destruction
+ https://bugs.webkit.org/show_bug.cgi?id=60291
+ <rdar://problem/9382942>
+
+ No new tests, tested by existing tests.
+
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
+ (WebCore::MediaPlayerPrivateAVFoundation::~MediaPlayerPrivateAVFoundation): Call
+ setIgnoreLoadStateChanges(true) to cancel all callbacks.
+ (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Return immediately if
+ m_ignoreLoadStateChanges is true.
+ (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): loadStateChanged -> updateStates.
+ Don't call updateStates after calling loadedTimeRangesChanged, it already does it.
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
+
+2011-05-05 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/9354979> REGRESSION (r83070-r83126): Conversation takes 10 seconds to load and makes mail unresponsive
+
+ Culled inlines were triggering some pathological line box tree groveling that isn't even necessary.
+ Removed the ancient code (that used to be in RenderFlow), since it made no sense in the RenderBlock case
+ (it was running for inline blocks, which was definitely not even the intent) or in the RenderInline case
+ (the object being removed has no effect on any lines).
+
+ Also tweaked culledInlineFirstLineBox and culledInlineLastLineBox to avoid bailing if the first replaced object that
+ is encountered has a null inlineBoxWrapper(). Just a slight speed optimization to avoid an extra null check.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::destroy):
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::destroy):
+ (WebCore::RenderInline::culledInlineFirstLineBox):
+ (WebCore::RenderInline::culledInlineLastLineBox):
+
+2011-05-05 Bharathwaaj Srinivasan <bharathwaaj.s@gmail.com>
+
+ Reviewed by Holger Freyther.
+
+ Fix build-webkit --minimal.
+ https://bugs.webkit.org/show_bug.cgi?id=60257
+
+ No new tests. This is just a build fix.
+
+ * bindings/js/JSDOMBinding.cpp:
+
+2011-05-05 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Adam Roben.
+
+ The preload attribute of the video tag is not completely implemented
+ https://bugs.webkit.org/show_bug.cgi?id=43673
+ <rdar://problem/9369746>
+
+ This change implements "preload=metadata" for the AVFoundation backend.
+ Tested manually with manual-tests/media-elements/video-preload.html.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_havePreparedToPlay.
+ (WebCore::HTMLMediaElement::prepareForLoad): Ditto.
+ (WebCore::HTMLMediaElement::prepareToPlay): New, tell player to prepare to play.
+ (WebCore::HTMLMediaElement::seek): Call prepareToPlay when preload is less than 'auto'
+ because we need to have media data loaded to seek.
+ (WebCore::HTMLMediaElement::updatePlayState): Call prepareToPlay.
+ * html/HTMLMediaElement.h:
+
+ * manual-tests/media-elements/video-preload.html: Make changing urls work.
+
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
+ (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): Remove
+ m_videoFrameHasDrawn and m_delayingLoad as they are no longer used.
+ (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad): Removed.
+ (WebCore::MediaPlayerPrivateAVFoundation::load): Don't initialize m_videoFrameHasDrawn.
+ Move all preload logic to setPreload, call it from here.
+ (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Move all preload logic to
+ setPreload, call it.
+ (WebCore::MediaPlayerPrivateAVFoundation::duration): Don't cache duration = 0, it is
+ unlikely to be correct and isn't worth caching. Use invalidTime() function.
+ (WebCore::MediaPlayerPrivateAVFoundation::seeking): Use invalidTime() function.
+ (WebCore::MediaPlayerPrivateAVFoundation::setNaturalSize): Add logging.
+ (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Update for name change AVAssetStatus
+ to AssetStatus. Always create a AVPlayerItem for live streams because they can't be inspected
+ without one. Set networkState to 'idle' when the playback buffer is full because that is
+ a signal that AVFoundation won't do any more IO. Set readyState to 'HAVE_CURRENT_DATA'
+ when the first frame is available.
+ (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Call tracksChanged so we cache
+ width, height, hasVideo, etc.
+ (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Use invalidTime() function.
+ (WebCore::MediaPlayerPrivateAVFoundation::timeChanged): Ditto.
+ (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Ditto.
+ (WebCore::MediaPlayerPrivateAVFoundation::repaint): Don't set m_videoFrameHasDrawn, it is done
+ in derived classes.
+ (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Centralize all logic about when to create
+ AVAsset and AVPlayerItem here.
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
+
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
+ m_videoFrameHasDrawn.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::hasAvailableVideoFrame): New, renamed from
+ videoLayerIsReadyToDisplay. Return true if we have a layer with frames available or
+ if we have painted a frame to the context.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): New, create the AVAsset
+ if necessary.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForCacheResource): Ditto.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Restructure logic.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): New, create AVPlayerItem.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Correct logging.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus): Return "buffer full" when
+ the buffer is full.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Get the duration from the
+ AVAsset when we haven't allocated the AVPlayerItem yet so that we can return duration
+ when we only have metadata.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): Update for name change.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Set m_videoFrameHasDrawn.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Get attributes from AVAsset
+ when when we haven't allocated the AVPlayerItem yet so that we can report attributes
+ when we only have metadata.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): Guard against being called before
+ we have allocated the AVPlayerItem.
+
+2011-05-05 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Rename SelectionController to FrameSelection
+ https://bugs.webkit.org/show_bug.cgi?id=60234
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * accessibility/AccessibilityObject.cpp:
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ * bindings/objc/ExceptionHandlers.h:
+ * css/CSSStyleSelector.cpp:
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::cloneChildNodes):
+ * dom/Document.cpp:
+ * dom/InputElement.cpp:
+ * editing/DeleteButtonController.cpp:
+ * editing/EditCommand.cpp:
+ * editing/EditingAllInOne.cpp:
+ * editing/EditingStyle.cpp:
+ * editing/Editor.cpp:
+ (WebCore::Editor::canCopy):
+ (WebCore::Editor::canDelete):
+ (WebCore::Editor::markMisspellingsAfterTypingToWord):
+ (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
+ (WebCore::Editor::changeSelectionAfterCommand):
+ (WebCore::Editor::respondToChangedSelection):
+ * editing/Editor.h:
+ * editing/EditorCommand.cpp:
+ (WebCore::executeDeleteToMark):
+ (WebCore::executeMoveBackward):
+ (WebCore::executeMoveBackwardAndModifySelection):
+ (WebCore::executeMoveDown):
+ (WebCore::executeMoveDownAndModifySelection):
+ (WebCore::executeMoveForward):
+ (WebCore::executeMoveForwardAndModifySelection):
+ (WebCore::executeMoveLeft):
+ (WebCore::executeMoveLeftAndModifySelection):
+ (WebCore::executeMovePageDown):
+ (WebCore::executeMovePageDownAndModifySelection):
+ (WebCore::executeMovePageUp):
+ (WebCore::executeMovePageUpAndModifySelection):
+ (WebCore::executeMoveRight):
+ (WebCore::executeMoveRightAndModifySelection):
+ (WebCore::executeMoveToBeginningOfDocument):
+ (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
+ (WebCore::executeMoveToBeginningOfLine):
+ (WebCore::executeMoveToBeginningOfLineAndModifySelection):
+ (WebCore::executeMoveToBeginningOfParagraph):
+ (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
+ (WebCore::executeMoveToBeginningOfSentence):
+ (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
+ (WebCore::executeMoveToEndOfDocument):
+ (WebCore::executeMoveToEndOfDocumentAndModifySelection):
+ (WebCore::executeMoveToEndOfSentence):
+ (WebCore::executeMoveToEndOfSentenceAndModifySelection):
+ (WebCore::executeMoveToEndOfLine):
+ (WebCore::executeMoveToEndOfLineAndModifySelection):
+ (WebCore::executeMoveToEndOfParagraph):
+ (WebCore::executeMoveToEndOfParagraphAndModifySelection):
+ (WebCore::executeMoveParagraphBackwardAndModifySelection):
+ (WebCore::executeMoveParagraphForwardAndModifySelection):
+ (WebCore::executeMoveUp):
+ (WebCore::executeMoveUpAndModifySelection):
+ (WebCore::executeMoveWordBackward):
+ (WebCore::executeMoveWordBackwardAndModifySelection):
+ (WebCore::executeMoveWordForward):
+ (WebCore::executeMoveWordForwardAndModifySelection):
+ (WebCore::executeMoveWordLeft):
+ (WebCore::executeMoveWordLeftAndModifySelection):
+ (WebCore::executeMoveWordRight):
+ (WebCore::executeMoveWordRightAndModifySelection):
+ (WebCore::executeMoveToLeftEndOfLine):
+ (WebCore::executeMoveToLeftEndOfLineAndModifySelection):
+ (WebCore::executeMoveToRightEndOfLine):
+ (WebCore::executeMoveToRightEndOfLineAndModifySelection):
+ * editing/FrameSelection.cpp: Copied from Source/WebCore/editing/SelectionController.cpp.
+ (WebCore::FrameSelection::FrameSelection):
+ (WebCore::FrameSelection::moveTo):
+ (WebCore::FrameSelection::setSelection):
+ (WebCore::FrameSelection::nodeWillBeRemoved):
+ (WebCore::FrameSelection::respondToNodeModification):
+ (WebCore::FrameSelection::textWillBeReplaced):
+ (WebCore::FrameSelection::setIsDirectional):
+ (WebCore::FrameSelection::directionOfEnclosingBlock):
+ (WebCore::FrameSelection::willBeModified):
+ (WebCore::FrameSelection::positionForPlatform):
+ (WebCore::FrameSelection::startForPlatform):
+ (WebCore::FrameSelection::endForPlatform):
+ (WebCore::FrameSelection::modifyExtendingRight):
+ (WebCore::FrameSelection::modifyExtendingForward):
+ (WebCore::FrameSelection::modifyMovingRight):
+ (WebCore::FrameSelection::modifyMovingForward):
+ (WebCore::FrameSelection::modifyExtendingLeft):
+ (WebCore::FrameSelection::modifyExtendingBackward):
+ (WebCore::FrameSelection::modifyMovingLeft):
+ (WebCore::FrameSelection::modifyMovingBackward):
+ (WebCore::FrameSelection::modify):
+ (WebCore::FrameSelection::xPosForVerticalArrowNavigation):
+ (WebCore::FrameSelection::clear):
+ (WebCore::FrameSelection::setStart):
+ (WebCore::FrameSelection::setEnd):
+ (WebCore::FrameSelection::setBase):
+ (WebCore::FrameSelection::setExtent):
+ (WebCore::FrameSelection::setCaretRectNeedsUpdate):
+ (WebCore::FrameSelection::updateCaretRect):
+ (WebCore::FrameSelection::caretRenderer):
+ (WebCore::FrameSelection::localCaretRect):
+ (WebCore::FrameSelection::absoluteBoundsForLocalRect):
+ (WebCore::FrameSelection::absoluteCaretBounds):
+ (WebCore::FrameSelection::caretRepaintRect):
+ (WebCore::FrameSelection::recomputeCaretRect):
+ (WebCore::FrameSelection::shouldRepaintCaret):
+ (WebCore::FrameSelection::invalidateCaretRect):
+ (WebCore::FrameSelection::paintCaret):
+ (WebCore::FrameSelection::debugRenderer):
+ (WebCore::FrameSelection::contains):
+ (WebCore::FrameSelection::selectFrameElementInParentIfFullySelected):
+ (WebCore::FrameSelection::selectAll):
+ (WebCore::FrameSelection::setSelectedRange):
+ (WebCore::FrameSelection::isInPasswordField):
+ (WebCore::FrameSelection::caretRendersInsideNode):
+ (WebCore::FrameSelection::focusedOrActiveStateChanged):
+ (WebCore::FrameSelection::pageActivationChanged):
+ (WebCore::FrameSelection::updateSecureKeyboardEntryIfActive):
+ (WebCore::FrameSelection::setUseSecureKeyboardEntry):
+ (WebCore::FrameSelection::setFocused):
+ (WebCore::FrameSelection::isFocusedAndActive):
+ (WebCore::FrameSelection::updateAppearance):
+ (WebCore::FrameSelection::setCaretVisible):
+ (WebCore::FrameSelection::clearCaretRectIfNeeded):
+ (WebCore::FrameSelection::caretBlinkTimerFired):
+ (WebCore::FrameSelection::notifyRendererOfSelectionChange):
+ (WebCore::FrameSelection::setFocusedNodeIfNeeded):
+ (WebCore::FrameSelection::paintDragCaret):
+ (WebCore::FrameSelection::copyTypingStyle):
+ (WebCore::FrameSelection::shouldDeleteSelection):
+ (WebCore::FrameSelection::bounds):
+ (WebCore::FrameSelection::getClippedVisibleTextRectangles):
+ (WebCore::FrameSelection::currentForm):
+ (WebCore::FrameSelection::revealSelection):
+ (WebCore::FrameSelection::setSelectionFromNone):
+ (WebCore::FrameSelection::shouldChangeSelection):
+ (WebCore::FrameSelection::formatForDebugger):
+ (WebCore::FrameSelection::showTreeForThis):
+ (showTree):
+ * editing/FrameSelection.h: Copied from Source/WebCore/editing/SelectionController.h.
+ (WebCore::FrameSelection::typingStyle):
+ (WebCore::FrameSelection::clearTypingStyle):
+ (WebCore::FrameSelection::setTypingStyle):
+ (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
+ * editing/ModifySelectionListLevel.cpp:
+ * editing/RemoveFormatCommand.cpp:
+ * editing/ReplaceSelectionCommand.cpp:
+ * editing/SelectionController.cpp: Removed.
+ * editing/SelectionController.h: Removed.
+ * editing/SetSelectionCommand.cpp:
+ (WebCore::SetSelectionCommand::SetSelectionCommand):
+ (WebCore::SetSelectionCommand::doApply):
+ (WebCore::SetSelectionCommand::doUnapply):
+ * editing/SetSelectionCommand.h:
+ (WebCore::SetSelectionCommand::create):
+ * editing/SpellingCorrectionCommand.cpp:
+ (WebCore::SpellingCorrectionCommand::doApply):
+ * editing/SpellingCorrectionController.cpp:
+ (WebCore::SpellingCorrectionController::respondToUnappliedSpellCorrection):
+ * editing/TypingCommand.cpp:
+ (WebCore::TypingCommand::deleteKeyPressed):
+ (WebCore::TypingCommand::forwardDeleteKeyPressed):
+ * editing/chromium/FrameSelectionChromium.cpp: Copied from Source/WebCore/editing/chromium/SelectionControllerChromium.cpp.
+ (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
+ * editing/chromium/SelectionControllerChromium.cpp: Removed.
+ * editing/gtk/FrameSelectionGtk.cpp: Copied from Source/WebCore/editing/gtk/SelectionControllerGtk.cpp.
+ (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
+ * editing/gtk/SelectionControllerGtk.cpp: Removed.
+ * editing/mac/EditorMac.mm:
+ (WebCore::Editor::canCopyExcludingStandaloneImages):
+ * editing/mac/FrameSelectionMac.mm: Copied from Source/WebCore/editing/mac/SelectionControllerMac.mm.
+ (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
+ * editing/mac/SelectionControllerMac.mm: Removed.
+ * editing/qt/EditorQt.cpp:
+ * loader/archive/cf/LegacyWebArchive.cpp:
+ * page/ContextMenuController.cpp:
+ (WebCore::ContextMenuController::populate):
+ * page/DOMSelection.cpp:
+ (WebCore::DOMSelection::type):
+ (WebCore::DOMSelection::modify):
+ (WebCore::DOMSelection::addRange):
+ (WebCore::DOMSelection::deleteFromDocument):
+ (WebCore::DOMSelection::containsNode):
+ * page/DragController.cpp:
+ (WebCore::DragController::dragIsMove):
+ * page/DragController.h:
+ * page/EventHandler.cpp:
+ (WebCore::setSelectionIfNeeded):
+ (WebCore::setNonDirectionalSelectionIfNeeded):
+ (WebCore::EventHandler::sendContextMenuEventForKey):
+ (WebCore::EventHandler::handleKeyboardSelectionMovement):
+ * page/EventHandler.h:
+ * page/FocusController.cpp:
+ (WebCore::clearSelectionIfNeeded):
+ * page/Frame.cpp:
+ (WebCore::Frame::Frame):
+ * page/Frame.h:
+ (WebCore::Frame::selection):
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ * page/Page.h:
+ (WebCore::Page::dragCaretController):
+ * page/chromium/DragControllerChromium.cpp:
+ * page/chromium/EventHandlerChromium.cpp:
+ * page/win/DragControllerWin.cpp:
+ * page/win/EventHandlerWin.cpp:
+ * rendering/HitTestResult.cpp:
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::destroy):
+ (WebCore::RenderBlock::paintCaret):
+ * rendering/RenderImage.cpp:
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::destroy):
+ * rendering/RenderLayer.cpp:
+ * rendering/RenderListBox.cpp:
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::RenderObjectChildList::removeChildNode):
+ * rendering/RenderTextControl.cpp:
+ * rendering/RenderTextControlSingleLine.cpp:
+ * rendering/RenderTheme.cpp:
+ * rendering/RenderTreeAsText.cpp:
+ * svg/SVGSVGElement.cpp:
+ * svg/SVGTextContentElement.cpp:
+ (WebCore::SVGTextContentElement::selectSubString):
+
+2011-05-05 Brent Fulgham <bfulgham@webkit.org>
+
+ [WinCairo] unreviewed build correction.
+
+ * platform/network/curl/ResourceRequest.h:
+ Stub out the new pipelined http logic for cURL.
+
+2011-05-05 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: searching for node does not result in bringToFront call.
+ https://bugs.webkit.org/show_bug.cgi?id=60222
+
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.updateFocusedNode):
+
+2011-05-05 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Implement the fast font path for Qt.
+ https://bugs.webkit.org/show_bug.cgi?id=51106
+
+ Use the new QRawFont and QGlyphs APIs in Qt 4.8 to implement the fast paths for
+ rendering and measurement of simple text.
+
+ Since this is still unreleased API, it's guarded by HAVE(QRAWFONT) until the new
+ classes are fully integrated into the Qt 4.8 release branch.
+
+ * WebCore.pro: Add HAVE_QRAWFONT define (for Qt >= 4.8) and new files to build.
+
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::drawText): Disable fast font path for stroked text, and when
+ painting text with a shadow. (Qt-only)
+ (WebCore::Font::codePath): Try to use fast font path in more cases.
+
+ * platform/graphics/qt/FontCacheQt.cpp:
+ (WebCore::rawFontForCharacters): Helper function, returns a suitable QRawFont
+ to use for rendering a given string. Goes through QTextLayout to find the best
+ font based on the original QFont query.
+ (WebCore::FontCache::getFontDataForCharacters): Implemented using helper above.
+
+ * platform/graphics/qt/FontPlatformData.h:
+ (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
+ (WebCore::FontPlatformData::FontPlatformData):
+ (WebCore::FontPlatformData::rawFont):
+ * platform/graphics/qt/FontPlatformDataQt.cpp:
+ (WebCore::FontPlatformData::FontPlatformData): Add a QRawFont member to FontPlatformData.
+
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::fillPenForContext):
+ (WebCore::strokePenForContext):
+ (WebCore::drawTextCommon): Factored QPen creation out of drawTextCommon
+ to share code between complex and simple font rendering paths.
+ (WebCore::Font::drawGlyphs): Implemented using QPainter::drawGlyphs().
+
+ * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
+ (WebCore::GlyphPage::fill): Implemented using QRawFont::glyphIndexesForString().
+
+ * platform/graphics/qt/SimpleFontDataQt.cpp:
+ (WebCore::SimpleFontData::determinePitch): Return false when using QRawFont since we
+ have no way of knowing the pitch.
+ (WebCore::SimpleFontData::containsCharacters): Implemented using QRawFont::supportsCharacter().
+ (WebCore::SimpleFontData::platformWidthForGlyph): Implemented using QRawFont::advancesForGlyphIndexes().
+ (WebCore::SimpleFontData::scaledFontData): Added, based on other ports.
+ (WebCore::SimpleFontData::smallCapsFontData): Ditto.
+ (WebCore::SimpleFontData::emphasisMarkFontData): Ditto.
+ (WebCore::SimpleFontData::platformBoundsForGlyph): Stub.
+ (WebCore::SimpleFontData::platformInit): Use QRawFont APIs to retrieve font metrics.
+ (WebCore::SimpleFontData::platformCharWidthInit): Ditto.
+
+2011-05-05 Alexis Menard <alexis.menard@openbossa.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] RenderThemeQt and DumpRenderTreeSupportQt should use nullptr rather than 0.
+ https://bugs.webkit.org/show_bug.cgi?id=60224
+
+ We should use nullptr rather than 0. nullptr will be added in the new C++ standard
+ but WebKit already has a nullptr class if there is no c++0x support.
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::adjustProgressBarStyle):
+ (WebCore::RenderThemeQt::adjustSliderTrackStyle):
+ (WebCore::RenderThemeQt::adjustSliderThumbStyle):
+
+2011-05-05 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: rename BrowserDebugger to DOMDebugger.
+
+ https://bugs.webkit.org/show_bug.cgi?id=60256
+ InspectorBrowserDebuggerAgent => InspectorDOMDebuggerAgent
+ browserDebugger => domDebugger
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * inspector/CodeGeneratorInspector.pm:
+ * inspector/InspectorAgent.cpp:
+ (WebCore::InspectorAgent::InspectorAgent):
+ (WebCore::InspectorAgent::inspectedPageDestroyed):
+ (WebCore::InspectorAgent::disconnectFrontend):
+ * inspector/InspectorAgent.h:
+ (WebCore::InspectorAgent::DOMDebuggerAgent):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::connectFrontend):
+ * inspector/InspectorDOMDebuggerAgent.cpp: Renamed from Source/WebCore/inspector/InspectorBrowserDebuggerAgent.cpp.
+ (WebCore::InspectorDOMDebuggerAgent::create):
+ (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
+ (WebCore::InspectorDOMDebuggerAgent::~InspectorDOMDebuggerAgent):
+ (WebCore::InspectorDOMDebuggerAgent::debuggerWasEnabled):
+ (WebCore::InspectorDOMDebuggerAgent::debuggerWasDisabled):
+ (WebCore::InspectorDOMDebuggerAgent::disable):
+ (WebCore::InspectorDOMDebuggerAgent::clearFrontend):
+ (WebCore::InspectorDOMDebuggerAgent::discardBindings):
+ (WebCore::InspectorDOMDebuggerAgent::setEventListenerBreakpoint):
+ (WebCore::InspectorDOMDebuggerAgent::removeEventListenerBreakpoint):
+ (WebCore::InspectorDOMDebuggerAgent::didInsertDOMNode):
+ (WebCore::InspectorDOMDebuggerAgent::didRemoveDOMNode):
+ (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
+ (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
+ (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
+ (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
+ (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
+ (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
+ (WebCore::InspectorDOMDebuggerAgent::hasBreakpoint):
+ (WebCore::InspectorDOMDebuggerAgent::updateSubtreeBreakpoints):
+ (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
+ (WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
+ (WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
+ (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
+ (WebCore::InspectorDOMDebuggerAgent::clear):
+ * inspector/InspectorDOMDebuggerAgent.h: Renamed from Source/WebCore/inspector/InspectorBrowserDebuggerAgent.h.
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
+ (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
+ (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
+ (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
+ (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
+ (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
+ (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
+ * inspector/InstrumentingAgents.h:
+ (WebCore::InstrumentingAgents::InstrumentingAgents):
+ (WebCore::InstrumentingAgents::inspectorDOMDebuggerAgent):
+ (WebCore::InstrumentingAgents::setInspectorDOMDebuggerAgent):
+ * inspector/WorkerInspectorController.cpp:
+ (WebCore::WorkerInspectorController::connectFrontend):
+
+2011-05-04 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: show only Console and Scripts panels in worker inspector front-end
+ https://bugs.webkit.org/show_bug.cgi?id=60159
+
+ * inspector/front-end/WorkerManager.js:
+ (WebInspector.WorkerManager.isWorkerFrontend):
+ * inspector/front-end/inspector.js: show only Scripts and Console panels in the worker inspector front-end.
+
+2011-05-03 Hans Wennborg <hans@chromium.org>
+
+ Reviewed by Steve Block.
+
+ IndexedDB: Unit tests for LevelDB key coding functions
+ https://bugs.webkit.org/show_bug.cgi?id=59692
+
+ Fix some embarrassing bugs uncovered by unit tests.
+
+ No new functionality, but this is now covered by unit tests in the Chromium WebKit port.
+
+ * storage/IDBLevelDBCoding.cpp:
+ (WebCore::IDBLevelDBCoding::decodeInt):
+ (WebCore::IDBLevelDBCoding::decodeVarInt):
+
+2011-05-05 Young Han Lee <joybro@company100.net>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Texmap][Qt] Enable strict OwnPtr for Qt with texmap enabled.
+ https://bugs.webkit.org/show_bug.cgi?id=60251
+
+ No new tests. Build fix.
+
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
+ (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
+
+2011-05-04 Jay Civelli <jcivelli@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Adding a utility class to read a SharedBuffer line by line.
+ https://bugs.webkit.org/show_bug.cgi?id=59946
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/SharedBufferCRLFLineReader.cpp: Added.
+ * platform/SharedBufferCRLFLineReader.h: Added.
+
+2011-05-04 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r85788.
+ http://trac.webkit.org/changeset/85788
+ https://bugs.webkit.org/show_bug.cgi?id=60250
+
+ svg/text/text-block-child-crash.xhtml asserts (Requested by
+ Ossy on #webkit).
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+
+2011-05-04 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Make more member functions in EventHandler private
+ https://bugs.webkit.org/show_bug.cgi?id=60200
+
+ Reduced the number of public member functions in EventHandler.
+
+ * WebCore.exp.in:
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleAutoscroll):
+ (WebCore::EventHandler::autoscrollTimerFired):
+ (WebCore::EventHandler::stopAutoscrollTimer):
+ (WebCore::EventHandler::handleMousePressEvent):
+ (WebCore::EventHandler::handleMouseMoveEvent):
+ (WebCore::EventHandler::keyEvent):
+ (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
+ * page/EventHandler.h:
+ (WebCore::EventHandler::mouseDownMayStartSelect):
+
+2011-05-04 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] REGRESSION(85136): Composited content vanishes when transform-style changes from preserve-3d to flat
+ https://bugs.webkit.org/show_bug.cgi?id=60202
+
+ In r85136 I accidentally transposed two lines in GraphicsLayerChromium when adding a null check. This switches
+ the order back and adds a regression test.
+
+ Test: compositing/repaint/transform-style-change.html
+
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
+
+2011-05-04 Cris Neckar <cdn@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Expose WebView directly through ChromeClient.
+ https://bugs.webkit.org/show_bug.cgi?id=49902
+
+ Test: fast/media/media-svg-crash.html
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::webView):
+ * page/ChromeClient.h:
+ * page/brew/ChromeClientBrew.h:
+ (WebCore::ChromeClientBrew::webView):
+
+2011-05-04 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Unable to Paste After Deleting Text from Input due to -webkit-user-select
+ https://bugs.webkit.org/show_bug.cgi?id=60219
+
+ When deleting all the text inside the input a placeholder <br>
+ element was inserted for the selection point. However, when
+ pasting, the test run computes the -webkit-user-select for the
+ <br> element, instead of what would be the text inside the
+ <input> and incorrectly disallows selection and prevented
+ the paste.
+
+ Test: editing/pasteboard/paste-placeholder-input.html
+
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplacementFragment::insertFragmentForTestRendering): skip
+ <br> elements above us as those are likely placeholder elements.
+
+2011-05-04 Fridrich Strba <fridrich.strba@bluewin.ch>
+
+ Reviewed by Martin Robinson.
+
+ Windows build of WebKit GTK needs to be able to find SystemInfo.h
+ https://bugs.webkit.org/show_bug.cgi?id=60221
+
+ * GNUmakefile.am: add Source/WebCore/platform/win to the paths searched
+ for headers, since Source/WebCore/platform/win/SystemInfo.h
+ header is needed by Source/WebKit/gtk/webkit/webkitwebsettings.cpp
+ on Windows.
+
+2011-05-04 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Improve sorting of layers in hierarchies that preserve-3d
+ by testing for overlapping regions between layer pairs and doing a
+ topological sort to determine the right order.
+ https://bugs.webkit.org/show_bug.cgi?id=59255
+
+ Test: platform/chromium/compositing/perpendicular-layer-sorting.html
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ * platform/graphics/chromium/cc/CCLayerImpl.h:
+ (WebCore::CCLayerImpl::clearRenderSurface):
+ * platform/graphics/chromium/cc/CCLayerSorter.cpp: Added.
+ (WebCore::perpProduct):
+ (WebCore::innerProduct):
+ (WebCore::pointInColinearEdge):
+ (WebCore::edgeEdgeTest):
+ (WebCore::CCLayerSorter::LayerIntersector::LayerIntersector):
+ (WebCore::CCLayerSorter::LayerIntersector::go):
+ (WebCore::CCLayerSorter::LayerIntersector::edgeTriangleTest):
+ (WebCore::CCLayerSorter::LayerIntersector::triangleTriangleTest):
+ (WebCore::CCLayerSorter::LayerIntersector::checkZDiff):
+ (WebCore::CCLayerSorter::LayerIntersector::layerZFromProjectedPoint):
+ (WebCore::CCLayerSorter::CCLayerSorter):
+ (WebCore::CCLayerSorter::checkOverlap):
+ (WebCore::CCLayerSorter::createGraphNodes):
+ (WebCore::CCLayerSorter::createGraphEdges):
+ (WebCore::CCLayerSorter::removeEdgeFromList):
+ (WebCore::CCLayerSorter::sort):
+ * platform/graphics/chromium/cc/CCLayerSorter.h: Added.
+ (WebCore::CCLayerSorter::GraphNode::GraphNode):
+ (WebCore::CCLayerSorter::GraphEdge::GraphEdge):
+
+2011-05-03 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ Safari: Video at apple.com cannot play at full screen mode with layout distortion
+ https://bugs.webkit.org/show_bug.cgi?id=60140
+
+ Because a fullscreen element may be in a stacking context with a lower z-index than
+ a sibling stacking context, those higher contexts would sometimes "pop" through the
+ full screen renderer. To facilitate eliminating all the stacking contexts aside from
+ the full screen renderer, added a new pseudo-class specific to video or audio full
+ screen elements. Then, added a new UA rule which resets the z-index and opacities of
+ all elements under said pseudo-class to auto and 1 respectively. To facilitate quick
+ identity checking of HTMLMediaElements, added isMediaElement() virtual function to
+ Element and HTMLMediaElement.
+
+ Test: fullscreen/full-screen-stacking-context.html
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::pseudoId): Support PseudoFullScreenMediaDocument.
+ (WebCore::nameToPseudoTypeMap): Support fullScreenMediaDocument.
+ (WebCore::CSSSelector::extractPseudoType): Support PseudoFullScreenMediaDocument.
+ * css/CSSSelector.h: Add PseudoFullScreenMediaDocument.
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Support PseudoFullScreenMediaDocument.
+ * css/fullscreen.css:
+ (:root:-webkit-full-screen-document:not(:-webkit-full-screen)): Corrected these names,
+ which were missing the -webkit prefix.
+ (:root:-webkit-full-screen-media-document *:not(-webkit-full-screen)): Added.
+ * dom/Element.h:
+ (WebCore::Element::isMediaElement): Added, returns false.
+ * html/HTMLMediaElement.h:
+ (WebCore::HTMLMediaElement::isMediaElement): Added, returns true.
+ * rendering/style/RenderStyleConstants.h: Added FULL_SCREEN_MEDIA_DOCUMENT.
+
+2011-05-04 Levi Weintraub <leviw@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Split findNextLineBreak into a LineBreaker class
+ https://bugs.webkit.org/show_bug.cgi?id=60209
+
+ Breaking findNextLineBreak into a new class inside RenderBlock. Currently it's tracking
+ nearly no state, but subsequent patches will move some of the local variables used throughout
+ the nextLineBreak function into member variables to simplify breaking off helper functions from
+ the bloated function.
+
+ No new tests since this is just moving code around.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::LineBreaker::LineBreaker):
+ (WebCore::RenderBlock::LineBreaker::lineWasHyphenated): Accessor.
+ (WebCore::RenderBlock::LineBreaker::positionedObjects): Ditto.
+ (WebCore::RenderBlock::LineBreaker::clear): Ditto.
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::layoutRunsAndFloats):
+ (WebCore::RenderBlock::LineBreaker::skipTrailingWhitespace):
+ (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
+ (WebCore::RenderBlock::LineBreaker::reset):
+ (WebCore::RenderBlock::LineBreaker::nextLineBreak):
+
+2011-05-04 Fridrich Strba <fridrich.strba@bluewin.ch>
+
+ Reviewed by Adam Barth.
+
+ Add COMPILER(MINGW) to the compilers using the Microsoft C Runtime's vsnprintf.
+ The vsnprintf is part of Microsoft C runtime used also by MinGW (GCC) toolchain.
+ https://bugs.webkit.org/show_bug.cgi?id=58579
+
+ * dom/XMLDocumentParserLibxml2.cpp:
+ (WebCore::XMLDocumentParser::error):
+
+2011-05-04 Alexis Menard <alexis.menard@openbossa.org>
+
+ Unreviewed warning fix.
+
+ The variable is just used in the ASSERT macro. Let's use ASSERT_UNUSED to avoid
+ a warning in Release build.
+
+ * dom/Node.cpp:
+ (WebCore::Node::removeEventListener):
+ * platform/DateComponents.cpp:
+ (WebCore::DateComponents::parseTime):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::convertToLayerCoords):
+ * storage/StorageMap.cpp:
+ (WebCore::StorageMap::importItem):
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::buildShadowTree):
+ (WebCore::SVGUseElement::expandUseElementsInShadowTree):
+
+2011-05-04 Alexis Menard <alexis.menard@openbossa.org>
+
+ Unreviewed warning fix.
+
+ The variable is just used in the ASSERT macro. Let's use ASSERT_UNUSED to avoid
+ a warning in Release build.
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::lastChildConsideringContinuation):
+
+2011-05-04 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Sort xcodeproj files.
+
+ The WebCore.xcodeproj got out of sorts again.
+
+ * WebCore.xcodeproj/project.pbxproj: Ran sort-XCode-project-file.
+
+2011-05-04 Alexis Menard <alexis.menard@openbossa.org>
+
+ Reviewed by Adam Barth.
+
+ Warning fix.
+
+ * bindings/js/DOMObjectHashTableMap.h:
+ (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
+
+2011-05-04 Rob Buis <rbuis@rim.com>
+
+ Reviewed by Darin Adler.
+
+ NULL deref when SVG elements have table styles
+ https://bugs.webkit.org/show_bug.cgi?id=45561
+
+ Restrict computed CSS values for SVG display property to block, inline or none.
+
+ Tests: svg/custom/display-table-caption-foreignObject.svg
+ svg/custom/display-table-caption-inherit-foreignObject.xhtml
+ svg/custom/display-table-caption-inherit-text.xhtml
+ svg/custom/display-table-caption-text.svg
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+
+2011-05-04 Tao Bai <michaelbai@chromium.org>
+
+ Reviewed by David Kilzer.
+
+ Populate touch-icon url to FrameLoaderClient
+ https://bugs.webkit.org/show_bug.cgi?id=59143
+
+ Parsed and populated apple-touch-icon url to FrameLoaderClient.
+ Changed favicon to be a type of icon.
+
+ * CMakeLists.txt:
+ * Configurations/FeatureDefines.xcconfig:
+ * GNUmakefile.am:
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Document.cpp:
+ (WebCore::Document::iconURL):
+ (WebCore::Document::setIconURL):
+ * dom/Document.h:
+ * dom/IconURL.cpp: Added.
+ (WebCore::toIconIndex):
+ * dom/IconURL.h: Added.
+ (WebCore::IconURL::IconURL):
+ * features.pri:
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::tokenizeRelAttribute):
+ (WebCore::HTMLLinkElement::process):
+ (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
+ * html/HTMLLinkElement.h:
+ (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
+ (WebCore::HTMLLinkElement::isEnabledViaScript):
+ * html/parser/HTMLPreloadScanner.cpp:
+ (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::iconURL):
+ (WebCore::DocumentLoader::setIconURL):
+ * loader/DocumentLoader.h:
+ * loader/EmptyClients.h:
+ (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::iconURL):
+ (WebCore::FrameLoader::iconURLs):
+ (WebCore::FrameLoader::fillIconURL):
+ (WebCore::FrameLoader::getDefaultIconURL):
+ (WebCore::FrameLoader::setIconURL):
+ (WebCore::FrameLoader::didChangeIcons):
+ * loader/FrameLoader.h:
+ * loader/FrameLoaderClient.h:
+
+2011-05-04 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Crash in PlatformCALayer ::replaceSublayer when layer has not superlayer
+ https://bugs.webkit.org/show_bug.cgi?id=60191
+
+ Skip replaceSublayer when there is no superlayer rather than asserting.
+ This is probably not a problem and happens when restructuring the layer
+ tree. Avoiding this crash will allow us to get more testing.
+
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
+
+2011-05-04 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Fix the GTK+ 2.x build for Windows. Instead of making getStockIcon a RenderTheme
+ method, just use extern declarations to avoid having to declare it in the header.
+ This will prevent having to include glib.h in RenderThemeGtk.h, which is included
+ in many C++ files.
+
+ No new tests. This is just a build fix.
+
+ * platform/gtk/RenderThemeGtk.cpp: Update getStockIcon calls to say getStockIconForWidgetType.
+ (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
+ (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
+ (WebCore::RenderThemeGtk::paintCapsLockIndicator):
+ (WebCore::RenderThemeGtk::paintMediaButton):
+ * platform/gtk/RenderThemeGtk.h: Removed getStockIcon declaration. Make gtkContainer() and
+ gtkEntry() public because they are now accessed externally from getStockIcon().
+ * platform/gtk/RenderThemeGtk2.cpp: Update getStockIcon calls.
+ (WebCore::getStockIconForWidgetType):
+ * platform/gtk/RenderThemeGtk3.cpp: Ditto.
+ (WebCore::getStockIconForWidgetType):
+
+2011-05-04 Mark Pilgrim <pilgrim@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ IndexedDB open (database) should fail if name is null
+ https://bugs.webkit.org/show_bug.cgi?id=60022
+
+ Test: storage/indexeddb/mozilla/open-database-null-name.html
+
+ Combination problem: Bug in IDL didn't pass null values to .cpp layer,
+ then .cpp layer didn't check for null value anyway.
+
+ * storage/IDBFactory.cpp:
+ (WebCore::IDBFactory::open): check for null name
+ * storage/IDBFactory.idl: pass null name as null
+
+2011-05-04 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Entering full screen fails >= second time on Vimeo.com.
+ https://bugs.webkit.org/show_bug.cgi?id=60143
+
+ Force the RenderFullScreen's layer backing to be recreated when setAnimating() is called.
+ Previously, the RenderLayerCompositor would fail to reparent the RenderFullScreen's layer
+ at the end of an animation, if it determined that the RenderFullScreen would still require
+ a layer even when not animating.
+
+ * rendering/RenderFullScreen.cpp:
+ (RenderFullScreen::setAnimating): Clear the renderer's layer.
+
+2011-05-04 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Avoid allocating a new image buffer in ~CanvasRenderingContext2D()
+ https://bugs.webkit.org/show_bug.cgi?id=59849
+
+ When attempting to unwind the graphics state stack in the
+ CanvasRenderingContext2D destructor, don't allow HTMLCanvasElement
+ to create a new ImageBuffer.
+
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::existingDrawingContext):
+ * html/HTMLCanvasElement.h:
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
+
+2011-05-04 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: expose shadow DOM in the Elements panel
+ https://bugs.webkit.org/show_bug.cgi?id=60160
+
+ Test: inspector/elements/shadow-dom.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::ensureShadowRoot):
+ (WebCore::Element::removeShadowRoot):
+ * inspector/Inspector.json:
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
+ (WebCore::InspectorDOMAgent::buildObjectForNode):
+ (WebCore::InspectorDOMAgent::didInsertDOMNode):
+ (WebCore::InspectorDOMAgent::didRemoveDOMNode):
+ (WebCore::InspectorDOMAgent::isContainerNode):
+ * inspector/InspectorDOMAgent.h:
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.DOMNode):
+ (WebInspector.DOMNode.prototype.inShadowTree):
+ (WebInspector.DOMNode.prototype._setShadowRootPayload):
+ (WebInspector.DOMNode.prototype._renumber):
+ (WebInspector.DOMAgent.prototype._bindNodes):
+ (WebInspector.DOMAgent.prototype.querySelectorAll):
+ (WebInspector.DOMAgent.prototype._shadowRootUpdated):
+ (WebInspector.DOMDispatcher.prototype.searchResults):
+ (WebInspector.DOMDispatcher.prototype.shadowRootUpdated):
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel):
+ (WebInspector.ElementsPanel.prototype._nodeUpdated):
+ (WebInspector.ElementsPanel.prototype._attributesUpdated):
+ (WebInspector.ElementsPanel.prototype._nodeRemoved):
+ (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
+ (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement):
+ (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
+ (WebInspector.ElementsTreeElement.prototype._updateChildren):
+ ():
+ * inspector/front-end/inspector.css:
+ (#elements-content .dom-shadow-root):
+ (.outline-disclosure li .webkit-html-tag.shadow):
+ * inspector/front-end/utilities.js:
+
+2011-05-03 Adam Roben <aroben@apple.com>
+
+ Remove an unnecessary OwnPtr equality check in XSLT code
+
+ Fixes <http://webkit.org/b/60053> Testing OwnPtrs for equality should cause a compiler error
+
+ Reviewed by Anders Carlsson and Antti Koivisto.
+
+ * dom/Document.cpp:
+ (WebCore::Document::setTransformSource): No need to check for equality. If the pointers are
+ equal, we're screwed anyway. (And the caller always passes in a newly-allocated object, so
+ we're safe.)
+
+2011-05-04 Leandro Gracia Gil <leandrogracia@chromium.org>
+
+ Reviewed by Tony Gentilcore.
+
+ Media Stream API: add the skeleton of the frame and page controllers and the embedder client.
+ https://bugs.webkit.org/show_bug.cgi?id=56922
+
+ Add the basic outlines of the page controller, the per-frame controller and the embedder
+ client interface for the Media Stream API. Provide methods to handle the situations
+ where a frame is detached from the page or transferred between pages.
+
+ Tests for the Media Stream API will be provided by the bug 56587.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * page/Frame.cpp:
+ (WebCore::Frame::Frame):
+ (WebCore::Frame::~Frame):
+ (WebCore::Frame::pageDestroyed):
+ (WebCore::Frame::transferChildFrameToNewDocument):
+ * page/Frame.h:
+ (WebCore::Frame::mediaStreamFrameController):
+ * page/MediaStreamClient.h: Added.
+ (WebCore::MediaStreamClient::~MediaStreamClient):
+ * page/MediaStreamController.cpp: Added.
+ (WebCore::MediaStreamController::Request::Request):
+ (WebCore::MediaStreamController::Request::localId):
+ (WebCore::MediaStreamController::Request::frameController):
+ (WebCore::MediaStreamController::MediaStreamController):
+ (WebCore::MediaStreamController::~MediaStreamController):
+ (WebCore::MediaStreamController::unregisterFrameController):
+ (WebCore::MediaStreamController::registerRequest):
+ * page/MediaStreamController.h: Added.
+ * page/MediaStreamFrameController.cpp: Added.
+ (WebCore::MediaStreamFrameController::Request::Request):
+ (WebCore::MediaStreamFrameController::Request::~Request):
+ (WebCore::MediaStreamFrameController::Request::scriptExecutionContext):
+ (WebCore::MediaStreamFrameController::Request::isGenerateStreamRequest):
+ (WebCore::MediaStreamFrameController::Request::isRecordedDataRequest):
+ (WebCore::MediaStreamFrameController::RequestMap::abort):
+ (WebCore::MediaStreamFrameController::RequestMap::abortAll):
+ (WebCore::MediaStreamFrameController::MediaStreamFrameController):
+ (WebCore::MediaStreamFrameController::~MediaStreamFrameController):
+ (WebCore::MediaStreamFrameController::securityOrigin):
+ (WebCore::MediaStreamFrameController::scriptExecutionContext):
+ (WebCore::MediaStreamFrameController::pageController):
+ (WebCore::MediaStreamFrameController::enterDetachedState):
+ (WebCore::MediaStreamFrameController::disconnectPage):
+ (WebCore::MediaStreamFrameController::disconnectFrame):
+ (WebCore::MediaStreamFrameController::transferToNewPage):
+ * page/MediaStreamFrameController.h: Added.
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ (WebCore::Page::PageClients::PageClients):
+ * page/Page.h:
+ (WebCore::Page::mediaStreamController):
+
+2011-05-04 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: Double-click in a read-only style rule results in a non-editable blank property
+ https://bugs.webkit.org/show_bug.cgi?id=60150
+
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick):
+
+2011-05-04 Dominic Battre <battre@chromium.org>
+
+ Reviewed by Tony Gentilcore.
+
+ Fix missing header in case SVG is disabled
+ https://bugs.webkit.org/show_bug.cgi?id=60153
+
+ * dom/EventDispatcher.cpp:
+
+2011-05-04 Luke Macpherson <macpherson@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Rename CSSStyleApplyProperty::propertyValue and setPropertyValue.
+ https://bugs.webkit.org/show_bug.cgi?id=60006
+
+ No new tests as no functionality added. Simple rename only.
+
+ * css/CSSStyleApplyProperty.cpp:
+ Rename propertyValue propertyHandler and setPropertyValue setPropertyHandler.
+ * css/CSSStyleApplyProperty.h:
+ Rename propertyValue propertyHandler and setPropertyValue setPropertyHandler.
+
+2011-05-04 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Cleanup conditionals in findNextLineBreak
+ https://bugs.webkit.org/show_bug.cgi?id=60117
+
+ Simplified conditional statements in findNextLineBreak.
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::findNextLineBreak):
+
+2011-05-04 Luke Macpherson <macpherson@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Make CSSStyleSelector::applyProperty() CSSPropertyWebkitHyphens case use appropriate macro.
+ https://bugs.webkit.org/show_bug.cgi?id=60114
+
+ No new tests as no functionality changes.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro to remove code duplication.
+
+2011-05-04 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Fix QNetworkReplyWrapper to not depend on QNetworkReply::isFinished() method
+ https://bugs.webkit.org/show_bug.cgi?id=59070
+
+ Applications using our API and our autotests subclass QNetworkReply as part of providing a
+ custom QNetworkAccessManager. But there's an API limitation in Qt 4.7, that makes
+ QNetworkReply::isFinished() always be false for these custom replies. This was fixed in Qt
+ 4.8, see http://bugreports.qt.nokia.com/browse/QTBUG-11737.
+
+ The consequence is that QtWebKit cannot rely on this function. So now QNetworkReplyWrapper
+ watches for the finished() signal and set a dynamic property "_q_isFinished" on the reply
+ indicating that it is finished. When there's no finished signal (synchronous) we set the
+ dynamic property once we get the reply.
+
+ This fixes tst_QWebFrame::requestedUrl(), that was breaking because sniffer was not
+ emitting its own finished() signal, causing QWebFrame::loadFinished() to not be emitted.
+
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
+ Connect the finished signal to the new setFinished() slot.
+
+ (WebCore::QNetworkReplyWrapper::synchronousLoad):
+ Since we don't get the finished signal for synchronous loads, set the dynamic property
+ before processing it.
+
+ (WebCore::QNetworkReplyWrapper::resetConnections):
+ Do not reset the connection to setFinished().
+
+ (WebCore::QNetworkReplyWrapper::setFinished):
+ Set the dynamic property in the reply.
+
+ (WebCore::QNetworkReplyWrapper::emitMetaDataChanged):
+ (WebCore::QNetworkReplyHandler::start):
+ Change to use wrapper's isFinished() instead of asking the reply directly.
+
+ * platform/network/qt/QNetworkReplyHandler.h:
+ (WebCore::QNetworkReplyWrapper::isFinished):
+ Checks the dynamic property of the reply.
+
+ * platform/network/qt/QtMIMETypeSniffer.cpp:
+ (QtMIMETypeSniffer::sniff):
+ Use the dynamic property to check if the reply is finished.
+
+2011-05-04 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Ryosuke Niwa.
+
+ Split createLineBoxesFromBidiRuns out from layoutRunsAndFloats
+ https://bugs.webkit.org/show_bug.cgi?id=60080
+
+ No functional change, just moving code.
+
+ * rendering/RenderBlock.h:
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::createLineBoxesFromBidiRuns):
+ (WebCore::RenderBlock::layoutRunsAndFloats):
+
+2011-05-04 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Remove unused function FontPlatformData::pixelSize()
+ https://bugs.webkit.org/show_bug.cgi?id=60156
+
+ * platform/graphics/qt/FontPlatformData.h:
+ (WebCore::FontPlatformData::pixelSize): Removed.
+
+2011-05-04 Luke Macpherson <macpherson@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Remove redundant conversion from auto table layout to auto table layout in CSSStyleSelector::applyProperty()
+ https://bugs.webkit.org/show_bug.cgi?id=60011
+
+ No new tests added as no functionality changed.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ Remove reundant check for auto table layout.
+
+2011-05-04 Mihai Parparita <mihaip@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Remove double-free checks for bug 56124
+ https://bugs.webkit.org/show_bug.cgi?id=60037
+
+ Antti's speculative fix for bug 56124 (r84151) appears to have worked,
+ these CRASH() calls are not triggering anymore.
+
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::CSSSelector):
+ (WebCore::CSSSelector::~CSSSelector):
+ * css/CSSSelectorList.cpp:
+ (WebCore::CSSSelectorList::deleteSelectors):
+
+2011-05-04 Satish Sampath <satish@chromium.org>
+
+ Reviewed by Tony Gentilcore.
+
+ Layout the speech input button to the left of outer spin button properly.
+ https://bugs.webkit.org/show_bug.cgi?id=59742
+
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::layout):
+
+2011-05-04 Yury Semikhatsky <yurys@chromium.org>
+
+ Unreviewed. Build fix.
+
+ * bindings/js/JSInjectedScriptHostCustom.cpp: fix includes declaration
+
+2011-05-03 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: can't inspect element in an iframe when element originates from non-frame document
+ https://bugs.webkit.org/show_bug.cgi?id=60031
+
+ Inspected object type evaluation has moved into native bindings. This way it doesn't
+ depend on the current JS context.
+
+ Test: inspector/elements/elements-inspect-iframe-from-different-domain.html
+
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::JSInjectedScriptHost::isHTMLAllCollection): this method helps distinguish
+ real undefined values from HTMLAllCollection
+ (WebCore::JSInjectedScriptHost::type): method that returns presice type of the passed
+ value
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::V8InjectedScriptHost::isHTMLAllCollectionCallback):
+ (WebCore::V8InjectedScriptHost::typeCallback):
+ * inspector/InjectedScriptHost.idl:
+ * inspector/InjectedScriptSource.js:
+ (.):
+
+2011-05-03 Pratik Solanki <psolanki@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ Part of WebCore should use CFNetwork-based loader on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=51836
+
+ Merge the conflicting definitions of WebCore::privateBrowsingCookieStorage() into one. Clean
+ up some warnings and #if USE(CFNETWORK) around code.
+
+ * platform/mac/CookieJar.mm:
+ * platform/network/CookieStorage.h:
+ * platform/network/cf/CookieStorageCFNet.cpp:
+ (WebCore::privateBrowsingCookieStorage):
+ (WebCore::currentCookieStorage):
+ (WebCore::setCurrentCookieStorage):
+ (WebCore::setCookieStoragePrivateBrowsingEnabled):
+ (WebCore::notifyCookiesChangedOnMainThread):
+ (WebCore::notifyCookiesChanged):
+ * platform/network/cf/CookieStorageCFNet.h:
+ * platform/network/mac/CookieStorageMac.mm:
+
+2011-05-03 Justin Novosad <junov@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [Chromium] Make accelerated 2d canvas enabled by default with skia
+ https://bugs.webkit.org/show_bug.cgi?id=59929
+
+ No new tests. Covered by existing layout tests
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
+ Initialized for accelerated canvas if either the accelerated2dCanvas
+ or the legacyAccelerated2dCanvas flags are enabled
+ * page/Page.cpp:
+ (WebCore::Page::sharedGraphicsContext3D):
+ This is where the code goes to implement the functionality for the
+ legacy vs current acceleration paths for the 2D canvas. Currently,
+ this is a no-op, and always select the legacy path. This is temporary
+ until we are ready to sort the GPU layout tests (rebasline vs. bug)
+ * page/Settings.cpp: Added new flage for legacyAccelerated2dCanvas
+ (WebCore::Settings::Settings):
+ (WebCore::Settings::setLegacyAccelerated2dCanvasEnabled):
+ * page/Settings.h:
+ (WebCore::Settings::legacyAccelerated2dCanvasEnabled):
+
+2011-04-29 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Implement FULLSCREEN_API on Windows, Part 4: Enable it
+ https://bugs.webkit.org/show_bug.cgi?id=59798
+
+ * WebCore.vcproj/WebCore.vcproj: Add missing full screen related
+ files to the project.
+
+2011-05-03 Alpha Lam <hclam@chromium.org>
+
+ Not reviewed. Build fix.
+
+ More places from 0 to nullptr.
+
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::precompileScript):
+ * platform/graphics/chromium/LayerTilerChromium.cpp:
+ (WebCore::LayerTilerChromium::create):
+ * platform/graphics/gpu/BicubicShader.cpp:
+ (WebCore::BicubicShader::create):
+ * platform/graphics/gpu/ConvolutionShader.cpp:
+ (WebCore::ConvolutionShader::create):
+ * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
+ (WebCore::LoopBlinnSolidFillShader::create):
+ * platform/graphics/gpu/SolidFillShader.cpp:
+ (WebCore::SolidFillShader::create):
+ * platform/graphics/gpu/TexShader.cpp:
+ (WebCore::TexShader::create):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (WebCore::PlatformContextSkia::~PlatformContextSkia):
+ * platform/leveldb/LevelDBDatabase.cpp:
+ (WebCore::LevelDBDatabase::createIterator):
+ * platform/text/LocalizedNumberICU.cpp:
+ (WebCore::createFormatterForCurrentLocale):
+
+2011-05-03 Alpha Lam <hclam@chromium.org>
+
+ Not reviewed. Build fix.
+
+ Using nullptr instead of 0. This makes visual studio happy.
+
+ * storage/IDBTransactionBackendInterface.h:
+
+2011-05-03 Luke Macpherson <macpherson@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add template parameter to ApplyPropertyColor to improve clarity by removing constructor parameter side effects.
+ https://bugs.webkit.org/show_bug.cgi?id=59774
+
+ No new tests required as on new functionality.
+
+ * css/CSSStyleApplyProperty.cpp:
+ (WebCore::ApplyPropertyColor::applyValue):
+ Added template parameter "inheritColorFromParent = false".
+ (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
+ Use template parameter where appropriate.
+
+2011-05-03 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/9313186> Make the fix for <rdar://problem/9190108> more robust.
+
+ Added a pointer from FloatingObject to its originating line, if there is one, and made sure to
+ dirty the line when the float is removed, instead of relying on the float always intersecting
+ its originating line.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::removeFloatingObject):
+ (WebCore::RenderBlock::removeFloatingObjectsBelow):
+ (WebCore::RenderBlock::clearFloats):
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::FloatingObject::FloatingObject):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::appendFloatingObjectToLastLine):
+ (WebCore::RenderBlock::layoutRunsAndFloats):
+ (WebCore::RenderBlock::determineStartPosition):
+
+2011-05-02 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Implement FULLSCREEN_API on Windows, Part 3: WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=59845
+
+ Move WebFullScreenController into WebCore to facilitate code sharing between WebKit
+ and WebKit2. WebFullScreenController now uses a Client class to request work on its
+ behalf by WebKit and WebKit2. MediaPlayerPrivateFullscreenWindow now only creates a
+ CALayerHost once a root layer is set, as the CALayerHost was causing child window drawing
+ problems, and because a CALayerHost is overkill if the window is only drawing black to
+ its client area.
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
+ (WebCore::MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow): Do not create
+ m_layerHost in the constructor.
+ (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): NULL check m_layerHost.
+ (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer): Lazily instantiate m_layerHost.
+ (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): NULL check m_layerHost; if a root layer is
+ not present, fill the window with black in WM_PAINT.
+ * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
+ * platform/graphics/win/FullScreenController.cpp: Renamed from Source/WebKit/win/WebFullScreenController.cpp.
+ * platform/graphics/win/FullScreenController.h: Renamed from Source/WebKit/win/WebFullScreenController.h.
+ * platform/graphics/win/FullScreenControllerClient.h: Split out from FullScreenController.h
+ (WebCore::FullScreenControllerClient::~FullScreenControllerClient):
+
+2011-05-03 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=60087 and <rdar://problem/9373182>
+ WK2 Icon Database should provide access to all image representations in the icon.
+
+ Add an accessor for CG platforms to get a CFArrayRef of all the CGImageRefs represented:
+ * platform/graphics/BitmapImage.h:
+ * platform/graphics/Image.h:
+ (WebCore::Image::getCGImageArray):
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::BitmapImage::getCGImageArray):
+
+2011-05-03 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ findNextLineBreak splits InlineIterator into 3 pieces
+ https://bugs.webkit.org/show_bug.cgi?id=60082
+
+ Avoid splitting InlineIterator into 3 variables with inter-dependencies.
+
+ * rendering/InlineIterator.h:
+ (WebCore::InlineIterator::fastIncrementInTextNode): Added.
+ (WebCore::InlineIterator::previousInSameNode): Added.
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::findNextLineBreak):
+
+2011-05-03 Dean Jackson <dino@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Interrupted transitions are not correctly removed
+ https://bugs.webkit.org/show_bug.cgi?id=60062
+
+ CompositeAnimation was replacing any existing
+ transition as a new one was created. However, it wasn't
+ clearing the lists in AnimationControllerPrivate that
+ signal when a hardware animation starts. Rather than
+ simple removing the existing transition, we now tell
+ AnimationControllerPrivate that is has gone.
+
+ Test: transitions/3d/interrupted-transition.html
+
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::updateTransitions):
+
+2011-05-03 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Ryosuke Niwa.
+
+ Crash in SpellingCorrectionController::respondToChangedSelection.
+ https://bugs.webkit.org/show_bug.cgi?id=60071
+ <rdar://problem/9358190>
+
+ Creating a Visible position could trigger a layout and there is no
+ guarantee that the selection is still valid after that.
+
+ Tests: editing/selection/undo-crash.html
+
+ * editing/SpellingCorrectionController.cpp:
+ (WebCore::SpellingCorrectionController::respondToChangedSelection):
+
+2011-05-03 Levi Weintraub <leviw@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Refactor computeInlineDirectionPositionsForLine into smaller functions
+ https://bugs.webkit.org/show_bug.cgi?id=60072
+
+ Split three functions off from computeInlineDirectionPositionsForLine
+ to improve its readability.
+
+ No new tests since this is just moving code around.
+
+ * rendering/RenderBlock.h:
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::setMarginsForRubyRun):
+ (WebCore::setLogicalWidthForTextRun):
+ (WebCore::computeExpansionForJustifiedText):
+ (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
+
+2011-05-03 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/59838> Implement HTTP pipelining for CoreFoundation-based networking
+
+ Reviewed by Antti Koivisto.
+
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore::ResourceRequest::doUpdatePlatformRequest): Set the
+ priority on the request if HTTP pipelining is enabled.
+ (WebCore::ResourceRequest::doUpdateResourceRequest): Read the
+ priority from the request if HTTP pipelining is enabled.
+ (readBooleanPreference): Enable code when compiling with
+ USE(CFNETWORK).
+ (WebCore::initializeMaximumHTTPConnectionCountPerHost): Ditto.
+ Comment out setting the minimum fast lane priority on Windows
+ since it's not currently available.
+
+2011-05-03 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/9278296> Flicker zooming on Google Maps satellite view with accelerated compositing turned on
+
+ Conditionalize compositing tiled layer size-constraining logic to older
+ OSes.
+
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::constrainedSize):
+
+2011-05-03 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Allow access keys to be used in shadow DOM
+ https://bugs.webkit.org/show_bug.cgi?id=59979
+
+ Move access key methods and members back to Document from TreeScope.
+ Also traverse into shadow trees when building the access key map.
+
+ No new tests. (refactoring)
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ (WebCore::Document::getElementByAccessKey):
+ (WebCore::Document::buildAccessKeyMap):
+ (WebCore::Document::invalidateAccessKeyMap):
+ * dom/Document.h:
+ * dom/TreeScope.cpp:
+ (WebCore::TreeScope::TreeScope):
+ (WebCore::TreeScope::destroyTreeScopeData):
+ * dom/TreeScope.h:
+
+2011-05-03 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/8891395> -[DOMRange textRects] returns incorrect results for vertical or flipped text
+ https://bugs.webkit.org/show_bug.cgi?id=60067
+
+ No test because this code path is only used by the Objective-C API, which is not testable from DumpRenderTree.
+
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::absoluteRectsForRange): Use width/height instead of logicalWidth/logicalHeight here,
+ and perform the local-to-absolute mapping on the rects rather than their origin, in order to get the right
+ results for flipped writing modes.
+
+2011-05-03 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ [v8] remove an ASSERT from grouping logic
+ https://bugs.webkit.org/show_bug.cgi?id=60024
+
+ This ASSERT was exploratory. Alas, right now I am aware of no easy way to
+ repro it. Removing for now for greener bots.
+
+ No new tests, only an ASSERT removal.
+
+ * bindings/v8/V8GCController.cpp:
+ (WebCore::calculateGroupId):
+
+2011-05-03 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ WebKit allows selection that crosses the shadow boundary of a readonly input element
+ https://bugs.webkit.org/show_bug.cgi?id=60000
+
+ The bug was caused by VisibleSelection's not validating shadow DOM boundaries.
+ Fixed the bug by adding an extra adjustment, adjustSelectionToAvoidCrossingShadowBoundaries,
+ in its validation process.
+
+ Tests: editing/selection/select-across-readonly-input-1.html
+ editing/selection/select-across-readonly-input-2.html
+ editing/selection/select-across-readonly-input-3.html
+ editing/selection/select-across-readonly-input-4.html
+ editing/selection/select-across-readonly-input-5.html
+
+ * editing/VisibleSelection.cpp:
+ (WebCore::VisibleSelection::validate): Calls adjustSelectionToAvoidCrossingShadowBoundaries.
+ (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries): Added.
+ * editing/VisibleSelection.h:
+
+2011-05-03 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Ryosuke Niwa.
+
+ Split out layoutRunsAndFloats from layoutInlineChildren
+ https://bugs.webkit.org/show_bug.cgi?id=60052
+
+ No new tests, just moving code here. There should be
+ no change in behavior.
+
+ * rendering/RenderBlock.h:
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::layoutRunsAndFloats):
+ (WebCore::RenderBlock::layoutInlineChildren):
+
+2011-05-03 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Resizing a 2d canvas to huge dimensions after compositing crashes with accelerated 2d canvas option enabled
+ https://bugs.webkit.org/show_bug.cgi?id=59965
+
+ Fixes a few bugs leading to a crash if a canvas already being composited was resized to huge dimensions.
+
+ Test: fast/canvas/canvas-resize-after-paint.html
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::reset):
+ Mark the canvas's layer as needing a synthetic style recalculation when creating or destroying the backing
+ DrawingBuffer so that we exit compositing mode properly if we can't handle the canvas dimensions.
+ * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
+ (WebCore::Canvas2DLayerChromium::setLayerRenderer):
+ Add a null check for m_drawingBuffer
+ * platform/graphics/gpu/DrawingBuffer.cpp:
+ (WebCore::DrawingBuffer::clear):
+ Avoid clearing the m_context pointer in reset() - we destroy the DrawingBuffer whenever reset() fails, so
+ this is unnecessary.
+
+2011-05-03 Adam Roben <aroben@apple.com>
+
+ Fix most strict PassOwnPtr violations on Windows
+
+ Fixes <http://webkit.org/b/60025> Windows should (almost) build with strict PassOwnPtr
+ enabled
+
+ Reviewed by Anders Carlsson.
+
+ * loader/EmptyClients.h:
+ * platform/GeolocationService.cpp:
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
+ * platform/mock/GeolocationServiceMock.cpp:
+ * rendering/RenderTheme.cpp:
+ * rendering/RenderThemeSafari.cpp:
+
+2011-05-03 Levi Weintraub <leviw@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Extract LineInfo class
+ https://bugs.webkit.org/show_bug.cgi?id=60044
+
+ Created a LineInfo class in RenderBlockLineLayout.cpp that brings together the relevant
+ layout information about a line. This simplifies function signatures and clears up initialization.
+
+ No new tests as this is refactoring.
+
+ * rendering/RenderBlock.h: Updated internal layout function signatures to use LineInfo.
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::LineInfo::LineInfo):
+ (WebCore::LineInfo::isFirstLine):
+ (WebCore::LineInfo::isLastLine):
+ (WebCore::LineInfo::isEmpty):
+ (WebCore::LineInfo::previousLineBrokeCleanly):
+ (WebCore::LineInfo::setFirstLine):
+ (WebCore::LineInfo::setLastLine):
+ (WebCore::LineInfo::setEmpty):
+ (WebCore::LineInfo::setPreviousLineBrokeCleanly):
+ (WebCore::RenderBlock::createLineBoxes):
+ (WebCore::RenderBlock::constructLine):
+ (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
+ (WebCore::RenderBlock::layoutInlineChildren):
+ (WebCore::RenderBlock::determineStartPosition):
+ (WebCore::skipNonBreakingSpace):
+ (WebCore::shouldCollapseWhiteSpace):
+ (WebCore::requiresLineBox): Moved from RenderBlock.h and made it locally scoped to RenderBlockLineLayout.cpp
+ (WebCore::RenderBlock::generatesLineBoxesForInlineChild):
+ (WebCore::RenderBlock::skipTrailingWhitespace):
+ (WebCore::RenderBlock::skipLeadingWhitespace):
+ (WebCore::RenderBlock::findNextLineBreak):
+
+2011-05-03 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Update node list cache count on the containing TreeScope rather than the Document
+ https://bugs.webkit.org/show_bug.cgi?id=59983
+
+ Change code to call add/removeNodeListCache() and hasNodeListCaches() on the proper tree scope.
+ Move updating of the node list cache count from setDocument() to setTreeScopeRecursively().
+ Make setDocument() and setDocumentRecursively() private.
+
+ No new tests. (refactoring)
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::childrenChanged):
+ * dom/Node.cpp:
+ (WebCore::Node::~Node):
+ (WebCore::Node::setDocument):
+ (WebCore::Node::setTreeScopeRecursively):
+ (WebCore::Node::childNodes):
+ (WebCore::Node::registerDynamicNodeList):
+ (WebCore::Node::unregisterDynamicNodeList):
+ (WebCore::Node::notifyLocalNodeListsAttributeChanged):
+ (WebCore::Node::notifyLocalNodeListsChildrenChanged):
+ (WebCore::Node::getElementsByTagName):
+ (WebCore::Node::getElementsByTagNameNS):
+ (WebCore::Node::getElementsByName):
+ (WebCore::Node::getElementsByClassName):
+ * dom/Node.h:
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::labels):
+
+2011-05-03 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Bundle trailingSpaceObject and trailingPositionedBoxes in findNextLineBreak as a class
+ https://bugs.webkit.org/show_bug.cgi?id=60046
+
+ Extracted TrailingObjects that encapsulates trailingSpaceObject and trailingPositionedBoxes.
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::TrailingObjects::TrailingObjects):
+ (WebCore::TrailingObjects::setTrailingWhitespace):
+ (WebCore::TrailingObjects::clear):
+ (WebCore::TrailingObjects::appendBoxIfNeeded):
+ (WebCore::TrailingObjects::addMidpoints):
+ (WebCore::RenderBlock::findNextLineBreak):
+
+2011-05-03 Igor Oliveira <igor.oliveira@openbossa.org>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Implement initial support to DataTransferItems
+ https://bugs.webkit.org/show_bug.cgi?id=58448
+
+ Implement initial support to DataTransferItems. DataTransferItems are used to
+ hold data for drag and drop operations. DataTransferItems hold a list of
+ DataTransferItem objects each of which holds an item being dragged.
+
+ * WebCore.pro:
+ * dom/DataTransferItems.idl:
+ * editing/qt/EditorQt.cpp:
+ (WebCore::Editor::newGeneralClipboard):
+ * page/qt/EventHandlerQt.cpp:
+ (WebCore::EventHandler::createDraggingClipboard):
+ * platform/chromium/DataTransferItemsChromium.h:
+ * platform/qt/ClipboardQt.cpp:
+ (WebCore::Clipboard::create):
+ (WebCore::ClipboardQt::ClipboardQt):
+ (WebCore::ClipboardQt::items):
+ * platform/qt/ClipboardQt.h:
+ (WebCore::ClipboardQt::create):
+ * platform/qt/DataTransferItemQt.cpp: Added.
+ (WebCore::DataTransferItem::create):
+ (WebCore::DataTransferItemQt::createFromPasteboard):
+ (WebCore::DataTransferItemQt::create):
+ (WebCore::DataTransferItemQt::DataTransferItemQt):
+ (WebCore::DataTransferItemQt::getAsString):
+ (WebCore::DataTransferItemQt::getAsFile):
+ * platform/qt/DataTransferItemQt.h: Added.
+ * platform/qt/DataTransferItemsQt.cpp: Copied from Source/WebCore/editing/qt/EditorQt.cpp.
+ (WebCore::DataTransferItemsQt::create):
+ (WebCore::DataTransferItemsQt::DataTransferItemsQt):
+ (WebCore::DataTransferItemsQt::addPasteboardItem):
+ * platform/qt/DataTransferItemsQt.h: Copied from Source/WebCore/editing/qt/EditorQt.cpp.
+
+2011-05-03 Julien Chaffraix <jchaffraix@codeaurora.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Element:shadowRoot & Element::ensureShadowRoot should return ShadowRoot*
+ https://bugs.webkit.org/show_bug.cgi?id=58703
+
+ No new tests, refactoring only.
+
+ * dom/Element.cpp:
+ (WebCore::Element::copyNonAttributeProperties):
+ (WebCore::Element::insertedIntoDocument):
+ (WebCore::Element::removedFromDocument):
+ (WebCore::Element::insertedIntoTree):
+ (WebCore::Element::removedFromTree):
+ (WebCore::Element::attach):
+ (WebCore::Element::detach):
+ (WebCore::Element::recalcStyle):
+ (WebCore::Element::shadowRoot):
+ (WebCore::Element::ensureShadowRoot):
+ (WebCore::Element::childrenChanged):
+ * dom/Node.cpp:
+ (WebCore::Node::setTreeScopeRecursively):
+ (WebCore::shadowRoot):
+ (WebCore::Node::setDocumentRecursively):
+ (WebCore::NodeRendererFactory::findVisualParent):
+ Updated all the call sites for shadowRoot and ensureShadowRoot in the 2
+ previous classes.
+
+ * dom/Element.h: Updated 2 methods' signature to return a ShadowRoot*.
+
+ * dom/ShadowRoot.h: Removed toShadowRoot as it is not used anymore.
+
+ * html/HTMLDetailsElement.cpp:
+ * html/HTMLSummaryElement.cpp:
+ Added #include for ShadowRoot.h.
+
+2011-05-03 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [EFL] Implement mediaSliderTrack
+ https://bugs.webkit.org/show_bug.cgi?id=59998
+
+ Implement paintMediaSliderTrack.
+
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore::RenderThemeEfl::RenderThemeEfl):
+ (WebCore::RenderThemeEfl::paintMediaSliderTrack):
+ * platform/efl/RenderThemeEfl.h:
+
+2011-05-03 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ WebInspector: [Chromium] Fix slowness of Summary view nodes expansion in detailed heap profiles.
+ https://bugs.webkit.org/show_bug.cgi?id=60023
+
+ * inspector/front-end/DetailedHeapshotGridNodes.js:
+ (WebInspector.HeapSnapshotConstructorNode):
+ (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshot.prototype.dispose):
+ (WebInspector.HeapSnapshot.prototype.aggregates):
+ (WebInspector.HeapSnapshot.prototype._buildAggregates):
+ (WebInspector.HeapSnapshot.prototype._sortAggregateIndexes):
+ (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
+ (WebInspector.HeapSnapshotFilteredOrderedIterator):
+ (WebInspector.HeapSnapshotNodesProvider):
+ * inspector/front-end/HeapSnapshotProxy.js:
+ (WebInspector.HeapSnapshotProxy.prototype.aggregates):
+ (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForClass):
+
+2011-05-03 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ WebInspector: [Chromium] Hint user that to display retaining paths, an object entry must be clicked.
+ https://bugs.webkit.org/show_bug.cgi?id=60029
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/DetailedHeapshotView.js:
+ (WebInspector.HeapSnapshotRetainingPathsList.prototype.reset):
+ (WebInspector.DetailedHeapshotView.prototype._mouseClickInContainmentGrid):
+
+2011-05-03 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=60045
+ Scrollbar thumb sometimes leaves artifacts in the track after scrolling
+ -and corresponding-
+ <rdar://problem/9015376>
+
+ When we're using WK_SCROLLBAR_PAINTER, the AppleScrollBarVariant default should
+ always be ignored.
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::updateArrowPlacement):
+
+2011-05-03 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=60040
+ <rdar://problem/9261591>
+
+ Links broken at iplanwebsites.com. Make sure that culledInlineAbsoluteQuads still does
+ a translation of a 0,0 point to absolute coordinates so that the top left position is
+ accurate.
+
+ Added fast/inline/skipped-whitespace-client-rect.html
+
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::culledInlineAbsoluteQuads):
+
+2011-05-03 Sam Weinig <sam@webkit.org>
+
+ Fix chromium build.
+
+ * page/Settings.cpp:
+
+2011-05-02 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Bug 59974 - Update image map on the containing TreeScope rather than the Document
+ https://bugs.webkit.org/show_bug.cgi?id=59974
+
+ No new tests. (reefactoring)
+
+ * html/HTMLMapElement.cpp:
+ (WebCore::HTMLMapElement::parseMappedAttribute):
+ (WebCore::HTMLMapElement::insertedIntoDocument):
+ (WebCore::HTMLMapElement::removedFromDocument):
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::imageMap):
+
+2011-05-03 Sam Weinig <sam@webkit.org>
+
+ Fix chromium build.
+
+ * loader/HistoryController.cpp:
+
+2011-05-02 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Bug 59966 - Update ID hash on the containing TreeScope rather than the Document
+ https://bugs.webkit.org/show_bug.cgi?id=59966
+
+ No new tests. (refactoring)
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::elementsFromAttribute):
+ (WebCore::AccessibilityRenderObject::activeDescendant):
+ * accessibility/AccessibilityRenderObject.h:
+ (WebCore::AccessibilityRenderObject::isAccessibilityRenderObject):
+ * css/CSSCursorImageValue.cpp:
+ (WebCore::resourceReferencedByCursorElement):
+ (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
+ (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
+ (WebCore::CSSCursorImageValue::cachedImage):
+ * dom/DynamicNodeList.cpp:
+ (WebCore::DynamicNodeList::itemWithName):
+ * dom/Element.h:
+ (WebCore::Element::updateId):
+ * dom/Node.cpp:
+ (WebCore::Node::querySelector):
+ * html/FormAssociatedElement.cpp:
+ (WebCore::FormAssociatedElement::insertedIntoTree):
+ (WebCore::FormAssociatedElement::resetFormOwner):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::dataList):
+ * html/HTMLLabelElement.cpp:
+ (WebCore::HTMLLabelElement::control):
+ * rendering/svg/RenderSVGTextPath.cpp:
+ (WebCore::RenderSVGTextPath::layoutPath):
+ * svg/SVGAElement.cpp:
+ (WebCore::SVGAElement::defaultEventHandler):
+ * svg/SVGAltGlyphElement.cpp:
+ (WebCore::SVGAltGlyphElement::glyphElement):
+ * svg/SVGFEImageElement.cpp:
+ (WebCore::SVGFEImageElement::requestImageResource):
+ (WebCore::SVGFEImageElement::build):
+ * svg/SVGLinearGradientElement.cpp:
+ (WebCore::SVGLinearGradientElement::collectGradientAttributes):
+ * svg/SVGMPathElement.cpp:
+ (WebCore::SVGMPathElement::pathElement):
+ * svg/SVGPatternElement.cpp:
+ (WebCore::SVGPatternElement::collectPatternAttributes):
+ * svg/SVGRadialGradientElement.cpp:
+ (WebCore::SVGRadialGradientElement::collectGradientAttributes):
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::getElementById):
+ * svg/SVGTRefElement.cpp:
+ (WebCore::SVGTRefElement::updateReferencedText):
+ * svg/SVGTextPathElement.cpp:
+ (WebCore::SVGTextPathElement::insertedIntoDocument):
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::buildPendingResource):
+ (WebCore::SVGUseElement::hasCycleUseReferencing):
+ (WebCore::SVGUseElement::expandUseElementsInShadowTree):
+ * svg/SVGViewSpec.cpp:
+ (WebCore::SVGViewSpec::viewTarget):
+ * svg/animation/SVGSMILElement.cpp:
+ (WebCore::SVGSMILElement::eventBaseFor):
+ (WebCore::SVGSMILElement::connectConditions):
+ (WebCore::SVGSMILElement::targetElement):
+ * xml/XPathFunctions.cpp:
+ (WebCore::XPath::FunId::evaluate):
+
+2011-05-03 Sam Weinig <sam@webkit.org>
+
+ Fix chromium build.
+
+ * css/StyleMedia.cpp:
+
+2011-05-03 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Prune #includes from FrameView.h (Part 1)
+ https://bugs.webkit.org/show_bug.cgi?id=59957
+
+ * page/FrameView.h:
+ Prune #includes.
+
+ * accessibility/chromium/AXObjectCacheChromium.cpp:
+ * page/win/FrameCGWin.cpp:
+ * platform/Scrollbar.cpp:
+ Add not necessary #includes.
+
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
+ Add now necessary forward declaration.
+
+2011-05-03 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [Chromium] toV8(Node*) will enter infinite recursion when called with a node of type SHADOW_ROOT_NODE
+ https://bugs.webkit.org/show_bug.cgi?id=60026
+
+ Return a wrapper for Node in toV8(Node*) when called with a node of type
+ SHADOW_ROOT_NODE instead of entering infinite recursion.
+
+ * bindings/v8/custom/V8NodeCustom.cpp:
+ (WebCore::toV8Slow):
+
+2011-05-02 Adam Roben <aroben@apple.com>
+
+ Take advantage of implicit conversion from nullptr_t to PassOwnPtr
+
+ Fixes <http://webkit.org/b/59964> Implicit conversion from std::nullptr_t to PassOwnPtr
+ doesn't work, but should
+
+ Reviewed by Adam Barth.
+
+ * bindings/js/ScheduledAction.cpp:
+ * css/CSSStyleSelector.cpp:
+ * css/MediaList.cpp:
+ * css/MediaQueryMatcher.cpp:
+ * css/SVGCSSStyleSelector.cpp:
+ * dom/MessagePort.cpp:
+ * html/InputType.cpp:
+ * html/canvas/WebGLRenderingContext.cpp:
+ * inspector/InspectorStyleSheet.cpp:
+ * page/ContextMenuController.cpp:
+ * page/Page.cpp:
+ * platform/PlatformGestureRecognizer.cpp:
+ * platform/PurgeableBuffer.h:
+ * platform/graphics/ImageBuffer.h:
+ * platform/leveldb/LevelDBDatabase.cpp:
+ * platform/mac/PurgeableBufferMac.cpp:
+ * platform/text/RegularExpression.cpp:
+ * rendering/RenderTheme.cpp:
+ * rendering/RenderThemeMac.mm:
+ * rendering/style/RenderStyle.h:
+ * rendering/style/SVGRenderStyleDefs.cpp:
+ * rendering/style/ShadowData.cpp:
+ * rendering/style/StyleRareInheritedData.cpp:
+ * rendering/style/StyleRareNonInheritedData.cpp:
+ * rendering/svg/RenderSVGResourcePattern.cpp:
+
+2011-05-03 Pavel Feldman <pfeldman@google.com>
+
+ Not reviewed: fix inspector status bar image glyph reference in network panel.
+
+ * inspector/front-end/networkPanel.css:
+ (.network-larger-resources-status-bar-item .glyph):
+
+2011-05-03 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: rename BrowserDebugger agent to DOMDebugger.
+ https://bugs.webkit.org/show_bug.cgi?id=60019
+
+ * inspector/CodeGeneratorInspector.pm:
+ * inspector/Inspector.json:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::connectFrontend):
+ * inspector/front-end/BreakpointsSidebarPane.js:
+ (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
+ (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
+ (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
+ (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
+ (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
+ * inspector/generate-inspector-idl:
+
+2011-05-03 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: remove special logic for type of document.__proto__
+ https://bugs.webkit.org/show_bug.cgi?id=60014
+
+ Test: inspector/console/console-log-document-proto.html
+
+ * inspector/InjectedScriptSource.js: removed unnecessary check nodeType === undefined
+
+2011-05-03 Pavel Feldman <pfeldman@google.com>
+
+ Not reviewed: fixed typo in inspector style.
+
+ * inspector/front-end/inspector.css:
+ (.status-bar-item > .glyph):
+
+2011-05-03 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: revision history storage is too slow.
+ https://bugs.webkit.org/show_bug.cgi?id=59939
+
+ It turns out that iterating localStorage keys is very
+ expensive (results in slow inspector start), refactor revision
+ history in order not to rely upon that operation.
+
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource):
+ (WebInspector.Resource._resourceRevisionRegistry):
+ (WebInspector.Resource.restoreRevisions.persist):
+ (WebInspector.Resource.restoreRevisions):
+ (WebInspector.Resource.persistRevision):
+ (WebInspector.Resource.prototype._persistRevision):
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.ResourceTreeModel.prototype._processCachedResources):
+ (WebInspector.ResourceTreeModel.prototype._frameNavigated):
+
+2011-05-03 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: combine toolbar icon images.
+ https://bugs.webkit.org/show_bug.cgi?id=59931
+
+ * WebCore.gypi:
+ * inspector/front-end/Images/auditsIcon.png: Removed.
+ * inspector/front-end/Images/consoleIcon.png: Removed.
+ * inspector/front-end/Images/elementsIcon.png: Removed.
+ * inspector/front-end/Images/networkIcon.png: Removed.
+ * inspector/front-end/Images/profilesIcon.png: Removed.
+ * inspector/front-end/Images/resourcesIcon.png: Removed.
+ * inspector/front-end/Images/scriptsIcon.png: Removed.
+ * inspector/front-end/Images/timelineIcon.png: Removed.
+ * inspector/front-end/Images/toolbarIcons.png: Added.
+ * inspector/front-end/Images/toolbarIconsSmall.png: Added.
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.css:
+ (.toolbar-icon):
+ (#toolbar-dropdown .toolbar-icon):
+ (.toolbar-item:active .toolbar-icon):
+ (#toolbar-dropdown .toolbar-item:active .toolbar-icon):
+ (.toolbar-item.elements .toolbar-icon):
+ (.toolbar-item.resources .toolbar-icon):
+ (#toolbar-dropdown .toolbar-item.resources .toolbar-icon):
+ (.toolbar-item.network .toolbar-icon):
+ (#toolbar-dropdown .toolbar-item.network .toolbar-icon):
+ (.toolbar-item.scripts .toolbar-icon):
+ (#toolbar-dropdown .toolbar-item.scripts .toolbar-icon):
+ (.toolbar-item.timeline .toolbar-icon):
+ (#toolbar-dropdown .toolbar-item.timeline .toolbar-icon):
+ (.toolbar-item.profiles .toolbar-icon):
+ (#toolbar-dropdown .toolbar-item.profiles .toolbar-icon):
+ (.toolbar-item.audits .toolbar-icon):
+ (#toolbar-dropdown .toolbar-item.audits .toolbar-icon):
+ (.toolbar-item.console .toolbar-icon):
+ (#toolbar-dropdown .toolbar-item.console .toolbar-icon):
+ (.status-bar-item > .glyph):
+
+2011-05-03 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: combine status bar button glyphs.
+ https://bugs.webkit.org/show_bug.cgi?id=59885
+
+ * WebCore.gypi:
+ * inspector/front-end/Images/breakpointsActivateButtonGlyph.png: Removed.
+ * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png: Removed.
+ * inspector/front-end/Images/clearConsoleButtonGlyph.png: Removed.
+ * inspector/front-end/Images/consoleButtonGlyph.png: Removed.
+ * inspector/front-end/Images/dockButtonGlyph.png: Removed.
+ * inspector/front-end/Images/enableOutlineButtonGlyph.png: Removed.
+ * inspector/front-end/Images/enableSolidButtonGlyph.png: Removed.
+ * inspector/front-end/Images/excludeButtonGlyph.png: Removed.
+ * inspector/front-end/Images/focusButtonGlyph.png: Removed.
+ * inspector/front-end/Images/garbageCollectButtonGlyph.png: Removed.
+ * inspector/front-end/Images/gearButtonGlyph.png: Removed.
+ * inspector/front-end/Images/helpButtonGlyph.png: Removed.
+ * inspector/front-end/Images/largerResourcesButtonGlyph.png: Removed.
+ * inspector/front-end/Images/nodeSearchButtonGlyph.png: Removed.
+ * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png: Removed.
+ * inspector/front-end/Images/percentButtonGlyph.png: Removed.
+ * inspector/front-end/Images/prettyPrintButtonGlyph.png: Removed.
+ * inspector/front-end/Images/recordButtonGlyph.png: Removed.
+ * inspector/front-end/Images/recordToggledButtonGlyph.png: Removed.
+ * inspector/front-end/Images/reloadButtonGlyph.png: Removed.
+ * inspector/front-end/Images/statusBarButtonGlyphs.png: Added.
+ * inspector/front-end/Images/undockButtonGlyph.png: Removed.
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.css:
+ (.status-bar-item > .glyph):
+ (#dock-status-bar-item .glyph):
+ (body.detached #dock-status-bar-item .glyph):
+ (#console-status-bar-item .glyph):
+ (.clear-status-bar-item .glyph):
+ (button.enable-toggle-status-bar-item .glyph):
+ (button.enable-toggle-status-bar-item.toggled-on .glyph):
+ (.scripts-pause-on-exceptions-status-bar-item .glyph):
+ (.scripts-toggle-pretty-print-status-bar-item .glyph):
+ (.toggle-breakpoints .glyph):
+ (.toggle-breakpoints.toggled-on .glyph):
+ (.resources-larger-resources-status-bar-item .glyph):
+ (.timeline-filter-status-bar-item .glyph):
+ (.garbage-collect-status-bar-item .glyph):
+ (.record-profile-status-bar-item .glyph):
+ (.record-profile-status-bar-item.toggled-on .glyph):
+ (.heap-snapshot-status-bar-item .glyph):
+ (.node-search-status-bar-item .glyph):
+ (.percent-time-status-bar-item .glyph):
+ (.focus-profile-node-status-bar-item .glyph):
+ (.exclude-profile-node-status-bar-item .glyph):
+ (.reset-profile-status-bar-item .glyph):
+ (.delete-storage-status-bar-item .glyph):
+ (.refresh-storage-status-bar-item .glyph):
+ * inspector/front-end/inspector.js:
+
+2011-05-02 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Possible crash when removing elements with reflections
+ https://bugs.webkit.org/show_bug.cgi?id=60009
+
+ RenderLayer's destructor deleted its z-order list Vector pointers
+ before removing the reflection layer. However, the reflection cleanup
+ code could call back into the RenderLayer to dirty z-order lists,
+ so move reflection cleanup to before z-order vector deletion.
+
+ The test crashes when run manually a few times with MallocScribble enabled,
+ but I was not able to create a test that crashed reliably.
+
+ Test: fast/reflections/remove-reflection-crash.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::~RenderLayer):
+
+2011-05-02 Ian Henderson <ianh@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ CSS !important not respected by JavaScript
+ https://bugs.webkit.org/show_bug.cgi?id=60007
+
+ The addParsedProperty and addParsedProperties methods were subtly
+ different. The former did not check for !important before setting the
+ given property.
+
+ Change addParsedProperties to call addParsedProperty and move the
+ relevant code. The one other caller of this method, in
+ editing/markup.cpp, probably wanted this behavior anyway.
+
+ Test: fast/css/important-js-override.html
+
+ * css/CSSMutableStyleDeclaration.cpp:
+ (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
+ (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
+
+2011-05-02 Ben Wells <benwells@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Cleanup variable usage in RenderObject.cpp paintOutline()
+ https://bugs.webkit.org/show_bug.cgi?id=59911
+
+ No new tests for this, there should be no change in behaviour.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::paintOutline):
+
+2011-05-02 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by James Robinson.
+
+ REGRESSION(r84672): showTree doesn't work for input/textarea elements
+ https://bugs.webkit.org/show_bug.cgi?id=60001
+
+ When shadow is null, try retrieving the inner element of a render text control.
+
+ * dom/Node.cpp:
+ (WebCore::traverseTreeAndMark):
+
+2011-05-02 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ Respect fixed text-indent on ::-webkit-input-placeholder
+ https://bugs.webkit.org/show_bug.cgi?id=59825
+
+ Test: fast/forms/input-placeholder-text-indent.html
+
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::paintPlaceholder): indent by
+ a fixed text-indent size specified on the placeholder style.
+
+2011-05-02 Eric Uhrhane <ericu@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Some FileWriter progress events should be queued
+ https://bugs.webkit.org/show_bug.cgi?id=50846
+
+ * fileapi/FileWriter.cpp:
+ * fileapi/FileWriter.h:
+ Create a new asynchronous Task [FileWriterCompletionEventTask] that will set readyState to DONE and fire off the right events.
+
+2011-05-02 Jia Pu <jpu@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ [Mac] Need to truncate the string sent to "Look Up … " menu item, if it's too long.
+ https://bugs.webkit.org/show_bug.cgi?id=59836
+ <rdar://problem/9275983>
+
+ * platform/DefaultLocalizationStrategy.cpp:
+ (WebCore::truncatedStringForLookupMenuItem):
+ (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary):
+
+2011-05-02 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/9340945> and https://bugs.webkit.org/show_bug.cgi?id=59973
+ In Aperture, a WebView might be dealloc'ed before it finishes loading.
+
+ * WebCore.exp.in:
+ * platform/RuntimeApplicationChecks.cpp:
+ (WebCore::applicationIsAperture): Perform a com.apple.Aperture bundle check.
+ * platform/RuntimeApplicationChecks.h:
+
+2011-05-02 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Avoid wasted cycles updating paths when popping the context stack
+ https://bugs.webkit.org/show_bug.cgi?id=59967
+
+ CanvasRenderingContext2D has to map the current path through
+ transforms whenever the context stack is popped, which creates
+ a lot of platform path objects. Avoid extra work here when the
+ path is empty, or when the transform is identity.
+
+ * platform/graphics/cg/PathCG.cpp:
+ (WebCore::Path::transform):
+
+2011-05-02 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Text does not split on white space when typing to the edge of window.
+ https://bugs.webkit.org/show_bug.cgi?id=59968
+ <rdar://problem/9112683>
+
+ Test: editing/inserting/typing-at-end-of-line.html
+
+ This is a regression introduced when we converted the line box tree to
+ floating point in r78846. In findNextLineBreak, there was still one place where
+ the character width was treated as int and truncated and we were inconsistent
+ in the way we treated a character that did not fit entirely in the line.
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::findNextLineBreak):
+
+2011-04-19 Adrienne Walker <enne@google.com>
+
+ Reviewed by James Robinson.
+
+ [chromium] Don't unnecessarily resize skia/cg canvases when painting in compositor
+ https://bugs.webkit.org/show_bug.cgi?id=58907
+
+ Additionally, move the context save/restore logic to a place where it
+ will reset the translation added in LayerTilerChromium.
+
+ Test: compositing/repaint/same-size-invalidation.html
+
+ * platform/graphics/chromium/ContentLayerChromium.cpp:
+ (WebCore::ContentLayerPainter::paint):
+ * platform/graphics/chromium/PlatformCanvas.cpp:
+ (WebCore::PlatformCanvas::resize):
+ (WebCore::PlatformCanvas::Painter::Painter):
+ (WebCore::PlatformCanvas::Painter::~Painter):
+ * platform/graphics/chromium/PlatformCanvas.h:
+
+2011-05-02 Csaba Osztrogonác <ossy@webkit.org>
+
+ Enable strict OwnPtr for Qt
+ https://bugs.webkit.org/show_bug.cgi?id=59667
+
+ Unreviewed buildfix after r85343.
+
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3D::GraphicsContext3D):
+
+2011-05-02 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r85483.
+ http://trac.webkit.org/changeset/85483
+ https://bugs.webkit.org/show_bug.cgi?id=59958
+
+ Causes media test failures. (Requested by eric_carlson on
+ #webkit).
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::HTMLMediaElement):
+ (WebCore::HTMLMediaElement::prepareForLoad):
+ (WebCore::HTMLMediaElement::seek):
+ (WebCore::HTMLMediaElement::updatePlayState):
+ * html/HTMLMediaElement.h:
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
+ (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
+ (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad):
+ (WebCore::MediaPlayerPrivateAVFoundation::load):
+ (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay):
+ (WebCore::MediaPlayerPrivateAVFoundation::paint):
+ (WebCore::MediaPlayerPrivateAVFoundation::duration):
+ (WebCore::MediaPlayerPrivateAVFoundation::seeking):
+ (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
+ (WebCore::MediaPlayerPrivateAVFoundation::hasAvailableVideoFrame):
+ (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded):
+ (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged):
+ (WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
+ (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
+ (WebCore::MediaPlayerPrivateAVFoundation::repaint):
+ (WebCore::MediaPlayerPrivateAVFoundation::setPreload):
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::videoLayerIsReadyToDisplay):
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL):
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForCacheResource):
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata):
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus):
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus):
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::paint):
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged):
+
+2011-05-02 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ PLATFORM(MAC) should (almost!) build with strict PassOwnPtr
+ https://bugs.webkit.org/show_bug.cgi?id=59924
+
+ * css/CSSGrammar.y:
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ - Memory management for the font cache is somewhat... complext.
+ This will require some careful thought to sort out.
+
+2011-05-02 Levi Weintraub <leviw@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ showLineTree/showLineTreeForThis would make working with the line box tree easier
+ https://bugs.webkit.org/show_bug.cgi?id=59662
+
+ Adding a showLineTree/showLineTreeForThis method to help visualize and debug
+ the line tree. Also adding a missing showRenderTreeForThis method to RenderObject.
+
+ No new tests since this is a debugging feature only and not compiled in release.
+
+ * rendering/InlineBox.cpp:
+ (WebCore::InlineBox::showLineTreeForThis):
+ (WebCore::InlineBox::showLineTreeAndMark):
+ (WebCore::InlineBox::showBox):
+ (showLineTree):
+ * rendering/InlineBox.h:
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::showLineTreeAndMark):
+ * rendering/InlineFlowBox.h:
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::showBox):
+ * rendering/InlineTextBox.h:
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::showLineTreeAndMark):
+ * rendering/RenderBlock.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::showRenderTreeForThis):
+ (WebCore::RenderObject::showLineTreeForThis):
+ (showTree):
+ (showLineTree):
+ * rendering/RenderObject.h:
+
+2011-05-02 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Eric Carlson.
+
+ REGRESSIONS (r71934): In standalone media documents, (double-)clicking the media element doesn’t play/pause
+ https://bugs.webkit.org/show_bug.cgi?id=59917
+
+ Since default event handlers are not retargeted, we should always attempt ancestor
+ traversal to find out whether the event.
+
+ * html/MediaDocument.cpp:
+ (WebCore::ancestorVideoElement): Added ancestor-traversing helper.
+ (WebCore::MediaDocument::defaultEventHandler): Changed to use ancestorVideoElement.
+
+2011-05-02 Sam Weinig <sam@webkit.org>
+
+ Attempt to fix the Leopard build.
+
+ * platform/graphics/FontPlatformData.h:
+ * platform/graphics/mac/ComplexTextController.h:
+ * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
+ * platform/mac/WebCoreSystemInterface.h:
+
+2011-05-02 Tony Chang <tony@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ convert manual-tests/bugzilla-6821.html to a layout test
+ https://bugs.webkit.org/show_bug.cgi?id=59404
+
+ Test: fast/css/hover-update.html
+
+ * manual-tests/bugzilla-6821.html: Removed.
+
+2011-05-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Prune ApplicationServices.h out of the headers
+ https://bugs.webkit.org/show_bug.cgi?id=59952
+
+ More forward declares are better.
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ * html/canvas/CanvasRenderingContext2D.h:
+ * platform/graphics/GlyphBuffer.h:
+ * platform/graphics/cg/ImageBufferCG.cpp:
+ * platform/graphics/cg/PDFDocumentImage.cpp:
+ * platform/graphics/cg/PDFDocumentImage.h:
+ * platform/graphics/mac/ComplexTextController.h:
+ * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
+ * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
+ * platform/mac/ScrollAnimatorMac.h:
+ * platform/mac/ScrollAnimatorMac.mm:
+ * platform/mac/ScrollbarThemeMac.h:
+ * platform/mac/ScrollbarThemeMac.mm:
+ * platform/mac/WebCoreNSStringExtras.h:
+ * platform/mac/WebCoreSystemInterface.h:
+
+2011-05-02 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7972529> Images with percentage based height/max-height are missing when they are inside blocks inside tables
+ https://bugs.webkit.org/show_bug.cgi?id=58006
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computeReplacedLogicalHeightUsing): Expanded the scope of the fix for
+ <http://webkit.org/b/15359> from r29039 to cover not just the case of a auto-or-percent-height
+ table cell as the immediate containing block, but any case where all containing block ancestors
+ up to and including a table cell are auto-or-percent height.
+
+2011-05-02 Daniel Bates <dbates@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ Convert manual test onblur-remove.html to a DRT test; onblur-remove.html fails
+ https://bugs.webkit.org/show_bug.cgi?id=59379
+
+ Move manual test onblur-remove.html to LayoutTests/fast/events.
+
+ Test: fast/events/onblur-remove.html
+
+ * manual-tests/onblur-remove.html: Removed.
+
+2011-05-02 Sailesh Agrawal <sail@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Chromium Mac: Add scrollbar overlay drawing functions
+ https://bugs.webkit.org/show_bug.cgi?id=59741
+
+ These functions are simply copied from WebCoreSystemInterface. These will be used to implement overlay scrollbars for Chromium Mac.
+
+ No new tests, since this code is only enabled on future versions of Mac OS X.
+
+ * WebCore.gypi:
+ * platform/chromium/ScrollbarOverlayUtilitiesMac.h: Added.
+ * platform/chromium/ScrollbarOverlayUtilitiesMac.mm: Added.
+ (LookUpNSScrollerImpClass):
+ (LookUpNSScrollerImpPairClass):
+ (ScrollbarControlSizeToNSControlSize):
+ (wkScrollbarPainterUsesOverlayScrollers):
+ (wkScrollbarPainterIsHorizontal):
+ (wkScrollbarPainterKnobAlpha):
+ (wkScrollbarPainterSetOverlayState):
+ (wkScrollbarPainterPaint):
+ (wkScrollbarMinimumThumbLength):
+ (wkScrollbarPainterSetDelegate):
+ (wkScrollbarPainterTrackAlpha):
+ (wkMakeScrollbarPainter):
+ (wkScrollbarThickness):
+ (wkScrollbarMinimumTotalLengthNeededForThumb):
+ (wkVerticalScrollbarPainterForController):
+ (wkHorizontalScrollbarPainterForController):
+ (wkMakeScrollbarReplacementPainter):
+ (wkSetPainterForPainterController):
+ (wkSetScrollbarPainterControllerStyle):
+ (wkScrollbarPainterKnobRect):
+ (wkSetScrollbarPainterKnobAlpha):
+ (wkSetScrollbarPainterTrackAlpha):
+ (wkSetScrollbarPainterKnobStyle):
+ (wkMakeScrollbarPainterController):
+ (wkContentAreaScrolled):
+ (wkContentAreaWillPaint):
+ (wkMouseEnteredContentArea):
+ (wkMouseExitedContentArea):
+ (wkMouseMovedInContentArea):
+ (wkWillStartLiveResize):
+ (wkContentAreaResized):
+ (wkWillEndLiveResize):
+ (wkContentAreaDidShow):
+ (wkContentAreaDidHide):
+ (wkDidBeginScrollGesture):
+ (wkDidEndScrollGesture):
+ (wkScrollbarPainterForceFlashScrollers):
+ (IsScrollbarOverlayAPIAvailable):
+
+2011-05-02 Luke Macpherson <macpherson@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Implement Length based CSS properties in CSSStyleApplyProperty
+ https://bugs.webkit.org/show_bug.cgi?id=59314
+
+ No new tests as no functionality changed.
+
+ * css/CSSStyleApplyProperty.cpp:
+ (WebCore::ApplyPropertyLength::ApplyPropertyLength):
+ Added this class to handle all length types.
+ Property specific behavior is handled through set of boolean parameters.
+ (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
+ Added calls to set up entries for the newly added length properties.
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ Remove property implementations mow implemented in CSSStyleApplyProperty.
+ * css/CSSStyleSelector.h:
+ (WebCore::CSSStyleSelector::rootElementStyle):
+ Expose m_rootElementStyle via getter.
+
+2011-05-02 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ HTMLMediaElement should not seek to time 0 when readyState reaches HAVE_METADATA
+ https://bugs.webkit.org/show_bug.cgi?id=59828
+
+ No new tests required, no functional change because seeking to time zero before playback
+ begins has no effect.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::setReadyState): Don't seek to time 0 when readyState reaches
+ HAVE_METADATA.
+
+2011-05-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Fix extra whitespace in license in FocusDirection.h.
+
+ * page/FocusDirection.h:
+
+2011-05-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Prune some #includes from DOMWindow.h
+ https://bugs.webkit.org/show_bug.cgi?id=59907
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::setSecurityOrigin):
+ * page/DOMWindow.h:
+ Remove #includes of SecurityOrigin and MessagePort by forward declaring
+ and moving the SecurityOrigin setter to the .cpp file. Also adds EventTarget
+ #include that was getting added by MessagePort.h.
+
+ * bindings/js/JSCustomVoidCallback.cpp:
+ * bindings/js/JSCustomXPathNSResolver.cpp:
+ * bindings/js/JSDOMWindowCustom.h:
+ * bindings/js/JSHistoryCustom.cpp:
+ * bindings/js/ScriptController.h:
+ * html/HTMLAnchorElement.cpp:
+ * html/HTMLMediaElement.cpp:
+ * html/parser/XSSFilter.cpp:
+ * inspector/InspectorDOMStorageResource.cpp:
+ * loader/MainResourceLoader.cpp:
+ * page/DragController.cpp:
+ * page/EventSource.cpp:
+ * page/Location.cpp:
+ * websockets/WebSocket.cpp:
+ * xml/XSLTProcessorLibxslt.cpp:
+ Add now missing SecurityOrigin.h #includes.
+
+2011-05-02 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ The preload attribute of the video tag is not completely implemented
+ https://bugs.webkit.org/show_bug.cgi?id=43673
+ <rdar://problem/7508322>
+
+ Tested manually with manual-tests/media-elements/video-preload.html.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_havePreparedToPlay.
+ (WebCore::HTMLMediaElement::prepareForLoad): Ditto.
+ (WebCore::HTMLMediaElement::prepareToPlay): New, tell player to prepare to play.
+ (WebCore::HTMLMediaElement::seek): Call prepareToPlay when preload is less than 'metadata'
+ because we need to have media data loaded to seek.
+ (WebCore::HTMLMediaElement::updatePlayState): Call prepareToPlay.
+ * html/HTMLMediaElement.h:
+
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
+ (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): Remove
+ m_videoFrameHasDrawn and m_delayingLoad as they are no longer used.
+ (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad): Removed.
+ (WebCore::MediaPlayerPrivateAVFoundation::load): Don't initialize m_videoFrameHasDrawn.
+ Move all preload logic to setPreload, call it from here.
+ (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Move all preload logic to
+ setPreload, call it.
+ (WebCore::MediaPlayerPrivateAVFoundation::duration): Don't cache duration = 0, it is
+ unlikely to be correct and isn't worth caching.
+ (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Update for name change AVAssetStatus
+ to AssetStatus. Create the AVPlayer once we know an asset is playable but preload is
+ 'metadata'. Set networkState to 'idle' when the playback buffer is full because that is
+ a signal that AVFoundation won't do any more IO. Set readyState to 'HAVE_CURRENT_DATA'
+ when the first frame is available.
+ (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Call tracksChanged so we cache
+ width, height, hasVideo, etc.
+ (WebCore::MediaPlayerPrivateAVFoundation::repaint): Don't set m_videoFrameHasDrawn, it is done
+ in derived classes.
+ (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Centralize all logic about when to create
+ AVAsset and AVPlayerItem here.
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
+
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
+ m_videoFrameHasDrawn.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::hasAvailableVideoFrame): New, renamed from
+ videoLayerIsReadyToDisplay. Return true if we have a layer with frames available or
+ if we have painted a frame to the context.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): New, create the AVAsset
+ if necessary.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForCacheResource): Ditto.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Restructure logic.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): New, create AVPlayerItem.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Correct logging.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus): Return "buffer full" when
+ the buffer is full.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Get the duration from the
+ AVAsset when we haven't allocated the AVPlayerItem yet so that we can return duration
+ when we only have metadata.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): Update for name change.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Set m_videoFrameHasDrawn.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Get attributes from AVAsset
+ when when we haven't allocated the AVPlayerItem yet so that we can report attributes
+ when we only have metadata.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): Guard against being called before
+ we have allocated the AVPlayerItem.
+
+2011-05-02 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] gdk_drawable_get_size() shouldn't be used with GTK+ >= 2.24
+ https://bugs.webkit.org/show_bug.cgi?id=59932
+
+ Use gdk_window_get_width() and gdk_window_get_height() if
+ available, instead of the deprecated gdk_drawable_get_size().
+
+ No new tests, build fix only.
+
+ * platform/gtk/WidgetRenderingContext.cpp:
+ (WebCore::WidgetRenderingContext::WidgetRenderingContext):
+
+2011-05-02 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ The preload attribute of the video tag is not completely implemented
+ https://bugs.webkit.org/show_bug.cgi?id=43673
+ <rdar://problem/7508322>
+
+ Test manually with manual-tests/media-elements/video-preload.html.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes): Add new "limit read-ahead"
+ attribute when preload is not "auto".
+ (WebCore::MediaPlayerPrivateQTKit::resumeLoad): Remove m_delayingLoad, we don't need it.
+ (WebCore::MediaPlayerPrivateQTKit::load): Correct comment.
+ (WebCore::MediaPlayerPrivateQTKit::prepareToPlay): Call setPreload('auto').
+ (WebCore::MediaPlayerPrivateQTKit::setPreload): Set new attribue if we already have
+ a QTMovie.
+
+2011-05-02 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ The preload attribute of the video tag is not completely implemented
+ https://bugs.webkit.org/show_bug.cgi?id=43673
+ <rdar://problem/7508322>
+
+ Manual test manual-tests/media-elements/video-preload.html added.
+
+ * manual-tests/media-elements/video-preload.html: Added. New manual test for media element
+ 'preload' attribute because it is not possible to detect if a media engine supports
+ "preload=metadata" in a way that lets us have per-platform layout test results.
+
+2011-05-01 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Eric Carlson.
+
+ Regression(r74787): Media document mouse click and double-click
+ events should be checked on target node only and not its descendants.
+ https://bugs.webkit.org/show_bug.cgi?id=59886
+
+ * html/MediaDocument.cpp:
+ (WebCore::MediaDocument::defaultEventHandler):
+
+2011-05-01 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Polish CSP host and port matching
+ https://bugs.webkit.org/show_bug.cgi?id=59899
+
+ Finish last two details of host and port matching. I don't think the
+ default port handling is testable with our current testing
+ infrastructure.
+
+ Tests: http/tests/security/contentSecurityPolicy/image-full-host-wildcard-allowed.html
+ http/tests/security/contentSecurityPolicy/image-host-wildcard-allowed.html
+
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::CSPSource::hostMatches):
+ (WebCore::CSPSource::portMatches):
+
+2011-05-01 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ CSP default-src is missing
+ https://bugs.webkit.org/show_bug.cgi?id=58641
+
+ Add support for default-src. The default-src provides a default policy
+ for every directive that sends in "-src". If the more-specific
+ directive is present, it takes precedence. I also took this
+ opportunity to refactor the internals of ContentSecurityPolicy a bit to
+ reduce duplicate code.
+
+ Tests: http/tests/security/contentSecurityPolicy/default-src-inline-allowed.html
+ http/tests/security/contentSecurityPolicy/default-src-inline-blocked.html
+ http/tests/security/contentSecurityPolicy/script-src-overrides-default-src.html
+
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::ContentSecurityPolicy::didReceiveHeader):
+ (WebCore::ContentSecurityPolicy::checkEval):
+ (WebCore::ContentSecurityPolicy::operativeDirective):
+ (WebCore::ContentSecurityPolicy::checkInlineAndReportViolation):
+ (WebCore::ContentSecurityPolicy::checkEvalAndReportViolation):
+ (WebCore::ContentSecurityPolicy::checkSourceAndReportViolation):
+ (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
+ (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
+ (WebCore::ContentSecurityPolicy::allowInlineScript):
+ (WebCore::ContentSecurityPolicy::allowInlineStyle):
+ (WebCore::ContentSecurityPolicy::allowEval):
+ (WebCore::ContentSecurityPolicy::allowScriptFromSource):
+ (WebCore::ContentSecurityPolicy::allowObjectFromSource):
+ (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
+ (WebCore::ContentSecurityPolicy::allowImageFromSource):
+ (WebCore::ContentSecurityPolicy::allowStyleFromSource):
+ (WebCore::ContentSecurityPolicy::allowFontFromSource):
+ (WebCore::ContentSecurityPolicy::allowMediaFromSource):
+ (WebCore::ContentSecurityPolicy::addDirective):
+ * page/ContentSecurityPolicy.h:
+
+2011-05-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Prune some unnecessary #includes
+ https://bugs.webkit.org/show_bug.cgi?id=59895
+
+ Start getting rid of unnecessary #includes and forward declares.
+
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSDOMWindowShell.h:
+ * bindings/js/ScheduledAction.cpp:
+ * bindings/js/ScriptController.cpp:
+ * bindings/js/ScriptController.h:
+ * bindings/js/ScriptDebugServer.cpp:
+ * editing/Editor.h:
+ * inspector/InspectorClient.cpp:
+ * loader/FrameLoader.h:
+ * loader/NavigationScheduler.h:
+ * page/Console.cpp:
+ * xml/XMLTreeViewer.cpp:
+ * xml/XMLTreeViewer.h:
+
+2011-05-01 Patrick Gansterer <paroga@webkit.org>
+
+ [WIN] Unreviewed buildfix after r85434.
+
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
+ (WebCore::MediaPlayerPrivate::createLayerForMovie):
+
+2011-05-01 Patrick Gansterer <paroga@webkit.org>
+
+ [WIN] Unreviewed buildfix after r85434.
+
+ * platform/graphics/win/QTMovieVisualContext.cpp:
+ (QTMovieVisualContext::QTMovieVisualContext): Added missing header.
+
+2011-05-01 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ History::stateObjectAdded should check origin via SecurityOrigin::canRequest
+ https://bugs.webkit.org/show_bug.cgi?id=59840
+
+ Tests: fast/loader/stateobjects/pushstate-in-data-url-denied.html
+ http/tests/navigation/replacestate-base-illegal.html
+ http/tests/navigation/replacestate-base-legal.html
+
+ * page/History.cpp:
+ (WebCore::History::stateObjectAdded):
+
+2011-05-01 Patrick Gansterer <paroga@webkit.org>
+
+ [WIN] Unreviewed buildfix after r85434.
+
+ * platform/graphics/win/QTMovieVisualContext.cpp:
+ (QTMovieVisualContext::QTMovieVisualContext):
+
+2011-05-01 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ [WINCE] Fix OwnPtr strict issues
+ https://bugs.webkit.org/show_bug.cgi?id=59898
+
+ * page/wince/FrameWinCE.cpp:
+ (WebCore::imageFromSelection):
+ * platform/graphics/wince/FontPlatformData.cpp:
+ (WebCore::FixedSizeFontData::create):
+ (WebCore::FontPlatformPrivateData::FontPlatformData::hfont):
+ (WebCore::FontPlatformPrivateData::FontPlatformData::getScaledFontHandle):
+ (WebCore::FontPlatformPrivateData::FontPlatformData::discardFontHandle):
+ * platform/graphics/wince/GraphicsContextWinCE.cpp:
+ (WebCore::GraphicsContext::strokeArc):
+ (WebCore::GraphicsContext::fillRect):
+ (WebCore::GraphicsContext::clip):
+ (WebCore::GraphicsContext::fillRoundedRect):
+ (WebCore::GraphicsContext::drawRoundCorner):
+ (WebCore::GraphicsContext::drawText):
+ * platform/graphics/wince/ImageBufferWinCE.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+ * platform/graphics/wince/ImageWinCE.cpp:
+ (WebCore::BitmapImage::getHBITMAPOfSize):
+ * platform/graphics/wince/SharedBitmap.cpp:
+ (WebCore::SharedBitmap::SharedBitmap):
+
+2011-05-01 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Get rid of versions of sendContextMenuEvent and eventMayStartDrag that takes NSEvent
+ https://bugs.webkit.org/show_bug.cgi?id=59837
+
+ Removed EventHandler::sendContextMenuEvent(NSEvent*) and EventHandler::eventMayStartDrag(NSEvent*)
+
+ * WebCore.exp.in:
+ * page/EventHandler.h:
+ * page/mac/EventHandlerMac.mm:
+
+2011-05-01 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Move currentKeyboardEvent from EventHandlerMac.mm to WebHTMLView.mm
+ https://bugs.webkit.org/show_bug.cgi?id=59835
+
+ Moved currentKeyboardEvent.
+
+ * WebCore.exp.in:
+ * page/EventHandler.h:
+ * page/mac/EventHandlerMac.mm:
+
+2011-05-01 ojab <ojab@ojab.ru>
+
+ Reviewed by Eric Seidel.
+
+ Fix build with --disable-video --enable-fullscreen-api
+ https://bugs.webkit.org/show_bug.cgi?id=59698
+
+ * rendering/RenderTheme.h:
+ (WebCore::RenderTheme::extraFullScreenStyleSheet):
+
+2011-05-01 Jeff Timanus <twiz@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add solid-color checking to BitmapImage::checkForSolidColour in the skia port.
+ https://bugs.webkit.org/show_bug.cgi?id=59041
+
+ Test:css2.1/t140201-c533-bgimage-00-a.html
+
+ * platform/graphics/Image.cpp:
+ (WebCore::Image::drawTiled): Removal of macro exclusion of assert for Skia path.
+ * platform/graphics/skia/ImageSkia.cpp:
+ (WebCore::BitmapImage::checkForSolidColor):
+
+2011-05-01 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Fix OwnPtr strict issues in windows build
+ https://bugs.webkit.org/show_bug.cgi?id=59878
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
+ (WebCore::getDirtyRects):
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
+ * platform/graphics/win/WKCAImageQueue.cpp:
+ (WebCore::WKCAImageQueue::WKCAImageQueue):
+ * platform/win/CursorWin.cpp:
+ (WebCore::createSharedCursor):
+ * platform/win/PasteboardWin.cpp:
+ (WebCore::Pasteboard::writeImage):
+
+2011-05-01 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Use PassOwnPtr as return value of GraphicsContext::createWindowsBitmap
+ https://bugs.webkit.org/show_bug.cgi?id=59876
+
+ Also pass the size "as reference" instead of "as value".
+
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/win/FontCGWin.cpp:
+ (WebCore::drawGDIGlyphs):
+ * platform/graphics/win/GraphicsContextWin.cpp:
+ (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap):
+ (WebCore::GraphicsContext::createWindowsBitmap):
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
+ (WebCore::MediaPlayerPrivate::paint):
+
+2011-05-01 Emil A Eklund <eae@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ getComputedStyle() returns unitless values for some properties that require units
+ https://bugs.webkit.org/show_bug.cgi?id=55111
+
+ Change getComputedStyle to return value with unit for -webkit-column-width, -webkit-column-gap and -webkit-perspective
+
+ Test: fast/css/getComputedStyle/getComputedStyle-length-unit.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+
+2011-05-01 Young Han Lee <joybro@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ Change TEXMAP_OPENGL_ES2 to TEXMAP_OPENGL_ES_2
+ https://bugs.webkit.org/show_bug.cgi?id=59608
+
+ TEXMAP_OPENGL_ES2 is a wrong name. TEXMAP_OPENGL_ES_2 is already defined in TextureMapper.h
+
+ No new functionality, no new tests.
+
+ * platform/graphics/opengl/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGL::TextureMapperGL):
+
+2011-05-01 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ CSS3 nth-child(n) selector fails
+ https://bugs.webkit.org/show_bug.cgi?id=56943
+
+ Regression from r75158.
+ "n" is a valid parameter to nth() and should be allowed.
+
+ Test: fast/css/nth-child-n.html
+
+ * css/CSSParser.cpp:
+ (WebCore::isValidNthToken):
+
+2011-05-01 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed: address stack frame scriptName -> url rename in timeline panel.
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
+ (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
+
+2011-05-01 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Crash in AccessibilityRenderObject while viewing PDFs in iframes
+ https://bugs.webkit.org/show_bug.cgi?id=59629
+
+ Could not reproduce this crash, but it's quite clear how it could happen.
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityHitTest):
+
+2011-05-01 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ LEAK: SVGElement leaks when detaching it in a pending resource state
+ https://bugs.webkit.org/show_bug.cgi?id=59072
+
+ Make the pending resources set non-refcounted again. We made it refcounted a while ago
+ to fix a security bug, as we had dangling pointers in the set in SVGDocumentExtensions.
+ Fix the underlying problem, by removing all pending resources referencing to a particular
+ SVGElement, upon its destruction or upon removing it from the document.
+
+ Example: <rect fill="url(#foo)" id="rect">
+ When we try to render the rect, the foo paint server can't be found and thus "foo" will be
+ added to the pending resource set, with "rect" as client. When "foo" appears, it would remove
+ itself from the pending resource set, and a ref count to the "rect" would be released.
+ If "foo" never appears, SVGDocumentExtensions still holds a ref to the <rect>, thus keeping
+ it and the associated document alive.
+
+ Tests: svg/custom/pending-resource-leak-2.svg
+ svg/custom/pending-resource-leak-3.svg
+ svg/custom/pending-resource-leak.svg
+
+ These tests cover several scenarios where we used to leak. Should fix several SVG*Element leaks on the bots.
+ I manually tested reloading above testcases dozens of times, before the leak count was incremented by 2 nodes on every reload, that's gone now.
+
+ * rendering/svg/RenderSVGResourceContainer.cpp:
+ (WebCore::RenderSVGResourceContainer::registerResource):
+ * rendering/svg/RenderSVGShadowTreeRootContainer.cpp:
+ (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement):
+ * rendering/svg/SVGResources.cpp:
+ (WebCore::registerPendingResource):
+ * svg/SVGDocumentExtensions.cpp:
+ (WebCore::SVGDocumentExtensions::addPendingResource):
+ (WebCore::SVGDocumentExtensions::hasPendingResources):
+ (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
+ (WebCore::SVGDocumentExtensions::removePendingResource):
+ * svg/SVGDocumentExtensions.h:
+ * svg/SVGElement.cpp:
+ * svg/SVGElement.h:
+ * svg/SVGElementRareData.h:
+ (WebCore::SVGElementRareData::SVGElementRareData):
+ (WebCore::SVGElementRareData::hasPendingResources):
+ (WebCore::SVGElementRareData::setHasPendingResources):
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::~SVGStyledElement):
+ (WebCore::SVGStyledElement::insertedIntoDocument):
+ (WebCore::SVGStyledElement::removedFromDocument):
+ (WebCore::SVGStyledElement::hasPendingResources):
+ (WebCore::SVGStyledElement::setHasPendingResources):
+ * svg/SVGStyledElement.h:
+ (WebCore::SVGStyledElement::needsPendingResourceHandling):
+ (WebCore::SVGStyledElement::buildPendingResource):
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::SVGUseElement):
+ (WebCore::SVGUseElement::insertedIntoDocument):
+ (WebCore::SVGUseElement::svgAttributeChanged):
+ (WebCore::SVGUseElement::buildPendingResource):
+ * svg/SVGUseElement.h:
+
+2011-05-01 Rafael Brandao <rafael.lobo@openbossa.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt] build-webkit warning Inspector.idl is missing
+ https://bugs.webkit.org/show_bug.cgi?id=59047
+
+ Added variable_out to pipe output from one compiler to another,
+ and then forced the output to be added to the sources.
+
+ * CodeGenerators.pri:
+
+2011-05-01 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/9155067> REGRESSION (float-based line boxes): Gaps and overlaps in selection highlight
+ https://bugs.webkit.org/show_bug.cgi?id=56658
+
+ Test: fast/text/selection-rect-rounding.html
+
+ * platform/graphics/FontFastPath.cpp:
+ (WebCore::Font::selectionRectForSimpleText): Account for non-integral anchor point coordinates.
+ * platform/graphics/mac/FontComplexTextMac.cpp:
+ (WebCore::Font::selectionRectForComplexText): Ditto.
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::selectionRect): Floor the horizontal sides of the clip rect.
+ (WebCore::InlineTextBox::paintSelection): Pass the logical left location to Font::selectionRectForText(),
+ since it affects rounding.
+
+2011-04-30 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Dirk Schulze.
+
+ Make RenderSVGResourceFilter take ownership of filter data when painting
+ https://bugs.webkit.org/show_bug.cgi?id=51524
+
+ Test: svg/custom/filter-on-svgimage.svg
+
+ * rendering/svg/RenderSVGResourceFilter.cpp:
+ (WebCore::RenderSVGResourceFilter::removeClientFromCache):
+ (WebCore::RenderSVGResourceFilter::postApplyResource):
+ * rendering/svg/RenderSVGResourceFilter.h:
+ (WebCore::FilterData::FilterData):
+
+2011-04-30 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Adam Barth.
+
+ Enable strict mode for OwnPtr and PassOwnPtr
+ https://bugs.webkit.org/show_bug.cgi?id=59428
+
+ Fix assignments and .set() calls with OwnPtr to use adoptPtr. Have GeolocationService
+ factory methods return a PassOwnPtr.
+
+ No new tests. This should not change functionality.
+
+ * platform/GeolocationService.cpp:
+ (WebCore::createGeolocationServiceNull):
+ (WebCore::GeolocationService::create):
+ * platform/GeolocationService.h:
+ * platform/android/GeolocationServiceAndroid.cpp:
+ (WebCore::GeolocationServiceAndroid::create):
+ * platform/android/GeolocationServiceAndroid.h:
+ * platform/efl/GeolocationServiceEfl.cpp:
+ (WebCore::GeolocationServiceEfl::create):
+ * platform/efl/GeolocationServiceEfl.h:
+ * platform/graphics/cairo/CairoUtilities.cpp:
+ (WebCore::appendPathToCairoContext):
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::drawPathShadow):
+ (WebCore::GraphicsContext::clip):
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+ * platform/graphics/cairo/OwnPtrCairo.h:
+ * platform/graphics/cairo/PathCairo.cpp:
+ (WebCore::Path::Path):
+ (WebCore::Path::operator=):
+ (WebCore::Path::apply):
+ * platform/gtk/GeolocationServiceGtk.cpp:
+ (WebCore::GeolocationServiceGtk::create):
+ * platform/gtk/GeolocationServiceGtk.h:
+ * platform/mock/GeolocationServiceMock.cpp:
+ (WebCore::GeolocationServiceMock::create):
+ * platform/mock/GeolocationServiceMock.h:
+
+2011-04-30 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed: inspector toolbar titles were 2px off.
+
+ * inspector/front-end/inspector.css:
+ (#toolbar-dropdown .toolbar-label):
+
+2011-04-30 Mihai Parparita <mihaip@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ V8Proxy.h shouldn't include SecurityOrigin.h
+ https://bugs.webkit.org/show_bug.cgi?id=59859
+
+ Remove SecurityOrigin.h #include from V8Proxy.h. Touching
+ SecurityOrigin.h now rebuilds 234 targets instead of 638 (when building
+ chromium's DumpRenderTree).
+
+ * bindings/v8/NPV8Object.cpp:
+ * bindings/v8/V8Proxy.cpp:
+ * bindings/v8/V8Proxy.h:
+ * css/CSSStyleSelector.cpp:
+ * dom/XMLDocumentParserLibxml2.cpp:
+ * html/HTMLLinkElement.cpp:
+ * loader/SubframeLoader.cpp:
+ * page/History.cpp:
+ * storage/IDBFactory.cpp:
+ * storage/StorageAreaImpl.cpp:
+
+2011-04-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ CSP script-src should block eval
+ https://bugs.webkit.org/show_bug.cgi?id=59850
+
+ Rather than have JavaScriptCore call back into WebCore to learn whether
+ eval is enabled, we push that bit of the policy into JavaScriptCore.
+
+ Tests: http/tests/security/contentSecurityPolicy/eval-allowed.html
+ http/tests/security/contentSecurityPolicy/eval-blocked.html
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::disableEval):
+ * bindings/js/ScriptController.h:
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::ContentSecurityPolicy::didReceiveHeader):
+ (WebCore::ContentSecurityPolicy::internalAllowEval):
+ (WebCore::ContentSecurityPolicy::allowEval):
+ * page/ContentSecurityPolicy.h:
+
+2011-04-29 Joseph Pecoraro <joepeck@webkit.org>
+
+ GTK build fix. Missed moving DateComponents and
+ adding LocalizedDate files for their build file.
+
+ * GNUmakefile.list.am:
+
+2011-04-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ style-src should block @style
+ https://bugs.webkit.org/show_bug.cgi?id=59293
+
+ This patch blocks @style when style-src doesn't have the
+ 'unsafe-inline' token. This patch blocks the parsing of the attribute
+ itself. That feels vaguely like too low a level to interpose the
+ policy, but there didn't seem to be anywhere else natural to enforce
+ the policy.
+
+ Tests: http/tests/security/contentSecurityPolicy/inline-style-attribute-allowed.html
+ http/tests/security/contentSecurityPolicy/inline-style-attribute-blocked.html
+ http/tests/security/contentSecurityPolicy/inline-style-on-html.html
+
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::parseMappedAttribute):
+
+2011-04-29 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Kent Tamura.
+
+ Allow Localized Date Strings for Date Input Fields
+ https://bugs.webkit.org/show_bug.cgi?id=59752
+
+ Test: fast/forms/date-input-visible-strings.html
+
+ * CMakeLists.txt:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj: update build files for
+ moving DateComponents from WebCore/html to WebCore/platform
+ and adding the LocalizedDate files.
+
+ * html/BaseDateAndTimeInputType.cpp:
+ (WebCore::BaseDateAndTimeInputType::serialize):
+ (WebCore::BaseDateAndTimeInputType::serializeWithComponents):
+ (WebCore::BaseDateAndTimeInputType::serializeWithMilliseconds):
+ InputType::serialize for a double value with date types is
+ different for the month type because it assumes the incoming
+ value is months instead of msecs (matching valueAsNumber in
+ HTML5). So provide a more general serialization function,
+ serializeWithComponents, that will always serialize a string
+ correctly for the current type but taking in a DateComponents
+ object. The default serialize, and new serializeWithMilliseconds,
+ can fall back to this and allows an override point for
+ the month type.
+
+ * html/MonthInputType.cpp:
+ (WebCore::MonthInputType::serializeWithMilliseconds): the month
+ type is a case where the default serialize does not take msec,
+ so provide an implementation for month which handles msec input.
+
+ * html/BaseDateAndTimeInputType.cpp:
+ (WebCore::BaseDateAndTimeInputType::setValueAsDate): switch
+ to serializeWithMilliseconds as the incoming date value is msec.
+ * html/MonthInputType.cpp:
+ (WebCore::MonthInputType::setValueAsDate): removed.
+
+ * html/BaseDateAndTimeInputType.cpp:
+ (WebCore::BaseDateAndTimeInputType::visibleValue): allow
+ localized formatting of a date value.
+ (WebCore::BaseDateAndTimeInputType::convertFromVisibleValue):
+ allow parsing for a formatted date value.
+
+ * html/BaseDateAndTimeInputType.h:
+ * platform/DateComponents.cpp: Renamed from Source/WebCore/html/DateComponents.cpp.
+ Expose the Type enum so it can be used outside of the DateComponents class.
+ * platform/text/LocalizedDate.h: Added.
+ * platform/text/LocalizedDateNone.cpp: Added.
+ (WebCore::formatLocalizedDate): Default implementation falls back to
+ existing HTML5 date input value formatting.
+
+ * html/BaseDateAndTimeInputType.h:
+ * html/DateInputType.cpp:
+ (WebCore::DateInputType::dateType):
+ * html/DateInputType.h:
+ * html/DateTimeInputType.cpp:
+ (WebCore::DateTimeInputType::dateType):
+ * html/DateTimeInputType.h:
+ * html/DateTimeLocalInputType.cpp:
+ (WebCore::DateTimeLocalInputType::dateType):
+ * html/DateTimeLocalInputType.h:
+ * html/MonthInputType.cpp:
+ (WebCore::MonthInputType::dateType):
+ * html/MonthInputType.h:
+ * html/TimeInputType.cpp:
+ (WebCore::TimeInputType::dateType):
+ * html/TimeInputType.h:
+ * html/WeekInputType.cpp:
+ (WebCore::WeekInputType::dateType):
+ * html/WeekInputType.h: Accessors for the desired date
+ type of a date input type. This allows the base class
+ to write a generic algorithm.
+
+2011-04-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ style-src should block inline style from <style>
+ https://bugs.webkit.org/show_bug.cgi?id=59292
+
+ The spec has been updated to allow blocking of inline styles with
+ style-src. This will help folks defend against tricky CSS3 injections.
+
+ This patch covers the <style> case. The next patch will cover the
+ @style case.
+
+ Tests: http/tests/security/contentSecurityPolicy/inline-style-allowed.html
+ http/tests/security/contentSecurityPolicy/inline-style-blocked.html
+
+ * dom/StyleElement.cpp:
+ (WebCore::StyleElement::createSheet):
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::ContentSecurityPolicy::allowInlineStyle):
+ * page/ContentSecurityPolicy.h:
+
+2011-04-29 Chris Evans <cevans@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add WebCore::Setting to block displaying and/or running insecure content on secure pages
+ https://bugs.webkit.org/show_bug.cgi?id=58378
+
+ Test: To follow in subsequent patch, including the wiring to expose the new settings to LayoutTests.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::checkIfDisplayInsecureContent): Return whether or not the load should be blocked, and tweak the message upon blocking.
+ (WebCore::FrameLoader::checkIfRunInsecureContent): Return whether or not the load should be blocked, and tweak the message upon blocking.
+ * loader/FrameLoader.h:
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::willSendRequest): Check if the frame load is blocked due to mixed content and cancel it if so. The check was moved up so that it occurs before firing the load callbacks, to avoid any outgoing network hits or accounting. Redirects are handled because willSendRequest is called for each one in the chain.
+ * loader/SubframeLoader.cpp:
+ (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin): Handle the blocking of mixed-content plug-in loads.
+ (WebCore::SubframeLoader::loadPlugin): Handle the blocking of mixed-content plug-in loads.
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::canRequest): Handle the blocking of various loads due to mixed content conditions.
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings): Permit mixed-content loads by default to avoid a change in behavior by default.
+ * page/Settings.h: Add two new booleans to control blocking of mixed content (displaying and running thereof).
+ (WebCore::Settings::setAllowDisplayOfInsecureContent):
+ (WebCore::Settings::allowDisplayOfInsecureContent):
+ (WebCore::Settings::setAllowRunningOfInsecureContent):
+ (WebCore::Settings::allowRunningOfInsecureContent):
+
+2011-04-29 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Extract a function to obtain VisiblePosition from RenderText::positionForPoint
+ https://bugs.webkit.org/show_bug.cgi?id=59811
+
+ Extracted lineDirectionPointFitsInBox from positionForPoint.
+
+ * rendering/RenderText.cpp:
+ (WebCore::lineDirectionPointFitsInBox):
+ (WebCore::RenderText::positionForPoint):
+
+2011-04-29 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ REGRESSION: r83938 abandons GC memory
+ https://bugs.webkit.org/show_bug.cgi?id=59604
+
+ This bug was caused by script and image elements waiting indefinitely
+ for their loads to finish.
+
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::isReachableFromDOM): Don't test for the load event firing,
+ since the load event doesn't fire in cases of canceled or errored loads.
+ Instead, test hasPendingActivity().
+
+ Don't do this test at all for script elements because script elements
+ can't load while outside the document. (fast/dom/script-element-gc.html
+ verifies that this is correct.)
+
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::hasPendingActivity):
+ * html/HTMLImageElement.h:
+ * loader/ImageLoader.cpp:
+ (WebCore::ImageEventSender::hasPendingEvents):
+ (WebCore::ImageLoader::hasPendingLoadEvent):
+ * loader/ImageLoader.h: Added API for finding out if an image element
+ has pending activity.
+
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource::setRequest): All loads are supposed to end in
+ data(allDataReceived = true) or error(), but in the edge case of a
+ canceled load, all we get is a call to setRequest(0). Be sure to
+ record that we're no longer loading in that case, otherwise our element
+ will leak forever, waiting for its load to complete.
+
+2011-04-29 Emil Eklund <eae@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ Setting outerHTML should merge text nodes
+ https://bugs.webkit.org/show_bug.cgi?id=52686
+
+ When setting outerHTML adjacent text nodes should be merged. This matches
+ the behavior of outerText and the IE implementation of outerHTML.
+
+ Test: fast/dom/set-outer-html.html
+
+ * html/HTMLElement.cpp:
+ (WebCore::mergeWithNextTextNode): Move function to before setOuterHTML.
+ (WebCore::HTMLElement::setOuterHTML): Merge adjacent text nodes after replacing the element.
+
+2011-04-29 Emil A Eklund <eae@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Onchange on text fields has an incoherent behavior
+ https://bugs.webkit.org/show_bug.cgi?id=57330
+
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLTextFormControlElement::insertedIntoDocument):
+ Initialize m_textAsOfLastFormControlChangeEvent to empty string rather
+ than null for empty fields.
+
+2011-04-29 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt] Unreviewed buildfix after r85343.
+
+ Enable strict OwnPtr for Qt
+ https://bugs.webkit.org/show_bug.cgi?id=59667
+
+ * plugins/mac/PluginViewMac.mm:
+ (WebCore::PluginView::platformStart):
+
+2011-04-29 Jon Lee <jonlee@apple.com>
+
+ Reviewed by mitzpettel.
+
+ REGRESSION (WebKit2): (Mac) Selection is gone after switching tabs (59721)
+ <rdar://problem/9327332>
+ https://bugs.webkit.org/show_bug.cgi?id=59721
+
+ Removing shouldClearSelectionWhenLosingWebPageFocus(). Reverting changelist 83814.
+
+ * WebCore.exp.in:
+ * editing/EditingBehavior.h:
+
+2011-04-29 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Dave Hyatt.
+
+ Allow only first table caption and destroy the remaining ones.
+ https://bugs.webkit.org/show_bug.cgi?id=58249
+
+ Previously, we were only laying out the first table caption.
+ However Table::layout didn't mark the other ones as not needing
+ layout. So after table layout completes, table is marked as not
+ needing layout with its other table caption still needing layout.
+ This causes incorrect layout root calculations and set it to a
+ node which is already getting deleted.
+
+ Tests: fast/table/dynamic-caption-add-before-child.xhtml
+ fast/table/dynamic-caption-add-remove-before-child.xhtml
+ fast/table/multiple-captions-crash.xhtml
+ fast/table/multiple-captions-crash2.xhtml
+ fast/table/multiple-captions-display.xhtml
+
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::addChild): when new caption or a before
+ child caption is added, we need to explicitly trigger section
+ recalc or otherwise layout won't catch it.
+ (WebCore::RenderTable::removeChild): when child to be removed is
+ m_caption, make sure to trigger style recalc on the table.
+ (WebCore::RenderTable::recalcCaption): code to destroy captions
+ other than the first one.
+ (WebCore::RenderTable::recalcSections): call recalcCaption
+ helper. Store the next sibling early since child can get destroyed
+ in recalcCaption.
+ * rendering/RenderTable.h:
+
+2011-04-29 David Kilzer <ddkilzer@apple.com>
+
+ Remove WML
+ https://bugs.webkit.org/show_bug.cgi?id=59678
+
+ * DerivedSources.make: Removed $(WebCore)/wml path in VPATH.
+
+2011-04-29 James Robinson <jamesr@chromium.org>
+
+ Unreviewed, rolling out r85330.
+ http://trac.webkit.org/changeset/85330
+ https://bugs.webkit.org/show_bug.cgi?id=41311
+
+ Caused unexpected border rendering change on 500 tests on chromium linux.
+
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::drawConvexPolygon):
+ (WebCore::GraphicsContext::clipConvexPolygon):
+
+2011-04-29 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt] Unreviewed buildfix after r85343.
+
+ Enable strict OwnPtr for Qt
+ https://bugs.webkit.org/show_bug.cgi?id=59667
+
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::wndProc):
+ (WebCore::PluginView::snapshot):
+
+2011-04-29 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Enable strict OwnPtr for Qt
+ https://bugs.webkit.org/show_bug.cgi?id=59667
+
+ * platform/graphics/qt/ImageBufferQt.cpp:
+ (WebCore::ImageBufferData::ImageBufferData):
+ (WebCore::ImageBuffer::ImageBuffer):
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::setData):
+ * platform/graphics/qt/ImageDecoderQt.h:
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
+ (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
+
+2011-04-29 Dean Jackson <dino@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Add ENABLE macro for WebKitAnimation
+ https://bugs.webkit.org/show_bug.cgi?id=59729
+
+ Add new feature to toggle WebKit Animation API.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * GNUmakefile.am:
+ * dom/Element.idl:
+ * features.pri:
+ * page/DOMWindow.idl:
+
+2011-04-29 Dean Jackson <dino@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=59149
+ (Regression) Existing animations are not replaced when filling.
+
+ Hardware animations that fill forwards were not being correctly
+ replaced when the animation was removed. The actual animation
+ logic was working correctly, but it wasn't deleting the
+ CoreAnimation animation from the PlatformLayer. The fix was
+ to explicitly call endAnimation when disconnecting the animation
+ from its RenderObject.
+
+ Test: animations/3d/replace-filling-transform.html
+
+ * page/animation/AnimationBase.h:
+ (WebCore::AnimationBase::clear): call endAnimation as the animation is cleared
+
+2011-04-29 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ When svg inline text is getting destroyed, make sure to mark
+ its svg text ancestor as needing a positioning values update.
+ This helps to recalculate layout attributes and makes sure
+ that svg inline text is not used again.
+ https://bugs.webkit.org/show_bug.cgi?id=59161
+
+ Test: svg/text/inline-text-destroy-attributes-crash.xhtml
+
+ * rendering/svg/RenderSVGInlineText.cpp:
+ (WebCore::RenderSVGInlineText::destroy):
+ * rendering/svg/RenderSVGInlineText.h:
+
+2011-04-29 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Unreviewed build fix. Fix wxMSW trunk builds by adding include.
+
+ * platform/graphics/wx/GraphicsContextWx.cpp:
+
+2011-04-29 Mike Reed <reed@google.com>
+
+ Reviewed by Ojan Vafai.
+
+ Skia: Need to implement GraphicsContext::clipConvexPolygon()
+ https://bugs.webkit.org/show_bug.cgi?id=41311
+
+ This does not (yet) enable HAVE_PATH_BASED_BORDER_RADIUS_DRAWING
+ as that shows other issues/question unrelated to clipping.
+ https://bugs.webkit.org/show_bug.cgi?id=41311
+
+ No new tests. covered by existing layout tests
+
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::setPathFromConvexPoints):
+ (WebCore::GraphicsContext::drawConvexPolygon):
+ (WebCore::GraphicsContext::clipConvexPolygon):
+
+2011-04-29 Mike Lawther <mikelawther@chromium.org>
+
+ Reviewed by Ojan Vafai.
+
+ Fix IR->SR typo in enum value (and resulting style fails)
+ https://bugs.webkit.org/show_bug.cgi?id=59779
+
+ No functionality change, so no new tests
+
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ (WebCore::CSSPrimitiveValue::operator EShapeRendering):
+
+2011-04-29 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: CSS editing breaks when entering "color: rgb(1"
+ https://bugs.webkit.org/show_bug.cgi?id=59789
+
+ Tests: inspector/styles/styles-add-invalid-property.html
+ inspector/styles/styles-cancel-editing.html
+ inspector/styles/styles-commit-editing.html
+
+ * inspector/front-end/CSSStyleModel.js:
+ (WebInspector.CSSProperty.prototype.setText.callback):
+ (WebInspector.CSSProperty.prototype.setText):
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertyTreeElement.prototype.selectElement):
+ (WebInspector.StylePropertyTreeElement.prototype):
+ (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert.originalPropertyText):
+ * inspector/front-end/inspector.js:
+ (WebInspector.startEditing.defaultFinishHandler):
+ (WebInspector.startEditing.keyDownEventListener):
+ (WebInspector.startEditing):
+
+2011-04-29 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ ENABLE(QT_BEARER) -> USE(QT_BEARER)
+
+ * WebCore.pri:
+ * WebCore.pro:
+ * features.pri:
+ * platform/network/NetworkStateNotifier.h:
+ * platform/network/qt/NetworkStateNotifierQt.cpp:
+
+2011-04-29 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ ENABLE(QT_USERAGENT_DEVICEMODEL) -> USE(QT_MOBILITY_SYSTEMINFO)
+
+ * WebCore.pri:
+ * features.pri:
+
+2011-04-29 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: breakpoints set in original and formatted scripts are messed up after navigation.
+ https://bugs.webkit.org/show_bug.cgi?id=59476
+
+ * inspector/front-end/DebuggerPresentationModel.js:
+ (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
+ (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
+ (WebInspector.PresentationBreakpoint.prototype.serialize):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
+ (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
+ (WebInspector.ScriptsPanel.prototype.reset):
+
+2011-04-28 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: include script end line:column in scriptParsed parameters.
+ https://bugs.webkit.org/show_bug.cgi?id=59717
+
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::dispatchDidParseSource):
+ * bindings/v8/DebuggerScript.js:
+ ():
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::dispatchDidParseSource):
+ * inspector/Inspector.json:
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
+ (WebCore::InspectorDebuggerAgent::didParseSource):
+ * inspector/InspectorDebuggerAgent.h:
+ (WebCore::InspectorDebuggerAgent::Script::Script):
+ * inspector/ScriptDebugListener.h:
+ * inspector/front-end/DebuggerModel.js:
+ (WebInspector.DebuggerModel.prototype._parsedScriptSource):
+ (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
+ (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
+ * inspector/front-end/Script.js:
+ (WebInspector.Script):
+
+2011-04-28 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [protocol] Evaluate should expose thrown exception value
+ https://bugs.webkit.org/show_bug.cgi?id=59000
+
+ Each evaluation command may have either thrown or returned result. This is indicated
+ by wasThrown property in the protocol.
+
+ * inspector/InjectedScript.cpp:
+ (WebCore::InjectedScript::evaluate):
+ (WebCore::InjectedScript::evaluateOn):
+ (WebCore::InjectedScript::evaluateOnCallFrame):
+ (WebCore::InjectedScript::getProperties):
+ (WebCore::InjectedScript::makeEvalCall):
+ * inspector/InjectedScript.h:
+ * inspector/InjectedScriptSource.js:
+ * inspector/Inspector.json: Removed "error" remote object type, added "wasThrown" property to
+ the evaluation results.
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
+ * inspector/InspectorDebuggerAgent.h:
+ * inspector/InspectorRuntimeAgent.cpp:
+ (WebCore::InspectorRuntimeAgent::evaluate):
+ (WebCore::InspectorRuntimeAgent::evaluateOn):
+ (WebCore::InspectorRuntimeAgent::getProperties):
+ * inspector/InspectorRuntimeAgent.h:
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype.completions.evaluated):
+ (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
+ (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
+ (WebInspector.ConsoleView.prototype._enterKeyPressed):
+ (WebInspector.ConsoleCommandResult):
+ * inspector/front-end/DebuggerPresentationModel.js:
+ (WebInspector.PresenationCallFrame.prototype.evaluate):
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
+ * inspector/front-end/ExtensionPanel.js:
+ (WebInspector.ExtensionSidebarPane.prototype._onEvaluate):
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (WebInspector.ObjectPropertyTreeElement.prototype.update):
+ * inspector/front-end/PropertiesSidebarPane.js:
+ (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
+ (WebInspector.SourceFrame.prototype._showPopup):
+
+2011-04-29 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r85315.
+ http://trac.webkit.org/changeset/85315
+ https://bugs.webkit.org/show_bug.cgi?id=59792
+
+ Broke script-formatter.html test (Requested by podivilov on
+ #webkit).
+
+ * inspector/front-end/DebuggerPresentationModel.js:
+ (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
+ (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger.didRemoveBreakpoint):
+ (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
+ (WebInspector.PresentationBreakpoint.prototype.serialize):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
+ (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
+ (WebInspector.ScriptsPanel.prototype.reset):
+
+2011-04-29 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Hyperlink Auditing (ping) requests are not shown in network panel
+ https://bugs.webkit.org/show_bug.cgi?id=58794
+
+ Added ping requests to network panel.
+
+ Test: http/tests/inspector/network/ping.html
+
+ * English.lproj/localizedStrings.js:
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::continueAfterPingLoaderImpl):
+ * inspector/InspectorInstrumentation.h:
+ (WebCore::InspectorInstrumentation::continueAfterPingLoader):
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkDataGridNode.prototype.refreshResource):
+ (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
+ (WebInspector.NetworkDataGridNode.prototype._refreshTypeCell):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.prototype.get formParameters):
+ (WebInspector.Resource.prototype.requestContentType):
+ (WebInspector.Resource.prototype.isPingRequest):
+ * loader/PingLoader.cpp:
+ (WebCore::PingLoader::PingLoader):
+ * loader/PingLoader.h:
+
+2011-04-28 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: breakpoints set in original and formatted scripts are messed up after navigation.
+ https://bugs.webkit.org/show_bug.cgi?id=59476
+
+ * inspector/front-end/DebuggerPresentationModel.js:
+ (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
+ (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
+ (WebInspector.PresentationBreakpoint.prototype.serialize):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
+ (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
+ (WebInspector.ScriptsPanel.prototype.reset):
+
+2011-04-29 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: add "open link in new tab" action into the network and resources panels.
+ https://bugs.webkit.org/show_bug.cgi?id=59788
+
+ This change also distinguishes context menu items case between platforms.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
+ * inspector/front-end/DOMBreakpointsSidebarPane.js:
+ (WebInspector.DOMBreakpointsSidebarPane):
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype._contextMenuEventFired):
+ (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
+ (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu):
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkPanel.prototype._contextMenu):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
+ (WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction):
+ (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
+ * inspector/front-end/Settings.js:
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer.prototype._contextMenu):
+ * inspector/front-end/inspector.js:
+ (WebInspector.openLinkExternallyLabel):
+ (WebInspector.openResource):
+ (WebInspector.useLowerCaseMenuTitles):
+
+2011-04-28 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Mask placement on composited layer is incorrect sometimes
+ https://bugs.webkit.org/show_bug.cgi?id=59775
+
+ The mask layer always has the same size as its owning GraphicsLayer,
+ so it needs to share the same offsetFromRenderer as well. This fixes
+ the offset at which the mask layer contents are painted in cases where
+ that offset is non-zero, for example when outline style bloats all of
+ the layer sizes.
+
+ Test: compositing/masks/layer-mask-placement.html
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
+
+2011-04-28 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by Mark Rowe.
+
+ Reverted r81319.
+
+ Fixes <rdar://problem/9331580> REGRESSION (r81319): Safari fails to display dropdown navigation on classics.berkeley.edu
+
+ * page/NavigatorBase.cpp:
+
+2011-04-28 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dirk Schulze.
+
+ 1px box-shadow looks ugly
+ https://bugs.webkit.org/show_bug.cgi?id=58100
+ and
+ ShadowBlur incorrectly handles zero-sized blur radius in one axis
+ https://bugs.webkit.org/show_bug.cgi?id=59710
+
+ blurLayerImage() has issues at the edges if the blur radius
+ is one, so in that case bump the buffer size out by a pixel.
+ This results in a correct, symmetrical blur.
+
+ Also fix an issue noticed during testing where a zero
+ height or width radius would still blur on that axis,
+ because we clamp the kernel size to a minimum of two.
+
+ Test: fast/box-shadow/single-pixel-shadow.html
+
+ * platform/graphics/ShadowBlur.h:
+ * platform/graphics/ShadowBlur.cpp:
+ (WebCore::ShadowBlur::blurLayerImage):
+ Skip horizontal or vertial passes if the radius on that axis is zero.
+ Move the "if (pass && m_blurRadius.width() != m_blurRadius.height())"
+ clause to the end of the loop, since it only needs to execute once
+ after the first pass.
+ (WebCore::ShadowBlur::blurredEdgeSize):
+ New method to compute the width of the blurred edge (radius + extra
+ pixel when necessary).
+ (WebCore::ShadowBlur::calculateLayerBoundingRect):
+ (WebCore::ShadowBlur::templateSize):
+ (WebCore::ShadowBlur::drawRectShadow):
+ (WebCore::ShadowBlur::drawInsetShadow):
+ (WebCore::ShadowBlur::drawInsetShadowWithTiling):
+ (WebCore::ShadowBlur::drawRectShadowWithTiling):
+ (WebCore::ShadowBlur::drawLayerPieces):
+ Use the result of blurredEdgeSize() rather than recomputing.
+
+2011-04-28 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Beth Dakin.
+
+ CSS sibling selector (~) does not work with :target pseudo class
+ https://bugs.webkit.org/show_bug.cgi?id=26539
+
+ Allow style recalculation of forward siblings of elements with
+ forward positional rules.
+
+ Tests: fast/css/pseudo-target-indirect-sibling-001.html
+ fast/css/pseudo-target-indirect-sibling-002.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::recalcStyle):
+
+2011-04-28 Nat Duca <nduca@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Add swapBuffersCompleteCallback to Extensions3DChromium
+ https://bugs.webkit.org/show_bug.cgi?id=59626
+
+ * platform/graphics/chromium/Extensions3DChromium.h:
+ (WebCore::Extensions3DChromium::SwapBuffersCompleteCallbackCHROMIUM::~SwapBuffersCompleteCallbackCHROMIUM):
+
+2011-04-28 Steve Lacey <sjl@chromium.org>
+
+ Reviewed by Eric Carlson.
+
+ Change chromium media controls to use absolute positioning until bug 59644 is fixed.
+ https://bugs.webkit.org/show_bug.cgi?id=59732
+
+ * css/mediaControlsChromium.css:
+ (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
+ (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
+
+2011-04-28 Luke Macpherson <macpherson@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Implement CSS border width and related properties in CSSStyleApplyProperty.
+ https://bugs.webkit.org/show_bug.cgi?id=59414
+
+ No new tests as no functionality added.
+
+ * css/CSSStyleApplyProperty.cpp:
+ Separated ApplyPropertyDefault into parent and child so that other classes could inherit
+ the applyInheritValue and applyInitialValue methods only.
+ This was necessary to avoid casting from CSSPrimitiveValue to inappropriate types in ApplyPropertyDefault::applyValue().
+
+ Added ApplyPropertyWidth class for handling width based CSS properties.
+ * css/CSSStyleSelector.cpp:
+ Removed no-longer-required code for handling width based CSS properties.
+ * css/CSSStyleSelector.h:
+ Added a getter for m_rootElementStyle.
+
+2011-04-28 Kent Tamura <tkent@chromium.org>
+
+ Run sort-Xcode-project-file.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2011-04-28 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Dirk Schulze.
+
+ [Cairo] Text underline is not shadowed when text-shadow is enabled
+ https://bugs.webkit.org/show_bug.cgi?id=48074
+
+ Use ContextShadow to enable shadows for text underlines. Also remove quite a bit
+ of duplicate code in GraphicsContext used for stroking lines. This code looks like it was
+ originally copied from the CG GraphicsContext.
+
+ * platform/graphics/GraphicsContext.h: Make adjustLineToPixelBoundaries so that we
+ can call it from a static helper function.
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::calculateStrokePatternOffset): Abstracted this code into a helper.
+ (WebCore::drawLineOnCairoContext): Abstracted this code into a helper. We need to
+ call it multiple times when shadowing text underlines.
+ (WebCore::GraphicsContext::drawLine): Use drawLineOnCairoContext.
+ (WebCore::GraphicsContext::strokeArc): Use calculateStrokePatternOffset.
+ (WebCore::GraphicsContext::drawLineForText): Use drawLineOnCairoContext.
+
+2011-04-28 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by Mark Rowe.
+
+ Cleanup WebCore.xcodeproj a bit.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ Added CompilerVersion.xcconfig and moved some JS bindings files into the
+ correct sub groups.
+
+2011-04-28 David Levin <levin@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Remove IMAGE_RESIZER related code.
+ https://bugs.webkit.org/show_bug.cgi?id=59735
+
+ * CMakeLists.txt:
+ * Configurations/FeatureDefines.xcconfig:
+ * GNUmakefile.am:
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * features.pri:
+ * html/AsyncImageResizer.cpp: Removed.
+ * html/AsyncImageResizer.h: Removed.
+ * html/ImageResizerThread.cpp: Removed.
+ * html/ImageResizerThread.h: Removed.
+
+2011-04-28 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Unreviewed trivial one-line fix inspired by wrong patch for https://bugs.webkit.org/show_bug.cgi?id=59630.
+
+ * inspector/front-end/Settings.js:
+ (WebInspector.Settings):
+
+2011-04-28 Beth Dakin <bdakin@apple.com>
+
+ Rubber-stamped by Sam Weinig.
+
+ Rolling out revision 85258! I want to fix that bug a different way.
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::paint):
+
+2011-04-28 Chang Shu <cshu@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ isContentEditable is not working properly with document.designMode
+ https://bugs.webkit.org/show_bug.cgi?id=53031
+
+ The specification (http://dev.w3.org/html5/spec/Overview.html#attr-contenteditable)
+ indicates that the element.isContentEditable relies on document.designMode if its
+ and its ancestors' contenteditable attributes are set to inherit.
+
+ 1. Sync document render style after document.designMode is changed.
+ 2. Removed the code that does unnecessary and incorrect handling for contenteditable
+ attribute with "inherit" value.
+ 3. Ryosuke Niwa also helped to fix the code in ApplyStyleCommand that causes an assertion.
+
+ Tests: fast/dom/HTMLElement/iscontenteditable-designmodeon-allinherit-subframe.html
+ fast/dom/HTMLElement/iscontenteditable-designmodeon-allinherit.html
+ fast/dom/HTMLElement/iscontenteditable-designmodeon-ancestor.html
+ fast/dom/HTMLElement/iscontenteditable-designmodeon.html
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::styleForDocument):
+ * dom/Document.cpp:
+ (WebCore::Document::setDesignMode):
+ * dom/Node.cpp:
+ (WebCore::Node::rendererIsEditable):
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::setContentEditable):
+
+2011-04-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r85101.
+ http://trac.webkit.org/changeset/85101
+ https://bugs.webkit.org/show_bug.cgi?id=59757
+
+ it'd be better to rollout the patch and do another one with
+ another property name. Current one will bring us to a problem
+ at first run after upgrade because it's type was changed from
+ int to string. (Requested by loislo on #webkit).
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
+ (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions.callback):
+ (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
+
+2011-04-28 Mike Reed <reed@google.com>
+
+ Reviewed by Eric Seidel.
+
+ fix shadw behavior for both CSS and Canvas -- skia only
+ https://bugs.webkit.org/show_bug.cgi?id=59700
+
+ Test:
+ canvas/philip/tests/2d.shadow.alpha.3.html
+ canvas/philip/tests/2d.shadow.alpha.4.html
+ canvas/philip/tests/2d.shadow.alpha.5.html
+ fast/canvas/canvas-fillPath-alpha-shadow.html
+ fast/canvas/canvas-strokePath-alpha-shadow.html
+ fast/canvas/canvas-strokeRect-alpha-shadow.html
+ fast/css/text-input-with-webkit-border-radius.html
+ fast/repaint/shadow-multiple-horizontal.html
+ fast/repaint/shadow-multiple-strict-horizontal.html
+ fast/repaint/shadow-multiple-strict-vertical.html
+ fast/repaint/shadow-multiple-vertical.html
+ fast/canvas/canvas-getImageData.html
+
+ * platform/graphics/chromium/FontChromiumWin.cpp:
+ (WebCore::Font::drawGlyphs):
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::setPlatformShadow):
+
+2011-04-28 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/59755> AXObjectCache::attachWrapper() over-retains an AccessibilityObjectWrapper
+
+ Reviewed by Chris Fleizach.
+
+ Previously, AXObjectCache::attachWrapper over-retained each
+ AccessibilityObjectWrapper it created, which is why
+ AXObjectCache::detachWrapper() contained an extra -release.
+
+ * accessibility/mac/AXObjectCacheMac.mm:
+ (WebCore::AXObjectCache::detachWrapper): Removed extra -release.
+ (WebCore::AXObjectCache::attachWrapper): Because setWrapper()
+ assigns to a RetainPtr<> instance variable, it doesn't need a +1
+ retained object passed in. Fix the leak by using a RetainPtr<>
+ for the AccessibilityObjectWrapper.
+
+2011-04-28 Nat Duca <nduca@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [chromium] Compute compositor fps value and history using the frameBegin timestamp
+ https://bugs.webkit.org/show_bug.cgi?id=59668
+
+ This change switches the compositor FPS meter to use the timestamp
+ of the beginning of the frame rather than the time we call
+ swapBuffers. When scheduling is correctly tied to vsync, we can
+ have highly variable times when we finish vsync and still have
+ stable frame rates.
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::updateAndDrawLayers):
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
+ (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
+ (WebCore::CCHeadsUpDisplay::drawFPSCounter):
+ (WebCore::CCHeadsUpDisplay::onFrameBegin):
+ (WebCore::CCHeadsUpDisplay::onPresent):
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
+
+2011-04-28 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=59759
+ Overflow:scroll regions with overlay scrollbars show full thumb instead of just a
+ track when there is nothing to scroll to
+ <rdar://problem/9282066>
+
+ Scrollbar::totalSize() and Scrollbar::visibleSize() are the same when there is
+ nothing to scroll to. Just dividing them to get a knob proportion yields 1, which
+ is not right. Set the proportion to 0 in this case instead.
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::paint):
+
+2011-04-28 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/9291132> Add support for -epub-prefixed properties
+
+ Test: fast/css/epub-properties.html
+
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ (WebCore::cssPropertyName): Map "epub"-prefixed properties to "-epub"-prefixed ones.
+ * css/CSSPropertyNames.in: Added -epub- aliases to caption-side, -webkit-hyphens, -webkit-text-combine,
+ -webkit-text-emphasis, -webkit-text-emphasis-color, -webkit-text-emphasis-style, -webkit-text-orientation,
+ text-transform, text-transform, word-break, and -webkit-writing-mode.
+
+2011-04-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove WML
+ https://bugs.webkit.org/show_bug.cgi?id=59678
+
+ This patch removes WML from WebCore. After removing WML, there's a
+ bunch of twisted code that could be untwisted, but this patch contains
+ only the purely mechanical part of removing the feature.
+
+ There's been a lot of discussion on webkit-dev about whether we should
+ remove WML. In addition to those threads, we've had an informal poll
+ of the reviewers as well as an in-person discussion at the WebKit
+ contributor's meeting. Removing any feature is likely to make some
+ folks unhappy, but, on balance, removing WML appears to be the right
+ thing for the project to do at this time.
+
+ * CMakeLists.txt:
+ * CodeGenerators.pri:
+ * Configurations/FeatureDefines.xcconfig:
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * GNUmakefile.list.am:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::linkAttribute):
+ (WebCore::CSSStyleSelector::styleForElement):
+ (WebCore::CSSStyleSelector::adjustRenderStyle):
+ * css/wml.css: Removed.
+ * dom/DOMImplementation.cpp:
+ (WebCore::DOMImplementation::createDocument):
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ (WebCore::Document::createElement):
+ * dom/Document.h:
+ (WebCore::Document::isMediaDocument):
+ * dom/Document.idl:
+ * dom/InputElement.h:
+ * dom/Node.cpp:
+ (WebCore::Node::toInputElement):
+ * dom/Node.h:
+ * dom/OptionElement.cpp:
+ (WebCore::toOptionElement):
+ (WebCore::isOptionElement):
+ * dom/OptionElement.h:
+ * dom/OptionGroupElement.cpp:
+ (WebCore::toOptionGroupElement):
+ (WebCore::isOptionGroupElement):
+ * dom/SelectElement.cpp:
+ (WebCore::toSelectElement):
+ * dom/SelectElement.h:
+ * dom/Text.cpp:
+ (WebCore::Text::attach):
+ * dom/XMLDocumentParser.cpp:
+ (WebCore::XMLDocumentParser::insertErrorMessageBlock):
+ * dom/XMLDocumentParser.h:
+ * dom/XMLDocumentParserLibxml2.cpp:
+ (WebCore::XMLDocumentParser::internalSubset):
+ (WebCore::getEntityHandler):
+ * dom/XMLDocumentParserQt.cpp:
+ (WebCore::XMLDocumentParser::parse):
+ (WebCore::XMLDocumentParser::parseDtd):
+ * editing/htmlediting.cpp:
+ (WebCore::canHaveChildrenForEditing):
+ * features.pri:
+ * history/BackForwardList.h:
+ * history/BackForwardListImpl.cpp:
+ * history/BackForwardListImpl.h:
+ * history/PageCache.cpp:
+ (WebCore::PageCache::canCachePageContainingThisFrame):
+ * html/HTMLAnchorElement.h:
+ * inspector/ConsoleMessage.cpp:
+ (WebCore::messageSourceValue):
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleMessage.prototype.toString):
+ * loader/FrameLoader.cpp:
+ (WebCore::isBackForwardLoadType):
+ (WebCore::FrameLoader::transitionToCommitted):
+ (WebCore::FrameLoader::shouldReload):
+ (WebCore::FrameLoader::loadDifferentDocumentItem):
+ (WebCore::FrameLoader::loadItem):
+ * loader/FrameLoaderTypes.h:
+ * loader/HistoryController.cpp:
+ (WebCore::HistoryController::restoreDocumentState):
+ * manual-tests/wml: Removed.
+ * manual-tests/wml/StartTests.wml: Removed.
+ * manual-tests/wml/a-br-element.wml: Removed.
+ * manual-tests/wml/a-element.wml: Removed.
+ * manual-tests/wml/a-img-element.wml: Removed.
+ * manual-tests/wml/access-target.wml: Removed.
+ * manual-tests/wml/anchor-br-element.wml: Removed.
+ * manual-tests/wml/anchor-element.wml: Removed.
+ * manual-tests/wml/anchor-img-element.wml: Removed.
+ * manual-tests/wml/card-newcontext-attr.wml: Removed.
+ * manual-tests/wml/card-onenterbackward.wml: Removed.
+ * manual-tests/wml/card-onenterforward.wml: Removed.
+ * manual-tests/wml/card-ontimer.wml: Removed.
+ * manual-tests/wml/deck-access-control.wml: Removed.
+ * manual-tests/wml/input-format.wml: Removed.
+ * manual-tests/wml/onevent-go.wml: Removed.
+ * manual-tests/wml/onevent-noop.wml: Removed.
+ * manual-tests/wml/onevent-prev.wml: Removed.
+ * manual-tests/wml/onevent-refresh.wml: Removed.
+ * manual-tests/wml/onevent-shadow.wml: Removed.
+ * manual-tests/wml/resources: Removed.
+ * manual-tests/wml/resources/smiley.png: Removed.
+ * manual-tests/wml/select-element.wml: Removed.
+ * manual-tests/wml/select-onpick-event-crash.wml: Removed.
+ * manual-tests/wml/select-onpick-event.wml: Removed.
+ * manual-tests/wml/setvar-element.wml: Removed.
+ * manual-tests/wml/targetdeck.wml: Removed.
+ * manual-tests/wml/task-go-in-anchor.wml: Removed.
+ * manual-tests/wml/task-prev-in-anchor.wml: Removed.
+ * manual-tests/wml/task-refresh-in-anchor.wml: Removed.
+ * manual-tests/wml/template-go.wml: Removed.
+ * manual-tests/wml/template-ontimer.wml: Removed.
+ * manual-tests/wml/timer.wml: Removed.
+ * manual-tests/wml/variable-substitution.wml: Removed.
+ * page/Console.cpp:
+ (WebCore::printMessageSourceAndLevelPrefix):
+ * page/Console.h:
+ * page/Frame.cpp:
+ (WebCore::Frame::Frame):
+ * page/Page.cpp:
+ * page/Page.h:
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::initializeSupportedNonImageMimeTypes):
+ * platform/network/FormDataBuilder.h:
+ * platform/network/mac/ResourceHandleMac.mm:
+ (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
+ * platform/wince/MIMETypeRegistryWinCE.cpp:
+ (WebCore::initMIMETypeEntensionMap):
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::altDisplayString):
+ (WebCore::HitTestResult::absoluteImageURL):
+ (WebCore::HitTestResult::absoluteLinkURL):
+ (WebCore::HitTestResult::isLiveLink):
+ * rendering/RenderBox.cpp:
+ * rendering/RenderButton.cpp:
+ (WebCore::RenderButton::updateFromElement):
+ * rendering/RenderFieldset.cpp:
+ (WebCore::RenderFieldset::findLegend):
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::updateAltText):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::isLegend):
+ (WebCore::RenderObject::offsetParent):
+ * wml: Removed.
+ * wml/WMLAElement.cpp: Removed.
+ * wml/WMLAElement.h: Removed.
+ * wml/WMLAccessElement.cpp: Removed.
+ * wml/WMLAccessElement.h: Removed.
+ * wml/WMLAnchorElement.cpp: Removed.
+ * wml/WMLAnchorElement.h: Removed.
+ * wml/WMLAttributeNames.in: Removed.
+ * wml/WMLBRElement.cpp: Removed.
+ * wml/WMLBRElement.h: Removed.
+ * wml/WMLCardElement.cpp: Removed.
+ * wml/WMLCardElement.h: Removed.
+ * wml/WMLDoElement.cpp: Removed.
+ * wml/WMLDoElement.h: Removed.
+ * wml/WMLDocument.cpp: Removed.
+ * wml/WMLDocument.h: Removed.
+ * wml/WMLElement.cpp: Removed.
+ * wml/WMLElement.h: Removed.
+ * wml/WMLErrorHandling.cpp: Removed.
+ * wml/WMLErrorHandling.h: Removed.
+ * wml/WMLEventHandlingElement.cpp: Removed.
+ * wml/WMLEventHandlingElement.h: Removed.
+ * wml/WMLFieldSetElement.cpp: Removed.
+ * wml/WMLFieldSetElement.h: Removed.
+ * wml/WMLFormControlElement.cpp: Removed.
+ * wml/WMLFormControlElement.h: Removed.
+ * wml/WMLGoElement.cpp: Removed.
+ * wml/WMLGoElement.h: Removed.
+ * wml/WMLImageElement.cpp: Removed.
+ * wml/WMLImageElement.h: Removed.
+ * wml/WMLImageLoader.cpp: Removed.
+ * wml/WMLImageLoader.h: Removed.
+ * wml/WMLInputElement.cpp: Removed.
+ * wml/WMLInputElement.h: Removed.
+ * wml/WMLInsertedLegendElement.cpp: Removed.
+ * wml/WMLInsertedLegendElement.h: Removed.
+ * wml/WMLIntrinsicEvent.cpp: Removed.
+ * wml/WMLIntrinsicEvent.h: Removed.
+ * wml/WMLIntrinsicEventHandler.cpp: Removed.
+ * wml/WMLIntrinsicEventHandler.h: Removed.
+ * wml/WMLMetaElement.cpp: Removed.
+ * wml/WMLMetaElement.h: Removed.
+ * wml/WMLNoopElement.cpp: Removed.
+ * wml/WMLNoopElement.h: Removed.
+ * wml/WMLOnEventElement.cpp: Removed.
+ * wml/WMLOnEventElement.h: Removed.
+ * wml/WMLOptGroupElement.cpp: Removed.
+ * wml/WMLOptGroupElement.h: Removed.
+ * wml/WMLOptionElement.cpp: Removed.
+ * wml/WMLOptionElement.h: Removed.
+ * wml/WMLPElement.cpp: Removed.
+ * wml/WMLPElement.h: Removed.
+ * wml/WMLPageState.cpp: Removed.
+ * wml/WMLPageState.h: Removed.
+ * wml/WMLPostfieldElement.cpp: Removed.
+ * wml/WMLPostfieldElement.h: Removed.
+ * wml/WMLPrevElement.cpp: Removed.
+ * wml/WMLPrevElement.h: Removed.
+ * wml/WMLRefreshElement.cpp: Removed.
+ * wml/WMLRefreshElement.h: Removed.
+ * wml/WMLSelectElement.cpp: Removed.
+ * wml/WMLSelectElement.h: Removed.
+ * wml/WMLSetvarElement.cpp: Removed.
+ * wml/WMLSetvarElement.h: Removed.
+ * wml/WMLTableElement.cpp: Removed.
+ * wml/WMLTableElement.h: Removed.
+ * wml/WMLTagNames.in: Removed.
+ * wml/WMLTaskElement.cpp: Removed.
+ * wml/WMLTaskElement.h: Removed.
+ * wml/WMLTemplateElement.cpp: Removed.
+ * wml/WMLTemplateElement.h: Removed.
+ * wml/WMLTimerElement.cpp: Removed.
+ * wml/WMLTimerElement.h: Removed.
+ * wml/WMLVariables.cpp: Removed.
+ * wml/WMLVariables.h: Removed.
+
+2011-04-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r85233 and r85235.
+ http://trac.webkit.org/changeset/85233
+ http://trac.webkit.org/changeset/85235
+ https://bugs.webkit.org/show_bug.cgi?id=59754
+
+ Causes issues with jsc. (Requested by dave_levin on #webkit).
+
+ * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Removed.
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::defaultIcon):
+ (WebCore::IconDatabase::setIconDataForIconURL):
+ (WebCore::IconDatabase::getOrCreateIconRecord):
+ (WebCore::IconDatabase::readFromDatabase):
+
+2011-04-28 Jay Civelli <jcivelli@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Introducing a new class that allows serialization of a page back
+ to HTML/XML with all its sub-frames and also retrieves the page's
+ resources.
+ Tests: unit-tests in chromium/tests/WebPageNewSerializerTest.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=58947
+
+ * Android.mk:
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * dom/Document.cpp:
+ (WebCore::Document::suggestedMIMEType):
+ * dom/Document.h:
+ * editing/MarkupAccumulator.cpp:
+ (WebCore::MarkupAccumulator::appendCustomAttributes):
+ (WebCore::MarkupAccumulator::appendElement):
+ * editing/MarkupAccumulator.h:
+ * html/parser/HTMLMetaCharsetParser.cpp:
+ (WebCore::HTMLMetaCharsetParser::processMeta):
+ (WebCore::HTMLMetaCharsetParser::encodingFromMetaAttributes):
+ * html/parser/HTMLMetaCharsetParser.h:
+ * page/PageSerializer.cpp: Added.
+ * page/PageSerializer.h: Added.
+
+2011-04-28 Mark Pilgrim <pilgrim@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ IndexedDB createIndex should fail if name arg is null
+ https://bugs.webkit.org/show_bug.cgi?id=58365
+
+ Test: storage/indexeddb/mozilla/create-index-null-name.html
+
+ * storage/IDBObjectStore.idl:
+ * storage/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::createIndex):
+
+2011-04-28 Mark Pilgrim <pilgrim@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ IndexedDB put() should fail if second (key) parameter is null
+ https://bugs.webkit.org/show_bug.cgi?id=58613
+
+ If key arg is not specified, prpKey ends up as a null pointer in ::put().
+ However, if the key arg is specified but is null, prpKey ends up as a
+ valid IDBKey which has a null key type. As it happens, we need to be able
+ to detect the difference between these cases (the key arg is optional but
+ if specified must not be null).
+
+ Test: storage/indexeddb/mozilla/key-requirements-put-null-key.html
+
+ * storage/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::put):
+
+2011-04-07 David Levin <levin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Add asserts to RefCounted to make sure ref/deref happens on the right thread.
+ https://bugs.webkit.org/show_bug.cgi?id=31639
+
+ No new functionality exposed so no new tests. (The change is basically adding
+ more testing.)
+
+ * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Added.
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::defaultIcon): Set the mutex which does the guarding of the variable.
+ (WebCore::IconDatabase::getOrCreateIconRecord): Ditto.
+ (WebCore::IconDatabase::setIconDataForIconURL): Ditto.
+ (WebCore::IconDatabase::readFromDatabase): Ditto.
+
+2011-04-28 Kenneth Russell <kbr@google.com>
+
+ Unreviewed build fix for Web Audio with strict OwnPtr.
+
+ * platform/audio/HRTFDatabaseLoader.cpp:
+ (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
+
+2011-04-28 Dominic Cooney <dominicc@chromium.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Walk shadow hosts as well as parent nodes when finding opaque roots.
+ https://bugs.webkit.org/show_bug.cgi?id=59571
+
+ Test: fast/dom/shadow/gc-shadow.html
+
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::root):
+
+2011-04-28 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Click counting logic should be shared between WebKit1 and WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=59715
+
+ Added a GtkClickCounter class which is just the logic from WebKit1 pushed down
+ into WebCore so that WebKit1 and WebKit2 can share the code.
+
+ No new tests. This is covered by fast/events/click-count.html.
+
+ * GNUmakefile.list.am: Added new files.
+ * platform/gtk/GtkClickCounter.cpp: Added.
+ (WebCore::GtkClickCounter::GtkClickCounter): Added.
+ (WebCore::GtkClickCounter::reset): Added.
+ (WebCore::GtkClickCounter::shouldProcessButtonEvent): Added.
+ (WebCore::getEventTime): Added.
+ (WebCore::GtkClickCounter::clickCountForGdkButtonEvent): Added.
+ * platform/gtk/GtkClickCounter.h: Added.
+
+2011-04-28 Dan Bernstein <mitz@apple.com>
+
+ Build fix.
+
+ * css/CSSParser.cpp:
+ (WebCore::cssPropertyID):
+
+2011-04-28 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Allow specifying CSS property aliases in CSSPropertyNames.in files
+ https://bugs.webkit.org/show_bug.cgi?id=59712
+
+ * css/CSSParser.cpp:
+ (WebCore::cssPropertyID): Removed code to handle some aliases
+ * css/CSSPropertyNames.in: Added aliases no longer handled in code.
+ * css/makeprop.pl: Interpret lines of the form "alias-property-name = property-name" as
+ defining an alias, and add an appropriate entry to the gperf file.
+
+2011-04-28 Arno Renevier <arno@renevier.net>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [Soup] does not load css stylesheets without content-type
+ https://bugs.webkit.org/show_bug.cgi?id=59697
+
+ When sniffing content type, do not replace http Content-Type header in
+ soup message anymore, but keep sniffed content type in a separate
+ variable.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::contentSniffedCallback):
+ * platform/network/soup/ResourceResponse.h:
+ (WebCore::ResourceResponse::sniffedContentType):
+ (WebCore::ResourceResponse::setSniffedContentType):
+ * platform/network/soup/ResourceResponseSoup.cpp:
+ (WebCore::ResourceResponse::updateFromSoupMessage):
+
+2011-04-28 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ Remove flag ENABLE_SYMBIAN_DIALOG_PROVIDER
+ https://bugs.webkit.org/show_bug.cgi?id=59704
+
+ No new tests, just code cleanup.
+
+ * WebCore.pri:
+
+2011-04-28 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: remove "Pretty print" source frame context menu item.
+ https://bugs.webkit.org/show_bug.cgi?id=59709
+
+ * inspector/front-end/DebuggerPresentationModel.js:
+ (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
+
+2011-04-28 Satish Sampath <satish@chromium.org>
+
+ Reviewed by Tony Gentilcore.
+
+ Speech input button layout issues with padding and border.
+ https://bugs.webkit.org/show_bug.cgi?id=59613
+
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::layout):
+ (WebCore::RenderTextControlSingleLine::nodeAtPoint):
+ (WebCore::RenderTextControlSingleLine::forwardEvent):
+
+2011-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Check whether to use native scrollbars at run time
+ https://bugs.webkit.org/show_bug.cgi?id=59694
+
+ It's currently decided at build time depending on whether webkit2
+ build is enabled or not. That makes imposible to build both
+ webkit1 and webkit2 using the same libWebCore.
+
+ * GNUmakefile.am:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::wheelEvent):
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::createScrollbar):
+
+2011-04-28 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: add status bar button for pretty print.
+ https://bugs.webkit.org/show_bug.cgi?id=59467
+
+ * WebCore.gypi:
+ * inspector/front-end/Images/prettyPrintButtonGlyph.png: Added.
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+ (WebInspector.ScriptsPanel.prototype.get statusBarItems):
+ (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.css:
+ (.scripts-toggle-pretty-print-status-bar-item .glyph):
+ (.scripts-toggle-pretty-print-status-bar-item.toggled .glyph):
+
+2011-04-28 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: add ResourceTreeModel tests.
+ https://bugs.webkit.org/show_bug.cgi?id=59616
+
+ Tests: http/tests/inspector/resource-tree/resource-tree-document-url.html
+ http/tests/inspector/resource-tree/resource-tree-frame-navigate.html
+ http/tests/inspector/resource-tree/resource-tree-reload.html
+
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.ResourceTreeModel.prototype.frontendReused):
+ (WebInspector.ResourceTreeModel.prototype._addFrame):
+ (WebInspector.ResourceTreeModel.prototype._frameNavigated):
+ (WebInspector.ResourceTreeModel.prototype._frameDetached):
+ (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
+ (WebInspector.ResourceTreeModel.prototype.forAllResources):
+ (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
+ (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
+ (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype._populateResourceTree):
+ (WebInspector.ResourcesPanel.prototype._frameAdded):
+ (WebInspector.ResourcesPanel.prototype._frameDetached):
+ (WebInspector.ResourcesPanel.prototype._frameNavigated):
+ (WebInspector.FrameTreeElement):
+ (WebInspector.FrameTreeElement.prototype.frameNavigated):
+
+2011-04-28 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ WebInspector: [Chromium] Implement retaining paths following in detailed heap snapshots.
+ https://bugs.webkit.org/show_bug.cgi?id=59592
+
+ * inspector/front-end/DetailedHeapshotGridNodes.js:
+ (WebInspector.HeapSnapshotGridNode.prototype._populate):
+ (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
+ (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
+ (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
+ * inspector/front-end/DetailedHeapshotView.js:
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand):
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
+ (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.pathFound):
+ (WebInspector.DetailedHeapshotView.prototype._mouseClickInRetainmentGrid.expandRoute):
+ (WebInspector.DetailedHeapshotView.prototype._mouseClickInRetainmentGrid):
+ (WebInspector.DetailedHeapshotView.prototype.changeView.sortingComplete):
+ (WebInspector.DetailedHeapshotView.prototype.changeView):
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshotPathFinder.prototype.findNext):
+ (WebInspector.HeapSnapshotPathFinder.prototype._nextEdgeIter):
+ (WebInspector.HeapSnapshotPathFinder.prototype._buildNextPath):
+ (WebInspector.HeapSnapshotPathFinder.prototype._pathToString):
+ (WebInspector.HeapSnapshotPathFinder.prototype._pathToRoute):
+ * inspector/front-end/heapProfiler.css:
+ (div.retaining-paths-view td.path-column div:hover):
+
+2011-04-28 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: [Chromium] Optimize detailed heap snapshots loading / parsing.
+ https://bugs.webkit.org/show_bug.cgi?id=59454
+
+ Test: inspector/profiler/heap-snapshot-loader.html
+
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshotLoader):
+ (WebInspector.HeapSnapshotLoader.prototype._findBalancedCurlyBrackets):
+ (WebInspector.HeapSnapshotLoader.prototype.finishLoading):
+ (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
+ (WebInspector.HeapSnapshotLoader.prototype._parseStringsArray):
+ (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
+ * inspector/front-end/HeapSnapshotProxy.js:
+ (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
+
+2011-04-28 ojab <ojab@ojab.ru>
+
+ Reviewed by David Levin.
+
+ Fix build with libpng-1.5.1
+ https://bugs.webkit.org/show_bug.cgi?id=59607
+
+ * platform/image-decoders/png/PNGImageDecoder.cpp:
+ (WebCore::readColorProfile):
+
+2011-04-28 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Optimizing gaussian blur filter to ARM-neon SIMD instruction set
+ https://bugs.webkit.org/show_bug.cgi?id=59447
+
+ This patch contains two sub-routines, one for speeding up
+ alpha channel only gaussian blur (by 2.5 times) and one
+ for speeding up all channel blur (by 4 times).
+
+ The common code is also redesigned to better fit for platform
+ specific code. This means large chunks of code was moved to
+ different files, and all platform specific files are added to
+ all build systems.
+
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcproj/WebCoreCommon.vsprops:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/filters/FEGaussianBlur.cpp:
+ (WebCore::FEGaussianBlur::platformApplyGeneric):
+ (WebCore::FEGaussianBlur::apply):
+ * platform/graphics/filters/FEGaussianBlur.h:
+ (WebCore::FEGaussianBlur::kernelPosition):
+ (WebCore::FEGaussianBlur::platformApply):
+ * platform/graphics/filters/FELighting.cpp:
+ (WebCore::FELighting::platformApplyGeneric):
+ (WebCore::FELighting::drawLighting):
+ * platform/graphics/filters/FELighting.h:
+ (WebCore::FELighting::platformApply):
+ * platform/graphics/filters/arm/FEGaussianBlurNEON.cpp: Added.
+ (WebCore::WTF_ALIGNED):
+ (WebCore::feGaussianBlurConstantsForNeon):
+ * platform/graphics/filters/arm/FEGaussianBlurNEON.h: Added.
+ (WebCore::FEGaussianBlur::platformApplyNeon):
+ * platform/graphics/filters/arm/FELightingNEON.cpp:
+ (WebCore::WTF_ALIGNED):
+ (WebCore::FELighting::getPowerCoefficients):
+ * platform/graphics/filters/arm/FELightingNEON.h:
+ (WebCore::FELighting::platformApplyNeon):
+
+2011-04-28 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: provide a hotkey for script pause
+ https://bugs.webkit.org/show_bug.cgi?id=59593
+
+ In fact, F8 works as a hotkey, but this fact was not reflected
+ in the shortcut help popup.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._registerShortcuts):
+
+2011-04-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ PluginStream should play nice with strict OwnPtr
+ https://bugs.webkit.org/show_bug.cgi?id=59675
+
+ These failures appear when enabling strict OwnPtr on Qt.
+
+ * plugins/PluginStream.cpp:
+ (WebCore::PluginStream::PluginStream):
+ (WebCore::PluginStream::didReceiveData):
+
+2011-04-26 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Use CachedResource to retrieve charset-decoded stylesheet text
+ https://bugs.webkit.org/show_bug.cgi?id=59326
+
+ Concrete CachedResource successors for stylesheets and scripts
+ can decode their content better than the generic approach we use.
+
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::decodeSharedBuffer):
+ (WebCore::prepareCachedResourceBuffer):
+ (WebCore::cachedResourceDecoded):
+ (WebCore::InspectorPageAgent::resourceContent):
+ (WebCore::InspectorPageAgent::resourceData):
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::InspectorStyleSheet::originalStyleSheetText):
+
+2011-04-28 Jon Lee <jonlee@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ REGRESSION: white overlay scrollbars on apple.com/startpage
+ https://bugs.webkit.org/show_bug.cgi?id=59540
+ <rdar://problem/9338653>
+
+ Now we look at the document background in addition to the <body> element,
+ and blend those colors in with the base background of the frame view to
+ arrive at our aggregate color. This provides a better result to determine
+ overlay scrollbar style.
+
+ * page/Frame.cpp:
+ (WebCore::Frame::getDocumentBackgroundColor): look up the colors on the html and body element, and properly composite them.
+ * platform/graphics/Color.h: a short comment to note that blend() uses the Porter-Duff source-over equation
+
+2011-04-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix OwnPtr issues in IndexedDB
+ https://bugs.webkit.org/show_bug.cgi?id=59656
+
+ This patch is an attempt to fix the clang build. Clang can't seem to
+ cope with OwnPtrs to classes declared in an anonymous namespace because
+ OwnPtr's copy constructor isn't defined (but would need to be defined
+ in this translation unit).
+
+ * platform/leveldb/LevelDBDatabase.cpp:
+
+2011-04-27 Ryuan Choi <ryuan.choi@samsung.com>
+
+ Reviewed by Antonio Gomes.
+
+ [EFL] Change cursor to LAZY_NATIVE_CURSOR
+ https://bugs.webkit.org/show_bug.cgi?id=59411
+
+ Enable LAZY_NATIVE_CURSOR on EFL build.
+
+ No test added because functionality is unchanged.
+
+ * CMakeListsEfl.txt: Add Cursor.cpp
+ * platform/Cursor.h:
+ (WebCore::Cursor::Cursor):
+ * platform/efl/CursorEfl.cpp:
+ (WebCore::Cursor::Cursor):
+ (WebCore::Cursor::~Cursor):
+ (WebCore::getCursorString):
+ (WebCore::Cursor::ensurePlatformCursor):
+ * platform/efl/WidgetEfl.cpp:
+ (WebCore::Widget::setCursor):
+
+2011-04-27 Adam Barth <abarth@webkit.org>
+
+ Build fix from the future. Another trival strict OwnPtr fixes. This
+ is the last futuristic build fix I can detect with my time traveling
+ abilities.
+
+ * platform/graphics/chromium/TransparencyWin.cpp:
+ (WebCore::TransparencyWin::initializeNewContext):
+
+2011-04-27 Dmitry Lomov <dslomov@google.com>
+
+ Reviewed by David Levin.
+
+ CrossThreadCopier should not have a default specialization for raw pointers
+ https://bugs.webkit.org/show_bug.cgi?id=59234
+ Removed the ablity to pass raw pointers cross-thread
+ Added and applied annotations for doing that
+
+ * fileapi/FileReader.cpp:
+ (WebCore::FileReader::readInternal):
+ (WebCore::FileReader::abort):
+ * fileapi/FileStreamProxy.cpp:
+ (WebCore::FileStreamProxy::startOnFileThread):
+ (WebCore::FileStreamProxy::stopOnFileThread):
+ (WebCore::FileStreamProxy::getSize):
+ (WebCore::FileStreamProxy::getSizeOnFileThread):
+ (WebCore::FileStreamProxy::openForRead):
+ (WebCore::FileStreamProxy::openForReadOnFileThread):
+ (WebCore::FileStreamProxy::openForWrite):
+ (WebCore::FileStreamProxy::openForWriteOnFileThread):
+ (WebCore::FileStreamProxy::close):
+ (WebCore::FileStreamProxy::read):
+ (WebCore::FileStreamProxy::readOnFileThread):
+ (WebCore::FileStreamProxy::write):
+ (WebCore::FileStreamProxy::writeOnFileThread):
+ (WebCore::FileStreamProxy::truncate):
+ (WebCore::FileStreamProxy::truncateOnFileThread):
+ * loader/WorkerThreadableLoader.cpp:
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
+ * page/GeolocationPositionCache.cpp:
+ (WebCore::GeolocationPositionCache::triggerReadFromDatabase):
+ (WebCore::GeolocationPositionCache::triggerWriteToDatabase):
+ * platform/CrossThreadCopier.h:
+ (WebCore::AllowCrossThreadAccessWrapper::AllowCrossThreadAccessWrapper):
+ (WebCore::AllowCrossThreadAccessWrapper::value):
+ (WebCore::AllowCrossThreadAccess):
+ (WebCore::AllowExtendedLifetimeWrapper::AllowExtendedLifetimeWrapper):
+ (WebCore::AllowExtendedLifetimeWrapper::value):
+ (WebCore::AllowExtendedLifetime):
+ * platform/graphics/chromium/cc/CCCompletionEvent.h:
+ * storage/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::get):
+ (WebCore::IDBObjectStoreBackendImpl::put):
+ (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
+ (WebCore::IDBObjectStoreBackendImpl::clear):
+ (WebCore::IDBObjectStoreBackendImpl::createIndex):
+ (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
+ (WebCore::IDBObjectStoreBackendImpl::openCursor):
+ * storage/SQLCallbackWrapper.h:
+ (WebCore::SQLCallbackWrapper::clear):
+ * websockets/WorkerThreadableWebSocketChannel.cpp:
+ (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
+ (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
+ (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
+ (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
+ (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
+ (WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
+ (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
+ (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
+ (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
+ * workers/WorkerMessagingProxy.cpp:
+ (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
+
+2011-04-27 Adam Barth <abarth@webkit.org>
+
+ Two build fixes from the future. (Trivial strict OwnPtr fixes.)
+
+ * page/Frame.cpp:
+ (WebCore::Frame::setTiledBackingStoreEnabled):
+ * platform/audio/ReverbConvolver.cpp:
+ (WebCore::ReverbConvolver::ReverbConvolver):
+
+2011-04-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ Fix five strict PassOwnPtr violations in WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=59640
+
+ * css/MediaList.cpp:
+ (WebCore::MediaList::deleteMedium):
+ (WebCore::MediaList::setMediaText):
+ (WebCore::MediaList::appendMedium):
+ * css/MediaQuery.h:
+ * dom/MessagePort.cpp:
+ (WebCore::MessagePort::disentanglePorts):
+ (WebCore::MessagePort::entanglePorts):
+ * inspector/InspectorStyleSheet.cpp:
+ (ParsedStyleSheet::setText):
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::adjustStyle):
+ (WebCore::RenderTheme::adjustMeterStyle):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::adjustMenuListStyle):
+ (WebCore::RenderThemeMac::adjustSliderTrackStyle):
+ (WebCore::RenderThemeMac::adjustSliderThumbStyle):
+ (WebCore::RenderThemeMac::adjustSearchFieldStyle):
+ (WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
+ (WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle):
+ (WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle):
+ (WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
+
+2011-04-27 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ <rdar://problem/9315254> ARIA role attribute implemented incorrectly; does not support token list with fallbacks
+ https://bugs.webkit.org/show_bug.cgi?id=59648
+
+ Test: accessibility/aria-fallback-roles.html
+
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::ariaRoleToWebCoreRole):
+
+2011-04-27 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=59671
+ Race condition with scrollbar animations and closing a page can cause a crash in
+ WebCore::FrameView::setVisibleScrollerThumbRect + 15
+ -and corresponding-
+ <rdar://problem/9329253>
+
+ It is definitely possible for Page to be null here. So we should null-check it!
+ And we should not ASSERT.
+ * page/FrameView.cpp:
+ (WebCore::FrameView::didCompleteRubberBand):
+ (WebCore::FrameView::scrollbarStyleChanged):
+ (WebCore::FrameView::setVisibleScrollerThumbRect):
+
+2011-04-27 Ryosuke Niwa <rniwa@webkit.org>
+
+ WinCE build fix after r85143.
+
+ * platform/graphics/wince/FontWinCE.cpp:
+ (WebCore::TextRunComponent::TextRunComponent):
+
+2011-04-27 Mark Pilgrim <pilgrim@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ IndexedDB object store delete should fail if key is null
+ https://bugs.webkit.org/show_bug.cgi?id=58614
+
+ Test: storage/indexeddb/mozilla/key-requirements-delete-null-key.html
+
+ * storage/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
+
+2011-04-27 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Ryosuke Niwa.
+
+ Should have an easy way to construct starting BidiStatus for a paragraph root
+ https://bugs.webkit.org/show_bug.cgi?id=59226
+
+ Two places try to construct BidiStatuses for a paragraph root using copy/paste code.
+ I've made this a constructor for BidiStatus instead.
+
+ As part of this effort I added a direction() accessor for TextRun and got
+ rid of the old m_rtl bool. This is part of the generic effort in the
+ Bidi code to replace old bool usage with the superior TextDirection enum
+ (this generally makes the code cleaner).
+
+ As part of this replacement effort I found several places which were
+ assuming LTR (by passing rtl=false) when they probably want to use
+ the current text direction. I suspect that LTR vs. RTL may affect
+ string width in the case of ligatures. It's unclear.
+
+ This is almost entirely a mechanical change.
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::drawTextInternal):
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::drawBidiText):
+ * platform/graphics/TextRun.h:
+ (WebCore::TextRun::TextRun):
+ (WebCore::TextRun::direction):
+ (WebCore::TextRun::rtl):
+ (WebCore::TextRun::ltr):
+ (WebCore::TextRun::setDirection):
+ * platform/text/BidiResolver.h:
+ (WebCore::BidiStatus::BidiStatus):
+ * rendering/EllipsisBox.cpp:
+ (WebCore::EllipsisBox::paint):
+ (WebCore::EllipsisBox::selectionRect):
+ (WebCore::EllipsisBox::paintSelection):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::selectionRect):
+ (WebCore::InlineTextBox::paint):
+ (WebCore::InlineTextBox::paintSelection):
+ (WebCore::InlineTextBox::paintCompositionBackground):
+ (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
+ (WebCore::InlineTextBox::paintTextMatchMarker):
+ (WebCore::InlineTextBox::computeRectForReplacementMarker):
+ (WebCore::InlineTextBox::offsetForPosition):
+ (WebCore::InlineTextBox::positionForOffset):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::determineStartPosition):
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::paintObject):
+ (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::updateFromElement):
+ (WebCore::RenderListBox::paintItemForeground):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::getAvgCharWidth):
+ (WebCore::RenderTextControl::paintPlaceholder):
+ * rendering/svg/SVGInlineTextBox.cpp:
+ (WebCore::SVGInlineTextBox::constructTextRun):
+ * rendering/svg/SVGTextMetrics.cpp:
+ (WebCore::constructTextRun):
+
+2011-04-27 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Allow shadowing of history object
+ https://bugs.webkit.org/show_bug.cgi?id=55965
+
+ Tests: http/tests/history/cross-origin-replace-history-object-child.html
+ http/tests/history/cross-origin-replace-history-object.html
+
+ * page/DOMWindow.idl:
+
+2011-04-27 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Ensure compositing layers are up to date before entering doComposite
+ https://bugs.webkit.org/show_bug.cgi?id=59159
+
+ Adds some assertions to try to catch GraphicsLayer mutations at bad times (such as during
+ GraphicsLayerClient::paintContents() implementations).
+
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
+ * platform/graphics/chromium/LayerChromium.cpp:
+ (WebCore::LayerChromium::LayerChromium):
+ (WebCore::LayerChromium::~LayerChromium):
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::updateLayers):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ Add a set of assertions that we aren't creating or destroying LayerChromiums during paintContents
+
+2011-04-27 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Fix OwnPtr strict issues in chromium linux build
+ https://bugs.webkit.org/show_bug.cgi?id=59664
+
+ * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
+ (WebCore::ComplexTextController::getNormalizedTextRun):
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (WebCore::PlatformContextSkia::PlatformContextSkia):
+
+2011-04-27 Chris Rogers <crogers@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ Make sure to set sample-rate of created AudioBus in AudioBus::createBySampleRateConverting()
+ https://bugs.webkit.org/show_bug.cgi?id=59641
+
+ No new tests since audio API is not yet implemented.
+
+ * platform/audio/AudioBus.cpp:
+ (WebCore::AudioBus::createBySampleRateConverting):
+ (WebCore::AudioBus::createByMixingToMono):
+
+2011-04-27 Geoffrey Garen <ggaren@apple.com>
+
+ Motivated by Alexey Proskuryakov.
+
+ * bindings/scripts/CodeGeneratorJS.pm: Tried to make this comment more
+ informative, since it confused Alexey and me.
+
+2011-04-27 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixed a small leak related to CSSValues when deallocating a DOMWrapperWorld
+ https://bugs.webkit.org/show_bug.cgi?id=59646
+
+ Made the cssValueRoots map per-world, instead of a global. When we deallocate
+ a world, we need to clear all entries in the map for that world, since
+ the finalizers that would otherwise clear those entries don't run. The
+ simplest way to do this is just to make the world own the map.
+
+ * bindings/js/DOMWrapperWorld.h:
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
+ * bindings/js/JSCSSValueCustom.cpp:
+ (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSCSSValueOwner::finalize):
+ * bindings/js/JSDOMBinding.h:
+
+2011-04-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ Fix OwnPtr issues in IndexedDB
+ https://bugs.webkit.org/show_bug.cgi?id=59656
+
+ I didn't do an exhaustive review of this code, but I fixed the problems
+ caught by turning on strict OwnPtr and all their antecedents. This
+ patch is entirely tighter bookkeeping. There shouldn't be any actual
+ behavior change.
+
+ * platform/leveldb/LevelDBDatabase.cpp:
+ (WebCore::LevelDBDatabase::LevelDBDatabase):
+ (WebCore::LevelDBDatabase::open):
+ (WebCore::LevelDBDatabase::createIterator):
+ * platform/leveldb/LevelDBDatabase.h:
+ * platform/leveldb/LevelDBIterator.cpp:
+ (WebCore::LevelDBIterator::LevelDBIterator):
+ * platform/leveldb/LevelDBIterator.h:
+ * storage/IDBLevelDBBackingStore.cpp:
+ (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
+ (WebCore::IDBLevelDBBackingStore::open):
+ (WebCore::getNewDatabaseId):
+ (WebCore::IDBLevelDBBackingStore::getObjectStores):
+ (WebCore::getNewObjectStoreId):
+ (WebCore::deleteRange):
+ (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
+ (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
+ (WebCore::IDBLevelDBBackingStore::getIndexes):
+ (WebCore::getNewIndexId):
+ (WebCore::findGreatestKeyLessThan):
+ (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
+ (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
+ (WebCore::findLastIndexKeyEqualTo):
+ * storage/IDBLevelDBBackingStore.h:
+
+2011-04-19 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Tony Chang.
+
+ [Refactoring] DocumentMarkerController::MarkerMapVectorPair should be replaced with a list of some class.
+ https://bugs.webkit.org/show_bug.cgi?id=58113
+
+ * Introduced RenderedDocumentMarker, a subclass of DocumentMarker.
+ * Eliminated Vector<IntRect> and move the IntRect into RenderedDocumentMarker
+ * Now MarkerMapVectorPair is no longer used.
+
+ No new tests, No behavior change.
+
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/DocumentMarker.h:
+ * dom/DocumentMarkerController.cpp:
+ (WebCore::DocumentMarkerController::addMarker):
+ (WebCore::DocumentMarkerController::copyMarkers):
+ (WebCore::DocumentMarkerController::removeMarkers):
+ (WebCore::DocumentMarkerController::markerContainingPoint):
+ (WebCore::DocumentMarkerController::markersForNode):
+ (WebCore::DocumentMarkerController::renderedRectsForMarkers):
+ (WebCore::DocumentMarkerController::removeMarkersFromList):
+ (WebCore::DocumentMarkerController::repaintMarkers):
+ (WebCore::DocumentMarkerController::setRenderedRectForMarker):
+ (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
+ (WebCore::DocumentMarkerController::shiftMarkers):
+ (WebCore::DocumentMarkerController::setMarkersActive):
+ (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
+ (WebCore::DocumentMarkerController::showMarkers):
+ * dom/DocumentMarkerController.h:
+ * dom/RenderedDocumentMarker.h: Added.
+ (WebCore::RenderedDocumentMarker::RenderedDocumentMarker):
+ (WebCore::RenderedDocumentMarker::isRendered):
+ (WebCore::RenderedDocumentMarker::contains):
+ (WebCore::RenderedDocumentMarker::setRenderedRect):
+ (WebCore::RenderedDocumentMarker::renderedRect):
+ (WebCore::RenderedDocumentMarker::invalidate):
+ (WebCore::RenderedDocumentMarker::invalidMarkerRect):
+
+2011-04-27 James Robinson <jamesr@chromium.org>
+
+ Unreviewed, rolling out r85112.
+ http://trac.webkit.org/changeset/85112
+ https://bugs.webkit.org/show_bug.cgi?id=59159
+
+ Broke mac compile
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::updateCompositingLayers):
+ * page/FrameView.h:
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
+ * platform/graphics/chromium/LayerChromium.cpp:
+ (WebCore::LayerChromium::LayerChromium):
+ (WebCore::LayerChromium::~LayerChromium):
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::updateLayers):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+
+2011-04-27 Mark Rowe <mrowe@apple.com>
+
+ Build fix.
+
+ * WebCore.xcodeproj/project.pbxproj: Make RenderLayerCompositor.h accessbile to WebKit and WebKit2.
+
+2011-04-27 Pratik Solanki <psolanki@apple.com>
+
+ Unreviewed. Fix WinCE build. The include should be guarded inside USE(CFNETWORK).
+
+ * platform/network/ResourceHandleClient.h:
+
+2011-04-27 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Ensure compositing layers are up to date before entering doComposite
+ https://bugs.webkit.org/show_bug.cgi?id=59159
+
+ Adds some assertions to try to catch GraphicsLayer mutations at bad times (such as during
+ GraphicsLayerClient::paintContents() implementations).
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::updateCompositingLayers):
+ Add an optional CompositingUpdateType parameter.
+ * page/FrameView.h:
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
+ * platform/graphics/chromium/LayerChromium.cpp:
+ (WebCore::LayerChromium::LayerChromium):
+ (WebCore::LayerChromium::~LayerChromium):
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::updateLayers):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ Add a set of assertions that we aren't creating or destroying LayerChromiums during paintContents
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::dirtyZOrderLists):
+ (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::updateCompositingLayers):
+ * rendering/RenderLayerCompositor.h:
+ Fix a typo in CompositingUpdateType Pait->Paint
+
+2011-04-27 Pratik Solanki <psolanki@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ Part of WebCore should use CFNetwork-based loader on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=51836
+
+ Add willCacheResponse method when using CFNetwork on Mac. Also put appropriate ifdefs around
+ willCacheResponse/shouldCacheResponse.
+
+ * loader/EmptyClients.h:
+ * loader/FrameLoaderClient.h:
+ * loader/ResourceLoader.h:
+ * loader/cf/ResourceLoaderCFNet.cpp:
+ * loader/mac/ResourceLoaderMac.mm:
+ (WebCore::ResourceLoader::willCacheResponse):
+ * platform/network/ResourceHandleClient.h:
+ (WebCore::ResourceHandleClient::willCacheResponse):
+ (WebCore::ResourceHandleClient::shouldCacheResponse):
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::willCacheResponse):
+
+2011-04-27 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Brian Weinstein.
+
+ Web Inspector: Stop on Exception state does not persist.
+
+ A wrong property name was used when we persist PauseOnExceptionState property to Local Storage.
+ https://bugs.webkit.org/show_bug.cgi?id=59630
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
+ (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions.callback):
+ (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
+
+2011-04-27 Adrienne Walker <enne@google.com>
+
+ [chromium] Unreviewed, rollout r85075 (scissor rect changes)
+ https://bugs.webkit.org/show_bug.cgi?id=59020
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
+
+2011-04-27 Darin Adler <darin@apple.com>
+
+ Reviewed by David Levin.
+
+ Fix strict OwnPtr issues seen in about 30 more files
+ https://bugs.webkit.org/show_bug.cgi?id=59615
+
+ * bindings/js/JSCallbackData.h:
+ (WebCore::DeleteCallbackDataTask::create): Use adoptPtr.
+ * bindings/js/JSMessageEventCustom.cpp:
+ (WebCore::JSMessageEvent::initMessageEvent): Use adoptPtr.
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::updateSpecifiersWithElementName): Use OwnPtr,
+ adoptPtr, and release.
+ * dom/MessageEvent.cpp:
+ (WebCore::MessageEvent::initMessageEvent): Use OwnPtr, adoptPtr,
+ and release.
+ * dom/MessagePortChannel.cpp:
+ (WebCore::MessagePortChannel::EventData::create): Use adoptPtr.
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ProcessMessagesSoonTask::create): Use adoptPtr.
+ * dom/XMLDocumentParserLibxml2.cpp:
+ (WebCore::XMLDocumentParser::doEnd): Use adoptPtr.
+ * dom/default/PlatformMessagePortChannel.cpp:
+ (WebCore::MessagePortChannel::create): Use adoptPtr.
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::detach): Use nullptr.
+ * inspector/InspectorAgent.cpp:
+ (WebCore::PostWorkerNotificationToFrontendTask::create): Use adoptPtr.
+ * inspector/InspectorConsoleAgent.cpp:
+ (WebCore::InspectorConsoleAgent::addMessageToConsole): Use adoptPtr.
+ (WebCore::InspectorConsoleAgent::didReceiveResponse): Use adoptPtr.
+ (WebCore::InspectorConsoleAgent::didFailLoading): Use adoptPtr.
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::connectFrontend): Use adoptPtr.
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::didInvalidateStyleAttr): Use adoptPtr.
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::InspectorResourceAgent::InspectorResourceAgent): Use adoptPtr.
+ * page/FrameActionScheduler.cpp:
+ (WebCore::FrameActionScheduler::scheduleEvent): Use adoptPtr.
+ * platform/graphics/ShadowBlur.cpp:
+ (WebCore::ScratchBuffer::clearScratchBuffer): Use nullptr.
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayer::create): Use adoptPtr.
+ (WebCore::GraphicsLayerCA::ensureCloneLayers): Use adoptPtr.
+ (WebCore::GraphicsLayerCA::removeCloneLayers): Use nullptr.
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::setMaxMarginBeforeValues): Use adoptPtr.
+ (WebCore::RenderBlock::setMaxMarginAfterValues): Use adoptPtr.
+ (WebCore::RenderBlock::setPaginationStrut): Use adoptPtr.
+ (WebCore::RenderBlock::setPageLogicalOffset): Use adoptPtr.
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::destroyGraphicsLayer): Use nullptr.
+ (WebCore::RenderLayerBacking::updateClippingLayers): Use nullptr.
+ (WebCore::RenderLayerBacking::updateForegroundLayer): Use nullptr.
+ (WebCore::RenderLayerBacking::updateMaskLayer): Use nullptr.
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): Use nullptr.
+ (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Use nullptr.
+ (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Use nullptr.
+ * rendering/style/StyleRareNonInheritedData.cpp:
+ (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Removed
+ explicit initializations of OwnPtr members to 0. Use adoptPtr.
+ * workers/SharedWorkerContext.cpp:
+ (WebCore::createConnectEvent): Use adoptPtr.
+ * workers/Worker.cpp:
+ (WebCore::Worker::notifyFinished): Use nullptr.
+
+2011-04-27 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION (r84311): Copy should preserve background color if specified in the body only if the entire content is selected.
+ https://bugs.webkit.org/show_bug.cgi?id=59251
+ <rdar://problem/9327044>
+
+ When we are looking for wrapping elements that are presentational, we should
+ include elements that have a non transparent background color only if they
+ are not blocks.
+
+ Test: editing/pasteboard/do-not-copy-body-color.html
+
+ * editing/markup.cpp:
+ (WebCore::isElementPresentational):
+
+2011-04-20 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Antti Koivisto.
+
+ Teach sub-selector chains about shadow descendants
+ https://bugs.webkit.org/show_bug.cgi?id=58342
+
+ The primary change is to the logic of parsing specifiers:
+ 1) The shadow descendant selectors (those specifiers that are unknown
+ pseudo element selectors) are always kept at the top of the chain.
+ 2) The sub-selectors after shadow descendant selectors are stashed right
+ behind the sub-selector, but not at the end of the chain.
+ 3) Other sub-selectors are appended at the end of the chain.
+
+ * css/CSSGrammar.y: Changed specifier_list collection to use new
+ CSSParser::updateSpecifier helper.
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::updateSpecifiersWithElementName): Added logic to
+ look for the last ShadowDescendant relation in the chain of selectors,
+ because the next selector after it is the one that should get the
+ element name.
+ (WebCore::CSSParser::updateSpecifiers): Moved and modified the logic from
+ CSSGrammar.y. The new logic adjusts the selector chain to allow
+ shadow descendant selectors have sub-selectors (and have multiple shadow
+ descendants in the chain).
+ * css/CSSParser.h: Added decl.
+ * css/CSSParserValues.cpp:
+ (WebCore::CSSParserSelector::insertTagHistory): Added.
+ (WebCore::CSSParserSelector::appendTagHistory): Aded.
+ * css/CSSParserValues.h: Added decls.
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added
+ shadow descendant selector match check, since now there could be many
+ of them in the selector chain.
+
+2011-04-20 Adrienne Walker <enne@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Fix incorrect scissor rect for layers that render into a rendersurface
+ https://bugs.webkit.org/show_bug.cgi?id=59020
+
+ mapRect is the incorrect transform here. The parent scissor rect
+ needs to be projected into layer space instead.
+
+ Test: compositing/flat-with-transformed-child.html
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
+
+2011-04-27 Pratik Solanki <psolanki@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ Part of WebCore should use CFNetwork-based loader on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=51836
+
+ * Configurations/WebCore.xcconfig: Add location of CFNetwork.framework.
+ * platform/mac/SoftLinking.h:
+ * platform/network/cf/CookieJarCFNet.cpp: Soft-link in CFNetwork functions on Mac.
+
+2011-04-27 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Antti Koivisto.
+
+ Cleanup CSSStyleApplyProperty.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=59623
+
+ As first step remove ApplyPropertyColorBase, merge it with ApplyPropertyColor, there's no need for two seperated classes.
+ Use typedefs instead of repating the function pointer declarations in a few places.
+
+ * css/CSSStyleApplyProperty.cpp:
+ (WebCore::ApplyPropertyDefault::ApplyPropertyDefault):
+ (WebCore::ApplyPropertyColor::ApplyPropertyColor):
+ (WebCore::ApplyPropertyColor::applyInheritValue):
+ (WebCore::ApplyPropertyColor::applyInitialValue):
+ (WebCore::ApplyPropertyColor::applyValue):
+ (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
+
+2011-04-27 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/9335973> REGRESSION (r84341): Buttons in the Mac App store are rendered incorrectly
+ https://bugs.webkit.org/show_bug.cgi?id=59622
+
+ Test: fast/borders/border-image-trumps-radius.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::determineBackgroundBleedAvoidance): If there is a renderable, loaded border
+ image, then border radius is ignored, so no bleed avoidance is needed.
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::borderImageIsLoadedAndCanBeRendered): Added. Moved some logic here from...
+ (WebCore::RenderObject::mustRepaintBackgroundOrBorder): ...here.
+ * rendering/RenderObject.h:
+
+2011-02-03 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] editing/pasteboard/copy-standalone-image.html fails
+ https://bugs.webkit.org/show_bug.cgi?id=53645
+
+ When writing an image to the clipboard, also write the URL and title
+ into the markup and URL portion. This change also abstracts a helper
+ imageToMarkup into markup.{cpp/h} from several different locations
+ throughout the platform layer.
+
+ * editing/markup.h: Added new function definition.
+ * editing/markup.cpp:
+ (WebCore::imageToMarkup): Add this function which turns an image URL
+ and element into some markup representing that image, while preserving
+ non-src attributes.
+ * platform/chromium/ClipboardChromium.cpp: Move the imageToMarkup helper
+ to markup.cpp.
+ * platform/gtk/PasteboardGtk.cpp:
+ (WebCore::getURLForImageNode): Add this helper which gets the appropriate
+ image URL for a variety of image tag types.
+ (WebCore::Pasteboard::writeImage): Write the image URL and title to the
+ markup and URL portions of the clipboard. This will ensure that images
+ paste properly back into WebKit.
+ * platform/win/ClipboardWin.cpp: Remove the imageToMarkup helper and the
+ one from markup.h
+
+2011-04-27 Steve Block <steveblock@google.com>
+
+ Reviewed by David Levin.
+
+ Remove Android build system
+ https://bugs.webkit.org/show_bug.cgi?id=48111
+
+ This is to avoid the maintenance burden until the Android port is
+ fully upstreamed.
+
+ No new tests, build change only.
+
+ * Android.derived.jscbindings.mk: Removed.
+ * Android.derived.mk: Removed.
+ * Android.derived.v8bindings.mk: Removed.
+ * Android.jscbindings.mk: Removed.
+ * Android.mk: Removed.
+ * Android.v8bindings.mk: Removed.
+
+2011-04-27 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Somehow about:blank gets into the icon database
+ https://bugs.webkit.org/show_bug.cgi?id=58067
+ rdar://problem/6751446
+
+ Implemented the policy Brady suggested, where only http and https URLs can
+ be associated with and icon, guarding both on the way in to the database,
+ and on the way out.
+
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::pageCanHaveIcon): Added.
+ (WebCore::IconDatabase::synchronousIconForPageURL): Call pageCanHaveIcon
+ instead of just checking for an empty URL.
+ (WebCore::IconDatabase::synchronousIconURLForPageURL): Ditto.
+ (WebCore::IconDatabase::retainIconForPageURL): Ditto.
+ (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
+ (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
+ (WebCore::IconDatabase::getOrCreatePageURLRecord): Ditto.
+ (WebCore::IconDatabase::importIconURLForPageURL): Broke assertion into
+ two separate assertions and added a third.
+ (WebCore::IconDatabase::performURLImport): Call pageCanHaveIcon.
+
+ * platform/KURL.cpp: Sorted includes. Moved a FIXME to the top of the file.
+ (WebCore::isLetterMatchIgnoringCase): Renamed matchLetter to this name,
+ overloaded it to work on both UChar and char, and added an assertion to it.
+ Also moved this to the top of the file and made the UChar version usable
+ in the shared code used even by Google.
+ (WebCore::KURL::invalidate): Updated for name change.
+ (WebCore::KURL::protocolIs): Use isLetterMatchIgnoringCase instead of
+ toASCIILower since it's faster.
+ (WebCore::KURL::parse): Updated for name changes.
+ (WebCore::protocolIs):Use isLetterMatchIgnoringCase instead of toASCIILower
+ since it's faster.
+ (WebCore::protocolIsInHTTPFamily): Added.
+
+ * platform/KURL.h: Tweaked formatting. Renamed protocolInHTTPFamily
+ to protocolIsInHTTPFamily and added a version that works on a string.
+ Kept the old name as an inline function so we don't have to rename
+ all the cal sites now.
+
+ * platform/KURLGoogle.cpp: Renamed as above.
+ (WebCore::KURLGooglePrivate::KURLGooglePrivate): Updated for rename.
+ (WebCore::KURLGooglePrivate::setUtf8): Ditto.
+ (WebCore::KURLGooglePrivate::setAscii): Ditto.
+ (WebCore::KURLGooglePrivate::initProtocolIsInHTTPFamily): Ditto.
+ (WebCore::KURLGooglePrivate::copyTo): Ditto.
+ (WebCore::KURL::KURL): Ditto.
+ (WebCore::KURL::protocolIsInHTTPFamily): Ditto.
+ (WebCore::KURL::invalidate): Ditto.
+ * platform/KURLGooglePrivate.h: Ditto.
+
+ * WebCore.exp.in: Updated for above changes.
+
+2011-04-27 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: browser crash on evaluation of 'throw undefined'
+ https://bugs.webkit.org/show_bug.cgi?id=59611
+
+ Test: inspector/console/console-eval-throw-undefined.html
+
+ * inspector/InjectedScriptSource.js: use try/catch to protect from
+ exception during conversion of another exception to string.
+
+2011-04-27 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: clicking bookmarklet multiplies resources panel entries.
+ https://bugs.webkit.org/show_bug.cgi?id=59590
+
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.ResourceTreeModel):
+ (WebInspector.ResourceTreeModel.prototype._processCachedResources):
+ (WebInspector.ResourceTreeModel.prototype._frameNavigated):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype._populateResourceTree):
+ (WebInspector.FrameTreeElement):
+ (WebInspector.FrameTreeElement.prototype.appendResource):
+ * inspector/front-end/inspector.js:
+ (WebInspector.frontendReused):
+
+2011-04-27 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: opening bookmarklet disconnects DOM agent.
+ https://bugs.webkit.org/show_bug.cgi?id=59588
+
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::setDocument):
+
+2011-04-27 Hans Wennborg <hans@chromium.org>
+
+ Reviewed by Tony Gentilcore.
+
+ IndexedDB: Fix compiler warnings about uninitialized variables
+ https://bugs.webkit.org/show_bug.cgi?id=59599
+
+ Build fix. No new tests.
+
+ * storage/IDBLevelDBBackingStore.cpp:
+ (WebCore::getNewObjectStoreId):
+ (WebCore::getNewIndexId):
+
+2011-04-26 Hans Wennborg <hans@chromium.org>
+
+ Reviewed by Tony Gentilcore.
+
+ IndexedDB: Move LevelDB key coding routines to separate file
+ https://bugs.webkit.org/show_bug.cgi?id=59452
+
+ Move all routines concerned with encoding, decoding and comparison of
+ LevelDB keys from IDBLevelDBBackingStore.cpp to a separate file:
+ IDBLevelDBCoding.cpp.
+
+ This makes IDBLevelDBBackingStore.cpp easier to work with, and will
+ allow for unit testing of the coding routines.
+
+ No new functionality, no new tests.
+
+ * WebCore.gypi:
+ * storage/IDBLevelDBBackingStore.cpp:
+ (WebCore::getInt):
+ (WebCore::putInt):
+ (WebCore::getString):
+ (WebCore::putString):
+ (WebCore::compareKeys):
+ (WebCore::compareIndexKeys):
+ (WebCore::Comparator::compare):
+ (WebCore::setUpMetadata):
+ (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData):
+ (WebCore::getNewDatabaseId):
+ (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
+ (WebCore::IDBLevelDBBackingStore::getObjectStores):
+ (WebCore::getNewObjectStoreId):
+ (WebCore::IDBLevelDBBackingStore::createObjectStore):
+ (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
+ (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
+ (WebCore::getNewVersionNumber):
+ (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
+ (WebCore::IDBLevelDBBackingStore::clearObjectStore):
+ (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
+ (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
+ (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
+ (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
+ (WebCore::IDBLevelDBBackingStore::getIndexes):
+ (WebCore::getNewIndexId):
+ (WebCore::IDBLevelDBBackingStore::createIndex):
+ (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
+ (WebCore::versionExists):
+ (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
+ (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
+ (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
+ (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
+ (WebCore::IDBLevelDBBackingStore::openIndexCursor):
+ * storage/IDBLevelDBCoding.cpp: Added.
+ (WebCore::IDBLevelDBCoding::encodeByte):
+ (WebCore::IDBLevelDBCoding::maxIDBKey):
+ (WebCore::IDBLevelDBCoding::minIDBKey):
+ (WebCore::IDBLevelDBCoding::encodeInt):
+ (WebCore::IDBLevelDBCoding::decodeInt):
+ (WebCore::IDBLevelDBCoding::encodeVarInt):
+ (WebCore::IDBLevelDBCoding::decodeVarInt):
+ (WebCore::IDBLevelDBCoding::encodeString):
+ (WebCore::IDBLevelDBCoding::decodeString):
+ (WebCore::IDBLevelDBCoding::encodeStringWithLength):
+ (WebCore::IDBLevelDBCoding::decodeStringWithLength):
+ (WebCore::IDBLevelDBCoding::encodeDouble):
+ (WebCore::IDBLevelDBCoding::decodeDouble):
+ (WebCore::IDBLevelDBCoding::encodeIDBKey):
+ (WebCore::IDBLevelDBCoding::decodeIDBKey):
+ (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
+ (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
+ (WebCore::IDBLevelDBCoding::compare):
+ (WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
+ (WebCore::IDBLevelDBCoding::KeyPrefix::decode):
+ (WebCore::IDBLevelDBCoding::KeyPrefix::encode):
+ (WebCore::IDBLevelDBCoding::KeyPrefix::compare):
+ (WebCore::IDBLevelDBCoding::KeyPrefix::type):
+ (WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
+ (WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
+ (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::DatabaseFreeListKey):
+ (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::decode):
+ (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
+ (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::databaseId):
+ (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::compare):
+ (WebCore::IDBLevelDBCoding::DatabaseNameKey::decode):
+ (WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
+ (WebCore::IDBLevelDBCoding::DatabaseNameKey::compare):
+ (WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
+ (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::ObjectStoreMetaDataKey):
+ (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::decode):
+ (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
+ (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::objectStoreId):
+ (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::metaDataType):
+ (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::compare):
+ (WebCore::IDBLevelDBCoding::IndexMetaDataKey::IndexMetaDataKey):
+ (WebCore::IDBLevelDBCoding::IndexMetaDataKey::decode):
+ (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
+ (WebCore::IDBLevelDBCoding::IndexMetaDataKey::compare):
+ (WebCore::IDBLevelDBCoding::IndexMetaDataKey::indexId):
+ (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::ObjectStoreFreeListKey):
+ (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::decode):
+ (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
+ (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::objectStoreId):
+ (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::compare):
+ (WebCore::IDBLevelDBCoding::IndexFreeListKey::IndexFreeListKey):
+ (WebCore::IDBLevelDBCoding::IndexFreeListKey::decode):
+ (WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
+ (WebCore::IDBLevelDBCoding::IndexFreeListKey::compare):
+ (WebCore::IDBLevelDBCoding::IndexFreeListKey::objectStoreId):
+ (WebCore::IDBLevelDBCoding::IndexFreeListKey::indexId):
+ (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::decode):
+ (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
+ (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::compare):
+ (WebCore::IDBLevelDBCoding::IndexNamesKey::IndexNamesKey):
+ (WebCore::IDBLevelDBCoding::IndexNamesKey::decode):
+ (WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
+ (WebCore::IDBLevelDBCoding::IndexNamesKey::compare):
+ (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::decode):
+ (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
+ (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::compare):
+ (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::userKey):
+ (WebCore::IDBLevelDBCoding::ExistsEntryKey::decode):
+ (WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):
+ (WebCore::IDBLevelDBCoding::ExistsEntryKey::compare):
+ (WebCore::IDBLevelDBCoding::ExistsEntryKey::userKey):
+ (WebCore::IDBLevelDBCoding::IndexDataKey::IndexDataKey):
+ (WebCore::IDBLevelDBCoding::IndexDataKey::decode):
+ (WebCore::IDBLevelDBCoding::IndexDataKey::encode):
+ (WebCore::IDBLevelDBCoding::IndexDataKey::encodeMaxKey):
+ (WebCore::IDBLevelDBCoding::IndexDataKey::compare):
+ (WebCore::IDBLevelDBCoding::IndexDataKey::databaseId):
+ (WebCore::IDBLevelDBCoding::IndexDataKey::objectStoreId):
+ (WebCore::IDBLevelDBCoding::IndexDataKey::indexId):
+ (WebCore::IDBLevelDBCoding::IndexDataKey::userKey):
+ * storage/IDBLevelDBCoding.h: Added.
+ (WebCore::IDBLevelDBCoding::DatabaseNameKey::origin):
+ (WebCore::IDBLevelDBCoding::DatabaseNameKey::databaseName):
+ (WebCore::IDBLevelDBCoding::IndexMetaDataKey::metaDataType):
+ (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::objectStoreName):
+ (WebCore::IDBLevelDBCoding::IndexNamesKey::indexName):
+
+2011-04-27 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: expose exception details when script is paused on exception
+ https://bugs.webkit.org/show_bug.cgi?id=59591
+
+ When script is paused on an exception, the exception value is added as <exception>
+ property in the local scope and the breakpoint details message says
+ "Paused on excepion: '<exception to strin value>'."
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ScopeChainSidebarPane.js:
+ (WebInspector.ScopeChainSidebarPane.prototype.update):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
+ (WebInspector.ScriptsPanel.prototype._debuggerPaused):
+
+2011-04-26 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [protocol] Paused event should expose exception value that caused it
+ https://bugs.webkit.org/show_bug.cgi?id=58996
+
+ Debug.pause event now contains an optional reference to the exception
+ object in case script execution is paused on a JavaScript exception.
+
+ Also JavaScript call frames are passed directly into the injected script when
+ we need to wrap them for passing to the front-end. This change breaks cyclic
+ dependency ScriptDebugServer->InspectorDebuggerAgent->InjectedScript->InjectedScriptHost->ScriptDebugServer
+
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::dispatchDidPause):
+ * bindings/js/ScriptDebugServer.h:
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::breakProgram):
+ (WebCore::ScriptDebugServer::editScriptSource):
+ (WebCore::ScriptDebugServer::breakProgramCallback):
+ (WebCore::ScriptDebugServer::handleV8DebugEvent):
+ * bindings/v8/ScriptDebugServer.h:
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ * inspector/InjectedScript.cpp:
+ (WebCore::InjectedScript::evaluateOnCallFrame):
+ (WebCore::InjectedScript::wrapCallFrames):
+ * inspector/InjectedScript.h:
+ * inspector/InjectedScriptHost.cpp:
+ * inspector/InjectedScriptHost.h:
+ (WebCore::InjectedScriptHost::init):
+ * inspector/InjectedScriptHost.idl:
+ * inspector/InjectedScriptSource.js:
+ (.):
+ * inspector/Inspector.json:
+ * inspector/InspectorAgent.cpp:
+ (WebCore::InspectorAgent::InspectorAgent):
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
+ (WebCore::InspectorDebuggerAgent::currentCallFrames):
+ (WebCore::InspectorDebuggerAgent::wrapCallFrames):
+ (WebCore::InspectorDebuggerAgent::didPause):
+ (WebCore::InspectorDebuggerAgent::didContinue):
+ (WebCore::InspectorDebuggerAgent::clear):
+ * inspector/InspectorDebuggerAgent.h:
+ * inspector/ScriptDebugListener.h:
+ * inspector/WorkerInspectorController.cpp:
+ (WebCore::WorkerInspectorController::WorkerInspectorController):
+
+2011-04-27 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: implement incremental CSS editing in the structure view.
+ https://bugs.webkit.org/show_bug.cgi?id=59455
+
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertyTreeElement.prototype):
+
+2011-04-27 Mihai Parparita <mihaip@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Frame.h shouldn't include Document.h
+ https://bugs.webkit.org/show_bug.cgi?id=59560
+
+ Frame can use a forward-declared Document if we move
+ Frame::displayStringModifiedByEncoding's implementation out of the
+ header.
+ Size #includes Size * #includes
+ Before: page/Frame.h: 0.746 653 487.138
+ dom/Document.h: 0.220 1306 287.320
+
+ After: page/Frame.h: 0.646 653 421.838
+ dom/Document.h: 0.220 1189 261.580
+
+ * WebCore.exp.in:
+ * bindings/ScriptControllerBase.cpp:
+ * bindings/generic/BindingSecurityBase.cpp:
+ * bindings/v8/V8Proxy.cpp:
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ * dom/CharacterData.cpp:
+ * dom/UserTypingGestureIndicator.cpp:
+ * editing/chromium/SelectionControllerChromium.cpp:
+ * inspector/InspectorDOMStorageResource.cpp:
+ * inspector/InspectorInstrumentation.h:
+ * loader/PingLoader.cpp:
+ * loader/SubresourceLoader.cpp:
+ * loader/appcache/DOMApplicationCache.cpp:
+ * loader/cache/CachedResourceRequest.cpp:
+ * page/Frame.cpp:
+ (WebCore::Frame::displayStringModifiedByEncoding):
+ * page/Frame.h:
+ * page/Geolocation.cpp:
+ * page/Location.cpp:
+ * page/Navigator.cpp:
+ * page/PageGroupLoadDeferrer.cpp:
+ * page/PerformanceTiming.cpp:
+ * xml/XSLTProcessorLibxslt.cpp:
+
+2011-04-27 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr
+ https://bugs.webkit.org/show_bug.cgi?id=59377
+
+ This cleans up some strict OwnPtr<> violations around text and box shadow data. ShadowData's linked list data
+ structure now uses OwnPtr<>s to manage memory - each entry in the list has ownership of the next ShadowData.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ * page/animation/AnimationBase.cpp:
+ (WebCore::blendFunc):
+ (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
+ (WebCore::PropertyWrapperShadow::blend):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::setTextShadow):
+ (WebCore::RenderStyle::setBoxShadow):
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::textShadow):
+ * rendering/style/ShadowData.cpp:
+ (WebCore::ShadowData::ShadowData):
+ * rendering/style/ShadowData.h:
+ (WebCore::ShadowData::ShadowData):
+ (WebCore::ShadowData::next):
+ (WebCore::ShadowData::setNext):
+ * rendering/style/StyleRareInheritedData.cpp:
+ (WebCore::StyleRareInheritedData::StyleRareInheritedData):
+ (WebCore::StyleRareInheritedData::~StyleRareInheritedData):
+ * rendering/style/StyleRareInheritedData.h:
+ * rendering/style/StyleRareNonInheritedData.cpp:
+ (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
+
+2011-04-26 David Levin <levin@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix some strict PassOwnPtr issues in WebCore.
+ https://bugs.webkit.org/show_bug.cgi?id=59563
+
+ * css/SVGCSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applySVGProperty):
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::create):
+ (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
+ * platform/text/TextCodecLatin1.cpp:
+ (WebCore::newStreamingTextDecoderWindowsLatin1):
+ * platform/text/TextCodecUTF16.cpp:
+ (WebCore::newStreamingTextDecoderUTF16LE):
+ (WebCore::newStreamingTextDecoderUTF16BE):
+ * platform/text/TextCodecUserDefined.cpp:
+ (WebCore::newStreamingTextDecoderUserDefined):
+ * platform/text/mac/TextCodecMac.cpp:
+ (WebCore::newTextCodecMac):
+ * workers/Worker.cpp:
+ (WebCore::Worker::notifyFinished):
+
+2011-04-26 Justin Novosad <junov@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [Chromium] Expose skia gpu canvas rendering as a runtime flag
+ https://bugs.webkit.org/show_bug.cgi?id=58683
+ Replace the SKIA_GPU compile flag by the pre-existing
+ acceleratedDrawingEnabled flag. Most code changes are trivial:
+ compile-time conditionals on SKIA_GPU were either replaced with
+ a run-time check, or a compile time check on USE(SKIA)
+
+ No new tests. Covered by existing tests.
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
+ * page/Page.cpp:
+ (WebCore::Page::sharedGraphicsContext3D):
+ Added check for the acceleratedDrawing flag.
+ * platform/graphics/chromium/DrawingBufferChromium.cpp:
+ (WebCore::DrawingBuffer::DrawingBuffer):
+ (WebCore::DrawingBuffer::publishToPlatformLayer):
+ * platform/graphics/gpu/DrawingBuffer.h:
+ * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
+ (WebCore::SharedGraphicsContext3D::create):
+ On Skia builds, this methos now receives a bool arg to turn on
+ GPU-accelerated skia rendering
+ (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
+ (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
+ (WebCore::SharedGraphicsContext3D::grContext):
+ * platform/graphics/gpu/SharedGraphicsContext3D.h:
+ * platform/graphics/skia/ImageSkia.cpp:
+ (WebCore::computeResamplingMode):
+ (WebCore::paintSkBitmap):
+ (WebCore::Image::drawPattern):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (WebCore::PlatformContextSkia::PlatformContextSkia):
+ (WebCore::PlatformContextSkia::~PlatformContextSkia):
+ (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
+ (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
+ (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
+ (WebCore::PlatformContextSkia::prepareForHardwareDraw):
+ (WebCore::PlatformContextSkia::syncSoftwareCanvas):
+ (WebCore::PlatformContextSkia::markDirtyRect):
+ * platform/graphics/skia/PlatformContextSkia.h:
+ (WebCore::PlatformContextSkia::accelerationMode):
+ (WebCore::PlatformContextSkia::useGPU):
+ (WebCore::PlatformContextSkia::useSkiaGPU):
+
+2011-04-26 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed: restore inspector test disabled in r84913.
+
+ Test: http/tests/inspector-enabled/dom-storage-open.html
+
+ * inspector/InspectorDOMStorageAgent.cpp:
+ (WebCore::InspectorDOMStorageAgent::clearFrontend):
+
+2011-04-26 Kenichi Ishibashi <bashi@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ [Chromium] Vertical positions are off for some Arabic glyphs on Linux
+ https://bugs.webkit.org/show_bug.cgi?id=59182
+
+ Use vertical offsets of the shaping results.
+
+ Test: platform/chromium-linux/fast/text/international/arabic-vertical-offset.html
+
+ * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
+ (WebCore::ComplexTextController::ComplexTextController):
+ Added initialization of m_startingY.
+ (WebCore::ComplexTextController::nextScriptRun):
+ Followed the change in handling positions.
+ (WebCore::ComplexTextController::deleteGlyphArrays): Ditto.
+ (WebCore::ComplexTextController::createGlyphArrays): Ditto.
+ (WebCore::ComplexTextController::resetGlyphArrays): Ditto.
+ (WebCore::ComplexTextController::setGlyphPositions):
+ Changed to use vertical offsets as same as horizontal offsets.
+ * platform/graphics/chromium/ComplexTextControllerLinux.h:
+ Removed m_xPositions and Added m_positions and m_startingY.
+ (WebCore::ComplexTextController::positions): Added.
+ * platform/graphics/chromium/FontLinux.cpp:
+ Followed the change in ComplexTextController.
+ (WebCore::Font::drawComplexText): Ditto.
+ (WebCore::Font::floatWidthForComplexText): Ditto.
+ (WebCore::glyphIndexForXPositionInScriptRun): Ditto.
+ (WebCore::Font::offsetForPositionForComplexText): Ditto.
+ (WebCore::Font::selectionRectForComplexText): Ditto.
+
+2011-04-26 Levi Weintraub <leviw@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Root element should establish a new block formatting context
+ https://bugs.webkit.org/show_bug.cgi?id=54573
+
+ Always expanding the root renderer to include overhanging floats.
+
+ Test: fast/block/float/float-overhangs-root.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
+
+2011-04-26 Dawit Alemayehu <adawit@kde.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Improper rendering of <button> tag when it contains a <br>
+ https://bugs.webkit.org/show_bug.cgi?id=50521
+
+ Test: platform/qt/fast/forms/button-line-break.html
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
+ (WebCore::RenderThemeQt::setButtonPadding):
+
+2011-04-26 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Only reset tiles if the LayerRendererChromium is actually changing
+ https://bugs.webkit.org/show_bug.cgi?id=59572
+
+ http://trac.webkit.org/changeset/84981/ caused us to reset the tiles
+ when LayerRendererChromium was set. We set this pointer every frame
+ and should only reset the tiles if the new LayerRendererChromium is
+ different from the old one (indicating a context loss), not just reset
+ on every frame.
+
+ * platform/graphics/chromium/LayerTilerChromium.cpp:
+ (WebCore::LayerTilerChromium::setLayerRenderer):
+ * platform/graphics/chromium/LayerTilerChromium.h:
+
+2011-04-26 Dinesh K Garg <dineshg@codeaurora.org>
+
+ Reviewed by Eric Seidel.
+
+ beginElement broken by setAttribute
+ https://bugs.webkit.org/show_bug.cgi?id=26019
+
+ Test: svg/animations/animate-beginElementAt.svg
+
+ * svg/SVGAnimationElement.cpp:
+ (WebCore::SVGAnimationElement::attributeChanged):
+ Reset the animation state here as the rest of the code reads it and would still
+ think we are animating when we are not.
+
+ * svg/animation/SVGSMILElement.h:
+ (WebCore::SVGSMILElement::setInactive): Helper function to reset the state.
+
+2011-04-26 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r84989.
+ http://trac.webkit.org/changeset/84989
+ https://bugs.webkit.org/show_bug.cgi?id=59566
+
+ REGRESSION (r84989): Lots of vertical text tests failing on
+ windows (Requested by weinig on #webkit).
+
+ * platform/graphics/FontPlatformData.h:
+ * platform/graphics/win/FontCacheWin.cpp:
+ (WebCore::FontCache::getFontDataForCharacters):
+ (WebCore::FontCache::createFontPlatformData):
+ * platform/graphics/win/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ * platform/graphics/win/FontPlatformDataCGWin.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+ * platform/graphics/win/FontPlatformDataWin.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+
+2011-04-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Try again:
+ Remove JSDOMWrapperWithGlobalPointer now that all JSDOMWrappers have global objects
+ https://bugs.webkit.org/show_bug.cgi?id=59310
+
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::DOMConstructorObject::DOMConstructorObject):
+ * bindings/js/JSDOMWrapper.h:
+ (WebCore::JSDOMWrapper::globalObject):
+ (WebCore::JSDOMWrapper::scriptExecutionContext):
+ (WebCore::JSDOMWrapper::createStructure):
+ (WebCore::JSDOMWrapper::JSDOMWrapper):
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2011-04-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by David Hyatt.
+
+ Remove Datagrid from the tree
+ https://bugs.webkit.org/show_bug.cgi?id=59543
+
+ * Android.derived.jscbindings.mk:
+ * Android.derived.v8bindings.mk:
+ * Android.jscbindings.mk:
+ * Android.v8bindings.mk:
+ * CMakeLists.txt:
+ * CodeGenerators.pri:
+ * Configurations/FeatureDefines.xcconfig:
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * GNUmakefile.list.am:
+ * UseJSC.cmake:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/JSDataGridColumnListCustom.cpp: Removed.
+ * bindings/js/JSDataGridDataSource.cpp: Removed.
+ * bindings/js/JSDataGridDataSource.h: Removed.
+ * bindings/js/JSHTMLDataGridElementCustom.cpp: Removed.
+ * bindings/v8/V8DataGridDataSource.cpp: Removed.
+ * bindings/v8/V8DataGridDataSource.h: Removed.
+ * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Removed.
+ * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Removed.
+ * css/CSSStyleSelector.cpp:
+ * css/CSSStyleSelector.h:
+ * css/html.css:
+ (input, textarea, keygen, select, button, isindex):
+ (select:disabled, keygen:disabled, optgroup:disabled, option:disabled):
+ * editing/htmlediting.cpp:
+ (WebCore::canHaveChildrenForEditing):
+ * features.pri:
+ * html/DOMDataGridDataSource.cpp: Removed.
+ * html/DOMDataGridDataSource.h: Removed.
+ * html/DataGridColumn.cpp: Removed.
+ * html/DataGridColumn.h: Removed.
+ * html/DataGridColumn.idl: Removed.
+ * html/DataGridColumnList.cpp: Removed.
+ * html/DataGridColumnList.h: Removed.
+ * html/DataGridColumnList.idl: Removed.
+ * html/DataGridDataSource.h: Removed.
+ * html/HTMLDataGridCellElement.cpp: Removed.
+ * html/HTMLDataGridCellElement.h: Removed.
+ * html/HTMLDataGridCellElement.idl: Removed.
+ * html/HTMLDataGridColElement.cpp: Removed.
+ * html/HTMLDataGridColElement.h: Removed.
+ * html/HTMLDataGridColElement.idl: Removed.
+ * html/HTMLDataGridElement.cpp: Removed.
+ * html/HTMLDataGridElement.h: Removed.
+ * html/HTMLDataGridElement.idl: Removed.
+ * html/HTMLDataGridRowElement.cpp: Removed.
+ * html/HTMLDataGridRowElement.h: Removed.
+ * html/HTMLDataGridRowElement.idl: Removed.
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::ieForbidsInsertHTML):
+ * html/HTMLElementsAllInOne.cpp:
+ * html/HTMLTagNames.in:
+ * page/DOMWindow.idl:
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
+ * rendering/RenderDataGrid.cpp: Removed.
+ * rendering/RenderDataGrid.h: Removed.
+ * rendering/RenderingAllInOne.cpp:
+
+2011-04-26 Chun-Lung Huang <alvincl.huang@gmail.com>
+
+ Reviewed by Adele Peterson.
+
+ On WebKit (Windows), glyphs in vertical text tests are rotated 90
+ degrees clockwise. https://bugs.webkit.org/show_bug.cgi?id=48459
+
+ This platform dependent patch makes WebKit (Windows) show the
+ vertical writing text correctly. Job was done by adding a prefix '@'
+ in front of the font family name (Windows Only). No new tests added.
+ Some layout tests images:
+ http://www.flickr.com/photos/burorly/sets/72157625585506341/
+
+ * platform/graphics/FontPlatformData.h:
+ * platform/graphics/win/FontCacheWin.cpp:
+ (WebCore::FontCache::getFontDataForCharacters):
+ (WebCore::FontCache::createFontPlatformData):
+ * platform/graphics/win/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ * platform/graphics/win/FontPlatformDataCGWin.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+ * platform/graphics/win/FontPlatformDataWin.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+
+2011-04-26 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ HTML5 video fullscreen transition causes an audio stutter
+ https://bugs.webkit.org/show_bug.cgi?id=59544
+
+ AVFoundation will momentarily stutter when you disconnect a AVPlayerLayer
+ from its AVPlayer. Since you shouldn't necessarily have to destroy the
+ layer to render it invisible, instead just set the layer as hidden.
+
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
+ (WebCore::MediaPlayerPrivateAVFoundation::setVisible): Call through to platformSetVisible().
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::platformSetVisible): Added.
+
+2011-04-26 Christian Dywan <christian@lanedo.com>
+
+ Reviewed by Eric Seidel.
+
+ Extra separator after Select All in context menu
+ https://bugs.webkit.org/show_bug.cgi?id=54092
+
+ * page/ContextMenuController.cpp: Move separator to non-GTK+
+ port guards since it is for the spelling options menu
+ which the GTK+ port doesn't use.
+
+2011-04-26 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Clear out LayerTilerChromium's tiles on lost context
+ https://bugs.webkit.org/show_bug.cgi?id=59233
+
+ Clears out the LayerTilerChromium's tile set when the LayerRendererChromium is reset. In this case the tiles are
+ no longer valid since they exist in the previous LayerRendererChromium.
+
+ Will be tested by a chrome test since we don't have any way to exercise the context lost case in layout tests.
+
+ * platform/graphics/chromium/LayerTilerChromium.h:
+ (WebCore::LayerTilerChromium::setLayerRenderer):
+
+2011-04-26 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Dirk Schulze.
+
+ [GTK] Flash in divs with overflow: auto is not positioned and clipped properly
+ https://bugs.webkit.org/show_bug.cgi?id=57644
+
+ Manual test: plugins/windowed-in-iframe-2.html
+
+ * manual-tests/plugins/windowed-in-iframe-2.html: Added.
+ * platform/gtk/WidgetGtk.cpp:
+ (WebCore::Widget::setFrameRect): Like the Qt port, we notify the widget via frameRectsChanged.
+ * plugins/PluginView.h: Added helper method to set the allocation and clip.
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::setNPWindowIfNeeded):Call the helper method instead of setting
+ the allocation immediately. Bring this method into sync with the implementation in
+ the Qt port.
+ (WebCore::PluginView::updateWidgetAllocationAndClip): Added.
+ (WebCore::PluginView::plugAddedCallback): Call the new helper method.
+
+2011-04-26 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ [GTK] fast/block/float/overhanging-tall-block.html crashes in the bots
+ https://bugs.webkit.org/show_bug.cgi?id=58818
+
+ Prevent allocating scratch buffers larger than the target GdkDrawable
+ when creating a WidgetRenderingContext. This prevents incredibly large
+ widgets from crashing the X Server. This change also allowed greatly
+ simplifying the way that the painting offset is calculated.
+
+ * platform/gtk/WidgetRenderingContext.cpp:
+ (WebCore::WidgetRenderingContext::WidgetRenderingContext): Never allocate a pixmap
+ larger than the target GdkDrawable.
+ (WebCore::WidgetRenderingContext::~WidgetRenderingContext): Calculate the offset of the
+ blit by looking at the location of the target rect itself, rather than delaying the
+ calculation up to this point.
+ (WebCore::WidgetRenderingContext::calculateClipRect): Added.
+ (WebCore::WidgetRenderingContext::gtkPaintBox): Use the new calculateClipRectHelper.
+ (WebCore::WidgetRenderingContext::gtkPaintFlatBox): Ditto.
+ (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto.
+ (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto.
+ (WebCore::WidgetRenderingContext::gtkPaintCheck): Ditto.
+ (WebCore::WidgetRenderingContext::gtkPaintOption): Ditto.
+ (WebCore::WidgetRenderingContext::gtkPaintShadow): Ditto.
+ (WebCore::WidgetRenderingContext::gtkPaintArrow): Ditto.
+ (WebCore::WidgetRenderingContext::gtkPaintVLine): Ditto.
+ * platform/gtk/WidgetRenderingContext.h: Remove some now unused members. Add
+ a member to store the IntSize mapping from the coordinates of the target to the coordinates
+ of the scratch buffer.
+
+2011-04-26 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Respect charset in handleDataURL
+ https://bugs.webkit.org/show_bug.cgi?id=47746
+
+ Original patch by Kwang Yul Seo <skyul@company100.net>
+
+ We must use TextEncoding(charset) to encode data URL again. Otherwise TextEncoding::encode()
+ returns an empty string because encoding name is not specified.
+
+ Also use "US-ASCII" as fallback charset as extractCharsetFromMediaType can be empty.
+
+ This change fixes over 130 layout tests when running GTK port with cURL network backend.
+
+ * platform/network/DataURL.cpp:
+ (WebCore::handleDataURL):
+
+2011-04-26 Anders Carlsson <andersca@apple.com>
+
+ Fix clang++ build.
+
+ You can never have too many casts!
+
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper position]):
+ * editing/mac/SelectionControllerMac.mm:
+ (WebCore::accessibilityConvertScreenRect):
+
+2011-04-26 Chris Rogers <crogers@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ Fix web audio build on mac port
+ https://bugs.webkit.org/show_bug.cgi?id=59355
+
+ No new tests since audio API is not yet implemented.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSAudioContextCustom.cpp:
+ (WebCore::JSAudioContext::visitChildren):
+ * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
+ (WebCore::JSJavaScriptAudioNode::visitChildren):
+ * webaudio/AudioContext.idl:
+
+2011-04-26 Chris Rogers <crogers@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ Add FFTFrame implementation for FFmpeg
+ https://bugs.webkit.org/show_bug.cgi?id=59408
+
+ No new tests since audio API is not yet implemented.
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * platform/audio/FFTFrame.h:
+ * platform/audio/FFTFrameStub.cpp:
+ * platform/audio/ffmpeg: Added.
+ * platform/audio/ffmpeg/FFTFrameFFMPEG.cpp: Added.
+ (WebCore::FFTFrame::FFTFrame):
+ (WebCore::FFTFrame::initialize):
+ (WebCore::FFTFrame::cleanup):
+ (WebCore::FFTFrame::~FFTFrame):
+ (WebCore::FFTFrame::multiply):
+ (WebCore::FFTFrame::doFFT):
+ (WebCore::FFTFrame::doInverseFFT):
+ (WebCore::FFTFrame::realData):
+ (WebCore::FFTFrame::imagData):
+ (WebCore::FFTFrame::getUpToDateComplexData):
+ (WebCore::FFTFrame::contextForSize):
+ * platform/audio/mac/FFTFrameMac.cpp:
+ * webaudio/ConvolverNode.cpp:
+
+2011-04-26 Jeff Miller <jeffm@apple.com>
+
+ Add a newline at the end of SVGFEDropShadowElement.idl.
+
+ * svg/SVGFEDropShadowElement.idl:
+
+2011-04-26 Mihai Parparita <mihaip@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ InlineBox.h shouldn't include RenderBR.h
+ https://bugs.webkit.org/show_bug.cgi?id=59480
+
+ Per bug 59348 RenderBR.h is a "top header" by include * size, because
+ InlineBox.h includes it. There's no reason why it has to.
+
+ * rendering/InlineBox.h:
+ * rendering/InlineTextBox.cpp:
+ * rendering/RenderBlock.h:
+
+2011-04-26 Sam Weinig <sam@webkit.org>
+
+ Nope, roll out r84950 and r84952. Working on a laptop is clearly not something
+ I should do.
+
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::JSDOMWrapperWithGlobalPointer::globalObject):
+ (WebCore::JSDOMWrapperWithGlobalPointer::scriptExecutionContext):
+ (WebCore::JSDOMWrapperWithGlobalPointer::createStructure):
+ (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer):
+ (WebCore::DOMConstructorObject::DOMConstructorObject):
+ * bindings/js/JSDOMWrapper.h:
+ (WebCore::JSDOMWrapper::JSDOMWrapper):
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2011-04-26 Sam Weinig <sam@webkit.org>
+
+ Fix build.
+
+ * bindings/js/JSDOMWrapper.h:
+ (WebCore::JSDOMWrapper::globalObject):
+
+2011-04-26 Sam Weinig <sam@webkit.org>
+
+ Roll r84945 back in with infinite recursion removed.
+
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::DOMConstructorObject::DOMConstructorObject):
+ * bindings/js/JSDOMWrapper.h:
+ (WebCore::JSDOMWrapper::globalObject):
+ (WebCore::JSDOMWrapper::scriptExecutionContext):
+ (WebCore::JSDOMWrapper::createStructure):
+ (WebCore::JSDOMWrapper::JSDOMWrapper):
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2011-04-26 Sam Weinig <sam@webkit.org>
+
+ Rollout previous patch. It broke stuff.
+
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::JSDOMWrapperWithGlobalPointer::globalObject):
+ (WebCore::JSDOMWrapperWithGlobalPointer::scriptExecutionContext):
+ (WebCore::JSDOMWrapperWithGlobalPointer::createStructure):
+ (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer):
+ (WebCore::DOMConstructorObject::DOMConstructorObject):
+ * bindings/js/JSDOMWrapper.h:
+ (WebCore::JSDOMWrapper::JSDOMWrapper):
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2011-04-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Remove JSDOMWrapperWithGlobalPointer now that all JSDOMWrappers have global objects
+ https://bugs.webkit.org/show_bug.cgi?id=59310
+
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::DOMConstructorObject::DOMConstructorObject):
+ * bindings/js/JSDOMWrapper.h:
+ (WebCore::JSDOMWrapper::globalObject):
+ (WebCore::JSDOMWrapper::scriptExecutionContext):
+ (WebCore::JSDOMWrapper::createStructure):
+ (WebCore::JSDOMWrapper::JSDOMWrapper):
+ Merge JSDOMWrapperWithGlobalPointer with JSDOMWrapper.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ Make JSDOMWrapper the base class.
+
+2011-04-26 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Choose the compiler based on the Xcode version for Snow Leopard debug builds.
+
+ * Configurations/Base.xcconfig:
+ * Configurations/CompilerVersion.xcconfig: Added.
+
+2011-04-26 Adrienne Walker <enne@google.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Use OwnArrayPtr<T> instead of OwnPtr<T*> in ScopeTracer
+ https://bugs.webkit.org/show_bug.cgi?id=59469
+
+ * platform/chromium/TraceEvent.h:
+ (WebCore::internal::ScopeTracer::ScopeTracer):
+
+2011-04-25 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Nixed special finalizer handling for WebCore strings
+ https://bugs.webkit.org/show_bug.cgi?id=59425
+
+ Not needed anymore, since weak handles have finalizers.
+
+ * WebCore.exp.in: Exports!
+
+ * bindings/js/DOMWrapperWorld.cpp:
+ (WebCore::JSStringOwner::finalize):
+ (WebCore::DOMWrapperWorld::DOMWrapperWorld): Use a weak handle finalizer,
+ so we don't need special treatment anymore.
+
+ * bindings/js/DOMWrapperWorld.h:
+ (WebCore::JSStringOwner::JSStringOwner):
+ (WebCore::DOMWrapperWorld::stringWrapperOwner): Use a HashMap of Weak<T>
+ instead of a WeakGCMap, so we can specify a custom finalizer.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::jsStringSlowCase):
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::jsString): Updated for string map change.
+
+2011-04-26 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/59372> Restore user default for enabling HTTP pipelining
+
+ Reviewed by Antti Koivisto.
+
+ To enable HTTP pipelining post-SnowLeopard, use this command:
+
+ defaults write BUNDLE.ID WebKitEnableHTTPPipelining -bool YES
+
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore::readBooleanPreference): Re-added. Originally added in
+ r76756 and removed in r84120.
+ (WebCore::initializeMaximumHTTPConnectionCountPerHost): Enable
+ HTTP pipelining if use default is set to true. Added macro
+ guards to match those in ResourceRequestMac.mm.
+
+2011-04-26 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Don't strip fragments from file: urls in memory cache
+ https://bugs.webkit.org/show_bug.cgi?id=59463
+ <rdar://problem/9231130>
+
+ Some clients expect file: resources to be unique based on fragment identifier.
+ Limit the changes in http://trac.webkit.org/changeset/74107 to the HTTP protocol only
+
+ Test: fast/loader/file-protocol-fragment.html
+
+ * loader/cache/MemoryCache.cpp:
+ (WebCore::MemoryCache::removeFragmentIdentifierIfNeeded):
+
+2011-04-26 David Levin <levin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix more strict OwnPtr in WebCore (round N).
+ https://bugs.webkit.org/show_bug.cgi?id=59464
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ (WebCore::Document::attach):
+ * fileapi/FileReader.cpp:
+ (WebCore::FileReader::terminate):
+ * loader/DocumentThreadableLoader.cpp:
+ (WebCore::DocumentThreadableLoader::preflightFailure):
+ * workers/DefaultSharedWorkerRepository.cpp:
+ (WebCore::SharedWorkerConnectTask::create):
+ (WebCore::SharedWorkerScriptLoader::load):
+
+2011-04-26 Ruben <chromium@hybridsource.org>
+
+ Reviewed by Tony Chang.
+
+ Change linux ifdefs for Chromium to Unix instead, allowing
+ new Unix ports to be enabled by default
+ https://bugs.webkit.org/show_bug.cgi?id=59297
+
+ No new tests, just changing preprocessor defines.
+
+ * bindings/js/JSInspectorFrontendHostCustom.cpp:
+ * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
+ * dom/SelectElement.cpp:
+ * loader/cache/CachedFont.cpp:
+ * page/EventHandler.cpp:
+ * page/chromium/EventHandlerChromium.cpp:
+ * platform/Scrollbar.cpp:
+ * platform/chromium/PlatformBridge.h:
+ * platform/graphics/chromium/FontPlatformData.h:
+ * platform/graphics/skia/FontCustomPlatformData.cpp:
+ * platform/graphics/skia/FontCustomPlatformData.h:
+
+2011-04-26 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ [RTL] Arabic/AB - after typing a date, cursors doesn't go back
+ https://bugs.webkit.org/show_bug.cgi?id=49111
+
+ Even when the offset corresponds to a position visually left of the box
+ and there aren't any inline boxes on the left, the previous/next position
+ may still correspond to some position in the same line.
+
+ The bug was caused by our ignoring such cases. Fixed the bug by comparing
+ previous/next position's inline box to the current box. If they match,
+ then we stay on the same position because moving to the left visually at
+ the left edge should not result in a position on the same line.
+
+ Also fixed a bug that WebKit uses offsets that are not extrema when moved to
+ the left edge or to the right edge, and a bug that WebKit could not move to
+ the left from 12^3 CBA abc to 123 C^BA abc (there is no offset between 3 and C).
+
+ Test cases are added to editing/selection/move-left-right.html
+
+ * editing/VisiblePosition.cpp:
+ (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
+ (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
+
+2011-04-26 Gabor Loki <loki@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ Speeding up SVG filters with multicore (SMP) support
+ https://bugs.webkit.org/show_bug.cgi?id=43903
+
+ Some SVG filters execute a huge number of pixel manipulations, which
+ cannot be sped up by graphics accelerators, since their algorithm is
+ too complex. Using the power of Symmetric Multi Processing (SMP) we
+ can split up a task to smaller (data independent) tasks, which can be
+ executed independently.
+
+ The ParallelJobs framework provides a simple way for distributed
+ programming. The framework is based on WebKit's threading infrastructure,
+ Open Multi-Processing's (OpenMP) API, and libdispatch API.
+
+ * ForwardingHeaders/wtf/ParallelJobs.h: Added.
+ * platform/graphics/filters/FETurbulence.cpp:
+ (WebCore::FETurbulence::PaintingData::PaintingData):
+ (WebCore::FETurbulence::noise2D):
+ (WebCore::FETurbulence::calculateTurbulenceValueForPoint):
+ (WebCore::FETurbulence::fillRegion):
+ (WebCore::FETurbulence::fillRegionWorker):
+ (WebCore::FETurbulence::apply):
+ * platform/graphics/filters/FETurbulence.h:
+
+2011-04-26 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: close button is off in docked mode on a mac.
+ https://bugs.webkit.org/show_bug.cgi?id=59453
+
+ * inspector/front-end/inspector.css:
+ (.toolbar-item.close-left):
+
+2011-04-26 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: New Style is not working (UI glitch)
+ https://bugs.webkit.org/show_bug.cgi?id=59451
+
+ * inspector/InspectorDOMStorageAgent.cpp:
+ (WebCore::InspectorDOMStorageAgent::setFrontend):
+ * inspector/front-end/AuditRules.js:
+ (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
+ (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
+ (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived):
+ (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
+ (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived):
+ * inspector/front-end/CSSStyleModel.js:
+ (WebInspector.CSSStyleModel.prototype.setRuleSelector):
+ (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
+ (WebInspector.CSSStyleModel.prototype.addRule):
+ (WebInspector.CSSStyleModel.prototype.addRule.callback):
+ (WebInspector.CSSStyleModel.prototype._documentElementId):
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.DOMNode.prototype._addAttribute):
+ (WebInspector.DOMNode.prototype.documentElement):
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.PageDispatcher.prototype.frameDetached):
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane.prototype._createNewRule):
+
+2011-04-26 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: introduce DOMStorage::enable and disable.
+ https://bugs.webkit.org/show_bug.cgi?id=59445
+
+ * inspector/Inspector.json:
+ * inspector/InspectorAgent.cpp:
+ (WebCore::InspectorAgent::InspectorAgent):
+ (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
+ * inspector/InspectorDOMStorageAgent.cpp:
+ (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
+ (WebCore::InspectorDOMStorageAgent::restore):
+ (WebCore::InspectorDOMStorageAgent::enable):
+ (WebCore::InspectorDOMStorageAgent::disable):
+ * inspector/InspectorDOMStorageAgent.h:
+ (WebCore::InspectorDOMStorageAgent::create):
+ * inspector/front-end/DOMStorage.js:
+ (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype._reset):
+ * inspector/front-end/inspector.js:
+
+2011-04-26 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: extract Page agent dispatcher into the ResourceTreeModel.
+ https://bugs.webkit.org/show_bug.cgi?id=59440
+
+ * inspector/Inspector.json:
+ * inspector/InspectorAgent.cpp:
+ (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::InspectorPageAgent::setFrontend):
+ (WebCore::InspectorPageAgent::frameNavigated):
+ * inspector/InspectorPageAgent.h:
+ * inspector/front-end/AuditsPanel.js:
+ (WebInspector.AuditsPanel):
+ (WebInspector.AuditsPanel.prototype._onLoadEventFired):
+ (WebInspector.AuditsPanel.prototype._domContentLoadedEventFired):
+ * inspector/front-end/CSSStyleModel.js:
+ (WebInspector.CSSStyleModelResourceBinding):
+ (WebInspector.CSSStyleModelResourceBinding.prototype._inspectedURLChanged):
+ * inspector/front-end/DOMBreakpointsSidebarPane.js:
+ (WebInspector.DOMBreakpointsSidebarPane):
+ (WebInspector.DOMBreakpointsSidebarPane.prototype._inspectedURLChanged):
+ * inspector/front-end/DOMStorage.js:
+ (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._inspectedURLChanged):
+ (WebInspector.ExtensionServer.prototype.initExtensions):
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkPanel):
+ (WebInspector.NetworkPanel.prototype._onLoadEventFired):
+ (WebInspector.NetworkPanel.prototype._domContentLoadedEventFired):
+ (WebInspector.NetworkPanel.prototype._frameNavigated):
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.ResourceTreeModel):
+ (WebInspector.ResourceTreeModel.prototype._processCachedResources):
+ (WebInspector.ResourceTreeModel.prototype._dispatchInspectedURLChanged):
+ (WebInspector.ResourceTreeModel.prototype._frameNavigated):
+ (WebInspector.ResourceTreeModel.prototype._frameDetached):
+ (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
+ (WebInspector.PageDispatcher):
+ (WebInspector.PageDispatcher.prototype.domContentEventFired):
+ (WebInspector.PageDispatcher.prototype.loadEventFired):
+ (WebInspector.PageDispatcher.prototype.frameNavigated):
+ (WebInspector.PageDispatcher.prototype.frameDetached):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel):
+ (WebInspector.ResourcesPanel.prototype._onLoadEventFired):
+ (WebInspector.ResourcesPanel.prototype._frameNavigated):
+ * inspector/front-end/inspector.js:
+
+2011-04-26 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed rollout r84877 and StyleRareInheritedData.cpp changes of r84892,
+ because it broke transitions/multiple-text-shadow-transition.html
+
+ Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr
+ https://bugs.webkit.org/show_bug.cgi?id=59377
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ * page/animation/AnimationBase.cpp:
+ (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
+ (WebCore::PropertyWrapperShadow::blend):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::setTextShadow):
+ (WebCore::RenderStyle::setBoxShadow):
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::textShadow):
+ * rendering/style/StyleRareInheritedData.cpp:
+ (WebCore::StyleRareInheritedData::StyleRareInheritedData):
+ (WebCore::StyleRareInheritedData::~StyleRareInheritedData):
+ * rendering/style/StyleRareInheritedData.h:
+ * rendering/style/StyleRareNonInheritedData.cpp:
+ (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
+
+2011-04-26 Mihai Parparita <mihaip@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Turn off make built-in implicit rules for derived sources makefile
+ https://bugs.webkit.org/show_bug.cgi?id=59418
+
+ We don't use any of make's built-in implicit rules, turning them off
+ speeds up parsing of the makefile.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * gyp/generate-derived-sources.sh:
+
+2011-04-26 Leo Yang <leo.yang@torchmobile.com.cn>
+
+ Reviewed by Nikolas Zimmermann.
+
+ ASSERT failure in SVGUseElement
+ https://bugs.webkit.org/show_bug.cgi?id=59313
+
+ In SVGUseElement::insertedIntoDocument(), ASSERT(!m_isPendingResource)
+ was wrong because the document may not be well-formed.
+
+ This patch asserts the element is not pending on resource or the
+ document is not well-formed.
+
+ Test: svg/custom/use-crash-in-non-wellformed-document.svg
+
+ * svg/SVGUseElement.cpp:
+ (WebCore::isWellFormedDocument):
+ (WebCore::SVGUseElement::insertedIntoDocument):
+
+2011-04-26 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [Chromium] Fix columns resizing in the detailed heap snapshot grids.
+ https://bugs.webkit.org/show_bug.cgi?id=59438
+
+ * inspector/front-end/DetailedHeapshotView.js:
+ (WebInspector.DetailedHeapshotView.prototype._changeView):
+
+2011-04-26 David Levin <levin@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Fix a few OwnPtr strict errors in WebCore headers.
+ https://bugs.webkit.org/show_bug.cgi?id=59431
+
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::create):
+ * css/MediaQueryMatcher.cpp:
+ (WebCore::MediaQueryMatcher::prepareEvaluator):
+ * dom/NodeRareData.h:
+ (WebCore::NodeListsNodeData::create):
+ * dom/ScriptRunner.h:
+ (WebCore::ScriptRunner::create):
+ * inspector/WorkerInspectorController.cpp:
+ (WebCore::WorkerInspectorController::connectFrontend):
+ * loader/icon/IconDatabase.h:
+ (WebCore::IconDatabase::create):
+ * platform/graphics/SimpleFontData.cpp:
+ (WebCore::SimpleFontData::verticalRightOrientationFontData):
+ (WebCore::SimpleFontData::uprightOrientationFontData):
+ (WebCore::SimpleFontData::brokenIdeographFontData):
+ * rendering/style/StyleRareInheritedData.cpp:
+ (WebCore::StyleRareInheritedData::StyleRareInheritedData):
+ * rendering/svg/SVGResources.h:
+ (WebCore::SVGResources::ClipperFilterMaskerData::create):
+ (WebCore::SVGResources::MarkerData::create):
+ (WebCore::SVGResources::FillStrokeData::create):
+ * storage/StorageSyncManager.cpp:
+ (WebCore::StorageSyncManager::close):
+ * workers/WorkerContext.cpp:
+ (WebCore::CloseWorkerContextTask::create):
+ * workers/WorkerMessagingProxy.cpp:
+ (WebCore::MessageWorkerContextTask::create):
+ (WebCore::MessageWorkerTask::create):
+ (WebCore::WorkerExceptionTask::create):
+ (WebCore::WorkerContextDestroyedTask::create):
+ (WebCore::WorkerTerminateTask::create):
+ (WebCore::WorkerThreadActivityReportTask::create):
+ * workers/WorkerRunLoop.cpp:
+ (WebCore::WorkerRunLoop::Task::create):
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThreadStartupData::create):
+ (WebCore::WorkerThreadShutdownFinishTask::create):
+ (WebCore::WorkerThreadShutdownStartTask::create):
+
+2011-04-26 Adam Klein <adamk@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Fix last strict OwnPtr violation under svg/...
+ https://bugs.webkit.org/show_bug.cgi?id=59429
+
+ * svg/SVGDocumentExtensions.cpp:
+ (WebCore::SVGDocumentExtensions::removePendingResource):
+
+2011-04-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ Fix more strict OwnPtr violations in WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=59433
+
+ These manifest in the Chromium build.
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::ScriptController):
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::editScriptSource):
+ * bindings/v8/V8DOMMap.cpp:
+ (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::precompileScript):
+ * bindings/v8/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::WorkerScriptController):
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ (WebCore::Page::speechInput):
+ * platform/PlatformGestureRecognizer.cpp:
+ (WebCore::PlatformGestureRecognizer::create):
+ * platform/PlatformGestureRecognizer.h:
+ * platform/graphics/chromium/DrawingBufferChromium.cpp:
+ (WebCore::DrawingBuffer::DrawingBuffer):
+ * platform/graphics/chromium/cc/CCLayerImpl.cpp:
+ (WebCore::CCLayerImpl::CCLayerImpl):
+ * platform/graphics/gpu/Texture.cpp:
+ (WebCore::Texture::create):
+ * platform/image-decoders/bmp/BMPImageDecoder.cpp:
+ (WebCore::BMPImageDecoder::decodeHelper):
+ * platform/image-decoders/gif/GIFImageDecoder.cpp:
+ (WebCore::GIFImageDecoder::decode):
+ * platform/image-decoders/ico/ICOImageDecoder.cpp:
+ (WebCore::ICOImageDecoder::decodeAtIndex):
+ * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
+ (WebCore::JPEGImageDecoder::decode):
+ * platform/image-decoders/png/PNGImageDecoder.cpp:
+ (WebCore::PNGImageDecoder::decode):
+ * storage/chromium/DatabaseTrackerChromium.cpp:
+ (WebCore::DatabaseTracker::addOpenDatabase):
+
+2011-04-25 David Levin <levin@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Fix OwnPtr strict errors in CrossThreadTask.h
+ https://bugs.webkit.org/show_bug.cgi?id=59427
+
+ * dom/CrossThreadTask.h:
+ (WebCore::CrossThreadTask1::create):
+ (WebCore::CrossThreadTask2::create):
+ (WebCore::CrossThreadTask3::create):
+ (WebCore::CrossThreadTask4::create):
+ (WebCore::CrossThreadTask5::create):
+ (WebCore::CrossThreadTask6::create):
+ (WebCore::CrossThreadTask7::create):
+ (WebCore::CrossThreadTask8::create):
+
+2011-04-25 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/9330337> Leak of 'WebCore::ApplyPropertyFillLayer<WebCore::FillSize>'
+
+ * css/CSSStyleApplyProperty.cpp:
+ (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Don't initialize CSSPropertyWebkitMaskSize twice.
+ * css/CSSStyleApplyProperty.h:
+ (WebCore::CSSStyleApplyProperty::setPropertyValue): Add some asserts to catch this class of leak.
+
+2011-04-25 Levi Weintraub <leviw@chromium.org>
+
+ Reviewed by Ryosuke Niwa.
+
+ REGRESSION: a character appears after tab span when typing immediately before the tab span
+ https://bugs.webkit.org/show_bug.cgi?id=58132
+
+ Correcting the order of operations we use to avoid inserting into invalid positions in
+ ReplaceSelectionCommand to avoid inserting into tab-spans.
+
+ Test: editing/pasteboard/paste-before-tab-span.html
+
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::doApply): Moving positionOutsideTabSpan to after
+ positionAvoidingPrecedingNodes, since that function could once again put our position
+ inside a tab span.
+
+2011-04-25 David Levin <levin@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Fix OwnPtr strict error in ImageBuffer.h
+ https://bugs.webkit.org/show_bug.cgi?id=59422
+
+ * platform/graphics/ImageBuffer.h:
+ (WebCore::ImageBuffer::create):
+
+2011-04-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ Fix strict OwnPtr violations and whitelist known-tricky files
+ https://bugs.webkit.org/show_bug.cgi?id=59421
+
+ With this patch, WebCore builds cleanly with strict OwnPtrs.
+
+ * dom/MessagePort.cpp:
+ (WebCore::MessagePort::MessagePort):
+ * dom/XMLDocumentParserLibxml2.cpp:
+ * page/ContextMenuController.cpp:
+ (WebCore::ContextMenuController::ContextMenuController):
+ (WebCore::ContextMenuController::clearContextMenu):
+ * page/PluginHalter.cpp:
+ * platform/graphics/MediaPlayer.cpp:
+ * platform/network/ResourceRequestBase.cpp:
+ (WebCore::ResourceRequestBase::adopt):
+ (WebCore::ResourceRequestBase::copyData):
+ * svg/SVGDocumentExtensions.cpp:
+
+2011-04-25 David Levin <levin@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Fix OwnPtr strict errors in DatasetDOMStringMap.h.
+ https://bugs.webkit.org/show_bug.cgi?id=59419
+
+ * dom/DatasetDOMStringMap.h:
+ (WebCore::DatasetDOMStringMap::create):
+
+2011-04-25 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ KeyboardEvent.cpp should work with strict OwnPtrs.
+ https://bugs.webkit.org/show_bug.cgi?id=59403
+
+ * dom/KeyboardEvent.cpp:
+ (WebCore::KeyboardEvent::KeyboardEvent):
+
+2011-04-25 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr
+ https://bugs.webkit.org/show_bug.cgi?id=59377
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ * page/animation/AnimationBase.cpp:
+ (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
+ (WebCore::PropertyWrapperShadow::blend):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::setTextShadow):
+ (WebCore::RenderStyle::setBoxShadow):
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::textShadow):
+ * rendering/style/StyleRareInheritedData.cpp:
+ (WebCore::StyleRareInheritedData::StyleRareInheritedData):
+ (WebCore::StyleRareInheritedData::~StyleRareInheritedData):
+ * rendering/style/StyleRareInheritedData.h:
+ * rendering/style/StyleRareNonInheritedData.cpp:
+ (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
+
+2011-04-25 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r84864.
+ http://trac.webkit.org/changeset/84864
+ https://bugs.webkit.org/show_bug.cgi?id=59413
+
+ Expect result of use-crash-in-non-wellformed-document.svg is
+ platform dependent (Requested by leoyang on #webkit).
+
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::insertedIntoDocument):
+
+2011-04-25 Leo Yang <leo.yang@torchmobile.com.cn>
+
+ Reviewed by Nikolas Zimmermann.
+
+ ASSERT failure in SVGUseElement
+ https://bugs.webkit.org/show_bug.cgi?id=59313
+
+ In SVGUseElement::insertedIntoDocument(), ASSERT(!m_isPendingResource)
+ was wrong because the document may not be well-formed.
+
+ This patch asserts the element is not pending on resource or the
+ document is not well-formed.
+
+ Test: svg/custom/use-crash-in-non-wellformed-document.svg
+
+ * svg/SVGUseElement.cpp:
+ (WebCore::isWellFormedDocument):
+ (WebCore::SVGUseElement::insertedIntoDocument):
+
+2011-04-25 Igor Oliveira <igor.oliveira@openbossa.org>
+
+ Reviewed by Tony Chang.
+
+ Move complexity from DataTransferItemsChromium and DataTransferItemChromium for base class
+ https://bugs.webkit.org/show_bug.cgi?id=59028
+
+ The DataTransferItemsChromium and DataTransferItemChromium code can be reused by other platforms.
+ Moving the code for base class we can reduce the efforts to support DataTransferItems
+ element in different platforms.
+
+ * Android.mk:
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/DataTransferItem.cpp:
+ (WebCore::DataTransferItem::DataTransferItem):
+ (WebCore::DataTransferItem::owner):
+ (WebCore::DataTransferItem::kind):
+ (WebCore::DataTransferItem::type):
+ * dom/DataTransferItem.h:
+ * dom/DataTransferItems.cpp: Copied from Source/WebCore/platform/chromium/DataTransferItemsChromium.cpp.
+ (WebCore::DataTransferItems::DataTransferItems):
+ (WebCore::DataTransferItems::length):
+ (WebCore::DataTransferItems::item):
+ (WebCore::DataTransferItems::deleteItem):
+ (WebCore::DataTransferItems::clear):
+ (WebCore::DataTransferItems::add):
+ * dom/DataTransferItems.h:
+ * platform/chromium/DataTransferItemChromium.cpp:
+ (WebCore::DataTransferItem::create):
+ (WebCore::DataTransferItemChromium::DataTransferItemChromium):
+ (WebCore::DataTransferItemChromium::getAsString):
+ (WebCore::DataTransferItemChromium::getAsFile):
+ * platform/chromium/DataTransferItemChromium.h:
+ * platform/chromium/DataTransferItemsChromium.cpp:
+ (WebCore::DataTransferItemsChromium::DataTransferItemsChromium):
+ * platform/chromium/DataTransferItemsChromium.h:
+
+2011-04-25 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ REGRESSION(75137): directly composited images are double-drawn sometimes
+ https://bugs.webkit.org/show_bug.cgi?id=58632
+
+ Depending on the order of operations (layout, creating compositing
+ layers and creating simple image layers) a layer can have both image
+ content and have m_drawsContent=true. In this case 2 copies of the image
+ are drawn in the layer. If the image has alpha, it looks wrong.
+
+ I added an updateDrawsContent() call after setting the image contents
+ to make sure it's correct.
+
+ I couldn't create a test case that shows the problem because layerTreeAsText()
+ doesn't emit enough info to show this level of detail. I've opened
+ https://bugs.webkit.org/show_bug.cgi?id=59352 to fix that.
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateImageContents):
+
+2011-04-25 Kenneth Russell <kbr@google.com>
+
+ Reviewed by David Levin.
+
+ Fix OwnPtr strict errors in InlineFlowBox.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=59392
+
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::setLayoutOverflow):
+ (WebCore::InlineFlowBox::setVisualOverflow):
+
+2011-04-25 Kenneth Russell <kbr@google.com>
+
+ Reviewed by David Levin.
+
+ Fix OwnPtr strict errors in TransformState.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=59380
+
+ * rendering/TransformState.cpp:
+ (WebCore::TransformState::applyTransform):
+
+2011-04-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by James Robinson.
+
+ DOMWindow.cpp should work with strict OwnPtrs
+ https://bugs.webkit.org/show_bug.cgi?id=59356
+
+ * page/DOMWindow.cpp:
+ (WebCore::PostMessageTimer::fired):
+ (WebCore::DOMWindow::postMessageTimerFired):
+ * page/DOMWindow.h:
+
+2011-04-25 Adam Klein <adamk@chromium.org>
+
+ Reviewed by James Robinson.
+
+ Fix OwnPtr strict errors in some SVG classes.
+ https://bugs.webkit.org/show_bug.cgi?id=59395
+
+ * rendering/style/SVGRenderStyleDefs.cpp:
+ (WebCore::StyleShadowSVGData::StyleShadowSVGData):
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::SVGSVGElement):
+ * svg/SVGStyledTransformableElement.cpp:
+ (WebCore::SVGStyledTransformableElement::supplementalTransform):
+ * svg/SVGTextElement.cpp:
+ (WebCore::SVGTextElement::supplementalTransform):
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::dataChanged):
+
+2011-04-25 Adam Barth <abarth@webkit.org>
+
+ Re-land changes to ValidationMessage.
+
+ * html/ValidationMessage.cpp:
+ (WebCore::ValidationMessage::setMessage):
+ (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
+ (WebCore::ValidationMessage::requestToHideMessage):
+
+2011-04-25 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by James Robinson.
+
+ fix OwnPtr strict error in FrameView.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=59402
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::FrameView):
+ (WebCore::FrameView::addWidgetToUpdate):
+
+2011-04-25 Adam Klein <adamk@chromium.org>
+
+ Unreviewed, rolling out r84844.
+ http://trac.webkit.org/changeset/84844
+ https://bugs.webkit.org/show_bug.cgi?id=59395
+
+ Checked in too much.
+
+ * rendering/style/SVGRenderStyleDefs.cpp:
+ (WebCore::StyleShadowSVGData::StyleShadowSVGData):
+ * svg/SVGDocumentExtensions.cpp:
+ (WebCore::SVGDocumentExtensions::removePendingResource):
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::SVGSVGElement):
+ * svg/SVGStyledTransformableElement.cpp:
+ (WebCore::SVGStyledTransformableElement::supplementalTransform):
+ * svg/SVGTextElement.cpp:
+ (WebCore::SVGTextElement::supplementalTransform):
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::dataChanged):
+
+2011-04-25 Adrienne Walker <enne@google.com>
+
+ Reviewed by David Levin.
+
+ Make ActiveDOMCallback play nice with OwnPtr strict mode
+ https://bugs.webkit.org/show_bug.cgi?id=59398
+
+ * bindings/generic/ActiveDOMCallback.cpp:
+ (WebCore::ActiveDOMCallback::ActiveDOMCallback):
+
+2011-04-25 Adam Klein <adamk@chromium.org>
+
+ Reviewed by James Robinson.
+
+ Fix OwnPtr strict errors in some SVG classes.
+ https://bugs.webkit.org/show_bug.cgi?id=59395
+
+ * rendering/style/SVGRenderStyleDefs.cpp:
+ (WebCore::StyleShadowSVGData::StyleShadowSVGData):
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::SVGSVGElement):
+ * svg/SVGStyledTransformableElement.cpp:
+ (WebCore::SVGStyledTransformableElement::supplementalTransform):
+ * svg/SVGTextElement.cpp:
+ (WebCore::SVGTextElement::supplementalTransform):
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::dataChanged):
+
+2011-04-25 James Robinson <jamesr@chromium.org>
+
+ Unreviewed, rolling out r84835.
+ http://trac.webkit.org/changeset/84835
+ https://bugs.webkit.org/show_bug.cgi?id=59394
+
+ Breaks compile because Deque<OwnPtr> doesn't work
+
+ * dom/XMLDocumentParserLibxml2.cpp:
+ (WebCore::PendingCallbacks::~PendingCallbacks):
+ (WebCore::PendingCallbacks::appendStartElementNSCallback):
+ (WebCore::PendingCallbacks::appendEndElementNSCallback):
+ (WebCore::PendingCallbacks::appendCharactersCallback):
+ (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
+ (WebCore::PendingCallbacks::appendCDATABlockCallback):
+ (WebCore::PendingCallbacks::appendCommentCallback):
+ (WebCore::PendingCallbacks::appendInternalSubsetCallback):
+ (WebCore::PendingCallbacks::appendErrorCallback):
+ (WebCore::XMLDocumentParser::XMLDocumentParser):
+ * html/ValidationMessage.cpp:
+ (WebCore::ValidationMessage::setMessage):
+ (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
+ (WebCore::ValidationMessage::requestToHideMessage):
+
+2011-04-25 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Sam Weinig.
+
+ Fix OwnPtr strict mode violation in ImageBufferCG
+ https://bugs.webkit.org/show_bug.cgi?id=59396
+
+ * platform/graphics/cg/ImageBufferCG.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+
+2011-04-25 Huang Dongsung <luxtella@company100.net>
+
+ Reviewed by Dirk Schulze.
+
+ [Skia] Remove an unused local variable in PlatformContextSkia::readbackHardwareToSoftware().
+ https://bugs.webkit.org/show_bug.cgi?id=59308
+
+ An unused local variable is created and even allocates heap memory.
+
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
+
+2011-04-25 Geoffrey Garen <ggaren@apple.com>
+
+ Qt build fix: Updated files not used by other ports for rename.
+
+ * bindings/js/JSTouchCustom.cpp:
+ (WebCore::toJSNewlyCreated):
+ * bindings/js/JSTouchListCustom.cpp:
+ (WebCore::toJSNewlyCreated):
+
+2011-04-25 Adrienne Walker <enne@google.com>
+
+ Reviewed by David Levin.
+
+ WebCore/css/CSS* files should play nice with strict OwnPtrs
+ https://bugs.webkit.org/show_bug.cgi?id=59382
+
+ * css/CSSFontFaceSource.cpp:
+ (WebCore::CSSFontFaceSource::getFontData):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::addProperty):
+ (WebCore::CSSParser::parseValue):
+
+2011-04-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by James Robinson.
+
+ ValidationMessage and XMLDocumentParserLibxml2 should play nice with strict OwnPtrs
+ https://bugs.webkit.org/show_bug.cgi?id=59394
+
+ * dom/XMLDocumentParserLibxml2.cpp:
+ (WebCore::PendingCallbacks::PendingCallbacks):
+ (WebCore::PendingCallbacks::appendStartElementNSCallback):
+ (WebCore::PendingCallbacks::appendEndElementNSCallback):
+ (WebCore::PendingCallbacks::appendCharactersCallback):
+ (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
+ (WebCore::PendingCallbacks::appendCDATABlockCallback):
+ (WebCore::PendingCallbacks::appendCommentCallback):
+ (WebCore::PendingCallbacks::appendInternalSubsetCallback):
+ (WebCore::PendingCallbacks::appendErrorCallback):
+ (WebCore::XMLDocumentParser::XMLDocumentParser):
+ * html/ValidationMessage.cpp:
+ (WebCore::ValidationMessage::setMessage):
+ (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
+ (WebCore::ValidationMessage::requestToHideMessage):
+
+2011-04-25 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Fix OwnPtr strictness issues in WebCore/inspector/
+ https://bugs.webkit.org/show_bug.cgi?id=59387
+
+ * inspector/InspectorAgent.cpp:
+ (WebCore::InspectorAgent::InspectorAgent):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::InspectorStyleSheet::ensureSourceData):
+
+2011-04-25 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Removed XPathNamespace because it was unused
+ https://bugs.webkit.org/show_bug.cgi?id=59381
+
+ This allows us to make Node::ownerDocument() non-virtual, though it has
+ the unhappy side-effect of rebuilding the world.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj: Bye bye dead code.
+
+ * dom/Node.h: Hello fast code!
+
+ * xml/XPathNamespace.cpp: Removed.
+ * xml/XPathNamespace.h: Removed.
+
+2011-04-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ HistoryItemMac should play nice with OwnPtrs
+ https://bugs.webkit.org/show_bug.cgi?id=59388
+
+ * history/mac/HistoryItemMac.mm:
+ (WebCore::HistoryItem::setTransientProperty):
+
+2011-04-25 David Levin <levin@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ Fix strict OwnPtrs in ContextMenuController.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=59375
+
+ * page/ContextMenuController.cpp:
+ (WebCore::ContextMenuController::createContextMenu):
+ (WebCore::separatorItem):
+
+2011-04-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ CheckedRadioButton should play nice with strict OwnPtr
+ https://bugs.webkit.org/show_bug.cgi?id=59386
+
+ * dom/CheckedRadioButtons.cpp:
+ (WebCore::CheckedRadioButtons::addButton):
+
+2011-04-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ Resource*.cpp should play nice with strict OwnPtrs
+ https://bugs.webkit.org/show_bug.cgi?id=59383
+
+ * bridge/runtime_method.cpp:
+ (JSC::RuntimeMethod::RuntimeMethod):
+ * platform/network/ResourceHandle.cpp:
+ (WebCore::ResourceHandle::ResourceHandle):
+ * platform/network/ResourceResponseBase.cpp:
+ (WebCore::ResourceResponseBase::adopt):
+ (WebCore::ResourceResponseBase::copyData):
+
+2011-04-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ Page*.cpp and objc_runtime.mm should play nice with strict OwnPtrs
+ https://bugs.webkit.org/show_bug.cgi?id=59374
+
+ * bridge/objc/objc_runtime.mm:
+ (JSC::Bindings::callObjCFallbackObject):
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ (WebCore::Page::initGroup):
+ * page/PageGroup.cpp:
+ (WebCore::PageGroup::addUserScriptToWorld):
+ (WebCore::PageGroup::addUserStyleSheetToWorld):
+ * page/mac/PageMac.cpp:
+ (WebCore::Page::addSchedulePair):
+
+2011-04-25 Geoffrey Garen <ggaren@apple.com>
+
+ Build fix: This time for sure!
+
+ * dom/make_names.pl:
+
+2011-04-25 Geoffrey Garen <ggaren@apple.com>
+
+ Build fix: Let's edit the script instead of the autogenrated file. That
+ way, our change will stand the test of time.
+
+ * dom/make_names.pl:
+
+2011-04-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ Fix strict OwnPtrs in HTMLMediaElement and HTTPHeaderMap
+ https://bugs.webkit.org/show_bug.cgi?id=59368
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::HTMLMediaElement):
+ * platform/network/HTTPHeaderMap.cpp:
+ (WebCore::HTTPHeaderMap::copyData):
+
+2011-04-25 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Fix strict OwnPtr violations in Render*.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=59361
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::RenderBlock):
+ (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::addLayoutOverflow):
+ (WebCore::RenderBox::addVisualOverflow):
+ * rendering/RenderButton.cpp:
+ (WebCore::RenderButton::styleDidChange):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateTransform):
+ (WebCore::RenderLayer::paintChildLayerIntoColumns):
+ (WebCore::RenderLayer::hitTestChildLayerColumns):
+ (WebCore::RenderLayer::ensureBacking):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::styleDidChange):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::compositor):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::addCachedPseudoStyle):
+ (WebCore::RenderStyle::accessCounterDirectives):
+ (WebCore::RenderStyle::accessAnimations):
+ (WebCore::RenderStyle::accessTransitions):
+ * rendering/svg/RenderSVGResourceFilter.cpp:
+ (WebCore::RenderSVGResourceFilter::applyResource):
+ * rendering/svg/SVGResources.cpp:
+ (WebCore::SVGResources::SVGResources):
+
+2011-04-25 Adam Barth <abarth@webkit.org>
+
+ Attempt to fix the compile.
+
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::loadWithNextMediaEngine):
+
+2011-04-25 Geoffrey Garen <ggaren@apple.com>
+
+ Rubber-stamped by Beth Dakin.
+
+ Merged CREATE_DOM_NODE_WRAPPER and CREATE_DOM_OBJECT_WRAPPER into
+ CREATE_DOM_WRAPPER because there's no meaningful difference between
+ them anymore.
+
+ * bindings/js/JSCDATASectionCustom.cpp:
+ (WebCore::toJSNewlyCreated):
+ * bindings/js/JSCSSRuleCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSCSSValueCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSDocumentCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSElementCustom.cpp:
+ (WebCore::toJSNewlyCreated):
+ * bindings/js/JSEventCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSImageDataCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::createWrapperInline):
+ * bindings/js/JSSVGPathSegCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSStyleSheetCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSTextCustom.cpp:
+ (WebCore::toJSNewlyCreated):
+ * bindings/js/JSWebKitCSSMatrixCustom.cpp:
+ (WebCore::JSWebKitCSSMatrixConstructor::constructJSWebKitCSSMatrix):
+ * bindings/js/JSWebSocketCustom.cpp:
+ (WebCore::JSWebSocketConstructor::constructJSWebSocket):
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequestConstructor::constructJSXMLHttpRequest):
+ * bindings/js/JSXSLTProcessorCustom.cpp:
+ (WebCore::JSXSLTProcessorConstructor::constructJSXSLTProcessor):
+
+2011-04-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by James Robinson.
+
+ HTMLDocumentParser should play nice with OwnPtrs
+ https://bugs.webkit.org/show_bug.cgi?id=59363
+
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::pumpTokenizer):
+
+2011-04-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by James Robinson.
+
+ Frame.cpp should work with strict OwnPtrs
+ https://bugs.webkit.org/show_bug.cgi?id=59360
+
+ * page/Frame.cpp:
+ (WebCore::createRegExpForLabels):
+
+2011-04-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ Fix strict OwnPtr in Element.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=59357
+
+ * dom/NodeRareData.h:
+ (WebCore::NodeRareData::ensureEventTargetData):
+
+2011-04-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ Fix strict OwnPtr issues in Media*.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=59354
+
+ There's still a tricky case in MediaPlayer.cpp, but we'll worry about
+ that later.
+
+ * css/MediaQueryMatcher.cpp:
+ (WebCore::MediaQueryMatcher::addListener):
+ * dom/Document.cpp:
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::createNullMediaPlayer):
+
+2011-04-25 James Robinson <jamesr@chromium.org>
+
+ Reviewed by David Levin.
+
+ Fix strict OwnPtr violations in ListHashSet and RenderLayerCompositor
+ https://bugs.webkit.org/show_bug.cgi?id=59353
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::RenderLayerCompositor):
+
+2011-04-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by James Robinson.
+
+ Worker*.cpp should work with strict OwnPtrs
+ https://bugs.webkit.org/show_bug.cgi?id=59346
+
+ * inspector/WorkerInspectorController.cpp:
+ (WebCore::WorkerInspectorController::WorkerInspectorController):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::WorkerContext):
+ * workers/WorkerRunLoop.cpp:
+ (WebCore::WorkerRunLoop::WorkerRunLoop):
+ * workers/WorkerScriptLoader.cpp:
+ (WebCore::WorkerScriptLoader::createResourceRequest):
+
+2011-04-25 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Remove bad use of OwnPtr::set() in IconDatabase.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=59344
+
+ Needed for strict OwnPtr compliance.
+
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::readySQLiteStatement):
+
+2011-04-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ ImageBuffer.h should work with strict OwnPtrs
+ https://bugs.webkit.org/show_bug.cgi?id=59341
+
+ This patch is to prepare for the strict OwnPtr hack-a-thon.
+
+ * platform/graphics/ImageBuffer.h:
+ (WebCore::ImageBuffer::create):
+
+2011-04-25 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Brian Weinstein.
+
+ WebCore build on Windows should include windows.h in its precompiled header to speed builds
+ https://bugs.webkit.org/show_bug.cgi?id=59339
+
+ windows.h is included by several of the underlying wtf headers, including Atomics.h and
+ ThreadingPrimitives.h anyway, so include it in the WebCorePrefix.h to speed up compilation.
+
+ On my 8 core Mac Pro, this reduces a clean rebuild of debug WebCore from 8 minutes to 7 minutes
+ (a 12% speedup).
+
+ * WebCorePrefix.h: Include windows.h
+
+2011-04-25 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Crash in WebCore::FrameView::notifyPageThatContentAreaWillPaint()
+ https://bugs.webkit.org/show_bug.cgi?id=59311
+
+ * platform/gtk/MainFrameScrollbarGtk.cpp:
+ (MainFrameScrollbarGtk::attachAdjustment): Before connecting an adjustment to a scrollbar
+ disconnect any lingering signal handlers. This prevents an adjustment from controlling the
+ active ScrollView and some zombie ScrollView.
+
+2011-04-25 Geoffrey Garen <ggaren@apple.com>
+
+ Another shot at fixing the EFL build.
+
+ * UseJSC.cmake:
+ * bindings/js/JSDOMBinding.cpp:
+
+2011-04-25 Geoffrey Garen <ggaren@apple.com>
+
+ Try to fix EFL build.
+
+ * UseJSC.cmake: Added a missing file.
+
+2011-04-25 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Removed a use of markDOMObjectWrapper: ActiveDOMObjects, Workers, and MessagePorts
+ https://bugs.webkit.org/show_bug.cgi?id=59333
+
+ * WebCore.xcodeproj/project.pbxproj: Added .idl files for easier editing.
+
+ * bindings/js/JSDOMBinding.cpp:
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSDocumentCustom.cpp:
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::visitChildren): Removed now-unused functions.
+
+ * bindings/scripts/CodeGeneratorJS.pm: Added support for ActiveDOMObject
+ lifetime management.
+
+ * dom/Document.idl: No need for a custom mark function anymore, since
+ ActiveDOMObjets now manage their own lifetimes.
+
+ * dom/MessagePort.cpp:
+ (WebCore::MessagePort::hasPendingActivity): Correctly report that we
+ have pending activity when we're remotely entangled, instead of relying
+ on our clients to know this about us and do the check for us.
+
+ * dom/MessagePort.h: FIXME!
+
+ * dom/MessagePort.idl:
+ * fileapi/DOMFileSystem.idl:
+ * fileapi/FileReader.idl:
+ * fileapi/FileWriter.idl:
+ * notifications/Notification.idl:
+ * notifications/NotificationCenter.idl:
+ * page/EventSource.idl:
+ * storage/IDBDatabase.idl:
+ * storage/IDBRequest.idl:
+ * storage/IDBTransaction.idl:
+ * webaudio/AudioContext.idl:
+ * websockets/WebSocket.idl:
+ * workers/AbstractWorker.idl:
+ * workers/SharedWorker.idl:
+ * workers/Worker.idl: Opt in to ActiveDOMObject lifetime management.
+
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::hasPendingActivity): No need to make up for
+ MessagePort::hasPendingActivity being wrong anymore, since it's now right.
+
+ * xml/XMLHttpRequest.idl: Opt in to ActiveDOMObject lifetime management.
+
+2011-04-25 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: worker messages should be routed to corresponding worker front-end
+ https://bugs.webkit.org/show_bug.cgi?id=59323
+
+ Added WorkerManager which is responsible for routing messages between
+ Page inspector front-end and Worker inspector front-ends.
+
+ * WebCore.gypi:
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/WorkerManager.js: Added.
+ (WebInspector.WorkerManager):
+ (WebInspector.WorkerManager.loaded.InspectorFrontendHost.sendMessageToBackend):
+ (WebInspector.WorkerManager.loaded.InspectorFrontendHost.loaded):
+ (WebInspector.WorkerManager.loaded):
+ (WebInspector.WorkerFrontendStub):
+ (WebInspector.WorkerFrontendStub.prototype._receiveMessage):
+ (WebInspector.WorkerDispatcher):
+ (WebInspector.WorkerDispatcher.prototype._receiveMessage):
+ (WebInspector.WorkerDispatcher.prototype.workerCreated):
+ (WebInspector.WorkerDispatcher.prototype.dispatchMessageFromWorker):
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+ (WebInspector.loaded):
+
+2011-04-25 Annie Sullivan <sullivan@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [Resources panel] Should be easy to copy data.
+ https://bugs.webkit.org/show_bug.cgi?id=45662
+
+ Adds context menu items to copy resource location, resource request headers, and resource response headers.
+
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkPanel.prototype._contextMenu): Add new items to context menu.
+ (WebInspector.NetworkPanel.prototype._exportLocation): Copy resource location to clipboard.
+ (WebInspector.NetworkPanel.prototype._exportRequestHeaders): Copy resource request headers to clipboard.
+ (WebInspector.NetworkPanel.prototype._exportResponseHeaders): Copy resource response headers to clipboard.
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.prototype.get requestHeadersText): If _requestHeadersText is undefined, generate it from requestHeaders.
+ (WebInspector.Resource.prototype.get responseHeadersText): If _responseHeadersText is undefined, generate it form responseHeaders.
+
+2011-04-25 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: CSS is parsed improperly when saved in UTF-8 with a BOM
+ https://bugs.webkit.org/show_bug.cgi?id=59322
+
+ Use TextResourceDecoder to determine external stylesheet charsets correctly.
+
+ Test: inspector/styles/parse-utf8-bom.html
+
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::InspectorStyleSheet::originalStyleSheetText):
+
+2011-04-25 Pavel Feldman <pfeldman@google.com>
+
+ Not reviewed: Inspector.json cleanup.
+
+ * inspector/Inspector.json:
+
+2011-04-25 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: introduce InspectorWorkerAgent
+ https://bugs.webkit.org/show_bug.cgi?id=59320
+
+ InspectorWorkerAgent is responsible for routing inspector messages
+ between worker context inspector agents and corresponding worker
+ inspector front-end.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * inspector/CodeGeneratorInspector.pm:
+ * inspector/Inspector.json:
+ * inspector/InspectorAgent.cpp:
+ (WebCore::InspectorAgent::InspectorAgent):
+ (WebCore::InspectorAgent::setFrontend):
+ (WebCore::InspectorAgent::disconnectFrontend):
+ * inspector/InspectorAgent.h:
+ (WebCore::InspectorAgent::workerAgent):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::connectFrontend):
+ (WebCore::InspectorController::disconnectFrontend):
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::didStartWorkerContextImpl):
+ * inspector/InspectorInstrumentation.h:
+ (WebCore::InspectorInstrumentation::willStartWorkerContext):
+ (WebCore::InspectorInstrumentation::didStartWorkerContext):
+ * inspector/InspectorWorkerAgent.cpp: Added.
+ (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::WorkerFrontendChannel):
+ (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::~WorkerFrontendChannel):
+ (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::id):
+ (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::inspectorProxy):
+ (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::sendMessageToFrontend):
+ (WebCore::InspectorWorkerAgent::create):
+ (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
+ (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
+ (WebCore::InspectorWorkerAgent::setFrontend):
+ (WebCore::InspectorWorkerAgent::clearFrontend):
+ (WebCore::InspectorWorkerAgent::dispatchMessageOnWorkerInspector):
+ (WebCore::InspectorWorkerAgent::didStartWorkerContext):
+ * inspector/InspectorWorkerAgent.h: Added.
+ * inspector/InstrumentingAgents.h:
+ (WebCore::InstrumentingAgents::InstrumentingAgents):
+ (WebCore::InstrumentingAgents::inspectorWorkerAgent):
+ (WebCore::InstrumentingAgents::setInspectorWorkerAgent):
+ * inspector/WorkerInspectorController.cpp:
+ (WebCore::WorkerInspectorController::connectFrontend):
+ * inspector/generate-inspector-idl:
+ * workers/Worker.cpp:
+ (WebCore::Worker::notifyFinished):
+ * workers/WorkerContextInspectorProxy.h: Added. Platform-specific transport for inspector
+ messages sent from the inspected page worker agent to the worker context inspector agents.
+ (WebCore::WorkerContextInspectorProxy::connectFrontend):
+ (WebCore::WorkerContextInspectorProxy::disconnectFrontend):
+ (WebCore::WorkerContextInspectorProxy::sendMessageToWorkerContextInspector):
+ (WebCore::WorkerContextInspectorProxy::~WorkerContextInspectorProxy):
+ * workers/WorkerContextProxy.h:
+ (WebCore::WorkerContextProxy::inspectorProxy):
+
+2011-04-25 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: move Frame and Resource Tree management into the Page agent.
+ https://bugs.webkit.org/show_bug.cgi?id=59321
+
+ Network agent should only handle network-related activities.
+ Frame structure should be managed by the Page agent instead.
+
+ * inspector/Inspector.json:
+ * inspector/InspectorAgent.cpp:
+ (WebCore::InspectorAgent::InspectorAgent):
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::InspectorDOMAgent):
+ (WebCore::InspectorDOMAgent::setFrontend):
+ (WebCore::InspectorDOMAgent::restore):
+ (WebCore::InspectorDOMAgent::highlightFrame):
+ * inspector/InspectorDOMAgent.h:
+ (WebCore::InspectorDOMAgent::create):
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
+ (WebCore::InspectorInstrumentation::loadEventFiredImpl):
+ (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
+ (WebCore::InspectorInstrumentation::didCommitLoadImpl):
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::InspectorPageAgent::create):
+ (WebCore::InspectorPageAgent::resourceContent):
+ (WebCore::InspectorPageAgent::resourceContentBase64):
+ (WebCore::InspectorPageAgent::resourceData):
+ (WebCore::InspectorPageAgent::cachedResource):
+ (WebCore::InspectorPageAgent::resourceTypeString):
+ (WebCore::InspectorPageAgent::cachedResourceType):
+ (WebCore::InspectorPageAgent::cachedResourceTypeString):
+ (WebCore::InspectorPageAgent::InspectorPageAgent):
+ (WebCore::InspectorPageAgent::setFrontend):
+ (WebCore::InspectorPageAgent::reload):
+ (WebCore::InspectorPageAgent::open):
+ (WebCore::InspectorPageAgent::getCookies):
+ (WebCore::InspectorPageAgent::deleteCookie):
+ (WebCore::InspectorPageAgent::getResourceTree):
+ (WebCore::InspectorPageAgent::getResourceContent):
+ (WebCore::InspectorPageAgent::restore):
+ (WebCore::InspectorPageAgent::domContentEventFired):
+ (WebCore::InspectorPageAgent::loadEventFired):
+ (WebCore::InspectorPageAgent::frameNavigated):
+ (WebCore::InspectorPageAgent::frameDetached):
+ (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
+ (WebCore::InspectorPageAgent::mainFrame):
+ (WebCore::pointerAsId):
+ (WebCore::InspectorPageAgent::frameForId):
+ (WebCore::InspectorPageAgent::frameId):
+ (WebCore::InspectorPageAgent::loaderId):
+ (WebCore::InspectorPageAgent::buildObjectForFrame):
+ (WebCore::InspectorPageAgent::buildObjectForFrameTree):
+ * inspector/InspectorPageAgent.h:
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::buildObjectForCachedResource):
+ (WebCore::InspectorResourceAgent::willSendRequest):
+ (WebCore::InspectorResourceAgent::didReceiveResponse):
+ (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
+ (WebCore::InspectorResourceAgent::setInitialScriptContent):
+ (WebCore::InspectorResourceAgent::setInitialXHRContent):
+ (WebCore::InspectorResourceAgent::InspectorResourceAgent):
+ * inspector/InspectorResourceAgent.h:
+ (WebCore::InspectorResourceAgent::create):
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::InspectorStyleSheet::resourceStyleSheetText):
+ * inspector/front-end/NetworkManager.js:
+ (WebInspector.NetworkManager.prototype.requestContent):
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkPanel):
+ (WebInspector.NetworkPanel.prototype.frameNavigated):
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.ResourceTreeModel):
+ (WebInspector.ResourceTreeModel.prototype.frontendReused):
+ (WebInspector.ResourceTreeModel.prototype.frameNavigated):
+ (WebInspector.ResourceTreeModel.prototype.frameDetached):
+ * inspector/front-end/inspector.js:
+ (WebInspector.domContentEventFired):
+ (WebInspector.loadEventFired):
+ (WebInspector.frameNavigated):
+ (WebInspector.frameDetached):
+
+2011-04-25 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: few protocol improvements.
+ https://bugs.webkit.org/show_bug.cgi?id=59319
+
+ - Page domain is documented
+ - setUserAgentOverride is moved to the Network agent
+ - setSearchingForNode -> setInspectModeEnabled
+ - highlightDOMNode -> highlightNode
+ - reloadPage -> reload
+ - openInNewWindow -> open with optional parameter
+
+ * inspector/Inspector.json:
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::setInspectModeEnabled):
+ (WebCore::InspectorDOMAgent::highlightNode):
+ * inspector/InspectorDOMAgent.h:
+ (WebCore::InspectorDOMAgent::hideNodeHighlight):
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::InspectorPageAgent::clearFrontend):
+ (WebCore::InspectorPageAgent::reload):
+ (WebCore::InspectorPageAgent::open):
+ * inspector/InspectorPageAgent.h:
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::InspectorResourceAgent::clearFrontend):
+ (WebCore::InspectorResourceAgent::applyUserAgentOverride):
+ (WebCore::InspectorResourceAgent::setUserAgentOverride):
+ * inspector/InspectorResourceAgent.h:
+ * inspector/front-end/AuditsPanel.js:
+ (WebInspector.AuditsPanel.prototype._reloadResources):
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.setSearchingForNode):
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._onReload):
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
+ * inspector/front-end/inspector.js:
+ (WebInspector.highlightDOMNode):
+ (WebInspector.openResource):
+ (WebInspector.documentKeyDown):
+
+2011-04-25 Jon Lee <jonlee@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Overlay scroller hard to see on pages with dark background (59183)
+ https://bugs.webkit.org/show_bug.cgi?id=59183
+ <rdar://problem/8975367>
+
+ Switch the scrollbar's overlay style depending on its frame's background color.
+ This refactors the getDocumentBackgroundColor method needed for gestures. The style
+ is determined and set on every paint() call to the Mac scrollbar theme.
+
+ * WebCore.exp.in: adding method to allow changing style
+ * page/Frame.cpp:
+ (WebCore::Frame::getDocumentBackgroundColor): moving code from WebFrame for reuse by FrameView
+ * page/Frame.h:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::recommendedScrollbarOverlayStyle): overridden to suggest a style based on CSS background color
+ * page/FrameView.h:
+ * platform/ScrollTypes.h: new enum to represent different overlay scrollbar styles
+ * platform/ScrollableArea.h:
+ (WebCore::ScrollableArea::recommendedScrollbarOverlayStyle): new virtual function to return a suggested overlay style
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::paint):
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+
+2011-04-25 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ <rdar://problem/9113516> REGRESSION (WK2): Holding down Option while dragging scrollbar thumb has no effect (should make scroll distance equal mouse translation)
+ https://bugs.webkit.org/show_bug.cgi?id=59315
+
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::Scrollbar): Initialize new member variables.
+ (WebCore::Scrollbar::moveThumb): Added a boolean draggingDocument parameter. When true, the document
+ is scrolled a distance equal to the change in the mouse position.
+ (WebCore::Scrollbar::mouseMoved): Check with the theme whether the mouse move event should drag
+ the document rather than the thumb, and pass the result to moveThumb.
+ (WebCore::Scrollbar::mouseUp): Reset m_draggingDocument.
+ * platform/Scrollbar.h:
+ * platform/ScrollbarTheme.h:
+ (WebCore::ScrollbarTheme::shouldDragDocumentInsteadOfThumb): Added. The base class implementation
+ returns false.
+ * platform/mac/ScrollbarThemeMac.h:
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::shouldDragDocumentInsteadOfThumb): Overridden to return true if the
+ Option key is down.
+
+2011-04-24 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Removed a use of markDOMObjectWrapper: WebGL, XHR, workers; plus, more autogeneration
+ https://bugs.webkit.org/show_bug.cgi?id=59307
+
+ * WebCore.xcodeproj/project.pbxproj: Added Blob.idl, so it's easier to edit.
+
+ * bindings/js/JSCSSRuleCustom.cpp:
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ * bindings/js/JSCanvasRenderingContextCustom.cpp:
+ * bindings/js/JSDOMApplicationCacheCustom.cpp: Autogenerate these instead
+ of hand-coding them.
+
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::root): Moved some GC helpers here from JSNodeCustom.h, because
+ they're reasonably generic.
+
+ * bindings/js/JSDOMImplementationCustom.cpp:
+ * bindings/js/JSDOMStringMapCustom.cpp:
+ * bindings/js/JSDOMTokenListCustom.cpp:
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ * bindings/js/JSMediaListCustom.cpp: Autogenerate these instead of
+ hand-coding them.
+
+ * bindings/js/JSMessageChannelCustom.cpp:
+ (WebCore::JSMessageChannel::visitChildren):
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::visitChildren): Use addOpaqueRoot instead of
+ markDOMObjectWrapper. This is one of the few cases where a DOM object is
+ considered a stand-alone root. It's not as efficient as the shared root
+ case, but workers and message ports are very rare objects, so it's no
+ big deal.
+
+ * bindings/js/JSNamedNodeMapCustom.cpp: Autogenerate!
+
+ * bindings/js/JSNodeCustom.h: Moved to JSDOMBinding.h.
+
+ * bindings/js/JSSharedWorkerCustom.cpp:
+ (WebCore::JSSharedWorker::visitChildren): Use addOpaqueRoot instead of
+ markDOMObjectWrapper, as above. Once again, a stand-alone root.
+
+ * bindings/js/JSStyleSheetCustom.cpp:
+ * bindings/js/JSStyleSheetListCustom.cpp: Autogenerate!
+
+ * bindings/js/JSWebGLRenderingContextCustom.cpp:
+ (WebCore::JSWebGLRenderingContext::visitChildren): Use the opaque roots
+ system for marking WebGL contexts and their associated satellite objects.
+
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::visitChildren):
+ * bindings/js/JSXMLHttpRequestCustom.cpp: Use addOpaqueRoot instead of
+ markDOMObjectWrapper, as above. Once again, stand-alone roots.
+
+ (WebCore::JSXMLHttpRequest::visitChildren):
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp: No need to mark our owner
+ XHR because it is not reachable from us.
+
+ * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration support for a
+ bunch of repetitive cases of isReachableFromOpaqueRoots callbacks.
+
+ * css/CSSRule.idl:
+ * css/CSSStyleDeclaration.idl:
+ * css/MediaList.idl:
+ * css/StyleMedia.idl:
+ * css/StyleSheet.idl:
+ * css/StyleSheetList.idl:
+ * dom/DOMImplementation.idl:
+ * dom/DOMStringMap.idl:
+ * dom/MessagePort.idl:
+ * dom/NamedNodeMap.idl:
+ * fileapi/Blob.idl:
+ * html/DOMTokenList.idl: Opt in to autogeneration.
+
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::getContext): Standardized on PassOwnPtr/OwnPtr
+ usage, to reduce human error and make ownership rules more obvious.
+
+ * html/HTMLCollection.idl:
+ * html/canvas/ArrayBuffer.idl: Opt in to autogeneration.
+
+ * html/canvas/CanvasRenderingContext.cpp:
+ * html/canvas/CanvasRenderingContext.h:
+ (WebCore::CanvasRenderingContext::ref):
+ (WebCore::CanvasRenderingContext::deref):
+ * html/canvas/CanvasRenderingContext2D.h:
+ (WebCore::CanvasRenderingContext2D::create):
+ (WebCore::CanvasRenderingContext2D::state): Standardized on PassOwnPtr/OwnPtr
+ usage, to reduce human error and make ownership rules more obvious.
+
+ Inlined some functions to match our standard idiom and to make the code
+ in the header document itself.
+
+ * html/canvas/CanvasRenderingContext.idl: Opt in to autogeneration.
+
+ * html/canvas/OESStandardDerivatives.cpp:
+ (WebCore::OESStandardDerivatives::OESStandardDerivatives):
+ (WebCore::OESStandardDerivatives::create):
+ * html/canvas/OESStandardDerivatives.h:
+ * html/canvas/OESStandardDerivatives.idl:
+ * html/canvas/OESTextureFloat.cpp:
+ (WebCore::OESTextureFloat::OESTextureFloat):
+ (WebCore::OESTextureFloat::create):
+ * html/canvas/OESTextureFloat.h:
+ * html/canvas/OESTextureFloat.idl:
+ * html/canvas/OESVertexArrayObject.cpp:
+ (WebCore::OESVertexArrayObject::OESVertexArrayObject):
+ (WebCore::OESVertexArrayObject::create):
+ * html/canvas/OESVertexArrayObject.h:
+ * html/canvas/OESVertexArrayObject.idl:
+ * html/canvas/WebGLExtension.cpp:
+ (WebCore::WebGLExtension::WebGLExtension):
+ * html/canvas/WebGLExtension.h:
+ (WebCore::WebGLExtension::ref):
+ (WebCore::WebGLExtension::deref):
+ (WebCore::WebGLExtension::context):
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
+ (WebCore::WebGLRenderingContext::getExtension):
+ * html/canvas/WebGLRenderingContext.h:
+ * html/canvas/WebKitLoseContext.cpp:
+ (WebCore::WebKitLoseContext::WebKitLoseContext):
+ (WebCore::WebKitLoseContext::create):
+ (WebCore::WebKitLoseContext::loseContext):
+ * html/canvas/WebKitLoseContext.h:
+ * html/canvas/WebKitLoseContext.idl: Updated the ownership model for WebGL
+ canavs rendering contexts to match the model for 2D canvas rendering
+ contexts. This makes garbage collection a lot more straightforward, but
+ it also makes the behavior of these objects more reliable. (Previously,
+ satellite objects would magically stop working when the last reference
+ to their owner object was dropped. Now, satellite objects keep their owner
+ alive through reference counting.)
+
+ * loader/appcache/DOMApplicationCache.idl:
+ * page/BarInfo.idl:
+ * page/Console.idl:
+ * page/DOMSelection.idl:
+ * page/Geolocation.idl:
+ * page/History.idl:
+ * page/Location.idl:
+ * page/Navigator.idl:
+ * page/Screen.idl:
+ * page/WorkerNavigator.idl:
+ * plugins/DOMMimeTypeArray.h:
+ (WebCore::DOMMimeTypeArray::frame):
+ * plugins/DOMMimeTypeArray.idl:
+ * plugins/DOMPluginArray.h:
+ (WebCore::DOMPluginArray::frame):
+ * plugins/DOMPluginArray.idl:
+ * storage/Storage.idl:
+ * workers/WorkerLocation.idl: Opt in to autogeneration.
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::~XMLHttpRequest):
+ * xml/XMLHttpRequest.h:
+ * xml/XMLHttpRequestUpload.cpp:
+ (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
+ * xml/XMLHttpRequestUpload.h:
+ (WebCore::XMLHttpRequestUpload::create):
+ (WebCore::XMLHttpRequestUpload::ref):
+ (WebCore::XMLHttpRequestUpload::deref):
+ (WebCore::XMLHttpRequestUpload::xmlHttpRequest):
+ (WebCore::XMLHttpRequestUpload::toXMLHttpRequestUpload):
+ * xml/XMLHttpRequestUpload.idl: Updated the ownership model for XHR and
+ its associated upload object to match the model for canvas. This makes
+ garbage collection a lot more straightforward, but it also makes the
+ behavior of these objects more reliable.
+
+2011-04-24 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r84759.
+ http://trac.webkit.org/changeset/84759
+ https://bugs.webkit.org/show_bug.cgi?id=59306
+
+ Caused gc-shadow.html to start crashing in V8. (Requested by
+ dglazkov|away on #webkit).
+
+ * dom/Node.cpp:
+ (WebCore::NodeRendererFactory::createRendererAndStyle):
+ (WebCore::Node::styleForRenderer):
+
+2011-04-24 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by George Staikos.
+
+ Handling of URLs like http:/example.com/ is incorrect
+ https://bugs.webkit.org/show_bug.cgi?id=59300
+ <rdar://problem/9231956>
+
+ URLs like http:/example.com/ or http:example.com/ are now correctly
+ canonicalized as http://example.com/
+
+ The code still doesn't quite match other browsers - at least some
+ other browsers seem to base parsing behavior on whether they
+ recongize a scheme from a fixed list, and ignore whether // is
+ present in the URL or not.
+
+ * platform/KURL.cpp:
+ (WebCore::isNonFileHierarchicalScheme): New helper function.
+ (WebCore::KURL::parse): For a particular list of whitelisted schemes,
+ assume they are hierarchical and need an authority even if there is no //
+ after the :/
+
+2011-04-24 Dan Bernstein <mitz@apple.com>
+
+ LLVM Compiler build fix.
+
+ * page/ContentSecurityPolicy.cpp: Removed an unused function.
+
+2011-04-24 Dominic Cooney <dominicc@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Crash when adding a text node to a shadow root
+ https://bugs.webkit.org/show_bug.cgi?id=59304
+
+ Text nodes need to consult their host element for style.
+
+ Test: fast/dom/shadow/append-child-text.html
+
+ * dom/Node.cpp:
+ (WebCore::NodeRendererFactory::styleForRenderer):
+ (WebCore::NodeRendererFactory::createRendererAndStyle):
+ (WebCore::Node::styleForRenderer): forward to NodeRendererFactory
+
+2011-04-24 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Update Content-Security-Policy syntax to match new version of spec
+ https://bugs.webkit.org/show_bug.cgi?id=59291
+
+ Brandon removed disable-xss-protection in favor of unsafe-inline and
+ allow-eval in favor of unsafe-eval. This change in syntax also means
+ the options directive no longer exists.
+
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::CSPSourceList::allowInline):
+ (WebCore::CSPSourceList::allowEval):
+ (WebCore::CSPSourceList::CSPSourceList):
+ (WebCore::CSPSourceList::parseSource):
+ (WebCore::CSPSourceList::addSourceUnsafeInline):
+ (WebCore::CSPSourceList::addSourceUnsafeEval):
+ (WebCore::CSPDirective::allowInline):
+ (WebCore::CSPDirective::allowEval):
+ (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
+ (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
+ (WebCore::ContentSecurityPolicy::allowInlineScript):
+ (WebCore::ContentSecurityPolicy::allowEval):
+ (WebCore::ContentSecurityPolicy::addDirective):
+ * page/ContentSecurityPolicy.h:
+
+2011-04-24 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Manual test for <rdar://problem/9329741> Reproducible crash in WebChromeClient::invalidateContentsAndWindow() on simonscat.com
+ https://bugs.webkit.org/show_bug.cgi?id=59299
+
+ * manual-tests/back-from-document-with-scrollbar.html: Added.
+
+2011-04-24 Rik Cabanier <cabanier@adobe.com>
+
+ Reviewed by Simon Fraser.
+
+ Tables are not rendered correctly
+ https://bugs.webkit.org/show_bug.cgi?id=59138
+
+ Test: fast/table/auto-100-percent-width.html
+
+ * rendering/AutoTableLayout.cpp:
+ (WebCore::AutoTableLayout::computePreferredLogicalWidths):
+
+2011-04-23 Simon Fraser <simon.fraser@apple.com>
+
+ Fix Windows build, which complains about unreachable code.
+
+ * platform/ScrollableArea.cpp:
+ (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
+ (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
+ (WebCore::ScrollableArea::hasLayerForScrollCorner):
+
+2011-04-23 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Area under composited scrollbars not repainted in WebKit2 on scrolling
+ https://bugs.webkit.org/show_bug.cgi?id=59294
+ <rdar://problem/9299062>
+
+ When computing the rect that can be copied on scrolling, we normally
+ exclude the areas occupied by overlay scrollbars to avoid smeared scrollbars;
+ the assumption is that other code will repaint these areas. However, when
+ scrollbars are in their own compositing layers, we can, and should
+ copy the entire area.
+
+ Not testable in DRT because it does not allow tests to use overlay scrollbars.
+
+ * platform/ScrollView.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::rectToCopyOnScroll):
+ New method, with code moved from scrollContents and fixed to look
+ for scrollbars in layers.
+ (WebCore::ScrollView::scrollContents):
+ Call rectToCopyOnScroll().
+
+ * platform/ScrollableArea.h:
+ * platform/ScrollableArea.cpp:
+ (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
+ (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
+ (WebCore::ScrollableArea::hasLayerForScrollCorner):
+ Methods we can call outside of the ACCELERATED_COMPOSITING #ifdef.
+
+2011-04-23 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r84740.
+ http://trac.webkit.org/changeset/84740
+ https://bugs.webkit.org/show_bug.cgi?id=59290
+
+ change breaks apple internal builds and is incorrect
+ (Requested by smfr on #webkit).
+
+ * WebCore.exp.in:
+ * page/FrameView.cpp:
+ * page/FrameView.h:
+ * platform/ScrollTypes.h:
+ * platform/ScrollableArea.h:
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::paint):
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+
+2011-04-23 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/8970549> WebFindOptionsAtWordStarts fails with Japanese words
+ https://bugs.webkit.org/show_bug.cgi?id=59288
+
+ * platform/text/mac/TextBoundaries.mm:
+ (WebCore::wordStringTokenizer): Added this helper function.
+ (WebCore::findNextWordFromIndex): Changed to use a CFStringTokenizer with kCFStringTokenizerUnitWord,
+ whose behavior is not locale-dependent.
+
+2011-04-23 Dominic Cooney <dominicc@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Nodes in shadow DOM should not be GCed while their hosts are alive
+ https://bugs.webkit.org/show_bug.cgi?id=59284
+
+ Test: fast/dom/shadow/gc-shadow.html
+
+ * bindings/v8/V8GCController.cpp:
+ (WebCore::calculateGroupId): group shadow nodes with their hosts
+
+2011-04-23 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ [Refactoring] NodeRenderParentDetector should be NodeRenderFactory
+ https://bugs.webkit.org/show_bug.cgi?id=59280
+
+ - Rename NodeRenderParentDetector to NodeRendererFactory
+ - move createRendererAndStyle() and createRendererIfNeeded to
+ NodeRendererFactory
+
+ No new test, no behavioral change.
+
+ * dom/Node.cpp:
+ (WebCore::NodeRendererFactory::NodeRendererFactory):
+ (WebCore::NodeRendererFactory::document):
+ (WebCore::NodeRendererFactory::nextRenderer):
+ (WebCore::NodeRendererFactory::findVisualParent):
+ (WebCore::NodeRendererFactory::shouldCreateRenderer):
+ (WebCore::NodeRendererFactory::createRendererAndStyle):
+ (WebCore::NodeRendererFactory::createRendererIfNeeded):
+ (WebCore::Node::parentNodeForRenderingAndStyle):
+ (WebCore::Node::createRendererIfNeeded):
+ * dom/Node.h:
+ * html/HTMLDetailsElement.cpp:
+ (WebCore::DetailsSummaryElement::detailsElement): Added const_cast due to the chage on parentNodeForRenderingAndStyle()
+
+2011-04-23 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Kent Tamura.
+
+ REGRESSION: (non-Mac) <meter>'s bar part isn't rendered for with -webkit-writing-mode: vertical-lr from r82899
+ https://bugs.webkit.org/show_bug.cgi?id=59281
+
+ Styles for -webkit-meter-bar and -webkit-progress-bar missed width property, which caused unexpected layout results
+ for vertical writing modes. This fix added a width property for each of them.
+
+ Tests: fast/dom/HTMLMeterElement/meter-writing-mode.html
+ fast/dom/HTMLProgressElement/progress-writing-mode.html
+
+ * css/html.css:
+ (meter::-webkit-meter-bar):
+ (progress::-webkit-progress-bar):
+
+2011-04-23 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Unreviewed build fix. Added missing header.
+
+ * platform/graphics/filters/FEDropShadow.h:
+
+2011-04-23 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ REGRESSION (r80812): window.print();window.close() doesn't work in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=59241
+ <rdar://problem/9150861>
+
+ Covered by manual-tests/print-after-window-close.html.
+
+ Re-fixing <https://bugs.webkit.org/show_bug.cgi?id=51357> in a way that doesn't cause the
+ regression.
+
+ * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::didCancel): We shouldn't be
+ doing complicated work while the loader is half-canceled.
+
+ * manual-tests/print-after-window-close.html: Extended to actually print a non-empty page,
+ thus being more practical.
+
+ * page/Chrome.cpp: (WebCore::Chrome::print): Added a FIXME about a need for PageGroupLoadDeferrer.
+ It's too scary for me to try now.
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::DOMWindow):
+ (WebCore::DOMWindow::finishedLoading):
+ * page/DOMWindow.h:
+ Reverted the previous fix for <https://bugs.webkit.org/show_bug.cgi?id=51357>.
+
+2011-04-19 Vitaly Repeshko <vitalyr@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [V8] Use implicit references for V8 listeners on DOM nodes.
+ https://bugs.webkit.org/show_bug.cgi?id=58953
+
+ Instead of allocating an auxiliary V8 array referencing V8
+ listener objects associated with a DOM node and using an extra
+ pointer in every DOM node wrapper, we can register implicit
+ references between nodes and their listeners during GC. This also
+ makes V8 bindings more aligned with JSC bindings.
+
+ No new tests because this is a refactoring.
+
+ * bindings/scripts/CodeGeneratorV8.pm: Stopped generating the
+ listener cache internal field for DOM nodes.
+ * bindings/v8/V8AbstractEventListener.h: Exposed the lister handle
+ to the GC.
+ (WebCore::V8AbstractEventListener::existingListenerObjectPeristentHandle):
+ * bindings/v8/V8GCController.cpp: Started using implicit references.
+ (WebCore::GrouperVisitor::visitDOMWrapper):
+ * dom/EventTarget.h: Implemented an iterator over all listeners.
+ (WebCore::EventListenerIterator):
+
+2011-04-22 Jon Lee <jonlee@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Overlay scroller hard to see on pages with dark background (59183)
+ https://bugs.webkit.org/show_bug.cgi?id=59183
+ <rdar://problem/8975367>
+
+ * WebCore.exp.in: adding method to allow changing style
+ * page/FrameView.cpp:
+ (WebCore::FrameView::recommendedScrollbarOverlayStyle): overridden to suggest a style based on CSS background color
+ * page/FrameView.h:
+ * platform/ScrollTypes.h: new enum to represent different overlay scrollbar styles
+ * platform/ScrollableArea.cpp:
+ (WebCore::ScrollableArea::recommendedScrollbarOverlayStyle): new virtual function to return a suggested overlay style
+ * platform/ScrollableArea.h:
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::paint):
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+
+2011-04-22 Chris Evans <cevans@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Upgrade CSS loads from mixed content warning (displayed) to mixed
+ content error (ran)
+ https://bugs.webkit.org/show_bug.cgi?id=59056
+
+ Test: http/tests/security/mixedContent/insecure-css-in-iframe.html
+ Test: http/tests/security/mixedContent/insecure-css-in-main-frame.html
+
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::canRequest): CSS loads are running rather than displaying content.
+
+2011-04-22 Geoffrey Garen <ggaren@apple.com>
+
+ Fixed an upside-down conditional in my last check-in.
+
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ (WebCore::isObservable):
+
+2011-04-22 Geoffrey Garen <ggaren@apple.com>
+
+ Rolled back in r84725 and r84728 with appcache crash fixed.
+
+ Reviewed by Oliver Hunt.
+
+ Removed a use of markDOMObjectWrapper: DOMWindow
+ https://bugs.webkit.org/show_bug.cgi?id=59260
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::visitChildren): No need to mark explicitly, since
+ we use the opaque roots system now.
+
+ * bindings/js/JSNavigatorCustom.cpp: Ditto.
+
+ * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration for objects
+ whose opaque roots are frames.
+
+ * css/StyleMedia.h:
+ (WebCore::StyleMedia::frame): Added an accessor for the sake of GC.
+
+ * css/StyleMedia.idl:
+ * loader/appcache/DOMApplicationCache.idl:
+ * page/BarInfo.idl:
+ * page/Console.idl:
+ * page/DOMSelection.idl:
+ * page/Geolocation.idl:
+ * page/History.idl:
+ * page/Location.idl:
+ * page/Navigator.idl:
+ * page/Screen.idl:
+ * storage/Storage.idl: Updated to use the opaque roots system.
+
+2011-04-22 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Don't use XMLTreeViewer when script is disabled (it uses Javascript
+ to build a prettified version of the xml document).
+ https://bugs.webkit.org/show_bug.cgi?id=59113
+
+ * xml/XMLTreeViewer.cpp:
+ (WebCore::XMLTreeViewer::transformDocumentToTreeView):
+
+2011-04-22 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r84725 and r84728.
+ http://trac.webkit.org/changeset/84725
+ http://trac.webkit.org/changeset/84728
+ https://bugs.webkit.org/show_bug.cgi?id=59270
+
+ It broke http/tests/appcache tests (Requested by Ossy on
+ #webkit).
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::visitChildren):
+ * bindings/js/JSNavigatorCustom.cpp:
+ (WebCore::JSNavigator::visitChildren):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * css/StyleMedia.h:
+ * css/StyleMedia.idl:
+ * loader/appcache/DOMApplicationCache.idl:
+ * page/BarInfo.idl:
+ * page/Console.idl:
+ * page/DOMSelection.idl:
+ * page/DOMWindow.h:
+ (WebCore::DOMWindow::optionalScreen):
+ (WebCore::DOMWindow::optionalSelection):
+ (WebCore::DOMWindow::optionalHistory):
+ (WebCore::DOMWindow::optionalCrypto):
+ (WebCore::DOMWindow::optionalLocationbar):
+ (WebCore::DOMWindow::optionalMenubar):
+ (WebCore::DOMWindow::optionalPersonalbar):
+ (WebCore::DOMWindow::optionalScrollbars):
+ (WebCore::DOMWindow::optionalStatusbar):
+ (WebCore::DOMWindow::optionalToolbar):
+ (WebCore::DOMWindow::optionalConsole):
+ (WebCore::DOMWindow::optionalNavigator):
+ (WebCore::DOMWindow::optionalLocation):
+ (WebCore::DOMWindow::optionalMedia):
+ (WebCore::DOMWindow::optionalSessionStorage):
+ (WebCore::DOMWindow::optionalLocalStorage):
+ (WebCore::DOMWindow::optionalPerformance):
+ * page/Geolocation.idl:
+ * page/History.idl:
+ * page/Location.idl:
+ * page/Navigator.h:
+ (WebCore::Navigator::optionalGeolocation):
+ * page/Navigator.idl:
+ * page/Screen.idl:
+ * storage/Storage.idl:
+
+2011-04-22 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ Change SVG-related shadow root checks to use isSVGShadowRoot.
+ https://bugs.webkit.org/show_bug.cgi?id=59237
+
+ Covered by existing tests, no behavior change.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Use isSVGShadowRoot.
+ * svg/SVGUseElement.cpp:
+ (WebCore::ShadowTreeUpdateBlocker::while): Ditto.
+ * svg/animation/SVGSMILElement.cpp:
+ (WebCore::SVGSMILElement::insertedIntoDocument): Ditto.
+
+2011-04-22 Geoffrey Garen <ggaren@apple.com>
+
+ Mac build fix.
+
+ * page/DOMWindow.h:
+ (WebCore::DOMWindow::optionalApplicationCache): Restored this function,
+ which is used after all.
+
+2011-04-22 Geoffrey Garen <ggaren@apple.com>
+
+ Mac build fix.
+
+ * page/DOMWindow.h:
+ (WebCore::DOMWindow::optionalApplicationCache): Restored this function,
+ which is used after all.
+
+2011-04-22 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Removed a use of markDOMObjectWrapper: DOMWindow
+ https://bugs.webkit.org/show_bug.cgi?id=59260
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::visitChildren): No need to mark explicitly, since
+ we use the opaque roots system now.
+
+ * bindings/js/JSNavigatorCustom.cpp: Ditto.
+
+ * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration for objects
+ whose opaque roots are frames.
+
+ * css/StyleMedia.h:
+ (WebCore::StyleMedia::frame): Added an accessor for the sake of GC.
+
+ * css/StyleMedia.idl:
+ * loader/appcache/DOMApplicationCache.idl:
+ * page/BarInfo.idl:
+ * page/Console.idl:
+ * page/DOMSelection.idl:
+ * page/Geolocation.idl:
+ * page/History.idl:
+ * page/Location.idl:
+ * page/Navigator.idl:
+ * page/Screen.idl:
+ * storage/Storage.idl: Updated to use the opaque roots system.
+
+2011-04-22 Xiaomei Ji <xji@chromium.org>
+
+ Reviewed by Ryosuke Niwa.
+
+ move caret by word in visual order returns wrong result when caret itself is at word boundary.
+ https://bugs.webkit.org/show_bug.cgi?id=58504.
+
+ positionBeforeNextWord should take care that the current position is after current word.
+ positionAfterPreviousWord should take care that the current positin is before current word.
+
+ * editing/visible_units.cpp:
+ (WebCore::positionBeforeNextWord):
+ (WebCore::positionAfterPreviousWord):
+
+2011-04-19 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Daniel Bates.
+
+ Full Screen from within an <iframe> does not cause <iframe> to resize.
+ https://bugs.webkit.org/show_bug.cgi?id=58638
+
+ Tests: fullscreen/full-screen-frameset.html
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Add the
+ -webkit-full-screen pseudo class to frame elements which contain
+ full screen elements.
+ * css/fullscreen.css:
+ (iframe:-webkit-full-screen): Add iframe-specific styling rules.
+ * dom/Document.cpp:
+ (WebCore::Document::setContainsFullScreenElementRecursively): Added. Walk up each
+ successive document owner element, calling setContainsFullScreenElement() if
+ owner is a frame element.
+ (WebCore::Document::fullScreenIsAllowedForElement): Use the new Element::isFrameElementBase
+ call instead of checking the element's tag name.
+ (WebCore::Document::webkitWillEnterFullScreenForElement): Mark any containing
+ iframes as containing a full screen element.
+ (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
+ * dom/Element.h:
+ (WebCore::Element::isFrameElementBase): Added.
+ * html/HTMLFrameElement.h:
+ (WebCore::HTMLFrameElement::allowFullScreen): Disable full screen from within
+ HTMLFrameElements.
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::setContainsFullScreenElement): Added.
+ * html/HTMLFrameElementBase.h:
+ (WebCore::HTMLFrameElementBase::containsFullScreenElement): Added.
+ (WebCore::HTMLFrameElementBase::isFrameElementBase): Added.
+
+2011-04-22 Michael Saboff <msaboff@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Creating copy of ContainerNode's when inserting or removing is inefficient
+ https://bugs.webkit.org/show_bug.cgi?id=58695
+
+ Eliminated node copying in willRemove() and insertedIntoDocument().
+
+ No new tests as this is a more efficient implementation of
+ existing code that is covered by existing tests.
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::willRemove): Changed method to use
+ RefPtr<> to protect against modification during removal.
+ (WebCore::ContainerNode::insertedIntoDocument): Changed method to use
+ RefPtr<> and two other deletion checks to protect against
+ modification during insertion.
+
+2011-04-22 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ We have an autogenerator, so use it
+ https://bugs.webkit.org/show_bug.cgi?id=59247
+
+ * bindings/js/JSCSSRuleCustom.cpp:
+ * bindings/js/JSCSSRuleListCustom.cpp:
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ * bindings/js/JSCSSValueCustom.cpp:
+ * bindings/js/JSCanvasRenderingContextCustom.cpp:
+ * bindings/js/JSDOMImplementationCustom.cpp:
+ * bindings/js/JSDOMStringMapCustom.cpp:
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ * bindings/js/JSNamedNodeMapCustom.cpp:
+ * bindings/js/JSNodeCustom.h:
+ * bindings/js/JSNodeListCustom.cpp:
+ * bindings/js/JSStyleSheetCustom.cpp:
+ * bindings/js/JSStyleSheetListCustom.cpp: Removed repetitive hand-written code.
+
+ * bindings/scripts/CodeGeneratorJS.pm: Augmented autogenerator to do the job.
+
+ * css/CSSRule.idl:
+ * css/CSSRuleList.idl:
+ * css/CSSStyleDeclaration.idl:
+ * css/CSSValue.idl:
+ * css/MediaList.idl:
+ * css/StyleSheet.idl:
+ * css/StyleSheetList.idl:
+ * dom/DOMImplementation.idl:
+ * dom/DOMStringMap.idl:
+ * dom/NamedNodeMap.idl:
+ * dom/Node.idl:
+ * dom/NodeList.idl:
+ * html/DOMTokenList.idl:
+ * html/HTMLCollection.idl:
+ * html/canvas/CanvasRenderingContext.idl: Updated attributes to plug into
+ the autogenerator.
+
+2011-04-22 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=59223
+ REGRESSION (r82185): iframe not displayed after navigation back to cached page
+
+ Manual test added.
+ * manual-tests/frame-layout-on-back.html: Added.
+ * manual-tests/resources/empty-document-goes-back.html: Added.
+ * manual-tests/resources/simple-iframe.html: Added.
+
+2011-04-22 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Sam Weinig.
+
+ HTMLFormControlElement::labels should allow custom attributes.
+ https://bugs.webkit.org/show_bug.cgi?id=59128
+
+ Cache the labels list when it is created and keep using it for future
+ labels calls.
+
+ Test: fast/forms/labels-custom-property.html
+
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::labels):
+
+2011-04-22 Adrienne Walker <enne@google.com>
+
+ Reviewed by James Robinson.
+
+ [chromium] Remove minimum texture size for compositor tiling
+ https://bugs.webkit.org/show_bug.cgi?id=59236
+
+ This was mistakenly committed in r83915 and causes bad filtering
+ on very small textures.
+
+ Tests: compositing/images/content-image-change.html
+
+ * platform/graphics/chromium/LayerTilerChromium.cpp:
+ (WebCore::LayerTilerChromium::setTileSize):
+
+2011-04-22 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=59223
+ REGRESSION (r82185): iframe not displayed after navigation back to cached page
+ -and corresponding-
+ <rdar://problem/9323763>
+
+ Cache the scroll position in Document::setInPageCache() instead of
+ FrameView::resetScrollbarsAndClearContentsSize(), and only clear the contents size
+ for the mainFrame(). Still resetScrollbars() for other frames, which matches pre-
+ r82185 code.
+ * dom/Document.cpp:
+ (WebCore::Document::setInPageCache):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::resetScrollbarsAndClearContentsSize):
+
+2011-04-22 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Kent Tamura.
+
+ Let the RenderTheme decide if an input type should have a spinner
+ https://bugs.webkit.org/show_bug.cgi?id=59246
+
+ Whether an input should have a spinner or not should
+ be a UI decision made by the RenderTheme. Remove
+ WebCore's default hasSpinButton values and defer
+ to the RenderTheme.
+
+ No change in functionality, covered by existing tests.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::isRangeControl): expose isRangeControl
+ for possible RenderTheme queries.
+ * html/HTMLInputElement.h:
+
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
+ (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
+ For both of these ask the render theme if the input should
+ have a spinner.
+
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::shouldHaveSpinButtonForInputElement):
+ Steppable inputs (number, date, and range) but not range
+ should have spinners. This does not change existing behavior.
+ * rendering/RenderTheme.h:
+
+ * dom/InputElement.h:
+ * html/BaseDateAndTimeInputType.cpp: remove hasSpinButton.
+ * html/BaseDateAndTimeInputType.h: remove hasSpinButton.
+ * html/InputType.cpp: remove hasSpinButton.
+ * html/InputType.h: remove hasSpinButton.
+ * html/NumberInputType.cpp: remove hasSpinButton.
+ * html/NumberInputType.h: remove hasSpinButton.
+
+2011-04-22 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Kent Tamura.
+
+ Don't rely on hasSpinButton to check if an input type can be stepped
+ https://bugs.webkit.org/show_bug.cgi?id=59224
+
+ Add isSteppable to know for certain if an input type can
+ be stepped or not. Previously we were checking if the input
+ has a spin control or is the range input type. These are UI
+ details, but the step functionality does not require there
+ to be a UI.
+
+ No change in behavior, covered by existing tests.
+
+ * html/BaseDateAndTimeInputType.cpp:
+ (WebCore::BaseDateAndTimeInputType::isSteppable):
+ * html/BaseDateAndTimeInputType.h:
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::isSteppable):
+ (WebCore::HTMLInputElement::stepUpFromRenderer): remove the
+ check for a spinner and range control and instead ASSERT
+ that the type is steppable.
+ * html/HTMLInputElement.h:
+ * html/InputType.cpp:
+ (WebCore::InputType::isSteppable):
+ * html/InputType.h:
+ * html/NumberInputType.cpp:
+ (WebCore::NumberInputType::isSteppable):
+ * html/NumberInputType.h:
+ * html/RangeInputType.cpp:
+ (WebCore::RangeInputType::isSteppable):
+ * html/RangeInputType.h:
+
+2011-04-22 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ CSP frame-src is missing
+ https://bugs.webkit.org/show_bug.cgi?id=58643
+
+ In this patch, I've audited all the callers to
+ SecurityOrigin::canDisplay to make sure they all the appropriate
+ Content-Security-Policy method as well. I'm not sure how to test all
+ these cases, but making this changes fixed the frame-src test.
+
+ * loader/SubframeLoader.cpp:
+ (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
+ (WebCore::SubframeLoader::createJavaAppletWidget):
+ (WebCore::SubframeLoader::loadSubframe):
+ (WebCore::SubframeLoader::loadPlugin):
+ * loader/SubresourceLoader.cpp:
+ (WebCore::SubresourceLoader::create):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::canRequest):
+ (WebCore::CachedResourceLoader::requestResource):
+ - While I was understanding this code, I fixed the FIXME here.
+ * loader/cache/CachedResourceLoader.h:
+
+2011-04-22 Adrienne Walker <enne@google.com>
+
+ Reviewed by Simon Fraser.
+
+ Clear shared graphics context when destroying CanvasRenderingContext2D.
+ https://bugs.webkit.org/show_bug.cgi?id=59212
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
+
+2011-04-22 Levi Weintraub <leviw@chromium.org>
+
+ Reviewed by Ryosuke Niwa.
+
+ End/Home keys do not work in a contentEditable element
+ https://bugs.webkit.org/show_bug.cgi?id=50564
+
+ Changing logical[Start/End]OfLine to return a valid VisiblePosition for for editable contexts that are
+ inline and share a line with non-editable content.
+
+ Test: editing/selection/modify-by-lineboundary-in-inline-editable-contexts.html
+
+ * editing/visible_units.cpp:
+ (WebCore::logicalStartOfLine):
+ (WebCore::logicalEndOfLine):
+
+2011-04-22 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ Make showTree/showTreeForThis aware of the shadow DOM
+ https://bugs.webkit.org/show_bug.cgi?id=52965
+
+ No new tests, because this code is only compiled in DEBUG.
+
+ * dom/Node.cpp:
+ (WebCore::traverseTreeAndMark): Moved tree traversal logic here, adding
+ recursive sub-traversal of the shadow tree.
+ (WebCore::Node::showTreeAndMark): Changed to use the new tree traversal function.
+
+2011-04-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough and Oliver Hunt.
+
+ Arrays should participate in global object forwarding fun
+ https://bugs.webkit.org/show_bug.cgi?id=59215
+
+ Change callers of constructArray to use the new variant that takes
+ a global object.
+
+ * bindings/js/JSClipboardCustom.cpp:
+ (WebCore::JSClipboard::types):
+ * bindings/js/JSConsoleCustom.cpp:
+ (WebCore::JSConsole::profiles):
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::scopeChain):
+ * bindings/js/JSMessageEventCustom.cpp:
+ (WebCore::JSMessageEvent::ports):
+ * bindings/js/JSScriptProfileNodeCustom.cpp:
+ (WebCore::JSScriptProfileNode::children):
+ * bindings/js/JSWebGLRenderingContextCustom.cpp:
+ (WebCore::toJS):
+ (WebCore::JSWebGLRenderingContext::getAttachedShaders):
+ (WebCore::JSWebGLRenderingContext::getSupportedExtensions):
+
+2011-04-22 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt] Unreviewed typo fix after r84522.
+
+ * WebCore.pro:
+
+2011-04-22 Daniel Bates <dbates@rim.com>
+
+ Fix misspelled word in comment; tagets => targets.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleTouchEvent):
+
+2011-04-21 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Removed a use of markDOMObjectWrapper: Element and Document
+ https://bugs.webkit.org/show_bug.cgi?id=59178
+
+ * GNUmakefile.list.am:
+ * UseJSC.cmake:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp: Build!
+
+ * bindings/js/JSDOMImplementationCustom.cpp:
+ (WebCore::JSDOMImplementationOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSDOMImplementationOwner::finalize):
+ (WebCore::wrapperOwner):
+ (WebCore::wrapperContext):
+ (WebCore::toJS): Use the opaque roots system for DOMImplementation. Also,
+ DOMImplementation does not need to keep its document wrapper alive, since
+ there's no DOM API for getting a DOMImplementation's document.
+
+ * bindings/js/JSDOMStringMapCustom.cpp:
+ (WebCore::JSDOMStringMapOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSDOMStringMapOwner::finalize):
+ (WebCore::wrapperOwner):
+ (WebCore::wrapperContext):
+ (WebCore::toJS): Use the opaque roots system for DOMStringMap.
+
+ * bindings/js/JSDOMTokenListCustom.cpp: Added.
+ (WebCore::JSDOMTokenListOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSDOMTokenListOwner::finalize):
+ (WebCore::wrapperOwner):
+ (WebCore::wrapperContext):
+ (WebCore::toJS): Use the opaque roots system for DOMTokenList.
+
+ * bindings/js/JSDocumentCustom.cpp:
+ (WebCore::JSDocument::visitChildren):
+ * bindings/js/JSElementCustom.cpp: No more need for explicit marking.
+
+ * bindings/scripts/CodeGeneratorV8.pm: Boo on whoever made this design decision.
+
+ * dom/DOMImplementation.cpp:
+ (WebCore::DOMImplementation::DOMImplementation):
+ (WebCore::DOMImplementation::createDocument):
+ (WebCore::DOMImplementation::createHTMLDocument):
+ * dom/DOMImplementation.h:
+ (WebCore::DOMImplementation::create):
+ (WebCore::DOMImplementation::ref):
+ (WebCore::DOMImplementation::deref):
+ (WebCore::DOMImplementation::document): Fixed the DOMImplementation
+ ownership model to match other satellite objects in the DOM. This was
+ necessary to fix some crashes due to incorrect reference counting.
+
+ * dom/DOMImplementation.idl:
+ * dom/DOMStringMap.idl:
+ * dom/Document.cpp:
+ (WebCore::Document::~Document):
+ * dom/Document.h:
+ * dom/Element.cpp:
+ * dom/Element.h:
+ * dom/Element.idl:
+ * html/DOMTokenList.idl: Updated to match changes above.
+
+2011-04-22 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Rounded corners don't looks smooth when background-image is a gradient
+ https://bugs.webkit.org/show_bug.cgi?id=59213
+
+ Add the "shrink background" behavior to the slow background
+ drawing code path.
+
+ Test: fast/backgrounds/gradient-background-leakage.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::backgroundRectAdjustedForBleedAvoidance):
+ Utility function that returns a shrunk border rect based
+ on the context scale.
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+ Use backgroundRectAdjustedForBleedAvoidance() in both the fast
+ and slow paths.
+
+2011-04-22 Xiaomei Ji <xji@chromium.org>
+
+ Reviewed by David Hyatt.
+
+ Local caret rectangle calculation should be relative to its containing block.
+ https://bugs.webkit.org/show_bug.cgi?id=49508.
+
+ InlineBox and caret rectangle are positioned relative to its containing block.
+ So its left and right edge value should be relative to its containing block as well.
+
+ Test: fast/forms/cursor-at-editable-content-boundary.html
+
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::localCaretRect):
+
+2011-04-22 Levi Weintraub <leviw@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ REGRESSION: left property broken with position:fixed elements in RTL documents
+ https://bugs.webkit.org/show_bug.cgi?id=59204
+ http://code.google.com/p/chromium/issues/detail?id=80216
+
+ Test: fast/block/positioning/rtl-fixed-positioning.html
+ fast/block/positioning/vertical-rl/fixed-positioning.html
+
+ Returning the proper scroll offsets for fixed position content in RTL documents.
+ We regressed to X and Y offsets not updating while scrolling when we clamped to zero,
+ but RTL documents scroll in negative space.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollXForFixedPosition): Properly handling RTL documents where
+ the scroll origin and offsets are negative.
+ (WebCore::FrameView::scrollYForFixedPosition): Properly handling vertical writing-
+ mode RTL documents, like above.
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::scrollOrigin): Changing this accessor to const.
+
+2011-04-22 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Should assert on invalid type in FEComponentTransfer::apply
+ https://bugs.webkit.org/show_bug.cgi?id=57959
+
+ No functional change. No new tests needed.
+
+ * platform/graphics/filters/FEComponentTransfer.cpp:
+ (WebCore::FEComponentTransfer::apply):
+
+2011-04-22 MORITA Hajime <morrita@google.com>
+
+ Unreviewed crash fix.
+
+ * html/HTMLDetailsElement.cpp:
+ (WebCore::DetailsSummaryElement::shouldInclude):
+
+2011-04-22 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Exclude scrollbars from the dirty rect passed to the document
+ https://bugs.webkit.org/show_bug.cgi?id=59206
+
+ No test added because functionality is unchanged.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::paint): Compute a clip rectangle (analogous to the frame of the clip view
+ in an NSScrollView) by subtracting non-overlay scrollbars, and intersect the document dirty rect
+ with it. If the result is empty, avoid calling paintContents().
+
+2011-04-22 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Disable MediaPlayerPrivateAVFoundation when using old full screen mode.
+ https://bugs.webkit.org/show_bug.cgi?id=59147
+
+ Add a new isAVFoundationEnabled setting and check it before adding
+ MediaPlayerPrivateAVFoundationObjC to the media engine registry.
+
+ * WebCore.exp.in:
+ * page/Settings.cpp:
+ * page/Settings.h:
+ (WebCore::Settings::setAVFoundationEnabled): Added.
+ (WebCore::Settings::isAVFoundationEnabled): Added.
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::installedMediaEngines): Check the settings added above.
+
+2011-04-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Remove remaining uses of deprecated version of toJS
+ https://bugs.webkit.org/show_bug.cgi?id=59170
+
+ * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
+ (WebCore::toJS):
+ (WebCore::JSCanvasRenderingContext2D::strokeStyle):
+ (WebCore::JSCanvasRenderingContext2D::fillStyle):
+ (WebCore::JSCanvasRenderingContext2D::createPattern):
+ * bindings/js/JSConsoleCustom.cpp:
+ (WebCore::JSConsole::profiles):
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ (WebCore::JSSQLStatementErrorCallback::handleEvent):
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
+ (WebCore::JSDOMMimeTypeArray::nameGetter):
+ * bindings/js/JSDOMPluginArrayCustom.cpp:
+ (WebCore::JSDOMPluginArray::nameGetter):
+ * bindings/js/JSDOMPluginCustom.cpp:
+ (WebCore::JSDOMPlugin::nameGetter):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::namedItemGetter):
+ (WebCore::JSDOMWindow::event):
+ * bindings/js/JSEventTarget.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ Propagate stored global object down access chain.
+
+ (WebCore::InjectedScriptHost::nodeAsScriptValue):
+ Replace use of deprecated toJS overload with explicit call to deprecatedGlobalObjectForPrototype.
+
+ (WebCore::JSInjectedScriptHost::currentCallFrame):
+ (WebCore::JSInjectedScriptHost::inspectedNode):
+ * bindings/js/JSNamedNodeMapCustom.cpp:
+ (WebCore::JSNamedNodeMap::nameGetter):
+ * bindings/js/JSNodeListCustom.cpp:
+ (WebCore::callNodeList):
+ (WebCore::JSNodeList::nameGetter):
+ * bindings/js/JSScriptProfileNodeCustom.cpp:
+ (WebCore::JSScriptProfileNode::children):
+ * bindings/js/JSStyleSheetListCustom.cpp:
+ (WebCore::JSStyleSheetList::nameGetter):
+ * bindings/js/JSXSLTProcessorCustom.cpp:
+ (WebCore::JSXSLTProcessor::transformToFragment):
+ (WebCore::JSXSLTProcessor::transformToDocument):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ Propagate stored global object down access chain.
+
+ * css/MediaQueryListListener.cpp:
+ (WebCore::MediaQueryListListener::queryChanged):
+ Replace use of deprecated toJS overload with explicit call to deprecatedGlobalObjectForPrototype,
+ we will want refactor this to match other callbacks so we can remove this.
+
+2011-04-22 Naoki Takano <takano.naoki@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ [Chromium]Mac UI polish to add left/right padding space for autofill popup window.
+ https://bugs.webkit.org/show_bug.cgi?id=58960
+ http://code.google.com/p/chromium/issues/detail?id=51077
+
+ No new test because Chromium Autofill popup window doesn't have any test framework.
+ This assumes only AutofillPopupMenuClient gives TexFieldPart appearance.
+ Only if Autofill popup window has right/left padding.
+ The code should be removed after Autofill popup window logic is separated from WebKit to Chromium.
+
+ * rendering/RenderThemeChromiumMac.h: Add popupInternalPaddingRight() and popupInternalPaddingLeft().
+ * rendering/RenderThemeChromiumMac.mm:
+ (WebCore::RenderThemeChromiumMac::popupInternalPaddingLeft): Return padding size only if TextFieldPart is specified.
+ (WebCore::RenderThemeChromiumMac::popupInternalPaddingRight): Return padding size only if TextFieldPart is specified.
+
+2011-04-21 Adam Roben <aroben@apple.com>
+
+ Add code to enumerate all the functions imported by a particular Windows binary
+
+ PEImage is where all the logic starts. It represents a single Portable Executable (PE)
+ binary. The various enumerator classes are used in conjunction with PEImage to enumerate the
+ modules and functions imported by that image.
+
+ I couldn't figure out how to write a test for this. :-(
+
+ Part of <http://webkit.org/b/51063> <rdar://problem/8769281> REGRESSION (WebKit2): No
+ context menu appears when right-clicking on windowless Flash plugin
+
+ Reviewed by Sam Weinig, and given a good once-over by Jeff Miller.
+
+ * WebCore.vcproj/WebCore.vcproj: Added the new files.
+
+ * platform/win/PEImage.cpp: Added.
+ (WebCore::PEImage::PEImage): Checks that the module contains the expected magic numbers,
+ then initializes m_ntHeaders using the module.
+ (WebCore::PEImage::convertRVAToAddress): Converts a relative virtual address (RVA) to a
+ non-relative address, which can then be dereferenced. (The PE format uses RVAs in lots of
+ places.)
+ (WebCore::PEImage::dataDirectoryEntryAddress): Returns the address of the data associated
+ with the given entry in the image's DataDirectory.
+
+ * platform/win/PEImage.h: Added.
+ (WebCore::PEImage::isValid): We're a valid image if the validation code in our constructor
+ succeeded, in which case m_ntHeaders will be set.
+
+ * platform/win/ImportedFunctionsEnumerator.cpp: Added. This class enumerates all the
+ functions imported by the image from a single module by walking the Import Name Table (INT)
+ and Import Address Table (IAT).
+ (WebCore::ImportedFunctionsEnumerator::ImportedFunctionsEnumerator): Initialize our members.
+ (WebCore::ImportedFunctionsEnumerator::isAtEnd): The INT and IAT are both 0-terminated
+ arrays.
+ (WebCore::ImportedFunctionsEnumerator::next): Step to the next entries in the INT and IAT.
+ (WebCore::ImportedFunctionsEnumerator::currentFunctionName): Gets the address of the
+ function's name, if possible, using the INT.
+ (WebCore::ImportedFunctionsEnumerator::addressOfCurrentFunctionPointer): Returns the address
+ of the function pointer for the current function. This function pointer is used whenever
+ code in m_image calls the current function. (A future patch will take advantage of this by
+ overwriting this function pointer with another, thereby redirecting calls to that function.)
+
+ * platform/win/ImportedFunctionsEnumerator.h: Added.
+
+ * platform/win/ImportedModulesEnumeratorBase.h: Added. This base class is used by
+ ImportedModulesEnumerator and DelayLoadedModulesEnumerator, and allows code to be written
+ that works with either one.
+
+ * platform/win/ImportedModulesEnumerator.cpp: Added. This class enumerates all the
+ non-delay-loaded modules imported by the image by walking the image's import array.
+ (WebCore::ImportedModulesEnumerator::ImportedModulesEnumerator): Module import information
+ is stored in the IMAGE_DIRECTORY_ENTRY_IMPORT entry of the image's DataDirectory.
+ (WebCore::ImportedModulesEnumerator::isAtEnd): The import array is 0-terminated.
+ (WebCore::ImportedModulesEnumerator::next): Steps along the import array.
+ (WebCore::ImportedModulesEnumerator::currentModuleName): Gets the address of the module's
+ name.
+ (WebCore::ImportedModulesEnumerator::functionsEnumerator): Get's the addresses of the INT
+ and IAT for this module and wraps them in an ImportedFunctionsEnumerator.
+
+ * platform/win/ImportedModulesEnumerator.h: Added.
+
+ * platform/win/DelayLoadedModulesEnumerator.cpp: Added. This class enumerates all the
+ delay-loaded modules that are imported by the given PEImage by walking the image's
+ ImageDelayDescr array.
+ (WebCore::DelayLoadedModulesEnumerator::DelayLoadedModulesEnumerator): Delay-load
+ information is stored in the IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT entry of the image's
+ DataDirectory.
+ (WebCore::DelayLoadedModulesEnumerator::isAtEnd): The delay-loaded modules array is
+ 0-terminated.
+ (WebCore::DelayLoadedModulesEnumerator::next): Steps along the delay-loaded modules array.
+ (WebCore::DelayLoadedModulesEnumerator::currentModuleName): Gets the address of the module's
+ name out of the descriptor.
+ (WebCore::DelayLoadedModulesEnumerator::functionsEnumerator): Gets the INT and IAT for the
+ current module out of the descriptor and makes an ImportedFunctionsEnumerator from them.
+ (WebCore::DelayLoadedModulesEnumerator::convertPotentialRVAToAddress): Pre-VC7.0 images
+ stored non-relative addresses in the ImageDelayDescr structures, while VC7.0 and later
+ images store RVAs. This function abstracts away the difference.
+
+ * platform/win/DelayLoadedModulesEnumerator.h: Added.
+
+2011-04-21 Adam Roben <aroben@apple.com>
+
+ Add a shared do-nothing window class that anyone can use
+
+ Fixes <http://webkit.org/b/59102> WebKit has too many dummy window classes
+
+ Reviewed by Anders Carlsson.
+
+ * WebCore.vcproj/WebCore.vcproj: Added DefWndProcWindowClass.{cpp,h}. Moved Arena.cpp out of
+ platform/win and into platform. Let VS reorder other files.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
+ (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Changed to use the shared
+ dummy window class instead of creating our own.
+
+ * platform/win/DefWndProcWindowClass.cpp: Added.
+ (WebCore::registerClass): Register it!
+ (WebCore::defWndProcWindowClassName): Register it and return it!
+
+ * platform/win/DefWndProcWindowClass.h: Added.
+
+2011-04-21 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Content of <details> should be forwarded through the shadow DOM
+ https://bugs.webkit.org/show_bug.cgi?id=59055
+
+ - Made ShadowContentElement abstract and added shouldInclude() pure virtual method.
+ - Added SummaryContentElement, DetailsContentElement, DetailsSummaryElement as
+ subclasses of ShadowContentElement.
+ - Gave two shadow children for HTMLDetailsElement. One is DetailsContentElement, that
+ handles non-summary contents of <details>. Another is SummaryContentElement, that
+ handles the main summary element.
+ - Removed most of RenderDetails custom layout mechanism, which is replaced by
+ ShadowContentElement subclasses.
+
+ Tests: fast/html/details-add-child-1.html
+ fast/html/details-add-child-2.html
+ fast/html/details-remove-child-1.html
+ fast/html/details-remove-child-2.html
+
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::contentContainerFor):
+ (WebCore::ShadowRoot::hostChildrenChanged):
+ (WebCore::ShadowRoot::hasContentElement):
+ * dom/ShadowRoot.h:
+ * html/HTMLDetailsElement.cpp:
+ (WebCore::DetailsContentElement::DetailsContentElement):
+ (WebCore::DetailsContentElement::create):
+ (WebCore::DetailsContentElement::shouldInclude):
+ (WebCore::DetailsSummaryElement::DetailsSummaryElement):
+ (WebCore::DetailsSummaryElement::create):
+ (WebCore::DetailsSummaryElement::shouldInclude):
+ (WebCore::HTMLDetailsElement::create):
+ (WebCore::HTMLDetailsElement::HTMLDetailsElement):
+ (WebCore::HTMLDetailsElement::ensureShadowSubtreeOf):
+ (WebCore::findSummaryFor):
+ (WebCore::HTMLDetailsElement::ensureMainSummary):
+ (WebCore::HTMLDetailsElement::refreshMainSummary):
+ (WebCore::HTMLDetailsElement::createShadowSubtree):
+ * html/HTMLDetailsElement.h:
+ * html/HTMLSummaryElement.cpp:
+ (WebCore::SummaryContentElement::SummaryContentElement):
+ (WebCore::SummaryContentElement::shouldInclude):
+ (WebCore::SummaryContentElement::create):
+ (WebCore::HTMLSummaryElement::createShadowSubtree):
+ * html/shadow/ShadowContentElement.h:
+ * rendering/RenderDetails.cpp:
+ (WebCore::RenderDetails::RenderDetails):
+ (WebCore::RenderDetails::addChild):
+ * rendering/RenderDetails.h:
+ * rendering/RenderSummary.cpp:
+ * rendering/RenderSummary.h:
+
+2011-04-21 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Extra GraphicsContext::save() in InlineTextBox::paintDecoration()
+ https://bugs.webkit.org/show_bug.cgi?id=59109
+
+ Remove an extraneous GraphicsContext::save() in InlineTextBox::paintDecoration().
+
+ Add an assertion that fires when a GraphicsContext() is destroyed with a non-
+ empty state stack. Fix canvas to avoid this assertion, since bad content might
+ trigger it.
+
+ Also add an assertion that fires for mismatched begin/endTransparencyLayers.
+
+ Test: fast/text/multiple-text-shadow-alpha.html
+
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
+ Make sure that the CanvasRenderingContext goes away before the ImageBuffer,
+ so that CanvasRenderingContext2D has a chance to unwind the state stack in
+ the ImageBuffer's GraphicsContext.
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
+ Balance unmatched state saves in the canvas context.
+
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::~GraphicsContext):
+ Assert that the stack is empty.
+
+ * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
+ (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
+ (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
+ (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
+ (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
+ Changes to allow for asserting for unmatched transparency layer begin/ends.
+
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::paintDecoration):
+ Remove an unbalanced save().
+
+2011-04-22 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: add Save As context menu item to the TextViewer.
+ https://bugs.webkit.org/show_bug.cgi?id=59196
+
+ * inspector/front-end/ResourceView.js:
+ (WebInspector.ResourceSourceFrame.prototype.requestContent):
+ (WebInspector.ResourceSourceFrame.prototype.suggestedFileName):
+ (WebInspector.RevisionSourceFrame.prototype.requestContent):
+ (WebInspector.RevisionSourceFrame.prototype.suggestedFileName):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._createSourceFrame):
+ (WebInspector.SourceFrameDelegateForScriptsPanel):
+ (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.formatSourceFilesToggled):
+ (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._initializeTextViewer):
+ (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
+ (WebInspector.SourceFrame.prototype.suggestedFileName):
+ (WebInspector.SourceFrameDelegate.prototype.formatSourceFilesToggled):
+ (WebInspector.SourceFrameDelegate.prototype.suggestedFileName):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer.prototype._contextMenu):
+ (WebInspector.TextViewerDelegate.prototype.cancelEditing):
+ (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
+ (WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu):
+ (WebInspector.TextViewerDelegate.prototype.suggestedFileName):
+
+2011-04-22 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [Chromium] Move detailed heap snapshots storage and processing into workers.
+ https://bugs.webkit.org/show_bug.cgi?id=59094
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * gyp/streamline-inspector-source.sh:
+ * inspector/front-end/DetailedHeapshotGridNodes.js:
+ (WebInspector.HeapSnapshotGridNode.prototype.dispose):
+ (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
+ (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
+ (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
+ (WebInspector.HeapSnapshotIteratorsTuple.prototype.dispose):
+ (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
+ (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
+ (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
+ (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
+ (MixInSnapshotNodeFunctions):
+ * inspector/front-end/DetailedHeapshotView.js:
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache):
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
+ (WebInspector.HeapSnapshotRetainingPathsList.prototype.dispose):
+ (WebInspector.HeapSnapshotRetainingPathsList.prototype._resetPaths):
+ (WebInspector.HeapSnapshotRetainingPathsList.prototype.setDataSource):
+ (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
+ (WebInspector.HeapSnapshotRetainingPathsList.prototype.searchCancelled):
+ (WebInspector.HeapSnapshotRetainingPathsList.prototype._setRootChildrenForFinder):
+ (WebInspector.DetailedHeapshotView.prototype.dispose):
+ (WebInspector.DetailedHeapshotView.prototype.get profileWrapper):
+ (WebInspector.DetailedHeapshotView.prototype.get baseProfileWrapper):
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshotLoader):
+ (WebInspector.HeapSnapshotLoader.prototype.finishLoading):
+ (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
+ (WebInspector.HeapSnapshot.prototype.pushBaseIds):
+ (WebInspector.HeapSnapshot.prototype.createDiff):
+ (WebInspector.HeapSnapshot.prototype._parseFilter):
+ (WebInspector.HeapSnapshot.prototype.createEdgesProvider):
+ (WebInspector.HeapSnapshot.prototype.createNodesProvider):
+ (WebInspector.HeapSnapshot.prototype.createPathFinder):
+ (WebInspector.HeapSnapshot.prototype.updateStaticData):
+ (WebInspector.HeapSnapshotPathFinder):
+ (WebInspector.HeapSnapshotPathFinder.prototype.updateRoots):
+ (WebInspector.HeapSnapshotPathFinder.prototype._reset):
+ * inspector/front-end/HeapSnapshotProxy.js:
+ (WebInspector.HeapSnapshotRealWorker):
+ (WebInspector.HeapSnapshotRealWorker.prototype._messageReceived):
+ (WebInspector.HeapSnapshotRealWorker.prototype.postMessage):
+ (WebInspector.HeapSnapshotRealWorker.prototype.terminate):
+ (WebInspector.HeapSnapshotFakeWorker):
+ (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
+ (WebInspector.HeapSnapshotFakeWorker.prototype.terminate):
+ (WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker):
+ (WebInspector.HeapSnapshotWorker):
+ (WebInspector.HeapSnapshotWorker.prototype.createObject):
+ (WebInspector.HeapSnapshotWorker.prototype.dispose):
+ (WebInspector.HeapSnapshotWorker.prototype.disposeObject):
+ (WebInspector.HeapSnapshotWorker.prototype.callGetter):
+ (WebInspector.HeapSnapshotWorker.prototype.callFactoryMethod.wrapCallback):
+ (WebInspector.HeapSnapshotWorker.prototype.callFactoryMethod):
+ (WebInspector.HeapSnapshotWorker.prototype.callMethod):
+ (WebInspector.HeapSnapshotWorker.prototype._findFunction):
+ (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
+ (WebInspector.HeapSnapshotWorker.prototype._postMessage):
+ (WebInspector.HeapSnapshotProxyObject):
+ (WebInspector.HeapSnapshotProxyObject.prototype._callWorker):
+ (WebInspector.HeapSnapshotProxyObject.prototype.dispose):
+ (WebInspector.HeapSnapshotProxyObject.prototype.disposeWorker):
+ (WebInspector.HeapSnapshotProxyObject.prototype.callFactoryMethod):
+ (WebInspector.HeapSnapshotProxyObject.prototype.callGetter):
+ (WebInspector.HeapSnapshotProxyObject.prototype.callMethod):
+ (WebInspector.HeapSnapshotLoaderProxy):
+ (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.callLoadCallbacks):
+ (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.updateStaticData):
+ (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading):
+ (WebInspector.HeapSnapshotLoaderProxy.prototype.get loaded):
+ (WebInspector.HeapSnapshotLoaderProxy.prototype.startLoading):
+ (WebInspector.HeapSnapshotLoaderProxy.prototype.pushJSONChunk):
+ (WebInspector.HeapSnapshotProxy):
+ (WebInspector.HeapSnapshotProxy.prototype.aggregates):
+ (WebInspector.HeapSnapshotProxy.prototype.createDiff):
+ (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
+ (WebInspector.HeapSnapshotProxy.prototype.createNodesProvider):
+ (WebInspector.HeapSnapshotProxy.prototype.createPathFinder):
+ (WebInspector.HeapSnapshotProxy.prototype.dispose):
+ (WebInspector.HeapSnapshotProxy.prototype.finishLoading):
+ (WebInspector.HeapSnapshotProxy.prototype.get loaded):
+ (WebInspector.HeapSnapshotProxy.prototype.get nodeCount):
+ (WebInspector.HeapSnapshotProxy.prototype.nodeFieldValuesByIndex):
+ (WebInspector.HeapSnapshotProxy.prototype.pushBaseIds):
+ (WebInspector.HeapSnapshotProxy.prototype.get rootNodeIndex):
+ (WebInspector.HeapSnapshotProxy.prototype.updateStaticData):
+ (WebInspector.HeapSnapshotProxy.prototype.startLoading):
+ (WebInspector.HeapSnapshotProxy.prototype.get totalSize):
+ (WebInspector.HeapSnapshotProxy.prototype.get uid):
+ (WebInspector.HeapSnapshotProviderProxy):
+ (WebInspector.HeapSnapshotProviderProxy.prototype.isEmpty):
+ (WebInspector.HeapSnapshotProviderProxy.prototype.serializeNextItems):
+ (WebInspector.HeapSnapshotProviderProxy.prototype.sortAndRewind):
+ (WebInspector.HeapSnapshotPathFinderProxy):
+ (WebInspector.HeapSnapshotPathFinderProxy.prototype.findNext):
+ (WebInspector.HeapSnapshotPathFinderProxy.prototype.updateRoots):
+ (WebInspector.HeapSnapshotsDiffProxy):
+ (WebInspector.HeapSnapshotsDiffProxy.prototype.calculate):
+ (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseIds):
+ (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseSelfSizes):
+ * inspector/front-end/HeapSnapshotWorker.js: Added.
+ (WebInspector.UIString):
+ (postMessageWrapper):
+ * inspector/front-end/HeapSnapshotWorkerDispatcher.js: Added.
+ (WebInspector.HeapSnapshotWorkerDispatcher):
+ (WebInspector.HeapSnapshotWorkerDispatcher.prototype._findFunction):
+ (WebInspector.HeapSnapshotWorkerDispatcher.prototype.dispatchMessage):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
+ (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.else.parsed):
+ (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+
+2011-04-22 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: fix de-obfuscation of scripts inlined in html.
+ https://bugs.webkit.org/show_bug.cgi?id=58538
+
+ Use html tokenizer to find script boundaries instead of relying on scriptParsed events.
+
+ Test: inspector/debugger/script-formatter.html
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/front-end/JavaScriptFormatter.js: Renamed from Source/WebCore/inspector/front-end/UglifyJS/JavaScriptFormatter.js.
+ * inspector/front-end/ScriptFormatter.js:
+ (WebInspector.ScriptFormatter):
+ (WebInspector.ScriptFormatter.prototype.formatContent):
+ (WebInspector.ScriptFormatter.prototype._didFormatContent):
+ * inspector/front-end/ScriptFormatterWorker.js:
+ (onmessage):
+ (formatScript):
+ (HTMLScriptFormatter):
+ (HTMLScriptFormatter.prototype.format):
+ (HTMLScriptFormatter.prototype.scriptStarted):
+ (HTMLScriptFormatter.prototype.scriptEnded):
+ (HTMLScriptFormatter.prototype.styleSheetStarted):
+ (HTMLScriptFormatter.prototype.styleSheetEnded):
+ * inspector/front-end/SourceFile.js:
+ (WebInspector.FormattedSourceFile.prototype._didRequestContent):
+ * inspector/front-end/SourceHTMLTokenizer.js:
+ (WebInspector.SourceHTMLTokenizer.prototype.scriptStarted):
+ (WebInspector.SourceHTMLTokenizer.prototype.scriptEnded):
+ (WebInspector.SourceHTMLTokenizer.prototype.styleSheetStarted):
+ (WebInspector.SourceHTMLTokenizer.prototype.styleSheetEnded):
+ (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
+ * inspector/front-end/SourceHTMLTokenizer.re2js:
+ * inspector/front-end/WebKit.qrc:
+
+2011-04-22 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [Extensions API] misc API cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=59194
+
+ * inspector/front-end/ExtensionAPISchema.json:
+ * inspector/front-end/ExtensionPanel.js:
+ (WebInspector.ExtensionSidebarPane.prototype._setObject):
+
+2011-04-21 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: group content scripts in the scripts panel drop down.
+ https://bugs.webkit.org/show_bug.cgi?id=59108
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
+ (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
+
+2011-04-22 Mike West <mkwst@google.com>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Tiny improvement to UI for adding an XHR breakpoint
+ https://bugs.webkit.org/show_bug.cgi?id=59100
+
+ Improve web inspector UI around adding XHR breakpoints by adding
+ a textual label to the input-like `span` used to specify which
+ XHR requests the breakpoint ought to target.
+
+ * inspector/front-end/BreakpointsSidebarPane.js:
+ (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked.finishEditing):
+ (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked):
+ * inspector/front-end/inspector.css:
+ (#breakpoint-condition-input):
+
+2011-04-22 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: js formatter should never insert new tokens or remove existing tokens and comments.
+ https://bugs.webkit.org/show_bug.cgi?id=59191
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/front-end/ScriptFormatter.js:
+ (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
+ (WebInspector.ScriptFormatter.prototype.formatContent):
+ * inspector/front-end/ScriptFormatterWorker.js:
+ (onmessage):
+ * inspector/front-end/SourceFile.js:
+ (WebInspector.SourceFile.prototype._loadResourceContent):
+ (WebInspector.FormattedSourceFile.prototype._didRequestContent):
+ (WebInspector.FormattedSourceMapping):
+ (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine):
+ (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation):
+ (WebInspector.FormattedSourceMapping.prototype._convertPosition):
+ * inspector/front-end/UglifyJS/JavaScriptFormatter.js: Added.
+ (FormattedContentBuilder): Helper class for building formatted script content.
+ (FormattedContentBuilder.prototype.addToken):
+ (FormattedContentBuilder.prototype.addSpace):
+ (FormattedContentBuilder.prototype.addNewLine):
+ (FormattedContentBuilder.prototype.increaseNestingLevel):
+ (FormattedContentBuilder.prototype.decreaseNestingLevel):
+ (FormattedContentBuilder.prototype.content):
+ (FormattedContentBuilder.prototype.mapping):
+ (Tokenizer): Wrapper class for UglifyJS tokenizer.
+ (Tokenizer.prototype.content):
+ (Tokenizer.prototype.next):
+ (Tokenizer.prototype._convertUglifyToken):
+ (JavaScriptFormatter): New formatter based on UglifyJS tokenizer.
+ (JavaScriptFormatter.prototype.format):
+ * inspector/front-end/UglifyJS/process.js: Removed.
+ * inspector/front-end/WebKit.qrc:
+
+2011-04-22 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [Chromium] Refactor code prior to moving detailed heap snapshots into workers.
+ https://bugs.webkit.org/show_bug.cgi?id=59189
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/front-end/BinarySearch.js: Added.
+ * inspector/front-end/DetailedHeapshotGridNodes.js:
+ (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
+ (WebInspector.HeapSnapshotGridNode.prototype._populate):
+ (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
+ (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort.afterPopulate):
+ (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
+ (WebInspector.HeapSnapshotGridNode.prototype.sort):
+ (WebInspector.HeapSnapshotObjectNode):
+ (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
+ (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
+ (WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData):
+ (WebInspector.HeapSnapshotInstanceNode.prototype.get isDeletedNode):
+ (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
+ (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived):
+ (WebInspector.HeapSnapshotDiffNode.prototype.get data):
+ * inspector/front-end/DetailedHeapshotView.js:
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.sort):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
+ (WebInspector.HeapSnapshotContainmentDataGrid):
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.setDataSource):
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
+ (WebInspector.HeapSnapshotDominatorsDataGrid):
+ (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
+ (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
+ (WebInspector.HeapSnapshotRetainingPathsList.prototype._performSorting):
+ (WebInspector.DetailedHeapshotView.prototype._changeBase.baseProfileLoaded):
+ (WebInspector.DetailedHeapshotView.prototype._changeBase):
+ (WebInspector.DetailedHeapshotView.prototype._changeView):
+ (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup.displayString):
+ (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup):
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshot.prototype.dispose):
+ (WebInspector.HeapSnapshot.prototype.pushBaseNodeIds):
+ (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeNextItems):
+ (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAndRewind):
+ (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):
+ (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
+ (WebInspector.HeapSnapshotsDiff.prototype.calculate):
+ (WebInspector.HeapSnapshotsDiff.prototype.pushBaseIds):
+ (WebInspector.HeapSnapshotsDiff.prototype.pushBaseSelfSizes):
+ * inspector/front-end/HeapSnapshotProxy.js:
+ (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
+ (WebInspector.HeapSnapshotProxy.prototype.createNodesProvider):
+ (WebInspector.HeapSnapshotProxy.prototype.pushBaseIds):
+ (WebInspector.HeapSnapshotProviderProxy):
+ (WebInspector.HeapSnapshotProviderProxy.prototype.serializeNextItems):
+ (WebInspector.HeapSnapshotProviderProxy.prototype.sortAndRewind):
+ (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseIds):
+ (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseSelfSizes):
+ * inspector/front-end/PleaseWaitMessage.js:
+ (WebInspector.PleaseWaitMessage.prototype.showAndWaitFor):
+ (WebInspector.PleaseWaitMessage.prototype.unlistenAndHide):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/utilities.js:
+
+2011-04-22 Mikhail Naganov <mnaganov@chromium.org>
+
+ Unreviewed fix after r84484 -- conditional statement was inverted incorrectly.
+
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype.handleShortcut):
+
+2011-04-22 Annie Sullivan <sullivan@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Timeline is too narrow
+ https://bugs.webkit.org/show_bug.cgi?id=58399
+
+ Changed Network Panel widths so that Timeline is 50%.
+ Added titles to the values in the other columns, so that a tooltip will show the value if the column is too narrow.
+
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkPanel.prototype._createTable): Changed column widths.
+ (WebInspector.NetworkPanel.prototype._toggleGridMode): Changed column widths.
+ (WebInspector.NetworkDataGridNode.prototype.refreshResource): Added titles to column values.
+ (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell): Ditto
+ (WebInspector.NetworkDataGridNode.prototype._refreshSizeCell): Ditto
+ (WebInspector.NetworkDataGridNode.prototype._refreshTimeCell): Ditto
+ * inspector/front-end/utilities.js:
+ (Element.prototype.setTextAndTitle): Added new method to set the textContent and title of an Element at the same time, so that it can have a tooltip.
+
+2011-04-22 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ <rdar://problem/9322486> REGRESSION (r83397): Default controls fade out when playing audio-only media
+ https://bugs.webkit.org/show_bug.cgi?id=59180
+
+ Test: media/audio-controls-do-not-fade-out.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::playbackProgressTimerFired): Only start fading out the controls if there is
+ a video track.
+
+2011-04-22 Luke Macpherson <macpherson@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add FontItalics and FontSmallCaps enums to be used instead of boolean values.
+ https://bugs.webkit.org/show_bug.cgi?id=59080
+
+ No new tests as no new functionality added.
+
+ * css/CSSPrimitiveValueMappings.h:
+ Add casts to/from FontItalics and FontSmallCaps
+ * css/CSSStyleSelector.cpp:
+ Use new casts defined in PrimitiveValueMappings.h
+ * platform/graphics/Font.h:
+ Use FontItalics enum.
+ * platform/graphics/FontDescription.h:
+ Define and use FontItalics and FontSmallCaps enums.
+
+2011-04-21 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: exception in front-end when user selects resource info for resource that does not have response headers yet
+ https://bugs.webkit.org/show_bug.cgi?id=59123
+
+ * inspector/front-end/ResourceCookiesView.js:
+ (WebInspector.ResourceCookiesView):
+ (WebInspector.ResourceCookiesView.prototype.show):
+ (WebInspector.ResourceCookiesView.prototype.get _gotCookies):
+ (WebInspector.ResourceCookiesView.prototype._buildCookiesTable):
+
+2011-04-21 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=57898
+ REGRESSION (r82185): Scroll position not restored on navigation back to a page in
+ the page cache
+ -and corresponding-
+ <rdar://problem/9226652>
+
+ The original fix for this change broke scroll-position restore for pages that are
+ *not* in the page cache. This patch fixes both cached and non-cached pages by
+ using the cachedScrollPosition() only for cached pages.
+ * loader/HistoryController.cpp:
+ (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
+
+2011-04-21 Luke Macpherson <macpherson@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove redundant calls to RenderStyle::setDisplay()
+ https://bugs.webkit.org/show_bug.cgi?id=59060
+
+ No new tests / no new functionality added.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ Remove redundant calls to RenderStyle::setDisplay()
+
+2011-04-21 John Bauman <jbauman@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ WebGL context drawing buffer may not be cleared if FBO bound
+ https://bugs.webkit.org/show_bug.cgi?id=58956
+
+ Clear the drawing buffer even if it's not currently bound, by
+ switching between FBOs around the clear. Also, make sure that we
+ handle depth and stencil masks properly.
+
+ No new tests, because testing this under DRT doesn't work.
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::initializeNewContext):
+ (WebCore::WebGLRenderingContext::clearIfComposited):
+ (WebCore::WebGLRenderingContext::depthMask):
+ * html/canvas/WebGLRenderingContext.h:
+ *
+2011-04-21 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ WebKit is erroneously modifying the DOM; adding 'aria-selected' to tables
+ https://bugs.webkit.org/show_bug.cgi?id=59140
+
+ WebKit should not modify the DOM when the screen reader requests certain things be set. There is no
+ specification that allows this behavior yet, but we are working on something for the future.
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::setARIAGrabbed):
+ (WebCore::AccessibilityRenderObject::setIsExpanded):
+ (WebCore::AccessibilityRenderObject::setSelected):
+ (WebCore::AccessibilityRenderObject::setValue):
+
+2011-04-21 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ AX: order AccessibilityRole alphabetically
+ https://bugs.webkit.org/show_bug.cgi?id=31524
+
+ * accessibility/AccessibilityObject.h:
+
+2011-04-21 Jia Pu <jpu@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ [Mac] correctionPanelTimerFired() crashes due to rangeToBeReplaced being cleared.
+ https://bugs.webkit.org/show_bug.cgi?id=59155
+ <rdar://problem/9261698>
+
+ Make sure the range isn't cleared before calling windowRectForRange() on it. Also removed unused functions in Editor.h,
+ and fixed a typo in function name.
+
+ * editing/Editor.h:
+ * editing/SpellingCorrectionController.cpp:
+ (WebCore::SpellingCorrectionController::correctionPanelTimerFired):
+ (WebCore::SpellingCorrectionController::respondToChangedSelection):
+ * editing/SpellingCorrectionController.h:
+ (WebCore::SpellingCorrectionController::shouldStartTimerFor):
+
+2011-04-21 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a feature define to allow <details> and <summary> to be disabled
+ https://bugs.webkit.org/show_bug.cgi?id=59118
+ <rdar://problem/9257045>
+
+ No new tests; no behavior change.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * features.pri:
+ * html/HTMLDetailsElement.cpp:
+ * html/HTMLSummaryElement.cpp:
+ * html/HTMLTagNames.in:
+ * html/shadow/DetailsMarkerControl.cpp:
+ * rendering/RenderBlock.cpp:
+ (WebCore::canMergeContiguousAnonymousBlocks):
+ * rendering/RenderDetails.cpp:
+ * rendering/RenderDetails.h:
+ * rendering/RenderDetailsMarker.cpp:
+ * rendering/RenderDetailsMarker.h:
+ * rendering/RenderObject.h:
+ * rendering/RenderSummary.cpp:
+ * rendering/RenderSummary.h:
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::RenderTreeAsText::writeRenderObject):
+
+2011-04-21 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Adele Peterson.
+
+ REGRESSION (r83386): Typing in WSJ.com search field doesn't clear placeholder text
+ https://bugs.webkit.org/show_bug.cgi?id=59053
+
+ Turns out, the relatedTarget of an event could be also an ancestor of an event,
+ not just its parent. Duh.
+
+ * dom/EventDispatcher.cpp:
+ (WebCore::EventDispatcher::adjustToShadowBoundaries): Changed to use shadowHost
+ explicitly.
+
+2011-04-21 Michael Saboff <msaboff@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Qualified names used for all TagName access, yet namespace usage is rare
+ https://bugs.webkit.org/show_bug.cgi?id=58997
+
+ The methods getElementsByTagName and getElementsByTagNameNS where
+ always creating and using QualifiedNames. QualifiedName::init
+ was consistently in the top 3 routines when running the Dromaeo
+ DOM-query benchmark. Split out the functionality so that
+ getElementsByTagName uses just the local name, an implied "*"
+ namespace and a separate TagNodeListCache keyed by an atomic name
+ instead of a QualifiedName. Access to elements via
+ getElementsByTagNameNS that have "*" namespace are forwarded to
+ getElementsByTagName as well. This provides ~10% speed up in that
+ Dromaeo test.
+
+ No new tests added, existing tests have coverage. The changes are
+ an optimization of existing functionality.
+
+ * dom/Node.cpp:
+ (WebCore::Node::removeCachedTagNodeList):
+ (WebCore::Node::getElementsByTagName):
+ (WebCore::Node::getElementsByTagNameNS):
+ (WebCore::NodeListsNodeData::invalidateCaches):
+ (WebCore::NodeListsNodeData::isEmpty):
+ * dom/Node.h:
+ * dom/NodeRareData.h:
+ * dom/TagNodeList.cpp:
+ (WebCore::TagNodeList::~TagNodeList):
+
+2011-04-21 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Removed a use of markDOMObjectWrapper: more style- and node-related stuff
+ https://bugs.webkit.org/show_bug.cgi?id=59127
+
+ * bindings/js/JSCanvasRenderingContextCustom.cpp:
+ * bindings/js/JSCanvasRenderingContextCustom.cpp:
+ (WebCore::JSCanvasRenderingContextOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSCanvasRenderingContextOwner::finalize):
+ (WebCore::wrapperOwner):
+ (WebCore::wrapperContext): Use opaque roots for marking canvas rendering
+ contexts, so JSNode isn't responsible for it.
+
+ * bindings/js/JSElementCustom.cpp:
+ (WebCore::JSElement::markChildren):
+ * bindings/js/JSHTMLCanvasElementCustom.cpp:
+ * bindings/js/JSHTMLLinkElementCustom.cpp:
+ * bindings/js/JSHTMLStyleElementCustom.cpp: Removed obsolete marking code.
+
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::isObservable):
+ (WebCore::isReachableFromDOM):
+ (WebCore::JSNodeOwner::isReachableFromOpaqueRoots): Removed a bunch of
+ CSS object model related special cases, since the CSS object model
+ now tracks its own lifetime through the opaque roots system. Removed
+ canvas special case, covered above.
+
+ * bindings/js/JSProcessingInstructionCustom.cpp:
+ * bindings/js/JSWebKitAnimationListCustom.cpp:
+ * dom/ProcessingInstruction.idl:
+ * html/HTMLCanvasElement.idl:
+ * html/HTMLLinkElement.idl:
+ * html/HTMLStyleElement.idl:
+ * page/WebKitAnimationList.idl: Removed obsolete marking code.
+
+2011-04-21 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by James Robinson.
+
+ [chromium] Only update the contents of layers that are going to
+ be drawn. Remove individual texture unreserves that happen
+ after the layer draw calls with a single unreserve for all the
+ textures in the texture manager.
+ https://bugs.webkit.org/show_bug.cgi?id=59129
+
+ Tests: No new functionality. Covered by existing layout tests.
+
+ * platform/graphics/chromium/ContentLayerChromium.cpp:
+ (WebCore::ContentLayerChromium::draw):
+ * platform/graphics/chromium/ContentLayerChromium.h:
+ * platform/graphics/chromium/ImageLayerChromium.cpp:
+ (WebCore::ImageLayerChromium::paintContentsIfDirty):
+ (WebCore::ImageLayerChromium::updateCompositorResources):
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::drawRootLayer):
+ (WebCore::LayerRendererChromium::updateAndDrawLayers):
+ (WebCore::LayerRendererChromium::updateLayers):
+ (WebCore::LayerRendererChromium::paintLayerContents):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ * platform/graphics/chromium/LayerTexture.cpp:
+ * platform/graphics/chromium/LayerTexture.h:
+ * platform/graphics/chromium/LayerTilerChromium.cpp:
+ * platform/graphics/chromium/LayerTilerChromium.h:
+ * platform/graphics/chromium/RenderSurfaceChromium.cpp:
+ (WebCore::RenderSurfaceChromium::drawSurface):
+ * platform/graphics/chromium/TextureManager.cpp:
+ (WebCore::TextureManager::unprotectAllTextures):
+ * platform/graphics/chromium/TextureManager.h:
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
+ (WebCore::CCHeadsUpDisplay::draw):
+ * platform/graphics/chromium/cc/CCLayerImpl.h:
+ (WebCore::CCLayerImpl::owner):
+
+2011-04-21 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ Add Frame* to the argument lists of canCopyCut and canPaste
+ https://bugs.webkit.org/show_bug.cgi?id=59153
+
+ canCopyCut and canPaste now takes Frame* for which supportedCopyCut and supportedPaste are called.
+ This allows editor client to grant copy/cut and paste permissions per origin.
+
+ * editing/EditorCommand.cpp:
+ (WebCore::supportedCopyCut):
+ (WebCore::supportedPaste):
+ * loader/EmptyClients.h:
+ (WebCore::EmptyEditorClient::canCopyCut):
+ (WebCore::EmptyEditorClient::canPaste):
+ * page/EditorClient.h:
+
+2011-04-21 Oliver Hunt <oliver@apple.com>
+
+ Whoops, change lost during merge
+
+ * bindings/js/JSEventListener.h:
+
+2011-04-21 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixed a failure seen in fast/dom/prototype-inheritance-2.html due to
+ wrong global object use.
+
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::JSHTMLDocument::nameGetter):
+ (WebCore::JSHTMLDocument::all):
+ * bindings/js/JSHTMLFormElementCustom.cpp:
+ (WebCore::JSHTMLFormElement::nameGetter): Use the right global object.
+
+2011-04-21 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Start moving to a general visitor pattern for GC traversal
+ https://bugs.webkit.org/show_bug.cgi?id=59141
+
+ This is just a rename:
+ markChildren -> visitChildren
+ markAggregate -> visitAggregate
+ markStack -> visitor
+ MarkStack -> typedef'd to SlotVisitor
+
+ * bindings/js/JSAttrCustom.cpp:
+ (WebCore::JSAttr::visitChildren):
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::constructAudio):
+ * bindings/js/JSCSSRuleCustom.cpp:
+ (WebCore::JSCSSRule::visitChildren):
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ (WebCore::JSCSSStyleDeclaration::visitChildren):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::visitActiveObjectsForContext):
+ (WebCore::markDOMObjectWrapper):
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::visitChildren):
+ * bindings/js/JSDOMGlobalObject.h:
+ * bindings/js/JSDOMImplementationCustom.cpp:
+ (WebCore::JSDOMImplementation::visitChildren):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::visitChildren):
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::visitChildren):
+ * bindings/js/JSDOMWindowShell.h:
+ * bindings/js/JSDocumentCustom.cpp:
+ (WebCore::JSDocument::visitChildren):
+ * bindings/js/JSElementCustom.cpp:
+ (WebCore::JSElement::visitChildren):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::markJSFunction):
+ * bindings/js/JSEventListener.h:
+ * bindings/js/JSHTMLCanvasElementCustom.cpp:
+ (WebCore::JSHTMLCanvasElement::visitChildren):
+ * bindings/js/JSHTMLLinkElementCustom.cpp:
+ (WebCore::JSHTMLLinkElement::visitChildren):
+ * bindings/js/JSHTMLStyleElementCustom.cpp:
+ (WebCore::JSHTMLStyleElement::visitChildren):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::constructImage):
+ * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
+ (WebCore::JSJavaScriptAudioNode::visitChildren):
+ * bindings/js/JSMessageChannelCustom.cpp:
+ (WebCore::JSMessageChannel::visitChildren):
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::visitChildren):
+ * bindings/js/JSNamedNodeMapCustom.cpp:
+ (WebCore::JSNamedNodeMapOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSNamedNodeMap::visitChildren):
+ * bindings/js/JSNavigatorCustom.cpp:
+ (WebCore::JSNavigator::visitChildren):
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::isObservable):
+ (WebCore::isReachableFromDOM):
+ (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSNode::visitChildren):
+ * bindings/js/JSNodeCustom.h:
+ * bindings/js/JSNodeFilterCondition.cpp:
+ (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots):
+ * bindings/js/JSNodeFilterCondition.h:
+ * bindings/js/JSNodeFilterCustom.cpp:
+ (WebCore::JSNodeFilter::visitChildren):
+ * bindings/js/JSNodeIteratorCustom.cpp:
+ (WebCore::JSNodeIterator::visitChildren):
+ * bindings/js/JSNodeListCustom.cpp:
+ (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
+ * bindings/js/JSProcessingInstructionCustom.cpp:
+ (WebCore::JSProcessingInstruction::visitChildren):
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ (WebCore::JSSVGElementInstance::visitChildren):
+ * bindings/js/JSSharedWorkerCustom.cpp:
+ (WebCore::JSSharedWorker::visitChildren):
+ * bindings/js/JSStyleSheetCustom.cpp:
+ (WebCore::JSStyleSheet::visitChildren):
+ * bindings/js/JSTreeWalkerCustom.cpp:
+ (WebCore::JSTreeWalker::visitChildren):
+ * bindings/js/JSWebGLRenderingContextCustom.cpp:
+ (WebCore::JSWebGLRenderingContext::visitChildren):
+ * bindings/js/JSWebKitAnimationListCustom.cpp:
+ (WebCore::JSWebKitAnimationList::visitChildren):
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::visitChildren):
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::visitChildren):
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ (WebCore::JSXMLHttpRequestUpload::visitChildren):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtRuntimeObject::visitChildren):
+ (JSC::Bindings::QtInstance::markAggregate):
+ * bridge/qt/qt_instance.h:
+ * bridge/qt/qt_pixmapruntime.cpp:
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
+ * bridge/qt/qt_runtime.h:
+ * dom/EventListener.h:
+ (WebCore::EventListener::visitJSFunction):
+ * dom/EventTarget.h:
+ (WebCore::EventTarget::visitJSEventListeners):
+ * dom/Node.h:
+ * dom/NodeFilterCondition.h:
+ (WebCore::NodeFilterCondition::visitAggregate):
+ * page/DOMWindow.h:
+ * workers/WorkerContext.h:
+
+2011-04-21 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=59048
+ Need to track whether overlay scrollbar is currently visible and in lower-
+ righthand corner
+ -and corresponding-
+ <rdar://problem/9211232>
+
+ Whenever we start a new ScrollbarPartAnimation, check if the scrollbar is vertical
+ and showing (alpha of 1), and if so, call setVisibleScrollerThumbRect with the
+ knob rect, otherwise with an empty rect. ScrollAnimatorMac has a local rect to
+ track this value so that it can avoid sending messages across the ChromeClient to
+ the UIProcess if the rect has not changed.
+ * platform/mac/ScrollAnimatorMac.h:
+ * platform/mac/ScrollAnimatorMac.mm:
+ (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
+ (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
+ (WebCore::ScrollAnimatorMac::setVisibleScrollerThumbRect):
+
+ Plumbing for the chrome client.
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::notifyScrollerThumbIsVisibleInRect):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::setVisibleScrollerThumbRect):
+ * page/FrameView.h:
+ * platform/ScrollableArea.h:
+ (WebCore::ScrollableArea::setVisibleScrollerThumbRect):
+
+ New WebCoreSystemInterface function to get the knob rect.
+ * WebCore.exp.in:
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+
+2011-04-21 Nat Duca <nduca@chromium.org>
+
+ Reviewed by James Robinson.
+
+ [chromium] Fix artefacts in compositor HUD when resizing
+ https://bugs.webkit.org/show_bug.cgi?id=58969
+
+ HUD was using the tiler program and not setting the texture
+ transform. The HUD would thus draw with a texture transform based
+ on the last tile drawn, leading sometimes to distortion.
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::initializeSharedObjects):
+ (WebCore::LayerRendererChromium::cleanupSharedObjects):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ (WebCore::LayerRendererChromium::headsUpDisplayProgram):
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
+ (WebCore::CCHeadsUpDisplay::draw):
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
+
+2011-04-21 Mike Reed <reed@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ only return false if we actually in a skia-gpu accelerated canvas for isNativeFontRenderingAllowed
+ https://bugs.webkit.org/show_bug.cgi?id=59024
+
+ No new tests. The bug (and fix) depend on enabling SKIA_GPU. When that is enabled, the bug
+ shows all text w/o lcd rendering. This is a regression from a recent CL when we switch to
+ calling skia::SupportsPlatformPaint. This CL fixes that.
+ There should be no change for the default builds when SKIA_GPU is not enabled.
+
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
+
+2011-04-21 Adrienne Walker <enne@google.com>
+
+ Reviewed by James Robinson.
+
+ [chromium] Don't upload partially drawn tiles in the compositor
+ https://bugs.webkit.org/show_bug.cgi?id=59112
+
+ Use the same set of tiles for painting as is used for updating.
+ Before, a larger set of tiles were being uploaded, causing some to
+ only be partially undirtied because they were not fully painted.
+ As tiles are clear their dirty rect after being unpainted, this caused
+ artifacts to appear when scrolling.
+
+ Unfortunately, no layout test can test this behavior yet because
+ scrolling invalidations are done differently in test shell.
+
+ * platform/graphics/chromium/ImageLayerChromium.cpp:
+ (WebCore::ImageLayerChromium::updateCompositorResources):
+ * platform/graphics/chromium/LayerTilerChromium.cpp:
+ (WebCore::LayerTilerChromium::update):
+ (WebCore::LayerTilerChromium::uploadCanvas):
+ (WebCore::LayerTilerChromium::updateFromPixels):
+ * platform/graphics/chromium/LayerTilerChromium.h:
+
+2011-04-21 Ben Taylor <bentaylor.solx86@gmail.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=58725
+
+ Fix a compile issue on Solaris 10 with Sun Studio 12,
+ ternary operators (?:) must have the same types
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::popArchiveForSubframe):
+ * loader/archive/ArchiveFactory.cpp:
+ (WebCore::ArchiveFactory::create):
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::setIconDataForIconURL):
+ * page/animation/AnimationBase.cpp:
+ (WebCore::blendFunc):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateScrollCornerStyle):
+ (WebCore::RenderLayer::updateResizerStyle):
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::updateScrollbarPart):
+ * rendering/RenderTextFragment.cpp:
+ (WebCore::RenderTextFragment::RenderTextFragment):
+
+2011-04-21 Mike Reed <reed@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium, win] Multiple failures of shadow rendering layout tests
+ https://bugs.webkit.org/show_bug.cgi?id=58772
+
+ No new tests. This CL fixes a regression in the following tests
+ fast/multicol/shadow-breaking.html
+ fast/repaint/shadow-multiple-horizontal.html
+ fast/repaint/shadow-multiple-strict-horizontal.html
+ fast/repaint/shadow-multiple-strict-vertical.html
+ fast/repaint/shadow-multiple-vertical.html
+ fast/text/shadow-translucent-fill.html
+ fast/transforms/shadows.html
+ svg/css/group-with-shadow.svg
+ svg/css/shadow-changes.svg
+ svg/css/text-shadow-multiple.xhtml
+ transitions/svg-text-shadow-transition.html
+ svg/css/composite-shadow-text.svg
+
+
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::setPlatformShadow):
+
+2011-04-21 Geoffrey Garen <ggaren@apple.com>
+
+ Try to fix the Qt build.
+
+ * UseJSC.cmake:
+ * WebCore.pro: Use correct file name.
+
+2011-04-21 Dirk Schulze <krit@webkit.org>
+
+ Unreviewed Qt build fix.
+
+ SVG feDropShadow implementation of SVG Filters 1.2
+ https://bugs.webkit.org/show_bug.cgi?id=52513
+
+ * CodeGenerators.pri:
+
+2011-04-21 Adrienne Walker <enne@google.com>
+
+ Reviewed by James Robinson.
+
+ [chromium] Clamp dirty regions on content layers to layer bounds
+ https://bugs.webkit.org/show_bug.cgi?id=58933
+
+ This prevents garbage being rendered when layers are resized and a
+ previous invalidation (now off-layer) is no longer valid.
+
+ * platform/graphics/chromium/ContentLayerChromium.cpp:
+ (WebCore::ContentLayerChromium::paintContentsIfDirty):
+
+2011-04-21 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ Bug 59012 - Shadows should be imported along with their host nodes
+ https://bugs.webkit.org/show_bug.cgi?id=59012
+
+ Copy the shadow tree of an element (even on a shallow copy!).
+
+ Test: fast/dom/shadow/import-shadowroot.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::copyNonAttributeProperties):
+ * dom/Element.h:
+
+2011-04-20 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Removed a use of markDOMObjectWrapper: CSS Object Model
+ https://bugs.webkit.org/show_bug.cgi?id=59057
+
+ This is 24 hours of my life I will never get back. Thank you, W3C.
+
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj: Build!
+
+ * bindings/js/JSCSSFontFaceRuleCustom.cpp:
+ * bindings/js/JSCSSImportRuleCustom.cpp:
+ * bindings/js/JSCSSMediaRuleCustom.cpp:
+ * bindings/js/JSCSSPageRuleCustom.cpp:
+ * bindings/js/JSCSSRuleCustom.cpp:
+ (WebCore::JSCSSRuleOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSCSSRuleOwner::finalize):
+ (WebCore::wrapperOwner):
+ (WebCore::wrapperContext):
+ (WebCore::JSCSSRule::markChildren):
+ * bindings/js/JSCSSRuleListCustom.cpp:
+ (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSCSSRuleListOwner::finalize):
+ (WebCore::wrapperOwner):
+ (WebCore::wrapperContext):
+ (WebCore::toJS):
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ (WebCore::JSCSSStyleDeclarationOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSCSSStyleDeclarationOwner::finalize):
+ (WebCore::wrapperOwner):
+ (WebCore::wrapperContext):
+ (WebCore::JSCSSStyleDeclaration::markChildren): Removed custom mark functions,
+ and replaced with use of the opaque roots system. This has the nice benefit
+ of allowing us to eagerly recycle far more CSS wrappers and their associated
+ DOM wrappers.
+
+ (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue): Made this function
+ custom because it must maintain the sorrowful invariant that primitive
+ values can be mapped back to objects that are reachable through the DOM.
+ We maintain this invariant through an external hash table because
+ making all primitive values bigger would be a too-large memory use
+ penalty. Luckily, nobody uses this feature, so the cost of the hash table
+ is no big deal.
+
+ (WebCore::toJS): We need a custom toJS so we can specify our own WeakHandleOwner.
+
+ * bindings/js/JSCSSStyleRuleCustom.cpp: Removed custom mark, as above.
+
+ * bindings/js/JSCSSValueCustom.cpp:
+ (WebCore::cssValueRoots):
+ (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSCSSValueOwner::finalize):
+ (WebCore::wrapperOwner):
+ (WebCore::wrapperContext): Use the opaque roots system. Piggy-back on
+ the external hash table filled by JSCSSStyleDeclaration::getPropertyCSSValue.
+
+ * bindings/js/JSDocumentCustom.cpp:
+ (WebCore::JSDocument::markChildren): No need to mark our stylesheet list,
+ since all style-related objects can use our opaque root to determine
+ liveness.
+
+ * bindings/js/JSMediaListCustom.cpp: Added.
+ (WebCore::JSMediaListOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSMediaListOwner::finalize):
+ (WebCore::wrapperOwner):
+ (WebCore::wrapperContext):
+ (WebCore::toJS): Use the opaque roots system.
+
+ * bindings/js/JSNodeCustom.h:
+ (WebCore::root): Added helpers for computing style-related roots.
+
+ * bindings/js/JSStyleSheetCustom.cpp:
+ (WebCore::JSStyleSheetOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSStyleSheetOwner::finalize):
+ (WebCore::wrapperOwner):
+ (WebCore::wrapperContext):
+ (WebCore::JSStyleSheet::markChildren): Use the opaque roots system instead
+ of direct marking.
+
+ * bindings/js/JSStyleSheetListCustom.cpp:
+ (WebCore::JSStyleSheetListOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSStyleSheetListOwner::finalize):
+ (WebCore::wrapperOwner):
+ (WebCore::wrapperContext):
+ (WebCore::toJS): Ditto.
+
+ * bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp:
+ * bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp:
+ * css/CSSFontFaceRule.idl:
+ * css/CSSImportRule.idl: No more custom mark, since we use the opaque
+ roots system instead.
+
+ * css/CSSMediaRule.cpp:
+ (WebCore::CSSMediaRule::CSSMediaRule): Fixed a bug where a media rule
+ would incorrectly have no parent, since this got in the way of correctly
+ computing the media rule's root.
+
+ * css/CSSMediaRule.idl:
+ * css/CSSPageRule.idl:
+ * css/CSSRuleList.idl:
+ * css/CSSStyleDeclaration.idl:
+ * css/CSSStyleRule.idl:
+ * css/MediaList.idl: Match behavior changes above.
+
+ * css/StyleBase.cpp:
+ (WebCore::StyleBase::node): Helper function for computing roots of the
+ style system. This object model is pretty weird and not very well factored,
+ but I'm pretty sure this covers all the relevant cases.
+
+ * css/StyleBase.h:
+ * css/StyleSheetList.idl:
+ * css/WebKitCSSKeyframeRule.idl:
+ * css/WebKitCSSKeyframesRule.idl: Updated to match the behavior changes above.
+
+2011-04-21 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVG feDropShadow implementation of SVG Filters 1.2
+ https://bugs.webkit.org/show_bug.cgi?id=52513
+
+ This is the implementation of feDropShadow, a shorthand filter and a combination of feGaussianBlur,
+ feOffset, feFlood and feComposite to create a drop shadow of an input effect.
+ Creating this new filter effect makes it possible to optimize the often used workflow. ShadowBlur, with its
+ fast blurring algorithm, is used to blur the shadow and composite operators are responsible for combining the
+ source with different colored shadows.
+ Shadow color and opacity can be set with the properties flood-color and flood-opacity.
+
+ Tests: svg/dynamic-updates/SVGFEDropShadowElement-dom-dx-attr.html
+ svg/dynamic-updates/SVGFEDropShadowElement-dom-dy-attr.html
+ svg/dynamic-updates/SVGFEDropShadowElement-dom-in-attr.html
+ svg/dynamic-updates/SVGFEDropShadowElement-dom-shadow-color-attr.html
+ svg/dynamic-updates/SVGFEDropShadowElement-dom-shadow-opacity-attr.html
+ svg/dynamic-updates/SVGFEDropShadowElement-dom-stdDeviation-attr.html
+ svg/dynamic-updates/SVGFEDropShadowElement-svgdom-dx-prop.html
+ svg/dynamic-updates/SVGFEDropShadowElement-svgdom-dy-prop.html
+ svg/dynamic-updates/SVGFEDropShadowElement-svgdom-in-prop.html
+ svg/dynamic-updates/SVGFEDropShadowElement-svgdom-shadow-color-prop.html
+ svg/dynamic-updates/SVGFEDropShadowElement-svgdom-shadow-opacity-prop.html
+ svg/dynamic-updates/SVGFEDropShadowElement-svgdom-stdDeviation-prop.html
+ svg/filters/feDropShadow.svg
+
+ * Android.mk:
+ * CMakeLists.txt:
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.list.am:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/objc/DOM.mm:
+ (WebCore::createElementClassMap):
+ * bindings/objc/DOMSVG.h:
+ * page/DOMWindow.idl:
+ * platform/graphics/ShadowBlur.cpp: Added missing copyright after r84410.
+ * platform/graphics/ShadowBlur.h: Made blurLayerImage public.
+ * platform/graphics/filters/FEDropShadow.cpp: Added.
+ (WebCore::FEDropShadow::FEDropShadow):
+ (WebCore::FEDropShadow::create):
+ (WebCore::FEDropShadow::determineAbsolutePaintRect):
+ (WebCore::FEDropShadow::apply):
+ (WebCore::FEDropShadow::dump):
+ (WebCore::FEDropShadow::externalRepresentation):
+ * platform/graphics/filters/FEDropShadow.h: Added.
+ (WebCore::FEDropShadow::stdDeviationX):
+ (WebCore::FEDropShadow::setStdDeviationX):
+ (WebCore::FEDropShadow::stdDeviationY):
+ (WebCore::FEDropShadow::setStdDeviationY):
+ (WebCore::FEDropShadow::dx):
+ (WebCore::FEDropShadow::setDx):
+ (WebCore::FEDropShadow::dy):
+ (WebCore::FEDropShadow::setDy):
+ (WebCore::FEDropShadow::shadowColor):
+ (WebCore::FEDropShadow::setShadowColor):
+ (WebCore::FEDropShadow::shadowOpacity):
+ (WebCore::FEDropShadow::setShadowOpacity):
+ * platform/graphics/filters/FEGaussianBlur.cpp:
+ (WebCore::FEGaussianBlur::calculateKernelSize): Make kernel calculations accessible for feDropShadow.
+ * platform/graphics/filters/FEGaussianBlur.h:
+ * svg/SVGAllInOne.cpp:
+ * svg/SVGFEDropShadowElement.cpp: Added.
+ (WebCore::SVGFEDropShadowElement::SVGFEDropShadowElement):
+ (WebCore::SVGFEDropShadowElement::create):
+ (WebCore::SVGFEDropShadowElement::stdDeviationXIdentifier):
+ (WebCore::SVGFEDropShadowElement::stdDeviationYIdentifier):
+ (WebCore::SVGFEDropShadowElement::setStdDeviation):
+ (WebCore::SVGFEDropShadowElement::parseMappedAttribute):
+ (WebCore::SVGFEDropShadowElement::svgAttributeChanged):
+ (WebCore::SVGFEDropShadowElement::synchronizeProperty):
+ (WebCore::SVGFEDropShadowElement::build):
+ * svg/SVGFEDropShadowElement.h: Added.
+ * svg/SVGFEDropShadowElement.idl: Added.
+ * svg/svgtags.in:
+
+2011-04-21 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Bug 58704 - Decide on node type for ShadowRoot
+ https://bugs.webkit.org/show_bug.cgi?id=58704
+
+ Add a new node type SHADOW_ROOT_NODE.
+ Adapt all calling sites of nodeType().
+
+ Test: fast/dom/shadow/nodetype.html
+
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::createWrapperInline):
+ * bindings/objc/DOM.mm:
+ (kitClass):
+ * bindings/v8/custom/V8NodeCustom.cpp:
+ (WebCore::toV8Slow):
+ * dom/Document.cpp:
+ (WebCore::Document::importNode):
+ (WebCore::Document::childTypeAllowed):
+ (WebCore::Document::canReplaceChild):
+ * dom/Node.cpp:
+ (WebCore::Node::dumpStatistics):
+ (WebCore::Node::isDefaultNamespace):
+ (WebCore::Node::lookupPrefix):
+ (WebCore::Node::lookupNamespaceURI):
+ (WebCore::appendTextContent):
+ (WebCore::Node::setTextContent):
+ * dom/Node.h:
+ * dom/Range.cpp:
+ (WebCore::lengthOfContentsInNode):
+ (WebCore::Range::processContentsBetweenOffsets):
+ (WebCore::Range::insertNode):
+ (WebCore::Range::checkNodeWOffset):
+ (WebCore::Range::checkNodeBA):
+ (WebCore::Range::selectNode):
+ (WebCore::Range::selectNodeContents):
+ (WebCore::Range::surroundContents):
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::nodeType):
+ * dom/Traversal.cpp:
+ (WebCore::Traversal::acceptNode):
+ * editing/MarkupAccumulator.cpp:
+ (WebCore::MarkupAccumulator::appendStartMarkup):
+ * html/parser/HTMLElementStack.cpp:
+ (WebCore::HTMLNames::isRootNode):
+ (WebCore::HTMLElementStack::pushRootNode):
+ * html/parser/HTMLElementStack.h:
+ (WebCore::isInHTMLNamespace):
+ * xml/XPathUtil.cpp:
+ (WebCore::XPath::isValidContextNode):
+
+2011-04-20 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ REGRESSION (r75543): Styles bleed into new shadow DOM (like slider and video)
+ https://bugs.webkit.org/show_bug.cgi?id=52917
+
+ In order to determine whether a rule should apply inside of a shadow DOM subtree,
+ we collect three pieces of information:
+
+ 1) Are we parsing UA sheets?
+ 2) Does the current tree scope allows applying author sheets?
+ 3) Does the rule explicitly reach into shadow DOM (using pseudo-elements, for example)?
+
+ If the answer to all of these is no, we ignore the rule.
+
+ Test: fast/css/shadow-dom-scope.html
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::MatchingUARulesScope::MatchingUARulesScope): Added a scope helper to
+ track whether we are currently matching UA rules.
+ (WebCore::CSSStyleSelector::matchRulesForList): Added the check for three
+ conditions mentioned above.
+ (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker): Added
+ initializer for the flag, which helps us determine whether the rule
+ explicitly reaches into shadow DOM.
+ (WebCore::CSSStyleSelector::matchUARules): Started using the scope helper.
+ (WebCore::CSSStyleSelector::checkSelector): Added initializing of the
+ flag.
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added setting
+ of the flag when we encounter unknown pseudo-elements.
+ * css/CSSStyleSelector.h: Adjusted decls.
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::applyAuthorSheets): Added.
+ * dom/ShadowRoot.h: Adjusted decls.
+ * dom/TreeScope.cpp:
+ (WebCore::TreeScope::applyAuthorSheets): Added.
+ * dom/TreeScope.h: Adjusted decls.
+
+2011-04-21 Levi Weintraub <leviw@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ position fixed element does not render properly when dynamically updated via javascript
+ https://bugs.webkit.org/show_bug.cgi?id=54297
+
+ Disabling the LayoutState fast-path for fixed-position content.
+
+ Tests: fast/repaint/fixed-contents-changed-after-scroll.html
+ fast/repaint/transformed-contents-changed-after-scroll.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computeRectForRepaint):
+
+2011-04-20 Matthew Delaney <mdelaney@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ arc() should add a circle to the path when start and end angles are far enough apart
+ https://bugs.webkit.org/show_bug.cgi?id=58934
+
+ Test: fast/canvas/canvas_arc_largeangles.html
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::arc):
+
+2011-04-20 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Content of <summary> should be forwarded through the shadow DOM
+ https://bugs.webkit.org/show_bug.cgi?id=58914
+
+ - Introduced ShadowContentElement which hosts forwarded children of <summary>
+ - Encapsulated Node::parentNodeForRenderingAndStyle() and shouldCreateRendererFor()
+ into NodeVisualParentLookupResult class.
+ - The parent lookup is also aware of node forwarding. If the visual parent node has
+ a shadow root, the node is possibly forwarded to ShadowContentElement
+ - ShadowContentElement lookup is implemented inside ShadowRoot.
+
+ Tests: fast/html/details-add-summary-child-1.html
+ fast/html/details-add-summary-child-2.html
+ fast/html/details-remove-summary-child-1.html
+ fast/html/details-remove-summary-child-2.html
+
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Element.cpp:
+ (WebCore::Element::childrenChanged):
+ * dom/Node.cpp:
+ (WebCore::NodeRenderParentDetector::NodeRenderParentDetector):
+ (WebCore::NodeRenderParentDetector::parentNodeForRenderingAndStyle):
+ (WebCore::NodeRenderParentDetector::findVisualParent):
+ (WebCore::NodeRenderParentDetector::shouldCreateRenderer):
+ (WebCore::Node::parentNodeForRenderingAndStyle):
+ (WebCore::Node::createRendererAndStyle):
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::contentContainerFor):
+ (WebCore::ShadowRoot::hostChildrenChanged):
+ (WebCore::ShadowRoot::firstContentElement):
+ * dom/ShadowRoot.h:
+ * html/HTMLSummaryElement.cpp:
+ (WebCore::HTMLSummaryElement::createShadowSubtree):
+ * html/HTMLSummaryElement.h:
+ * html/shadow/ShadowContentElement.h: Copied from Source/WebCore/dom/ShadowRoot.h.
+ (WebCore::ShadowContentElement::ShadowContentElement):
+ (WebCore::ShadowContentElement::isShadowBoundary):
+ (WebCore::ShadowContentElement::createRenderer):
+ (WebCore::ShadowContentElement::create):
+
+2011-04-21 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: fix calls to WebInspector.ObjectPropertiesSection constructor
+ https://bugs.webkit.org/show_bug.cgi?id=59105
+
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype._formatobject):
+ * inspector/front-end/ExtensionPanel.js:
+ (WebInspector.ExtensionSidebarPane.prototype._setObject):
+ * inspector/front-end/ResourceJSONView.js:
+ (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype._initialize):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
+ (WebInspector.SourceFrame.prototype._showPopup):
+
+2011-04-21 Adam Barth <abarth@webkit.org>
+
+ Remove support for CSP's frame-src. This approach causes too many
+ extra console messages to be logged. I'm leaving in the test (which
+ now shows failure).
+
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::isURLAllowed):
+
+2011-04-21 Eunsol Park <eunsol47.park@samsung.com>
+
+ Reviewed by Antonio Gomes.
+
+ [EFL] Scroll doesn't work on tiled backing store.
+ https://bugs.webkit.org/show_bug.cgi?id=55021
+
+ It was added from Changeset 72242, but it worked wrong in EFL port.
+ The visible rect should not be returned as content rect for scrolling in EFL tiled backing store,
+ because it works differently from QT.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::visibleContentRect):
+
+2011-04-21 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Create RIAA class for GraphicsContext::save() and restore()
+ https://bugs.webkit.org/show_bug.cgi?id=58807
+
+ Use GraphicsContextStateSaver in a lot more places.
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::drawImage):
+ (WebCore::CanvasRenderingContext2D::drawTextInternal):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::wheelEvent):
+ * platform/graphics/GeneratedImage.cpp:
+ (WebCore::GeneratedImage::draw):
+ * platform/graphics/GraphicsContext.h:
+ (WebCore::GraphicsContextStateSaver::save):
+ (WebCore::GraphicsContextStateSaver::restore):
+ * platform/graphics/ShadowBlur.cpp:
+ (WebCore::ShadowBlur::drawShadowBuffer):
+ (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
+ (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
+ (WebCore::ShadowBlur::drawInsetShadowWithTiling):
+ (WebCore::ShadowBlur::drawRectShadowWithTiling):
+ (WebCore::ShadowBlur::drawLayerPieces):
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::paint):
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::BitmapImage::draw):
+ (WebCore::Image::drawPattern):
+ * platform/graphics/cg/PDFDocumentImage.cpp:
+ (WebCore::PDFDocumentImage::draw):
+ * platform/graphics/filters/FEComposite.cpp:
+ (WebCore::FEComposite::apply):
+ * platform/graphics/filters/SourceAlpha.cpp:
+ (WebCore::SourceAlpha::apply):
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivateQTKit::paint):
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::paint):
+ * platform/mac/ThemeMac.mm:
+ (WebCore::paintCheckbox):
+ (WebCore::paintRadio):
+ (WebCore::paintStepper):
+ * rendering/EllipsisBox.cpp:
+ (WebCore::EllipsisBox::paintSelection):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::paintFillLayer):
+ (WebCore::InlineFlowBox::paintBoxDecorations):
+ (WebCore::InlineFlowBox::paintMask):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::paint):
+ (WebCore::InlineTextBox::paintSelection):
+ (WebCore::InlineTextBox::paintCompositionBackground):
+ (WebCore::InlineTextBox::paintDecoration):
+ (WebCore::InlineTextBox::paintTextMatchMarker):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::paintColumnContents):
+ (WebCore::RenderBlock::paintSelection):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::paintBoxDecorationsWithSize):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+ (WebCore::RenderBoxModelObject::paintBorder):
+ * rendering/RenderEmbeddedObject.cpp:
+ (WebCore::RenderEmbeddedObject::paintReplaced):
+ * rendering/RenderFieldset.cpp:
+ (WebCore::RenderFieldset::paintBoxDecorations):
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::paintObject):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintResizer):
+ (WebCore::RenderLayer::paintLayer):
+ (WebCore::RenderLayer::paintChildLayerIntoColumns):
+ * rendering/RenderListMarker.cpp:
+ (WebCore::RenderListMarker::paint):
+ * rendering/RenderMediaControls.cpp:
+ (WebCore::RenderMediaControls::paintMediaControlsPart):
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::paintBackgroundsBehindCell):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::paintPlaceholder):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::paintMenuList):
+ (WebCore::RenderThemeMac::paintMeter):
+ (WebCore::RenderThemeMac::paintProgressBar):
+ (WebCore::RenderThemeMac::paintMenuListButtonGradients):
+ (WebCore::RenderThemeMac::paintMenuListButton):
+ (WebCore::RenderThemeMac::paintSliderTrack):
+ (WebCore::RenderThemeMac::paintSliderThumb):
+ (WebCore::RenderThemeMac::paintSearchField):
+ (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
+ (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
+ (WebCore::RenderThemeMac::paintMediaSliderTrack):
+ (WebCore::RenderThemeMac::paintMediaCurrentTime):
+ (WebCore::RenderThemeMac::paintMediaTimeRemaining):
+ * rendering/mathml/RenderMathMLBlock.cpp:
+ (WebCore::RenderMathMLBlock::paint):
+ * rendering/mathml/RenderMathMLFraction.cpp:
+ (WebCore::RenderMathMLFraction::paint):
+ * rendering/mathml/RenderMathMLRoot.cpp:
+ (WebCore::RenderMathMLRoot::paint):
+ * rendering/mathml/RenderMathMLSquareRoot.cpp:
+ (WebCore::RenderMathMLSquareRoot::paint):
+ * rendering/svg/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::paint):
+ * rendering/svg/RenderSVGForeignObject.cpp:
+ (WebCore::RenderSVGForeignObject::paint):
+ * rendering/svg/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::paint):
+ * rendering/svg/RenderSVGPath.cpp:
+ (WebCore::RenderSVGPath::fillAndStrokePath):
+ (WebCore::RenderSVGPath::paint):
+ * rendering/svg/RenderSVGResourceClipper.cpp:
+ (WebCore::RenderSVGResourceClipper::applyClippingToContext):
+ * rendering/svg/RenderSVGResourceMarker.cpp:
+ (WebCore::RenderSVGResourceMarker::draw):
+ * rendering/svg/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::paint):
+ * rendering/svg/SVGInlineFlowBox.cpp:
+ (WebCore::SVGInlineFlowBox::paint):
+ * rendering/svg/SVGInlineTextBox.cpp:
+ (WebCore::SVGInlineTextBox::paintSelectionBackground):
+ (WebCore::SVGInlineTextBox::paint):
+ (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
+ * rendering/svg/SVGRootInlineBox.cpp:
+ (WebCore::SVGRootInlineBox::paint):
+ * svg/SVGFont.cpp:
+ (WebCore::Font::drawTextUsingSVGFont):
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::draw):
+
+2011-04-20 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [Extensions API] console API is not exposed to code evaluated by sidebar.setExpression()
+ https://bugs.webkit.org/show_bug.cgi?id=59006
+
+ * inspector/front-end/ExtensionPanel.js:
+ (WebInspector.ExtensionSidebarPane.prototype.setExpression):
+
+2011-04-21 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ Split SVGGlyphIdentifier class out of SVGGlyphElement.h
+ https://bugs.webkit.org/show_bug.cgi?id=59101
+
+ Move SVGGlyphIdentifier class out of SVGGlyphElement.h, place it in platform/graphics/SVGGlyph.h
+ and rename the contained struct to SVGGlyph. It will be used in follow-up patches that will integrate SVGGlyph & GlyphPage.
+
+ Several utility functions are moved from SVGFont.cpp to SVGGlyph.cpp, as that's the place where they really belong to.
+ Renamed nameLength to unicodeStringLength in the SVGGlyph struct for clarity.
+
+ * Android.mk: Add SVGGlyph.cpp/h to build.
+ * CMakeLists.txt: Ditto.
+ * GNUmakefile.list.am: Ditto.
+ * WebCore.gypi: Ditto.
+ * WebCore.pro: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * platform/graphics/SVGGlyph.cpp: Copied from svg/SVGFont.cpp. Removed everything except the methods listed below, that belong here.
+ (WebCore::processArabicFormDetection):
+ (WebCore::charactersWithArabicForm):
+ (WebCore::isCompatibleArabicForm):
+ (WebCore::isCompatibleGlyph):
+ * platform/graphics/SVGGlyph.h: Copied from svg/SVGGlyphElement.h. Renamed SVGGlyphIdentifier to SVGGlyph.
+ (WebCore::SVGGlyph::SVGGlyph):
+ (WebCore::SVGGlyph::operator==):
+ * platform/graphics/SimpleFontData.cpp: Adapt for SVGGlyphIdentifier -> SVGGlyph and nameLength -> unicodeStringLength rename.
+ (WebCore::SimpleFontData::SimpleFontData):
+ * svg/SVGFont.cpp: Ditto. Remove helper functions that are now living in SVGGlyph.cpp
+ (WebCore::SVGTextRunWalker::walk):
+ (WebCore::floatWidthUsingSVGFontCallback):
+ (WebCore::drawTextUsingSVGFontCallback):
+ (WebCore::drawTextMissingGlyphCallback):
+ (WebCore::Font::drawTextUsingSVGFont):
+ * svg/SVGFontElement.cpp: Ditto.
+ (WebCore::SVGFontElement::getGlyphIdentifiersForString):
+ * svg/SVGFontElement.h: Ditto.
+ * svg/SVGGlyphElement.cpp: Ditto.
+ (WebCore::parseArabicForm):
+ (WebCore::parseOrientation):
+ (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes):
+ (WebCore::parseSVGGlyphAttribute):
+ (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier):
+ (WebCore::SVGGlyphElement::buildGlyphIdentifier):
+ * svg/SVGGlyphElement.h: Ditto.
+ * svg/SVGGlyphMap.h: Ditto.
+ (WebCore::SVGGlyphMap::add):
+ (WebCore::SVGGlyphMap::compareGlyphPriority):
+ (WebCore::SVGGlyphMap::get):
+
+2011-04-21 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Live streams won't play with AVFoundation backend
+ https://bugs.webkit.org/show_bug.cgi?id=58961
+ rdar://problem/9284748
+
+ Tested manually because we don't have any live streams to test in DRT.
+
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
+ (WebCore::MediaPlayerPrivateAVFoundation::seek): Do nothing when asked to seek to the
+ current time.
+ (WebCore::MediaPlayerPrivateAVFoundation::updateStates): If the readyState is HaveEnoughData,
+ don't revert when the new state is "ready to play" or "buffer full".
+ (WebCore::MediaPlayerPrivateAVFoundation::movieLoadType): Use new convenience function isLiveStream.
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
+ (WebCore::MediaPlayerPrivateAVFoundation::isLiveStream): New.
+
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Don't use AVAsset's
+ tracksWithMediaCharacteristic because it doesn't give us what we need with live
+ streams.
+
+2011-04-21 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: Cookies section in empty on page re-launch.
+ https://bugs.webkit.org/show_bug.cgi?id=59095
+
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype._reset):
+ (WebInspector.ResourcesPanel.prototype._frameNavigated):
+
+2011-04-21 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: rename De-obfuscate to Pretty print.
+ https://bugs.webkit.org/show_bug.cgi?id=59093
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._populateTextAreaContextMenu):
+
+2011-04-21 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: following Image URL link in the network panel does nothing.
+ https://bugs.webkit.org/show_bug.cgi?id=59092
+
+ * inspector/front-end/ImageView.js:
+ (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
+ (WebInspector.ImageView.prototype._createContentIfNeeded):
+ * inspector/front-end/inspector.js:
+ (WebInspector.linkifyURLAsNode):
+
+2011-04-21 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: implement Go To Line for network panel.
+ https://bugs.webkit.org/show_bug.cgi?id=59090
+
+ * inspector/front-end/GoToLineDialog.js:
+ (WebInspector.GoToLineDialog.prototype._highlightSelectedLine):
+ * inspector/front-end/NetworkItemView.js:
+ (WebInspector.NetworkItemView.prototype._tabSelected):
+ (WebInspector.NetworkItemView.prototype._installHighlightSupport):
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkPanel):
+ * inspector/front-end/TabbedPane.js:
+ (WebInspector.TabbedPane.prototype.appendTab):
+ (WebInspector.TabbedPane.prototype.selectTab):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer.prototype.highlightLine):
+
+2011-04-21 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ Split GlyphPage from GlyphPageTreeNode.h into its own header
+ https://bugs.webkit.org/show_bug.cgi?id=59096
+
+ * GNUmakefile.list.am: Add GlyphPage.h to build.
+ * WebCore.gypi: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * platform/graphics/GlyphPage.h: Copied from platform/graphics/GlyphPageTreeNode.h. Removed GlyphPageTreeNode class, leaving only GlyphPage.
+ * platform/graphics/GlyphPageTreeNode.h: Removed GlyphPage class.
+
+2011-04-21 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ Centralize typedef unsigned short Glyph in Glyph.h
+ https://bugs.webkit.org/show_bug.cgi?id=59087
+
+ * GNUmakefile.list.am: Add Glyph.h to build.
+ * WebCore.gypi: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * platform/graphics/Glyph.h: Added.
+ * platform/graphics/GlyphBuffer.h: Include Glyph.h instead of duplicating the Glyph typedef.
+ * platform/graphics/GlyphMetricsMap.h: Ditto.
+ * platform/graphics/GlyphPageTreeNode.h: Ditto.
+
+2011-04-21 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: toolbar background is blank on Mac Chromium port.
+ https://bugs.webkit.org/show_bug.cgi?id=59089
+
+ * inspector/front-end/inspector.css:
+ (body.detached.platform-mac-snowleopard:not(.remote) #toolbar):
+
+2011-04-21 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: add support for Go To Line in Resources panel.
+ https://bugs.webkit.org/show_bug.cgi?id=59077
+
+ * inspector/front-end/CallStackSidebarPane.js:
+ (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
+ * inspector/front-end/GoToLineDialog.js:
+ (WebInspector.GoToLineDialog.show):
+ (WebInspector.GoToLineDialog.createShortcut):
+ (WebInspector.GoToLineDialog.prototype._onKeyDown):
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkPanel.prototype.handleShortcut):
+ * inspector/front-end/Panel.js:
+ (WebInspector.Panel):
+ (WebInspector.Panel.prototype._restoreScrollPositions):
+ (WebInspector.Panel.prototype.handleShortcut):
+ (WebInspector.Panel.prototype.registerShortcuts):
+ (WebInspector.Panel.prototype._showGoToLineDialog):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype.handleShortcut):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._registerShortcuts):
+ (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
+ * inspector/front-end/inspector.js:
+ (WebInspector._registerShortcuts):
+ (WebInspector.documentKeyDown):
+
+2011-04-21 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: persist local resource history between inspector / browser launches.
+ https://bugs.webkit.org/show_bug.cgi?id=58993
+
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.prototype._restoreRevisions):
+
+2011-04-20 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Metrics pane editing and visual feedback improvements
+ https://bugs.webkit.org/show_bug.cgi?id=58992
+
+ Added visual feedback when hovering over the box model components of the Metrics pane
+ and handling of the [Page]Up/Down keys when editing the box model values.
+
+ * inspector/DOMNodeHighlighter.cpp:
+ (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
+ * inspector/DOMNodeHighlighter.h:
+ * inspector/Inspector.json:
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::mouseDidMoveOverElement):
+ (WebCore::InspectorDOMAgent::highlight):
+ (WebCore::InspectorDOMAgent::highlightDOMNode):
+ (WebCore::InspectorDOMAgent::highlightFrame):
+ (WebCore::InspectorDOMAgent::drawNodeHighlight):
+ * inspector/InspectorDOMAgent.h:
+ * inspector/front-end/CSSStyleModel.js:
+ (WebInspector.CSSProperty.prototype.setText.callback):
+ (WebInspector.CSSProperty.prototype.setText):
+ (WebInspector.CSSProperty.prototype.setValue):
+ (WebInspector.CSSProperty.prototype.setDisabled.callback):
+ (WebInspector.CSSProperty.prototype.setDisabled):
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.startEditingStyle):
+ (WebInspector.ElementsPanel.prototype.endEditingStyle):
+ (WebInspector.ElementsPanel.prototype._attributesUpdated):
+ * inspector/front-end/MetricsSidebarPane.js:
+ (WebInspector.MetricsSidebarPane):
+ (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
+ (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode.getBoxRectangleElement):
+ (WebInspector.MetricsSidebarPane.prototype._update.createBoxPartElement):
+ (WebInspector.MetricsSidebarPane.prototype._update):
+ (WebInspector.MetricsSidebarPane.prototype.startEditing):
+ (WebInspector.MetricsSidebarPane.prototype._handleKeyDown):
+ (WebInspector.MetricsSidebarPane.prototype.editingEnded):
+ (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
+ (WebInspector.MetricsSidebarPane.prototype._applyUserInput.callback):
+ (WebInspector.MetricsSidebarPane.prototype._applyUserInput):
+ (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane.alteredFloatNumber):
+ (WebInspector.StylesSidebarPane.alteredHexNumber):
+ (WebInspector.StylePropertyTreeElement.prototype):
+ (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
+ * inspector/front-end/inspector.css:
+ (.metrics .hovered > .label):
+ (.metrics .position):
+ (.metrics .margin):
+ (.metrics .margin.hovered):
+ (.metrics .border):
+ (.metrics .border.hovered):
+ (.metrics .padding):
+ (.metrics .padding.hovered):
+ (.metrics .content):
+ (.metrics .content.hovered):
+ * inspector/front-end/inspector.js:
+ (WebInspector.highlightDOMNode):
+
+2011-04-21 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ CSP report-uri is missing
+ https://bugs.webkit.org/show_bug.cgi?id=58639
+
+ Our implementation of report-uri differs from what's currently in the
+ spec. I sent the working group an email explaining why. Generally,
+ we're using normal form encoding instead of JSON and we're sending less
+ information to a wider set of URLs. Specifically, we send the current
+ document's URL as well as the directive that was violated. The spec
+ (currently) tells us to send the raw HTTP headers and the URL that
+ caused the violation, but both of these pieces of data could contain
+ information that's sensitive, so we omit them for now.
+
+ Test: http/tests/security/contentSecurityPolicy/report-uri.html
+
+ * loader/PingLoader.cpp:
+ (WebCore::PingLoader::reportContentSecurityPolicyViolation):
+ * loader/PingLoader.h:
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::CSPDirective::CSPDirective):
+ (WebCore::CSPDirective::text):
+ (WebCore::ContentSecurityPolicy::reportViolation):
+ (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
+ (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
+ (WebCore::ContentSecurityPolicy::allowInlineScript):
+ (WebCore::ContentSecurityPolicy::allowEval):
+ (WebCore::ContentSecurityPolicy::allowScriptFromSource):
+ (WebCore::ContentSecurityPolicy::allowObjectFromSource):
+ (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
+ (WebCore::ContentSecurityPolicy::allowImageFromSource):
+ (WebCore::ContentSecurityPolicy::allowStyleFromSource):
+ (WebCore::ContentSecurityPolicy::allowFontFromSource):
+ (WebCore::ContentSecurityPolicy::allowMediaFromSource):
+ (WebCore::ContentSecurityPolicy::parseReportURI):
+ (WebCore::ContentSecurityPolicy::addDirective):
+ * page/ContentSecurityPolicy.h:
+
+2011-04-21 Jon Lee <jonlee@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ remove unneeded function from graphicscontext3d.cpp (59076)
+ https://bugs.webkit.org/show_bug.cgi?id=59076
+ <rdar://problem/9315681>
+
+ * platform/graphics/GraphicsContext3D.cpp: removing unused function unpackOneRowOfRGBA8ToRGBA8
+
+2011-04-21 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ REGRESSION: Korean encoding alias KSC5601 does not work
+ https://bugs.webkit.org/show_bug.cgi?id=59075
+ <rdar://problem/9303233>
+
+ * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerEncodingNames): Added a
+ KSC5601 alias for KSC_5601, which effectively makes it windows-949.
+
+2011-04-20 Dominic Cooney <dominicc@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ layoutTestController can create and destroy shadow DOM
+ https://bugs.webkit.org/show_bug.cgi?id=59058
+
+ Test: fast/dom/shadow/layout-tests-can-access-shadow.html
+
+ * WebCore.exp.in: Mac DRT needs to see Element::ensure/removeShadowRoot
+
+2011-04-20 Pratik Solanki <psolanki@apple.com>
+
+ Reviewed by Ryosuke Niwa.
+
+ Follow on fix for https://bugs.webkit.org/show_bug.cgi?id=58926
+
+ Fix assertions in Chromium builds.
+
+ * platform/graphics/Image.cpp:
+ (WebCore::Image::drawTiled): Skia and Wx do not have proper implementations of
+ BitmapImage::checkForSolidColor() so we shouldn't assert on those platforms.
+
+2011-04-20 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ Reviewed by Eric Seidel.
+
+ [EFL] Add timeline to mediaControlsEfl.css
+ https://bugs.webkit.org/show_bug.cgi?id=58865
+
+ Add timeline to mediaControlsEfl.css in order to show playing time of media
+ content.
+
+ * css/mediaControlsEfl.css:
+ (audio):
+ (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
+ (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
+ (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
+ (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
+ (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
+ (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
+ (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
+ (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
+ (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
+ (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
+
+2011-04-20 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Create RIAA class for GraphicsContext::save() and restore()
+ https://bugs.webkit.org/show_bug.cgi?id=58807
+
+ Make a stack-based class that can be used to save and restore
+ the graphics state. It has conditional behavior to deal with the many cases
+ where we decide to save/restore based on some runtime condition.
+
+ Change RenderBoxModelObject to use it for now; it can be used more widely
+ once committed.
+
+ * platform/graphics/GraphicsContext.h:
+ (WebCore::GraphicsContextStateSaver::GraphicsContextStateSaver):
+ (WebCore::GraphicsContextStateSaver::~GraphicsContextStateSaver):
+ (WebCore::GraphicsContextStateSaver::saveState):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+ (WebCore::RenderBoxModelObject::paintOneBorderSide):
+ (WebCore::RenderBoxModelObject::paintBorder):
+ (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
+ (WebCore::RenderBoxModelObject::paintBoxShadow):
+
+2011-04-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ CSP frame-src is missing
+ https://bugs.webkit.org/show_bug.cgi?id=58643
+
+ This is a first cut at an implementation of frame-src. There are a
+ couple things that will need to be improved:
+
+ 1) I don't think we're handling in-frame navigation properly. This
+ patch only covers setting the src attribute of the frame, but I
+ think the intent of the spec is to cover navigation as well.
+
+ 2) The console message is printed twice, once when we try to load the
+ frame and again when we attach the frame to the render tree.
+
+ I'll file bugs about these issues (blocking
+ https://bugs.webkit.org/show_bug.cgi?id=53572) once this patch lands.
+
+ Tests: http/tests/security/contentSecurityPolicy/frame-src-allowed.html
+ http/tests/security/contentSecurityPolicy/frame-src-blocked.html
+
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::isURLAllowed):
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
+ (WebCore::ContentSecurityPolicy::addDirective):
+ * page/ContentSecurityPolicy.h:
+
+2011-04-20 Jia Pu <jpu@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ [Mac] Correction panel shows up at incorrect location after webpage is scrolled.
+ https://bugs.webkit.org/show_bug.cgi?id=59052
+ <rdar://problem/9312513>
+
+ Fixed a regression caused by interaction between patch for bug 57353 and patch for bug 55571.
+ See bug webpage for detail.
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::selectionStartHasMarkerFor):
+ * editing/SpellingCorrectionController.cpp:
+ (WebCore::SpellingCorrectionController::windowRectForRange):
+
+2011-04-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ CSP policy violations should log to the console
+ https://bugs.webkit.org/show_bug.cgi?id=58646
+
+ We now log policy violations to the JavaScript console to help
+ developers debug what's going on with their Content-Security-Policy.
+
+ Tests: http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url.html
+ http/tests/security/contentSecurityPolicy/javascript-url-allowed.html
+ http/tests/security/contentSecurityPolicy/javascript-url-blocked.html
+ http/tests/security/contentSecurityPolicy/object-src-none-allowed.html
+ http/tests/security/contentSecurityPolicy/object-src-none-blocked.html
+ http/tests/security/contentSecurityPolicy/script-src-self-blocked-01.html
+ http/tests/security/contentSecurityPolicy/script-src-self-blocked-02.html
+ http/tests/security/contentSecurityPolicy/script-src-self-blocked-03.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::initSecurityContext):
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
+ (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
+ (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
+ (WebCore::ContentSecurityPolicy::allowInlineScript):
+ (WebCore::ContentSecurityPolicy::allowEval):
+ (WebCore::ContentSecurityPolicy::allowScriptFromSource):
+ (WebCore::ContentSecurityPolicy::allowObjectFromSource):
+ (WebCore::ContentSecurityPolicy::allowImageFromSource):
+ (WebCore::ContentSecurityPolicy::allowStyleFromSource):
+ (WebCore::ContentSecurityPolicy::allowFontFromSource):
+ (WebCore::ContentSecurityPolicy::allowMediaFromSource):
+ (WebCore::ContentSecurityPolicy::addDirective):
+ * page/ContentSecurityPolicy.h:
+ (WebCore::ContentSecurityPolicy::create):
+
+2011-04-20 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ <rdar://problem/9095366> With a non-1 page scale, scrolling to reveal selection fails
+ https://bugs.webkit.org/show_bug.cgi?id=59046
+
+ Test: fast/transforms/selection-bounds-in-transformed-view.html
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::repaintUsingContainer): If the repaint container is the RenderView, and
+ it has a composited layer that paints straight to the window, then translate from view coordinates
+ to window coordinates here.
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::mapLocalToContainer): Do not apply our transform if we are the painting root.
+ (WebCore::RenderView::computeRectForRepaint): Ditto. Applying the transform here was compensating
+ for not applying it in RenderObject::repaintUsingContainer(), but for purposes other than repainting,
+ such as computing selection bounds, this function was returning the wrong results.
+
+2011-04-20 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Eric Carlson.
+
+ <rdar://problem/9304956> media/broken-video.html crashes
+
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::nextMediaEngine): Fixed an off-by-one error.
+
+2011-04-20 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Split out isIteratorTarget from bidiNext and bidiFirst
+ https://bugs.webkit.org/show_bug.cgi?id=59033
+
+ This is the first (tiny) step of many. When I tried to
+ make larger changes to this function I broke stuff, so
+ doing this in tiny pieces so we know it's right.
+
+ * rendering/InlineIterator.h:
+ (WebCore::isIteratorTarget):
+ (WebCore::bidiNext):
+ (WebCore::bidiFirstSkippingInlines):
+ (WebCore::bidiFirstNotSkippingInlines):
+
+2011-04-20 Alexey Marinichev <amarinichev@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ Check for null m_context in WebGLLayerChromium and add resetting platform layer's context in the destructor of GraphicsContext3D.
+ https://bugs.webkit.org/show_bug.cgi?id=59045
+
+ Lose context extension test might not catch this bug, more reliable
+ way is forcing the crash of the GPU process, which is done by Chromium
+ browser tests.
+
+ * platform/graphics/chromium/WebGLLayerChromium.cpp:
+ (WebCore::WebGLLayerChromium::updateCompositorResources):
+ (WebCore::WebGLLayerChromium::setContext):
+ * platform/graphics/chromium/WebGLLayerChromium.h:
+
+2011-04-20 Jia Pu <jpu@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ [Mac]Regression: extending word that is already marked misspelled doesn't remove misspelling underline.
+ https://bugs.webkit.org/show_bug.cgi?id=59032
+ <rdar://problem/9312444>
+
+ This fixes a regression introduced in recent refactoring work in Editor. See bug webpage for detail.
+
+ manual test: Source/WebCore/manual-tests/autocorrection/remove-misspelling-marker-after-appending-letter.html
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::insertTextWithoutSendingTextEvent):
+ * manual-tests/autocorrection/remove-misspelling-marker-after-appending-letter.html: Added.
+
+2011-04-20 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ CrashTracer: 301 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityRenderObject::visiblePositionForPoint const + 297
+ https://bugs.webkit.org/show_bug.cgi?id=57405
+
+ The offending line in this crash was a null pointer access in
+ m_renderer->document()->topDocument()->renderer()->view()->frameView();
+ It seems likely that one of those calls was invalid. I could not reproduce and there was no
+ information on reproducible steps, hence the absence of a layout test.
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::topRenderer):
+ (WebCore::AccessibilityRenderObject::topDocument):
+ (WebCore::AccessibilityRenderObject::topDocumentFrameView):
+ (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
+ * accessibility/AccessibilityRenderObject.h:
+
+2011-04-20 Andy Estes <aestes@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ REGRESSION (WK2): Animated GIF stops when navigating forward, back
+ https://bugs.webkit.org/show_bug.cgi?id=59042
+
+ When loading the page from the b/f cache,
+ document()->view()->isOffscreen() returns true in
+ RenderObject::willRenderImage(), so BitmapImage::startAnimation()
+ returns without actually kicking off the animation.
+
+ In WebKit1, the ScrollView is a platform widget, so
+ ScrollView::isOffscreen() calls [NSWindow isVisible]. In WebKit2, the
+ ScrollView isn't a platform widget so it asks the WebCore Widget
+ whether or not it is visible. It always returns false since
+ setParentVisible(false) was called on the old ScrollView before
+ navigating to a new page, but setParentVisible(true) is never called
+ when restoring it from the back/forward cache. This is probably a
+ long-standing bug.
+
+ Fix this by calling setParentVisible(true) when a cached main frame is
+ being restored.
+
+ Test: fast/images/animated-gif-restored-from-bfcache.html
+
+ * history/CachedFrame.cpp:
+ (WebCore::CachedFrameBase::restore): If the cached frame is the main
+ frame, call setParentVisible(true) on the frame's view.
+
+2011-04-20 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Can't scroll page after printing on Yahoo.com and other sites
+ <rdar://problem/9233291>
+ https://bugs.webkit.org/show_bug.cgi?id=59049
+
+ * page/Frame.cpp:
+ (WebCore::Frame::setPrinting): Match Mac WebKit1 code when ending printing,
+ and call forceLayout() instead of forceLayoutForPagination().
+
+2011-04-20 Kenneth Russell <kbr@google.com>
+
+ Reviewed by James Robinson.
+
+ Reduce size of GraphicsContext3D's compiled code
+ https://bugs.webkit.org/show_bug.cgi?id=59029
+
+ Changed format conversion operations to work line-by-line instead
+ of pixel-by-pixel, and passed them as function pointers rather
+ than template parameters. Simplified computation of source
+ increment, since elements per row is now all that is needed.
+
+ These changes reduce the size of GraphicsContext3D.o in release
+ mode on Linux from 299 KB to 53 KB.
+
+ No new tests. Existing layout tests cover these format conversions
+ well, and caught one typo in the restructuring. Also ran WebGL
+ conformance suite and other demos.
+
+ * platform/graphics/GraphicsContext3D.cpp:
+ (WebCore::doUnpackingAndPacking):
+ (WebCore::computeSourceElementsPerRow):
+ (WebCore::doPacking):
+ (WebCore::doFloatingPointPacking):
+ (WebCore::GraphicsContext3D::packPixels):
+
+2011-04-20 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ REGRESSION(r82376): Clicking on a label, associated with a disabled input element changes state of the element.
+ https://bugs.webkit.org/show_bug.cgi?id=59037
+
+ Test: fast/events/simulated-click-disabled.html
+
+ * dom/EventDispatcher.cpp:
+ (WebCore::EventDispatcher::dispatchSimulatedClick): Added check for disabled element.
+
+2011-04-20 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Ryosuke Niwa.
+
+ Split bidiFirst into two functions
+ https://bugs.webkit.org/show_bug.cgi?id=59025
+
+ I don't have a full understanding of the skipInlines case yet
+ (hence it's not as pretty as the non-skipping case), but
+ this is clearly a win, as both functions are much simpler
+ than their combined version.
+
+ Both of these functions still have bad names. However the
+ bidiNext/bidiFirst names date all the way back to revision 1
+ of the WebKit repository. :) So I don't feel too bad keeping
+ them for the moment.
+
+ * rendering/InlineIterator.h:
+ (WebCore::bidiNext):
+ (WebCore::bidiFirstSkippingInlines):
+ (WebCore::bidiFirstNotSkippingInlines):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::simplifiedNormalFlowLayout):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::layoutInlineChildren):
+ (WebCore::RenderBlock::determineStartPosition):
+
+2011-04-20 Jia Pu <jpu@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ [Mac] Like autocorrection, other types of substitution need to respect undo.
+ https://bugs.webkit.org/show_bug.cgi?id=59009
+ <rdar://problem/8601537>
+
+ Similar to autocorrection, we use SpellingCorrectionCommand to carry out other types of text substitution, so that
+ if user undoes the substitution, it will not be applied again. For CreateLinkCommand, we add marker when it's undone
+ so that we won't automatically add link again.
+
+ * editing/CreateLinkCommand.h:
+ (WebCore::CreateLinkCommand::isCreateLinkCommand):
+ * editing/EditCommand.cpp:
+ (WebCore::EditCommand::isCreateLinkCommand):
+ * editing/EditCommand.h:
+ * editing/Editor.cpp:
+ (WebCore::Editor::unappliedEditing):
+ (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
+ * editing/SpellingCorrectionController.cpp:
+ (WebCore::SpellingCorrectionController::respondToAppliedEditing):
+ (WebCore::SpellingCorrectionController::respondToUnappliedEditing):
+ * editing/SpellingCorrectionController.h:
+ (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
+
+2011-04-20 Steve Lacey <sjl@chromium.org>
+
+ Reviewed by Eric Carlson.
+
+ [chromium] Move Chromium media controls into own root element.
+ https://bugs.webkit.org/show_bug.cgi?id=59018
+
+ No new tests as there is no functional change
+
+ * WebCore.gypi:
+ * css/mediaControlsChromium.css:
+ (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
+ * html/shadow/MediaControlRootElementChromium.cpp: Added.
+ Clone of html/shadow/MediaControlRootElement.cpp with all unused code removed.
+ * html/shadow/MediaControlRootElementChromium.h: Added.
+
+2011-04-20 Charlie Lee <chocobo@chromium.org>
+
+ Reviewed by Dirk Schulze.
+
+ LEFilter change doesn't compile on ARM neon targets
+ https://bugs.webkit.org/show_bug.cgi?id=58671
+
+ Build fix for Chromium ARM/NEON platform. Added platform/graphics/filters/arm directory to build system.
+
+ * WebCore.gyp/WebCore.gyp:
+
+2011-04-20 Xiaomei Ji <xji@chromium.org>
+
+ Reviewed by Ryosuke Niwa.
+
+ Continue (3rd) experiment with moving caret by word in visual order.
+ https://bugs.webkit.org/show_bug.cgi?id=58294
+
+ This patch along with r82588 and r83483 implements moving caret by
+ word in visual order.
+
+ The overall algorithm is:
+ 1. First get the InlineBox and offset of the pass-in VisiblePosition.
+ 2. Based on the position (left boundary, middle, right boundary) of the offset and the
+ direction of the movement, look for visually adjacent word breaks.
+ 2.1 If the offset is the minimum offset of the box,
+ return the rightmost word boundary in previous boxes if moving left.
+ return the leftmost word boundary in box and next boxes if moving right.
+ 2.2 Similar for the case when offset is at the maximum offset of the box.
+ 2.3 When offset is inside the box (not at boundaries), first find the previousWordPosition
+ or nextWordPosition based on the directionality of the box. If this word break position
+ is also inside the same box, return it. Otherwise (the nextWordPosition or
+ previousWordPosition is not in the same box or is at the box boundary), collect all the
+ word breaks in the box and search for the one closest to the input "offset" based on
+ box directionality, block directionality, and movement direction. Continue search in
+ adjacent boxes if needed.
+
+ Notes:
+ 1. Word boundaries are collected one box at a time. Only when a boundary that is closest to
+ the input position (in the moving direction) is not available in current box, word
+ boundaries in adjacent box will be collected. So, there is no need to save InlineBox in
+ word boundaries. Instead, the word boundaries are saved as a pair
+ (VisiblePosition, offset) to avoid recomputing VisiblePosition.
+
+ 2. We only collect boundaries of the right kind (i.e. left boundary of a word in LTR block
+ and right boundary of a word in RTL block). And word boundaries are collected using
+ previousWordPosition() and nextWordPosition(). So when box directionality is the same as
+ block directionality, word boundaries are collected from right to left visually in a LTR
+ box, and word boundaries are collected from left to right visually in a RTL box. It is
+ the other way around when box directionality is different from block directionality.
+
+ 3. To find the right kinds of word boundaries, we must move back and forth between words
+ in some situations. For example, if we're moving to the right in a LTR box in LTR block,
+ we cannot simply return nextWordPosition() because it would return the right boundary
+ of a word. Instead, we return nextWordPosition()'s nextWordPosition()'s previousWordPosition().
+
+ 4. When collecting word breaks inside a box, it first computes a start position, then
+ collect the right kind of word breaks until it reaches the end of (or beyond) the box.
+ In the meanwhile, it might need special handling on the rightmost or leftmost position
+ based on the directionality of the box and block. These computations do not consider the
+ box's bidi level.
+
+ * editing/visible_units.cpp:
+ (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
+ (WebCore::collectWordBreaksInBox):
+ (WebCore::previousWordBoundaryInBox):
+ (WebCore::nextWordBoundaryInBox):
+ (WebCore::visuallyLastWordBoundaryInBox):
+ (WebCore::leftWordBoundary):
+ (WebCore::rightWordBoundary):
+ (WebCore::leftWordPosition):
+ (WebCore::rightWordPosition):
+
+2011-04-20 Cris Neckar <cdn@chromium.org>
+
+ Reviewed by Dirk Schulze.
+
+ Return early when the paint rect and the source rect do not overlap as no bytes need to be copied.
+ https://bugs.webkit.org/show_bug.cgi?id=57885
+
+ Test: svg/filters/svg-transform-blur-crash.xhtml
+
+ * platform/graphics/filters/FilterEffect.cpp:
+ (WebCore::FilterEffect::copyImageBytes):
+
+2011-04-20 Jian Li <jianli@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ Support DataView in workers
+ https://bugs.webkit.org/show_bug.cgi?id=59014
+
+ Test: fast/canvas/webgl/worker-data-view-test.html
+
+ * workers/WorkerContext.idl: Expose DataView constructor.
+
+2011-04-20 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Adam Roben.
+
+ REGRESSION (WebKit2): CSS animations on pages that use accelerated compositing stop after switching tabs
+ https://bugs.webkit.org/show_bug.cgi?id=57868
+
+ Running CACFAnimations aren't remembered when layer tree is unparented and
+ then reparented. Added a new ensureAnimationsSubmitted function to
+ PlatformCALayer to traverse the tree and resubmit animations, setting the
+ beginTime to the original start time of the animation. This is called in WK2
+ when layer tree is newly parented.
+
+ I also consolidated currentTimeToMediaTime into PlatformCALayer so it can be shared
+ between PlatformCALayer and GraphicsLayerCA.
+
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ * platform/graphics/ca/PlatformCAAnimation.h:
+ Remember actual animation start time in CACFAnimation beginTime property
+ * platform/graphics/ca/PlatformCALayer.h:
+ New ensureAnimationsSubmitted function which traverses layers and resubmits all animations
+ * platform/graphics/ca/mac/PlatformCALayerMac.mm:
+ * platform/graphics/ca/win/PlatformCALayerWin.cpp:
+
+2011-04-20 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Adopt QTKit API for listing and deleting file in its media cache.
+ <rdar://problem/9130029>
+ https://bugs.webkit.org/show_bug.cgi?id=58795
+
+ Not possible to test automatically, verified manually.
+
+ * WebCore.exp.in: Export new media download cache functions.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Register cache management functions.
+ (WebCore::MediaPlayerPrivateQTKit::getSitesInMediaCache): New, return cache origins.
+ (WebCore::MediaPlayerPrivateQTKit::clearMediaCache): New, empty the media cache.
+ (WebCore::MediaPlayerPrivateQTKit::clearMediaCacheForSite): New, delete files in the media
+ cache for one origin.
+
+ * platform/mac/WebCoreSystemInterface.h: Add new WKSI functions.
+ * platform/mac/WebCoreSystemInterface.mm: Ditto.
+
+2011-04-20 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ SVG feDropShadow implementation of SVG Filters 1.2
+ https://bugs.webkit.org/show_bug.cgi?id=52513
+
+ Support different radii for horizontal and vertical blurring in ShadowBlur. This is a preperation for feDropShadow.
+ feDropShadow is a new shorthand filter effect for the up-comming Filter 1.0 specification and will use ShadowBlur.
+ feGaussianBlur might make use of ShadowBlur as well later (on SourceAlpha input).
+ Added ShadowBlur to remaining platforms.
+
+ The changes can't be tested before the changes in feGaussianBlur or feDropShadow. Current behavior is not affected.
+
+ * Android.mk:
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * WebCore.pro:
+ * platform/graphics/FloatSize.h:
+ (WebCore::FloatSize::scale):
+ * platform/graphics/ShadowBlur.cpp:
+ (WebCore::ScratchBuffer::ScratchBuffer):
+ (WebCore::ScratchBuffer::setLastShadowValues):
+ (WebCore::ScratchBuffer::setLastInsetShadowValues):
+ (WebCore::ScratchBuffer::matchesLastShadow):
+ (WebCore::ScratchBuffer::matchesLastInsetShadow):
+ (WebCore::ScratchBuffer::clearScratchBuffer):
+ (WebCore::ShadowBlur::ShadowBlur):
+ (WebCore::calculateLobes):
+ (WebCore::ShadowBlur::blurLayerImage):
+ (WebCore::ShadowBlur::adjustBlurRadius):
+ (WebCore::ShadowBlur::calculateLayerBoundingRect):
+ (WebCore::computeSliceSizesFromRadii):
+ (WebCore::ShadowBlur::templateSize):
+ (WebCore::ShadowBlur::drawInsetShadowWithTiling):
+ (WebCore::ShadowBlur::drawRectShadowWithTiling):
+ (WebCore::ShadowBlur::drawLayerPieces):
+ * platform/graphics/ShadowBlur.h:
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::fillRect):
+ (WebCore::GraphicsContext::fillRoundedRect):
+ (WebCore::GraphicsContext::fillRectWithRoundedHole):
+
+2011-04-19 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Bug 52963 - Enable O(1) access to root from any node in shadow DOM subtree
+ https://bugs.webkit.org/show_bug.cgi?id=52963
+
+ .) Change base class of ShadowRoot from DocumentFragment to TreeScope.
+ .) Re-enable tree scope handling in Node (had ASSERT_NOT_REACHED, etc.).
+ .) Merged setTreeScope() with setTreeScopeRecursively()
+ .) Call setTreeScopeRecursively in DOM manipulation functions where applicable.
+ .) Adapt JavaScript Node wrappers (temporary code - see https://bugs.webkit.org/show_bug.cgi?id=58704).
+
+ No new tests. (refactoring)
+
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::createWrapperInline):
+ * bindings/v8/custom/V8NodeCustom.cpp:
+ (WebCore::toV8Slow):
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::takeAllChildrenFrom):
+ (WebCore::ContainerNode::removeBetween):
+ (WebCore::ContainerNode::removeChildren):
+ (WebCore::ContainerNode::parserAddChild):
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ (WebCore::Document::~Document):
+ (WebCore::Document::setDocType):
+ * dom/Element.h:
+ * dom/Node.cpp:
+ (WebCore::Node::treeScope):
+ (WebCore::Node::setTreeScopeRecursively):
+ * dom/Node.h:
+ (WebCore::Node::document):
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::ShadowRoot):
+ (WebCore::ShadowRoot::~ShadowRoot):
+ (WebCore::ShadowRoot::nodeType):
+ (WebCore::ShadowRoot::cloneNode):
+ (WebCore::ShadowRoot::childTypeAllowed):
+ * dom/ShadowRoot.h:
+ (WebCore::toShadowRoot):
+ * dom/TreeScope.cpp:
+ (WebCore::TreeScope::TreeScope):
+ (WebCore::TreeScope::setParentTreeScope):
+ * dom/TreeScope.h:
+ * rendering/RenderSlider.cpp:
+
+2011-04-20 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Update front-end files list in WebCore.vcproj
+ https://bugs.webkit.org/show_bug.cgi?id=58896
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2011-04-20 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Qt build fix after r84380.
+
+ * css/CSSPrimitiveValueMappings.h: Moved EBorderCollapse-related casts from under ENABLE(SVG) guard.
+
+2011-04-20 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Build libWebCore with the gtk sources too
+ https://bugs.webkit.org/show_bug.cgi?id=58968
+
+ In some cases webcore files are compiled twice, so it improves the
+ build time.
+
+ * GNUmakefile.am: Add webcore gtk sources to libWebCore sources.
+
+2011-04-20 Luke Macpherson <macpherson@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Allow casting between CSSPrimitiveValue and EBorderCollapse to remove special-case logic from CSSStyleSelector.
+ https://bugs.webkit.org/show_bug.cgi?id=58964
+
+ No new tests as no new functionality added.
+
+ * css/CSSPrimitiveValueMappings.h:
+ Support casting to/from EBorderCollapse.
+ * css/CSSStyleSelector.cpp:
+ Use new casting ability to simplify code.
+ * rendering/style/RenderStyle.h:
+ Use EBorderCollapse instead of a bool for representing border collapse member variable.
+ * rendering/style/RenderStyleConstants.h:
+ Added EBorderCollapse enum.
+
+2011-04-19 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ Move and rename GLES2Canvas.
+ https://bugs.webkit.org/show_bug.cgi?id=58927
+
+ Move GLES2Canvas to platform/graphcs/gpu, where all the other
+ gpu-related files live, and rename it to GraphicsContextGPU to better
+ reflect its purpose.
+
+ Covered by existing tests.
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/GLES2Canvas.cpp:
+ * platform/graphics/chromium/GLES2Canvas.h:
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::setPlatformShadow):
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ * platform/graphics/skia/ImageSkia.cpp:
+ (WebCore::drawBitmapGLES2):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
+ * platform/graphics/skia/PlatformContextSkia.h:
+ (WebCore::PlatformContextSkia::gpuCanvas):
+
+2011-04-20 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Clean the style of our cookie methods
+ https://bugs.webkit.org/show_bug.cgi?id=58987
+
+ Got rid of the variables named "u" in favor just converting the url when needed.
+
+ * platform/qt/CookieJarQt.cpp:
+ (WebCore::setCookies): The variable p was unused.
+ The ::toAscii() depends on the default codec, use toLatin1() instead.
+ (WebCore::cookies): foreach() should use const reference.
+ (WebCore::cookieRequestHeaderFieldValue):
+
+2011-04-19 Mihai Parparita <mihaip@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ ScriptController.h is included in too many places
+ https://bugs.webkit.org/show_bug.cgi?id=58963
+
+ Remove ScriptController.h #includes from a bunch of .cpp files where it
+ doesn't appear to be necessary.
+
+ * bindings/js/JSCustomPositionCallback.cpp:
+ * bindings/js/JSCustomPositionErrorCallback.cpp:
+ * bindings/js/JSCustomVoidCallback.cpp:
+ * bindings/js/JSCustomXPathNSResolver.cpp:
+ * bindings/js/JSDOMWindowBase.cpp:
+ * bindings/js/JSDOMWindowShell.cpp:
+ * bindings/js/JSDocumentCustom.cpp:
+ * bindings/js/ScriptDebugServer.cpp:
+ * bindings/v8/NPV8Object.cpp:
+ * bindings/v8/ScriptCachedFrameData.cpp:
+ * bindings/v8/V8DOMWindowShell.cpp:
+ * bindings/v8/V8DOMWrapper.cpp:
+ * bindings/v8/V8IsolatedContext.cpp:
+ * bindings/v8/V8Proxy.cpp:
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ * dom/Node.cpp:
+ * dom/ScriptElement.cpp:
+ * dom/XMLDocumentParser.cpp:
+ * dom/XMLDocumentParserQt.cpp:
+ * html/HTMLEmbedElement.cpp:
+ * html/HTMLObjectElement.cpp:
+ * html/HTMLPlugInElement.cpp:
+ * html/parser/HTMLConstructionSite.cpp:
+ * html/parser/HTMLTreeBuilder.cpp:
+ * inspector/InspectorProfilerAgent.cpp:
+ * loader/icon/IconDatabase.cpp:
+ * page/Chrome.cpp:
+ * page/Navigator.cpp:
+ * page/Page.cpp:
+ * plugins/PluginView.cpp:
+ * plugins/gtk/PluginViewGtk.cpp:
+ * plugins/qt/PluginViewQt.cpp:
+ * plugins/symbian/PluginViewSymbian.cpp:
+ * plugins/win/PluginViewWin.cpp:
+ * svg/SVGDocumentExtensions.cpp:
+ * xml/XMLTreeViewer.cpp:
+
+2011-04-20 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: add Save As to the Resources panel context menu.
+ https://bugs.webkit.org/show_bug.cgi?id=58983
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.FrameResourceTreeElement.prototype.onattach):
+ (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent.save):
+ (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
+ (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.save):
+ (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
+
+2011-04-20 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt] Cleanup includepath adjustment for generated files
+ https://bugs.webkit.org/show_bug.cgi?id=58869
+
+ Build cleanup, no new tests.
+
+ * WebCore.pri: Add the directory of generated files to the include path
+ with absolute path to make it valid in the final build step. Remove
+ unnecessary logic.
+
+2011-04-20 Mariusz Grzegorczyk <mariusz.g@samsung.com>
+
+ Reviewed by Andreas Kling.
+
+ [EFL] Initializing m_window member field in PluginView.cpp for efl port
+ https://bugs.webkit.org/show_bug.cgi?id=58311
+
+ No new tests needed: only initializing class member.
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::PluginView):
+
+2011-04-20 Pavel Feldman <pfeldman@google.com>
+
+ Not reviewed: fix Leopard compile.
+
+ * inspector/InspectorFrontendClient.h:
+ * inspector/InspectorFrontendClientLocal.h:
+ (WebCore::InspectorFrontendClientLocal::saveAs):
+
+2011-04-20 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: add saveAs into the InspectorFrontendHost binding.
+ https://bugs.webkit.org/show_bug.cgi?id=58979
+
+ * English.lproj/localizedStrings.js:
+ * inspector/InspectorFrontendClient.h:
+ (WebCore::InspectorFrontendClient::saveAs):
+ (WebCore::InspectorFrontendClient::saveSessionSetting):
+ (WebCore::InspectorFrontendClient::loadSessionSetting):
+ * inspector/InspectorFrontendHost.cpp:
+ (WebCore::InspectorFrontendHost::saveAs):
+ * inspector/InspectorFrontendHost.h:
+ * inspector/InspectorFrontendHost.idl:
+ * inspector/front-end/InspectorFrontendHostStub.js:
+ (.WebInspector.InspectorFrontendHostStub.prototype.saveAs.fr.onload):
+ (.WebInspector.InspectorFrontendHostStub.prototype.saveAs):
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkPanel.prototype._contextMenu):
+ (WebInspector.NetworkPanel.prototype._copyAll):
+ (WebInspector.NetworkPanel.prototype._copyResource):
+ (WebInspector.NetworkPanel.prototype._exportAll):
+ (WebInspector.NetworkPanel.prototype._exportResource):
+ * inspector/front-end/Settings.js:
+ * inspector/front-end/utilities.js:
+ ():
+
+2011-04-20 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Tony Gentilcore.
+
+ Error event in <script> element shouldn't bubble
+ https://bugs.webkit.org/show_bug.cgi?id=51040
+
+ Test: svg/dom/SVGScriptElement/script-onerror-bubbling.svg
+
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElement::dispatchErrorEvent): the method now has same implementation for all script
+ elements, script load error event doesn' bubble.
+ * dom/ScriptElement.h:
+ * html/HTMLScriptElement.cpp:
+ * html/HTMLScriptElement.h:
+ * html/parser/HTMLScriptRunner.cpp:
+ (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
+ * svg/SVGScriptElement.cpp:
+ (WebCore::SVGScriptElement::parseMappedAttribute): SVG script element now supports onerror
+ hanlder which behaves the same way as onerror in HTML script element: it's invoked when
+ script loading fails and the event doesn't bubble.
+ * svg/SVGScriptElement.h:
+
+2011-04-20 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: minor protocol cleanups (refined types).
+ https://bugs.webkit.org/show_bug.cgi?id=58970
+
+ * inspector/InjectedScriptSource.js:
+ * inspector/Inspector.json:
+
+2011-04-20 Leo Yang <leo.yang@torchmobile.com.cn>
+
+ Reviewed by Eric Seidel.
+
+ Leaks beneath RenderSVGShadowTreeRootContainer::updateFromElement seen on SnowLeopard Intel Leaks
+ https://bugs.webkit.org/show_bug.cgi?id=56672
+
+ ~RenderSVGShadowTreeRootContainer() cleared shadow host only if
+ the shadow root is attached. This is wrong because it will
+ leak shadow root when the root is not attached. For example, it
+ leaks shadow root of <use> element which is pending on resource.
+
+ This patch is clearing shadow host if m_shadowRoot is valid to
+ prevent leaking.
+
+ Fixing leaking, no new tests.
+
+ * rendering/svg/RenderSVGShadowTreeRootContainer.cpp:
+ (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
+
+2011-04-19 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ Reproducible crash two-finger zooming at multiple sites in WebCore::RenderLayer::isTransparent
+ https://bugs.webkit.org/show_bug.cgi?id=58868
+
+ I could not figure out how to make a test.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintLayer): Check for existence of a
+ parent before calling a method on it.
+
+2011-04-20 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ Reviewed by Daniel Bates.
+
+ [EFL] Add current time to media control panel.
+ https://bugs.webkit.org/show_bug.cgi?id=58866
+
+ Implement paintMediaCurrentTime() to show playing time of media content.
+
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore::RenderThemeEfl::RenderThemeEfl):
+ (WebCore::RenderThemeEfl::formatMediaControlsCurrentTime):
+ (WebCore::RenderThemeEfl::paintMediaCurrentTime):
+ * platform/efl/RenderThemeEfl.h:
+
+2011-04-19 Jungshik Shin <jshin@chromium.org>
+
+ Reviewed by Adam Barth
+
+ Update the list of Unicode blocks to treat as complex scripts
+ per Unicode 6.0. Also, make [U+02E5..U+02E9] (IPA tone marks)
+ go through the complex script code path.
+
+ Test: fast/text/ipa-tone-letters.html
+
+ http://bugs.webkit.org/show_bug.cgi?id=39799
+
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::codePath):
+
+2011-04-19 Pratik Solanki <psolanki@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Follow on fix for https://bugs.webkit.org/show_bug.cgi?id=58926
+
+ Move the assert from Image::drawPattern() to Image::drawTiled() so we don't hit it when
+ trying to paint GeneratedImages.
+
+ * platform/graphics/Image.cpp:
+ (WebCore::Image::drawTiled):
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::Image::drawPattern):
+
+2011-04-19 Simon Fraser <simon.fraser@apple.com>
+
+ Fix 32-bit builds.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::determineBackgroundBleedAvoidance):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+
+2011-04-19 Naoki Takano <takano.naoki@gmail.com>
+
+ Reviewed by Kent Tamura.
+
+ [Chromium]UI polishes and tweaks to Autofill dropdown menu.
+ https://bugs.webkit.org/show_bug.cgi?id=58505
+ http://code.google.com/p/chromium/issues/detail?id=51077
+
+ No new tests. Because this is autofill looking problem in Chromium.
+ Add m_menuType as PopupMenuStyle to change popup style change.
+ Put kLinePaddingHeight at the top and bottom of each line if m_menuType is AutofillPopup.
+ Change separator color to #dcdcdc and remove sparatorPadding at the edge if m_menuType is AutofillPopup.
+ Change the line height of separator as only the piece if m_menuType is AutofillPopup.
+ Change the label font size 0.9 time smaller than regular font size if m_menuType is AutofillPopup.
+
+ * platform/PopupMenuStyle.h: Add enum PopupMenuType;
+ (WebCore::PopupMenuStyle::PopupMenuStyle): Add m_menuType.
+ (WebCore::PopupMenuStyle::menuType): Add to change the style according to the return value.
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupListBox::paintRow):Change the separator color to #dcdcdc.
+ Change the edge padding according to menuStyle().
+ (WebCore::PopupListBox::getRowHeight): Add kLineHeightMargin*2 for each line height.
+
+2011-04-19 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ background color of elements with border-radius shows around outer edge of border at corners
+ https://bugs.webkit.org/show_bug.cgi?id=21819
+
+ When drawing a background followed by a border with the same rounded
+ clip, some border color leaks out because of antialiasing.
+
+ Fix this by using two different strategies depending on the colors.
+ If the border is opaque on all sides, we can inset the background by
+ a device pixel. If not, then we have to draw the unclipped background
+ and border into a transparency layer, and then clip that.
+
+ A futher possible solution is mentioned in a comment in
+ determineBackgroundBleedAvoidance() but not yet implemented.
+
+ Also don't try to paint shadows with zero offset, spread and blur.
+
+ Test: fast/backgrounds/background-leakage.html,
+ fast/backgrounds/background-leakage-transforms.html
+
+ * rendering/RenderBoxModelObject.h:
+ Add a BackgroundBleedAvoidance enum with a value for each
+ strategy.
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+ Pass BackgroundBleedAvoidance, bail early if the border rect is empty.
+ If using the transparency layer solution, don't bother to clip
+ to the rounded rect for the background. If the strategy is to
+ shrink the background, do that.
+ (WebCore::BorderEdge::BorderEdge):
+ (WebCore::BorderEdge::obscuresBackgroundEdge):
+ Helper method to determine if this border side will totally
+ obscured by the border edge, allowing us to inset it.
+ (WebCore::RenderBoxModelObject::paintOneBorderSide):
+ Pass BackgroundBleedAvoidance through.
+ (WebCore::RenderBoxModelObject::paintBorderSides):
+ Ditto.
+ (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
+ Ditto.
+ (WebCore::RenderBoxModelObject::paintBorder):
+ Fill BorderEdges using getBorderEdgeInfo now.
+ Don't clip to the rounded border if we are using the
+ transparency layer solution.
+ (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
+ Pass bleedAvoidance through, and use it for double borders.
+ (WebCore::RenderBoxModelObject::getBorderEdgeInfo):
+ Helper to fill in the BorderEdge array.
+ (WebCore::RenderBoxModelObject::borderObscuresBackgroundEdge):
+ Used to determine if we can use the background shrinkage solution.
+ (WebCore::RenderBoxModelObject::paintBoxShadow):
+ Don't paint shadows that should not be visible.
+
+ * rendering/RenderBox.h:
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::paintRootBoxFillLayers):
+ Pass BackgroundBleedNone for the root box.
+
+ (WebCore::RenderBox::determineBackgroundBleedAvoidance):
+ Determine which bleed strategy we can use.
+
+ (WebCore::RenderBox::paintBoxDecorationsWithSize):
+ Based on the bleedAvoidance, make a transparency layer
+ which will be clipped to the rounded border outside edge,
+ and pass bleedAvoidance to the background and border-painting
+ methods.
+ (WebCore::RenderBox::paintMaskImages):
+ Use BackgroundBleedNone.
+ (WebCore::RenderBox::paintFillLayers):
+ (WebCore::RenderBox::paintFillLayer):
+ Pass bleedAvoidance through.
+
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::paintFillLayer):
+ (WebCore::InlineFlowBox::paintBoxDecorations):
+ Pass BackgroundBleedNone. At some point we may want to do the right
+ thing for split inlines.
+
+ * rendering/RenderFieldset.cpp:
+ (WebCore::RenderFieldset::paintBoxDecorations):
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::paintBackgroundsBehindCell):
+ Pass BackgroundBleedNone.
+
+2011-04-19 Yuta Kitamura <yutak@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ WebSocket: Add assertion for SocketStreamError::failingURL.
+ https://bugs.webkit.org/show_bug.cgi?id=58765
+
+ No new tests, because an existing test http/tests/inspector/console-websocket-error.html should cover this.
+
+ * websockets/WebSocketChannel.cpp:
+ (WebCore::WebSocketChannel::didFail): If error.failingURL() is provided, it must be the same as
+ m_handshake.url(). failingURL may be null if SocketStreamHandle has created a SocketStreamError
+ using zero- or one-argument constructor (which is old version but some ports are still using it).
+ In that case, m_handshake.url() is passed to addMessage().
+
+2011-04-19 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Media controls status display should not be hidden for live streams
+ https://bugs.webkit.org/show_bug.cgi?id=58952
+
+ Tested manually because we don't have any live streams to test in DRT.
+
+ * html/shadow/MediaControlElements.cpp:
+ (WebCore::MediaControlStatusDisplayElement::update): Set the status to "Loading" only until
+ there is something to display (readyState exceeds HAVE_METADATA).
+ * html/shadow/MediaControlRootElement.cpp:
+ (WebCore::MediaControlRootElement::loadedMetadata): Don't hide the status display for
+ live streams.
+
+2011-04-19 Julien Chaffraix <jchaffraix@codeaurora.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=45425
+ HTMLLinkElement.disabled does not forward value to the Stylesheet's disabled attribute on setting
+
+ Test: fast/html/htmllink-disable.html
+ Test: fast/dom/HTMLLinkElement/disabled-attribute.html
+
+ Match the HTML5 specification by forwarding the 'disabled' attribute to our stylesheet.
+
+ Based on previous work by Bijan Amirzada <bijana@codeaurora.org>.
+
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::disabled): Return our stylesheet's 'disabled' value or
+ false if we don't have a stylesheet.
+ (WebCore::HTMLLinkElement::setDisabled): Set our stylesheet's 'disabled' value or
+ ignore the call if we don't have a stylesheet.
+ * html/HTMLLinkElement.h:
+ * html/HTMLLinkElement.idl: Remove 'Reflect' as it is not a reflected attribute anymore in HTML5.
+ This matches the way FF4, Opera and IE9 handle the attribute.
+
+2011-04-19 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove calls to deprecatedOffset and deprecatedNode in TypingCommand
+ https://bugs.webkit.org/show_bug.cgi?id=58569
+
+ Removed all calls to deprecatedOffset and deprecatedNode.
+
+ * editing/TypingCommand.cpp:
+ (WebCore::TypingCommand::insertText):
+ (WebCore::TypingCommand::deleteKeyPressed):
+ (WebCore::TypingCommand::forwardDeleteKeyPressed):
+
2011-04-19 Adrienne Walker <enne@google.com>
Reviewed by Kenneth Russell.
@@ -45,37 +16485,6 @@
2011-04-19 Geoffrey Garen <ggaren@apple.com>
- Try to fix v8 build.
-
- * bindings/scripts/CodeGeneratorV8.pm: This is a pretty bad system.
-
-2011-04-19 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Ryosuke Niwa.
-
- REGRESSION(r55762): Highlight color can't be copied in gmail.
- https://bugs.webkit.org/show_bug.cgi?id=58925
- <rdar://problem/9253057>
-
- Test: editing/pasteboard/copy-text-with-backgroundcolor.html
-
- The changes of r55762 uncovered the underlying issue here. The markup fragment
- placed in the pasteboard does not contain the background color style.
- This occurs only if the selection is limited to a single text node, whereas if the
- selection spans across multiple nodes, the style is preserved correctly.
- The fix consists in changing the logic that decides whether we should include the wrapping
- node in the markup. That logic is based on the code in highestAncestorToWrapMarkup which relies
- on isElementPresentational to choose candidates to be the wrapping node.
- I've extended it to accept nodes that have non fully transparent background colors.
-
- * editing/Editor.cpp:
- (WebCore::Editor::hasTransparentBackgroundColor): Now is a static method of the class.
- * editing/Editor.h:
- * editing/markup.cpp:
- (WebCore::isElementPresentational): Modified to use hasTransparentBackgroundColor.
-
-2011-04-19 Geoffrey Garen <ggaren@apple.com>
-
Reviewed by Oliver Hunt.
Removed a use of markDOMObjectWrapper: NodeLists
diff --git a/Source/WebCore/GNUmakefile.am b/Source/WebCore/GNUmakefile.am
index 63575ae..e3588da 100644
--- a/Source/WebCore/GNUmakefile.am
+++ b/Source/WebCore/GNUmakefile.am
@@ -1,5 +1,3 @@
-include $(srcdir)/Source/WebCore/GNUmakefile.list.am
-
SVG_FEATURES :=
HTML_FEATURES :=
@@ -7,9 +5,6 @@
WEBCORE_CSS_VALUE_KEYWORDS := $(WebCore)/css/CSSValueKeywords.in
webcore_cppflags += \
- -I$(srcdir)/Source/ThirdParty/ANGLE/src \
- -I$(srcdir)/Source/ThirdParty/ANGLE/include \
- -I$(srcdir)/Source/ThirdParty/ANGLE/include/GLSLANG \
-I$(srcdir)/Source/WebCore \
-I$(srcdir)/Source/WebCore/accessibility \
-I$(srcdir)/Source/WebCore/bindings \
@@ -45,8 +40,6 @@
-I$(srcdir)/Source/WebCore/platform/audio \
-I$(srcdir)/Source/WebCore/platform/graphics \
-I$(srcdir)/Source/WebCore/platform/graphics/filters \
- -I$(srcdir)/Source/WebCore/platform/graphics/gpu \
- -I$(srcdir)/Source/WebCore/platform/graphics/opengl \
-I$(srcdir)/Source/WebCore/platform/graphics/opentype \
-I$(srcdir)/Source/WebCore/platform/graphics/transforms \
-I$(srcdir)/Source/WebCore/platform/image-decoders \
@@ -56,7 +49,6 @@
-I$(srcdir)/Source/WebCore/platform/image-decoders/jpeg \
-I$(srcdir)/Source/WebCore/platform/image-decoders/webp \
-I$(srcdir)/Source/WebCore/platform/image-decoders/png \
- -I$(srcdir)/Source/WebCore/platform/leveldb \
-I$(srcdir)/Source/WebCore/platform/mock \
-I$(srcdir)/Source/WebCore/platform/network \
-I$(srcdir)/Source/WebCore/platform/sql \
@@ -97,10 +89,3782 @@
-I$(srcdir)/Source/WebCore/platform/gtk \
-I$(srcdir)/Source/WebCore/platform/network/soup
-if !ENABLE_WEBKIT2
-FEATURE_DEFINES += WTF_USE_NATIVE_GTK_MAIN_FRAME_SCROLLBAR=1
-webcore_cppflags += -DWTF_USE_NATIVE_GTK_MAIN_FRAME_SCROLLBAR=1
-endif # END WEBKIT2
+webcore_built_nosources += \
+ DerivedSources/WebCore/tokenizer.cpp
+
+webcore_built_sources += \
+ DerivedSources/WebCore/CSSGrammar.cpp \
+ DerivedSources/WebCore/CSSGrammar.h \
+ DerivedSources/WebCore/CSSPropertyNames.h \
+ DerivedSources/WebCore/CSSPropertyNames.cpp \
+ DerivedSources/WebCore/CSSValueKeywords.h \
+ DerivedSources/WebCore/CSSValueKeywords.cpp \
+ DerivedSources/WebCore/ColorData.cpp \
+ DerivedSources/WebCore/DocTypeStrings.cpp \
+ DerivedSources/WebCore/HashTools.h \
+ DerivedSources/WebCore/HTMLElementFactory.cpp \
+ DerivedSources/WebCore/HTMLElementFactory.h \
+ DerivedSources/WebCore/HTMLEntityTable.cpp \
+ DerivedSources/WebCore/HTMLNames.cpp \
+ DerivedSources/WebCore/HTMLNames.h \
+ DerivedSources/WebCore/InjectedScriptSource.h \
+ DerivedSources/WebCore/InspectorBackendDispatcher.cpp \
+ DerivedSources/WebCore/InspectorBackendDispatcher.h \
+ DerivedSources/WebCore/InspectorFrontend.cpp \
+ DerivedSources/WebCore/InspectorFrontend.h \
+ DerivedSources/WebCore/JSAbstractWorker.cpp \
+ DerivedSources/WebCore/JSAbstractWorker.h \
+ DerivedSources/WebCore/JSArrayBuffer.cpp \
+ DerivedSources/WebCore/JSArrayBuffer.h \
+ DerivedSources/WebCore/JSArrayBufferView.cpp \
+ DerivedSources/WebCore/JSArrayBufferView.h \
+ DerivedSources/WebCore/JSAttr.cpp \
+ DerivedSources/WebCore/JSAttr.h \
+ DerivedSources/WebCore/JSAudioContext.cpp \
+ DerivedSources/WebCore/JSAudioContext.h \
+ DerivedSources/WebCore/JSAudioPannerNode.cpp \
+ DerivedSources/WebCore/JSAudioPannerNode.h \
+ DerivedSources/WebCore/JSBarInfo.cpp \
+ DerivedSources/WebCore/JSBarInfo.h \
+ DerivedSources/WebCore/JSBeforeLoadEvent.cpp \
+ DerivedSources/WebCore/JSBeforeLoadEvent.h \
+ DerivedSources/WebCore/JSBeforeProcessEvent.cpp \
+ DerivedSources/WebCore/JSBeforeProcessEvent.h \
+ DerivedSources/WebCore/JSBlobBuilder.cpp \
+ DerivedSources/WebCore/JSBlobBuilder.h \
+ DerivedSources/WebCore/JSBlob.cpp \
+ DerivedSources/WebCore/JSBlob.h \
+ DerivedSources/WebCore/JSCanvasGradient.cpp \
+ DerivedSources/WebCore/JSCanvasGradient.h \
+ DerivedSources/WebCore/JSCanvasPattern.cpp \
+ DerivedSources/WebCore/JSCanvasPattern.h \
+ DerivedSources/WebCore/JSCanvasRenderingContext2D.cpp \
+ DerivedSources/WebCore/JSCanvasRenderingContext2D.h \
+ DerivedSources/WebCore/JSCanvasRenderingContext.cpp \
+ DerivedSources/WebCore/JSCanvasRenderingContext.h \
+ DerivedSources/WebCore/JSCDATASection.cpp \
+ DerivedSources/WebCore/JSCDATASection.h \
+ DerivedSources/WebCore/JSCharacterData.cpp \
+ DerivedSources/WebCore/JSCharacterData.h \
+ DerivedSources/WebCore/JSClientRect.cpp \
+ DerivedSources/WebCore/JSClientRect.h \
+ DerivedSources/WebCore/JSClientRectList.cpp \
+ DerivedSources/WebCore/JSClientRectList.h \
+ DerivedSources/WebCore/JSClipboard.cpp \
+ DerivedSources/WebCore/JSClipboard.h \
+ DerivedSources/WebCore/JSComment.cpp \
+ DerivedSources/WebCore/JSComment.h \
+ DerivedSources/WebCore/JSCompositionEvent.cpp \
+ DerivedSources/WebCore/JSCompositionEvent.h \
+ DerivedSources/WebCore/JSConsole.cpp \
+ DerivedSources/WebCore/JSConsole.h \
+ DerivedSources/WebCore/JSCoordinates.cpp \
+ DerivedSources/WebCore/JSCoordinates.h \
+ DerivedSources/WebCore/JSCounter.cpp \
+ DerivedSources/WebCore/JSCounter.h \
+ DerivedSources/WebCore/JSCrypto.cpp \
+ DerivedSources/WebCore/JSCrypto.h \
+ DerivedSources/WebCore/JSCSSCharsetRule.cpp \
+ DerivedSources/WebCore/JSCSSCharsetRule.h \
+ DerivedSources/WebCore/JSCSSFontFaceRule.cpp \
+ DerivedSources/WebCore/JSCSSFontFaceRule.h \
+ DerivedSources/WebCore/JSCSSImportRule.cpp \
+ DerivedSources/WebCore/JSCSSImportRule.h \
+ DerivedSources/WebCore/JSCSSMediaRule.cpp \
+ DerivedSources/WebCore/JSCSSMediaRule.h \
+ DerivedSources/WebCore/JSCSSPageRule.cpp \
+ DerivedSources/WebCore/JSCSSPageRule.h \
+ DerivedSources/WebCore/JSCSSPrimitiveValue.cpp \
+ DerivedSources/WebCore/JSCSSPrimitiveValue.h \
+ DerivedSources/WebCore/JSCSSRule.cpp \
+ DerivedSources/WebCore/JSCSSRule.h \
+ DerivedSources/WebCore/JSCSSRuleList.cpp \
+ DerivedSources/WebCore/JSCSSRuleList.h \
+ DerivedSources/WebCore/JSCSSStyleDeclaration.cpp \
+ DerivedSources/WebCore/JSCSSStyleDeclaration.h \
+ DerivedSources/WebCore/JSCSSStyleRule.cpp \
+ DerivedSources/WebCore/JSCSSStyleRule.h \
+ DerivedSources/WebCore/JSCSSStyleSheet.cpp \
+ DerivedSources/WebCore/JSCSSStyleSheet.h \
+ DerivedSources/WebCore/JSCSSValue.cpp \
+ DerivedSources/WebCore/JSCSSValue.h \
+ DerivedSources/WebCore/JSCSSValueList.cpp \
+ DerivedSources/WebCore/JSCSSValueList.h \
+ DerivedSources/WebCore/JSCustomEvent.cpp \
+ DerivedSources/WebCore/JSCustomEvent.h \
+ DerivedSources/WebCore/JSDataGridColumn.cpp \
+ DerivedSources/WebCore/JSDataGridColumn.h \
+ DerivedSources/WebCore/JSDataGridColumnList.cpp \
+ DerivedSources/WebCore/JSDataGridColumnList.h \
+ DerivedSources/WebCore/JSDataView.cpp \
+ DerivedSources/WebCore/JSDataView.h \
+ DerivedSources/WebCore/JSDedicatedWorkerContext.cpp \
+ DerivedSources/WebCore/JSDedicatedWorkerContext.h \
+ DerivedSources/WebCore/JSDeviceMotionEvent.cpp \
+ DerivedSources/WebCore/JSDeviceMotionEvent.h \
+ DerivedSources/WebCore/JSDeviceOrientationEvent.cpp \
+ DerivedSources/WebCore/JSDeviceOrientationEvent.h \
+ DerivedSources/WebCore/JSDocument.cpp \
+ DerivedSources/WebCore/JSDocumentFragment.cpp \
+ DerivedSources/WebCore/JSDocumentFragment.h \
+ DerivedSources/WebCore/JSDocument.h \
+ DerivedSources/WebCore/JSDocumentType.cpp \
+ DerivedSources/WebCore/JSDocumentType.h \
+ DerivedSources/WebCore/JSDOMApplicationCache.h \
+ DerivedSources/WebCore/JSDOMCoreException.cpp \
+ DerivedSources/WebCore/JSDOMCoreException.h \
+ DerivedSources/WebCore/JSDOMFormData.cpp \
+ DerivedSources/WebCore/JSDOMFormData.h \
+ DerivedSources/WebCore/JSDOMImplementation.cpp \
+ DerivedSources/WebCore/JSDOMImplementation.h \
+ DerivedSources/WebCore/JSDOMMimeTypeArray.cpp \
+ DerivedSources/WebCore/JSDOMMimeTypeArray.h \
+ DerivedSources/WebCore/JSDOMMimeType.cpp \
+ DerivedSources/WebCore/JSDOMMimeType.h \
+ DerivedSources/WebCore/JSDOMParser.cpp \
+ DerivedSources/WebCore/JSDOMParser.h \
+ DerivedSources/WebCore/JSDOMPluginArray.cpp \
+ DerivedSources/WebCore/JSDOMPluginArray.h \
+ DerivedSources/WebCore/JSDOMPlugin.cpp \
+ DerivedSources/WebCore/JSDOMPlugin.h \
+ DerivedSources/WebCore/JSDOMSelection.cpp \
+ DerivedSources/WebCore/JSDOMSelection.h \
+ DerivedSources/WebCore/JSDOMSettableTokenList.cpp \
+ DerivedSources/WebCore/JSDOMSettableTokenList.h \
+ DerivedSources/WebCore/JSDOMStringList.cpp \
+ DerivedSources/WebCore/JSDOMStringList.h \
+ DerivedSources/WebCore/JSDOMStringMap.cpp \
+ DerivedSources/WebCore/JSDOMStringMap.h \
+ DerivedSources/WebCore/JSDOMTokenList.cpp \
+ DerivedSources/WebCore/JSDOMTokenList.h \
+ DerivedSources/WebCore/JSDOMURL.cpp \
+ DerivedSources/WebCore/JSDOMURL.h \
+ DerivedSources/WebCore/JSDOMWindow.cpp \
+ DerivedSources/WebCore/JSDOMWindow.h \
+ DerivedSources/WebCore/JSElement.cpp \
+ DerivedSources/WebCore/JSElement.h \
+ DerivedSources/WebCore/JSEntity.cpp \
+ DerivedSources/WebCore/JSEntity.h \
+ DerivedSources/WebCore/JSEntityReference.cpp \
+ DerivedSources/WebCore/JSEntityReference.h \
+ DerivedSources/WebCore/JSErrorEvent.cpp \
+ DerivedSources/WebCore/JSErrorEvent.h \
+ DerivedSources/WebCore/JSEvent.cpp \
+ DerivedSources/WebCore/JSEventException.cpp \
+ DerivedSources/WebCore/JSEventException.h \
+ DerivedSources/WebCore/JSEvent.h \
+ DerivedSources/WebCore/JSEventSource.cpp \
+ DerivedSources/WebCore/JSEventSource.h \
+ DerivedSources/WebCore/JSFile.cpp \
+ DerivedSources/WebCore/JSFileError.cpp \
+ DerivedSources/WebCore/JSFileError.h \
+ DerivedSources/WebCore/JSFile.h \
+ DerivedSources/WebCore/JSFileException.cpp \
+ DerivedSources/WebCore/JSFileException.h \
+ DerivedSources/WebCore/JSFileList.cpp \
+ DerivedSources/WebCore/JSFileList.h \
+ DerivedSources/WebCore/JSFileReader.cpp \
+ DerivedSources/WebCore/JSFileReader.h \
+ DerivedSources/WebCore/JSFileReaderSync.cpp \
+ DerivedSources/WebCore/JSFileReaderSync.h \
+ DerivedSources/WebCore/JSFloat32Array.cpp \
+ DerivedSources/WebCore/JSFloat32Array.h \
+ DerivedSources/WebCore/JSGeolocation.cpp \
+ DerivedSources/WebCore/JSGeolocation.h \
+ DerivedSources/WebCore/JSGeoposition.cpp \
+ DerivedSources/WebCore/JSGeoposition.h \
+ DerivedSources/WebCore/JSHashChangeEvent.cpp \
+ DerivedSources/WebCore/JSHashChangeEvent.h \
+ DerivedSources/WebCore/JSHistory.cpp \
+ DerivedSources/WebCore/JSHistory.h \
+ DerivedSources/WebCore/JSHTMLAllCollection.cpp \
+ DerivedSources/WebCore/JSHTMLAllCollection.h \
+ DerivedSources/WebCore/JSHTMLAnchorElement.cpp \
+ DerivedSources/WebCore/JSHTMLAnchorElement.h \
+ DerivedSources/WebCore/JSHTMLAppletElement.cpp \
+ DerivedSources/WebCore/JSHTMLAppletElement.h \
+ DerivedSources/WebCore/JSHTMLAreaElement.cpp \
+ DerivedSources/WebCore/JSHTMLAreaElement.h \
+ DerivedSources/WebCore/JSHTMLAudioElement.cpp \
+ DerivedSources/WebCore/JSHTMLAudioElement.h \
+ DerivedSources/WebCore/JSHTMLBaseElement.cpp \
+ DerivedSources/WebCore/JSHTMLBaseElement.h \
+ DerivedSources/WebCore/JSHTMLBaseFontElement.cpp \
+ DerivedSources/WebCore/JSHTMLBaseFontElement.h \
+ DerivedSources/WebCore/JSHTMLBlockquoteElement.cpp \
+ DerivedSources/WebCore/JSHTMLBlockquoteElement.h \
+ DerivedSources/WebCore/JSHTMLBodyElement.cpp \
+ DerivedSources/WebCore/JSHTMLBodyElement.h \
+ DerivedSources/WebCore/JSHTMLBRElement.cpp \
+ DerivedSources/WebCore/JSHTMLBRElement.h \
+ DerivedSources/WebCore/JSHTMLButtonElement.cpp \
+ DerivedSources/WebCore/JSHTMLButtonElement.h \
+ DerivedSources/WebCore/JSHTMLCanvasElement.cpp \
+ DerivedSources/WebCore/JSHTMLCanvasElement.h \
+ DerivedSources/WebCore/JSHTMLCollection.cpp \
+ DerivedSources/WebCore/JSHTMLCollection.h \
+ DerivedSources/WebCore/JSHTMLDataGridCellElement.cpp \
+ DerivedSources/WebCore/JSHTMLDataGridCellElement.h \
+ DerivedSources/WebCore/JSHTMLDataGridColElement.cpp \
+ DerivedSources/WebCore/JSHTMLDataGridColElement.h \
+ DerivedSources/WebCore/JSHTMLDataGridElement.cpp \
+ DerivedSources/WebCore/JSHTMLDataGridElement.h \
+ DerivedSources/WebCore/JSHTMLDataGridRowElement.cpp \
+ DerivedSources/WebCore/JSHTMLDataGridRowElement.h \
+ DerivedSources/WebCore/JSHTMLDataListElement.cpp \
+ DerivedSources/WebCore/JSHTMLDataListElement.h \
+ DerivedSources/WebCore/JSHTMLDetailsElement.cpp \
+ DerivedSources/WebCore/JSHTMLDetailsElement.h \
+ DerivedSources/WebCore/JSHTMLDirectoryElement.cpp \
+ DerivedSources/WebCore/JSHTMLDirectoryElement.h \
+ DerivedSources/WebCore/JSHTMLDivElement.cpp \
+ DerivedSources/WebCore/JSHTMLDivElement.h \
+ DerivedSources/WebCore/JSHTMLDListElement.cpp \
+ DerivedSources/WebCore/JSHTMLDListElement.h \
+ DerivedSources/WebCore/JSHTMLDocument.cpp \
+ DerivedSources/WebCore/JSHTMLDocument.h \
+ DerivedSources/WebCore/JSHTMLElement.cpp \
+ DerivedSources/WebCore/JSHTMLElement.h \
+ DerivedSources/WebCore/JSHTMLElementWrapperFactory.cpp \
+ DerivedSources/WebCore/JSHTMLEmbedElement.cpp \
+ DerivedSources/WebCore/JSHTMLEmbedElement.h \
+ DerivedSources/WebCore/JSHTMLFieldSetElement.cpp \
+ DerivedSources/WebCore/JSHTMLFieldSetElement.h \
+ DerivedSources/WebCore/JSHTMLFontElement.cpp \
+ DerivedSources/WebCore/JSHTMLFontElement.h \
+ DerivedSources/WebCore/JSHTMLFormElement.cpp \
+ DerivedSources/WebCore/JSHTMLFormElement.h \
+ DerivedSources/WebCore/JSHTMLFrameElement.cpp \
+ DerivedSources/WebCore/JSHTMLFrameElement.h \
+ DerivedSources/WebCore/JSHTMLFrameSetElement.cpp \
+ DerivedSources/WebCore/JSHTMLFrameSetElement.h \
+ DerivedSources/WebCore/JSHTMLHeadElement.cpp \
+ DerivedSources/WebCore/JSHTMLHeadElement.h \
+ DerivedSources/WebCore/JSHTMLHeadingElement.cpp \
+ DerivedSources/WebCore/JSHTMLHeadingElement.h \
+ DerivedSources/WebCore/JSHTMLHRElement.cpp \
+ DerivedSources/WebCore/JSHTMLHRElement.h \
+ DerivedSources/WebCore/JSHTMLHtmlElement.cpp \
+ DerivedSources/WebCore/JSHTMLHtmlElement.h \
+ DerivedSources/WebCore/JSHTMLIFrameElement.cpp \
+ DerivedSources/WebCore/JSHTMLIFrameElement.h \
+ DerivedSources/WebCore/JSHTMLImageElement.cpp \
+ DerivedSources/WebCore/JSHTMLImageElement.h \
+ DerivedSources/WebCore/JSHTMLInputElement.cpp \
+ DerivedSources/WebCore/JSHTMLInputElement.h \
+ DerivedSources/WebCore/JSHTMLIsIndexElement.cpp \
+ DerivedSources/WebCore/JSHTMLIsIndexElement.h \
+ DerivedSources/WebCore/JSHTMLKeygenElement.cpp \
+ DerivedSources/WebCore/JSHTMLKeygenElement.h \
+ DerivedSources/WebCore/JSHTMLLabelElement.cpp \
+ DerivedSources/WebCore/JSHTMLLabelElement.h \
+ DerivedSources/WebCore/JSHTMLLegendElement.cpp \
+ DerivedSources/WebCore/JSHTMLLegendElement.h \
+ DerivedSources/WebCore/JSHTMLLIElement.cpp \
+ DerivedSources/WebCore/JSHTMLLIElement.h \
+ DerivedSources/WebCore/JSHTMLLinkElement.cpp \
+ DerivedSources/WebCore/JSHTMLLinkElement.h \
+ DerivedSources/WebCore/JSHTMLMapElement.cpp \
+ DerivedSources/WebCore/JSHTMLMapElement.h \
+ DerivedSources/WebCore/JSHTMLMarqueeElement.cpp \
+ DerivedSources/WebCore/JSHTMLMarqueeElement.h \
+ DerivedSources/WebCore/JSHTMLMediaElement.cpp \
+ DerivedSources/WebCore/JSHTMLMediaElement.h \
+ DerivedSources/WebCore/JSHTMLMenuElement.cpp \
+ DerivedSources/WebCore/JSHTMLMenuElement.h \
+ DerivedSources/WebCore/JSHTMLMetaElement.cpp \
+ DerivedSources/WebCore/JSHTMLMetaElement.h \
+ DerivedSources/WebCore/JSHTMLMeterElement.cpp \
+ DerivedSources/WebCore/JSHTMLMeterElement.h \
+ DerivedSources/WebCore/JSHTMLModElement.cpp \
+ DerivedSources/WebCore/JSHTMLModElement.h \
+ DerivedSources/WebCore/JSHTMLObjectElement.cpp \
+ DerivedSources/WebCore/JSHTMLObjectElement.h \
+ DerivedSources/WebCore/JSHTMLOListElement.cpp \
+ DerivedSources/WebCore/JSHTMLOListElement.h \
+ DerivedSources/WebCore/JSHTMLOptGroupElement.cpp \
+ DerivedSources/WebCore/JSHTMLOptGroupElement.h \
+ DerivedSources/WebCore/JSHTMLOptionElement.cpp \
+ DerivedSources/WebCore/JSHTMLOptionElement.h \
+ DerivedSources/WebCore/JSHTMLOptionsCollection.cpp \
+ DerivedSources/WebCore/JSHTMLOptionsCollection.h \
+ DerivedSources/WebCore/JSHTMLOutputElement.cpp \
+ DerivedSources/WebCore/JSHTMLOutputElement.h \
+ DerivedSources/WebCore/JSHTMLParagraphElement.cpp \
+ DerivedSources/WebCore/JSHTMLParagraphElement.h \
+ DerivedSources/WebCore/JSHTMLParamElement.cpp \
+ DerivedSources/WebCore/JSHTMLParamElement.h \
+ DerivedSources/WebCore/JSHTMLPreElement.cpp \
+ DerivedSources/WebCore/JSHTMLPreElement.h \
+ DerivedSources/WebCore/JSHTMLProgressElement.cpp \
+ DerivedSources/WebCore/JSHTMLProgressElement.h \
+ DerivedSources/WebCore/JSHTMLQuoteElement.cpp \
+ DerivedSources/WebCore/JSHTMLQuoteElement.h \
+ DerivedSources/WebCore/JSHTMLScriptElement.cpp \
+ DerivedSources/WebCore/JSHTMLScriptElement.h \
+ DerivedSources/WebCore/JSHTMLSelectElement.cpp \
+ DerivedSources/WebCore/JSHTMLSelectElement.h \
+ DerivedSources/WebCore/JSHTMLSourceElement.cpp \
+ DerivedSources/WebCore/JSHTMLSourceElement.h \
+ DerivedSources/WebCore/JSHTMLStyleElement.cpp \
+ DerivedSources/WebCore/JSHTMLStyleElement.h \
+ DerivedSources/WebCore/JSHTMLTableCaptionElement.cpp \
+ DerivedSources/WebCore/JSHTMLTableCaptionElement.h \
+ DerivedSources/WebCore/JSHTMLTableCellElement.cpp \
+ DerivedSources/WebCore/JSHTMLTableCellElement.h \
+ DerivedSources/WebCore/JSHTMLTableColElement.cpp \
+ DerivedSources/WebCore/JSHTMLTableColElement.h \
+ DerivedSources/WebCore/JSHTMLTableElement.cpp \
+ DerivedSources/WebCore/JSHTMLTableElement.h \
+ DerivedSources/WebCore/JSHTMLTableRowElement.cpp \
+ DerivedSources/WebCore/JSHTMLTableRowElement.h \
+ DerivedSources/WebCore/JSHTMLTableSectionElement.cpp \
+ DerivedSources/WebCore/JSHTMLTableSectionElement.h \
+ DerivedSources/WebCore/JSHTMLTextAreaElement.cpp \
+ DerivedSources/WebCore/JSHTMLTextAreaElement.h \
+ DerivedSources/WebCore/JSHTMLTitleElement.cpp \
+ DerivedSources/WebCore/JSHTMLTitleElement.h \
+ DerivedSources/WebCore/JSHTMLUListElement.cpp \
+ DerivedSources/WebCore/JSHTMLUListElement.h \
+ DerivedSources/WebCore/JSHTMLVideoElement.cpp \
+ DerivedSources/WebCore/JSHTMLVideoElement.h \
+ DerivedSources/WebCore/JSImageData.cpp \
+ DerivedSources/WebCore/JSImageData.h \
+ DerivedSources/WebCore/JSInjectedScriptHost.cpp \
+ DerivedSources/WebCore/JSInjectedScriptHost.h \
+ DerivedSources/WebCore/JSInspectorFrontendHost.cpp \
+ DerivedSources/WebCore/JSInspectorFrontendHost.h \
+ DerivedSources/WebCore/JSInt16Array.cpp \
+ DerivedSources/WebCore/JSInt16Array.h \
+ DerivedSources/WebCore/JSInt32Array.cpp \
+ DerivedSources/WebCore/JSInt32Array.h \
+ DerivedSources/WebCore/JSInt8Array.cpp \
+ DerivedSources/WebCore/JSInt8Array.h \
+ DerivedSources/WebCore/JSJavaScriptCallFrame.cpp \
+ DerivedSources/WebCore/JSJavaScriptCallFrame.h \
+ DerivedSources/WebCore/JSKeyboardEvent.cpp \
+ DerivedSources/WebCore/JSKeyboardEvent.h \
+ DerivedSources/WebCore/JSLocation.cpp \
+ DerivedSources/WebCore/JSLocation.h \
+ DerivedSources/WebCore/JSMediaError.cpp \
+ DerivedSources/WebCore/JSMediaError.h \
+ DerivedSources/WebCore/JSMediaList.cpp \
+ DerivedSources/WebCore/JSMediaList.h \
+ DerivedSources/WebCore/JSMediaQueryList.cpp \
+ DerivedSources/WebCore/JSMediaQueryList.h \
+ DerivedSources/WebCore/JSMemoryInfo.cpp \
+ DerivedSources/WebCore/JSMemoryInfo.h \
+ DerivedSources/WebCore/JSMessageChannel.cpp \
+ DerivedSources/WebCore/JSMessageChannel.h \
+ DerivedSources/WebCore/JSMessageEvent.cpp \
+ DerivedSources/WebCore/JSMessageEvent.h \
+ DerivedSources/WebCore/JSMessagePort.cpp \
+ DerivedSources/WebCore/JSMessagePort.h \
+ DerivedSources/WebCore/JSMouseEvent.cpp \
+ DerivedSources/WebCore/JSMouseEvent.h \
+ DerivedSources/WebCore/JSMutationEvent.cpp \
+ DerivedSources/WebCore/JSMutationEvent.h \
+ DerivedSources/WebCore/JSNamedNodeMap.cpp \
+ DerivedSources/WebCore/JSNamedNodeMap.h \
+ DerivedSources/WebCore/JSNavigator.cpp \
+ DerivedSources/WebCore/JSNavigator.h \
+ DerivedSources/WebCore/JSNode.cpp \
+ DerivedSources/WebCore/JSNodeFilter.cpp \
+ DerivedSources/WebCore/JSNodeFilter.h \
+ DerivedSources/WebCore/JSNode.h \
+ DerivedSources/WebCore/JSNodeIterator.cpp \
+ DerivedSources/WebCore/JSNodeIterator.h \
+ DerivedSources/WebCore/JSNodeList.cpp \
+ DerivedSources/WebCore/JSNodeList.h \
+ DerivedSources/WebCore/JSNotation.cpp \
+ DerivedSources/WebCore/JSNotation.h \
+ DerivedSources/WebCore/JSNotificationCenter.cpp \
+ DerivedSources/WebCore/JSNotificationCenter.h \
+ DerivedSources/WebCore/JSNotification.cpp \
+ DerivedSources/WebCore/JSNotification.h \
+ DerivedSources/WebCore/JSOESStandardDerivatives.cpp \
+ DerivedSources/WebCore/JSOESStandardDerivatives.h \
+ DerivedSources/WebCore/JSOESTextureFloat.cpp \
+ DerivedSources/WebCore/JSOESTextureFloat.h \
+ DerivedSources/WebCore/JSOESVertexArrayObject.cpp \
+ DerivedSources/WebCore/JSOESVertexArrayObject.h \
+ DerivedSources/WebCore/JSOverflowEvent.cpp \
+ DerivedSources/WebCore/JSOverflowEvent.h \
+ DerivedSources/WebCore/JSPageTransitionEvent.cpp \
+ DerivedSources/WebCore/JSPageTransitionEvent.h \
+ DerivedSources/WebCore/JSPerformance.cpp \
+ DerivedSources/WebCore/JSPerformance.h \
+ DerivedSources/WebCore/JSPerformanceNavigation.cpp \
+ DerivedSources/WebCore/JSPerformanceNavigation.h \
+ DerivedSources/WebCore/JSPerformanceTiming.cpp \
+ DerivedSources/WebCore/JSPerformanceTiming.h \
+ DerivedSources/WebCore/JSPopStateEvent.cpp \
+ DerivedSources/WebCore/JSPopStateEvent.h \
+ DerivedSources/WebCore/JSPositionError.cpp \
+ DerivedSources/WebCore/JSPositionError.h \
+ DerivedSources/WebCore/JSProcessingInstruction.cpp \
+ DerivedSources/WebCore/JSProcessingInstruction.h \
+ DerivedSources/WebCore/JSProgressEvent.cpp \
+ DerivedSources/WebCore/JSProgressEvent.h \
+ DerivedSources/WebCore/JSRange.cpp \
+ DerivedSources/WebCore/JSRangeException.cpp \
+ DerivedSources/WebCore/JSRangeException.h \
+ DerivedSources/WebCore/JSRange.h \
+ DerivedSources/WebCore/JSRect.cpp \
+ DerivedSources/WebCore/JSRect.h \
+ DerivedSources/WebCore/JSRGBColor.cpp \
+ DerivedSources/WebCore/JSRGBColor.h \
+ DerivedSources/WebCore/JSScreen.cpp \
+ DerivedSources/WebCore/JSScreen.h \
+ DerivedSources/WebCore/JSScriptProfile.cpp \
+ DerivedSources/WebCore/JSScriptProfile.h \
+ DerivedSources/WebCore/JSScriptProfileNode.cpp \
+ DerivedSources/WebCore/JSScriptProfileNode.h \
+ DerivedSources/WebCore/JSSharedWorkerContext.cpp \
+ DerivedSources/WebCore/JSSharedWorkerContext.h \
+ DerivedSources/WebCore/JSSharedWorker.cpp \
+ DerivedSources/WebCore/JSSharedWorker.h \
+ DerivedSources/WebCore/JSSpeechInputEvent.cpp \
+ DerivedSources/WebCore/JSSpeechInputEvent.h \
+ DerivedSources/WebCore/JSSpeechInputResult.cpp \
+ DerivedSources/WebCore/JSSpeechInputResult.h \
+ DerivedSources/WebCore/JSSpeechInputResultList.cpp \
+ DerivedSources/WebCore/JSSpeechInputResultList.h \
+ DerivedSources/WebCore/JSSQLException.h \
+ DerivedSources/WebCore/JSSQLResultSetRowList.h \
+ DerivedSources/WebCore/JSSQLStatementErrorCallback.cpp \
+ DerivedSources/WebCore/JSSQLTransaction.h \
+ DerivedSources/WebCore/JSSQLTransactionSync.h \
+ DerivedSources/WebCore/JSStorage.h \
+ DerivedSources/WebCore/JSStyleMedia.cpp \
+ DerivedSources/WebCore/JSStyleMedia.h \
+ DerivedSources/WebCore/JSStyleSheet.cpp \
+ DerivedSources/WebCore/JSStyleSheet.h \
+ DerivedSources/WebCore/JSStyleSheetList.cpp \
+ DerivedSources/WebCore/JSStyleSheetList.h \
+ DerivedSources/WebCore/JSSVGElementInstance.h \
+ DerivedSources/WebCore/JSSVGElementWrapperFactory.cpp \
+ DerivedSources/WebCore/JSText.cpp \
+ DerivedSources/WebCore/JSTextEvent.cpp \
+ DerivedSources/WebCore/JSTextEvent.h \
+ DerivedSources/WebCore/JSText.h \
+ DerivedSources/WebCore/JSTextMetrics.cpp \
+ DerivedSources/WebCore/JSTextMetrics.h \
+ DerivedSources/WebCore/JSTimeRanges.cpp \
+ DerivedSources/WebCore/JSTimeRanges.h \
+ DerivedSources/WebCore/JSTouch.cpp \
+ DerivedSources/WebCore/JSTouchEvent.cpp \
+ DerivedSources/WebCore/JSTouchEvent.h \
+ DerivedSources/WebCore/JSTouch.h \
+ DerivedSources/WebCore/JSTouchList.cpp \
+ DerivedSources/WebCore/JSTouchList.h \
+ DerivedSources/WebCore/JSTreeWalker.cpp \
+ DerivedSources/WebCore/JSTreeWalker.h \
+ DerivedSources/WebCore/JSUIEvent.cpp \
+ DerivedSources/WebCore/JSUIEvent.h \
+ DerivedSources/WebCore/JSUint16Array.cpp \
+ DerivedSources/WebCore/JSUint16Array.h \
+ DerivedSources/WebCore/JSUint32Array.cpp \
+ DerivedSources/WebCore/JSUint32Array.h \
+ DerivedSources/WebCore/JSUint8Array.cpp \
+ DerivedSources/WebCore/JSUint8Array.h \
+ DerivedSources/WebCore/JSValidityState.cpp \
+ DerivedSources/WebCore/JSValidityState.h \
+ DerivedSources/WebCore/JSVoidCallback.cpp \
+ DerivedSources/WebCore/JSVoidCallback.h \
+ DerivedSources/WebCore/JSWebGLActiveInfo.cpp \
+ DerivedSources/WebCore/JSWebGLActiveInfo.h \
+ DerivedSources/WebCore/JSWebGLBuffer.cpp \
+ DerivedSources/WebCore/JSWebGLBuffer.h \
+ DerivedSources/WebCore/JSWebGLContextAttributes.cpp \
+ DerivedSources/WebCore/JSWebGLContextAttributes.h \
+ DerivedSources/WebCore/JSWebGLContextEvent.cpp \
+ DerivedSources/WebCore/JSWebGLContextEvent.h \
+ DerivedSources/WebCore/JSWebGLFramebuffer.cpp \
+ DerivedSources/WebCore/JSWebGLFramebuffer.h \
+ DerivedSources/WebCore/JSWebGLProgram.cpp \
+ DerivedSources/WebCore/JSWebGLProgram.h \
+ DerivedSources/WebCore/JSWebGLRenderbuffer.cpp \
+ DerivedSources/WebCore/JSWebGLRenderbuffer.h \
+ DerivedSources/WebCore/JSWebGLRenderingContext.cpp \
+ DerivedSources/WebCore/JSWebGLRenderingContext.h \
+ DerivedSources/WebCore/JSWebGLShader.cpp \
+ DerivedSources/WebCore/JSWebGLShader.h \
+ DerivedSources/WebCore/JSWebGLTexture.cpp \
+ DerivedSources/WebCore/JSWebGLTexture.h \
+ DerivedSources/WebCore/JSWebGLUniformLocation.cpp \
+ DerivedSources/WebCore/JSWebGLUniformLocation.h \
+ DerivedSources/WebCore/JSWebGLVertexArrayObjectOES.cpp \
+ DerivedSources/WebCore/JSWebGLVertexArrayObjectOES.h \
+ DerivedSources/WebCore/JSWebKitAnimationEvent.cpp \
+ DerivedSources/WebCore/JSWebKitAnimationEvent.h \
+ DerivedSources/WebCore/JSWebKitCSSKeyframeRule.cpp \
+ DerivedSources/WebCore/JSWebKitCSSKeyframeRule.h \
+ DerivedSources/WebCore/JSWebKitCSSKeyframesRule.cpp \
+ DerivedSources/WebCore/JSWebKitCSSKeyframesRule.h \
+ DerivedSources/WebCore/JSWebKitCSSMatrix.cpp \
+ DerivedSources/WebCore/JSWebKitCSSMatrix.h \
+ DerivedSources/WebCore/JSWebKitCSSTransformValue.cpp \
+ DerivedSources/WebCore/JSWebKitCSSTransformValue.h \
+ DerivedSources/WebCore/JSWebKitLoseContext.cpp \
+ DerivedSources/WebCore/JSWebKitLoseContext.h \
+ DerivedSources/WebCore/JSWebKitPoint.cpp \
+ DerivedSources/WebCore/JSWebKitPoint.h \
+ DerivedSources/WebCore/JSWebKitTransitionEvent.cpp \
+ DerivedSources/WebCore/JSWebKitTransitionEvent.h \
+ DerivedSources/WebCore/JSWheelEvent.cpp \
+ DerivedSources/WebCore/JSWheelEvent.h \
+ DerivedSources/WebCore/JSWorkerContext.cpp \
+ DerivedSources/WebCore/JSWorkerContext.h \
+ DerivedSources/WebCore/JSWorker.cpp \
+ DerivedSources/WebCore/JSWorker.h \
+ DerivedSources/WebCore/JSWorkerLocation.cpp \
+ DerivedSources/WebCore/JSWorkerLocation.h \
+ DerivedSources/WebCore/JSWorkerNavigator.cpp \
+ DerivedSources/WebCore/JSWorkerNavigator.h \
+ DerivedSources/WebCore/JSXMLHttpRequest.cpp \
+ DerivedSources/WebCore/JSXMLHttpRequestException.cpp \
+ DerivedSources/WebCore/JSXMLHttpRequestException.h \
+ DerivedSources/WebCore/JSXMLHttpRequest.h \
+ DerivedSources/WebCore/JSXMLHttpRequestProgressEvent.cpp \
+ DerivedSources/WebCore/JSXMLHttpRequestProgressEvent.h \
+ DerivedSources/WebCore/JSXMLHttpRequestUpload.cpp \
+ DerivedSources/WebCore/JSXMLHttpRequestUpload.h \
+ DerivedSources/WebCore/JSXMLSerializer.cpp \
+ DerivedSources/WebCore/JSXMLSerializer.h \
+ DerivedSources/WebCore/JSXSLTProcessor.cpp \
+ DerivedSources/WebCore/JSXSLTProcessor.h \
+ DerivedSources/WebCore/MathMLElementFactory.cpp \
+ DerivedSources/WebCore/MathMLElementFactory.h \
+ DerivedSources/WebCore/MathMLNames.cpp \
+ DerivedSources/WebCore/MathMLNames.h \
+ DerivedSources/WebCore/SVGElementFactory.cpp \
+ DerivedSources/WebCore/SVGNames.cpp \
+ DerivedSources/WebCore/UserAgentStyleSheetsData.cpp \
+ DerivedSources/WebCore/UserAgentStyleSheets.h \
+ DerivedSources/WebCore/XLinkNames.cpp \
+ DerivedSources/WebCore/XMLNames.cpp \
+ DerivedSources/WebCore/XMLNames.h \
+ DerivedSources/WebCore/XMLNSNames.cpp \
+ DerivedSources/WebCore/XMLNSNames.h \
+ DerivedSources/WebCore/XMLViewerXSL.h
+
+webcore_sources += \
+ Source/WebCore/accessibility/AccessibilityARIAGridCell.cpp \
+ Source/WebCore/accessibility/AccessibilityARIAGridCell.h \
+ Source/WebCore/accessibility/AccessibilityARIAGrid.cpp \
+ Source/WebCore/accessibility/AccessibilityARIAGrid.h \
+ Source/WebCore/accessibility/AccessibilityARIAGridRow.cpp \
+ Source/WebCore/accessibility/AccessibilityARIAGridRow.h \
+ Source/WebCore/accessibility/AccessibilityImageMapLink.cpp \
+ Source/WebCore/accessibility/AccessibilityImageMapLink.h \
+ Source/WebCore/accessibility/AccessibilityListBox.cpp \
+ Source/WebCore/accessibility/AccessibilityListBox.h \
+ Source/WebCore/accessibility/AccessibilityListBoxOption.cpp \
+ Source/WebCore/accessibility/AccessibilityListBoxOption.h \
+ Source/WebCore/accessibility/AccessibilityList.cpp \
+ Source/WebCore/accessibility/AccessibilityList.h \
+ Source/WebCore/accessibility/AccessibilityMediaControls.cpp \
+ Source/WebCore/accessibility/AccessibilityMediaControls.h \
+ Source/WebCore/accessibility/AccessibilityMenuList.cpp \
+ Source/WebCore/accessibility/AccessibilityMenuList.h \
+ Source/WebCore/accessibility/AccessibilityMenuListOption.cpp \
+ Source/WebCore/accessibility/AccessibilityMenuListOption.h \
+ Source/WebCore/accessibility/AccessibilityMenuListPopup.cpp \
+ Source/WebCore/accessibility/AccessibilityMenuListPopup.h \
+ Source/WebCore/accessibility/AccessibilityObject.cpp \
+ Source/WebCore/accessibility/AccessibilityObject.h \
+ Source/WebCore/accessibility/AccessibilityProgressIndicator.cpp \
+ Source/WebCore/accessibility/AccessibilityProgressIndicator.h \
+ Source/WebCore/accessibility/AccessibilityRenderObject.cpp \
+ Source/WebCore/accessibility/AccessibilityRenderObject.h \
+ Source/WebCore/accessibility/AccessibilityScrollbar.cpp \
+ Source/WebCore/accessibility/AccessibilityScrollbar.h \
+ Source/WebCore/accessibility/AccessibilityScrollView.cpp \
+ Source/WebCore/accessibility/AccessibilityScrollView.h \
+ Source/WebCore/accessibility/AccessibilitySlider.cpp \
+ Source/WebCore/accessibility/AccessibilitySlider.h \
+ Source/WebCore/accessibility/AccessibilityTableCell.cpp \
+ Source/WebCore/accessibility/AccessibilityTableCell.h \
+ Source/WebCore/accessibility/AccessibilityTableColumn.cpp \
+ Source/WebCore/accessibility/AccessibilityTableColumn.h \
+ Source/WebCore/accessibility/AccessibilityTable.cpp \
+ Source/WebCore/accessibility/AccessibilityTable.h \
+ Source/WebCore/accessibility/AccessibilityTableHeaderContainer.cpp \
+ Source/WebCore/accessibility/AccessibilityTableHeaderContainer.h \
+ Source/WebCore/accessibility/AccessibilityTableRow.cpp \
+ Source/WebCore/accessibility/AccessibilityTableRow.h \
+ Source/WebCore/accessibility/AXObjectCache.cpp \
+ Source/WebCore/accessibility/AXObjectCache.h \
+ Source/WebCore/bindings/generic/ActiveDOMCallback.cpp \
+ Source/WebCore/bindings/generic/ActiveDOMCallback.h \
+ Source/WebCore/bindings/generic/BindingSecurityBase.cpp \
+ Source/WebCore/bindings/generic/BindingSecurityBase.h \
+ Source/WebCore/bindings/generic/BindingSecurity.h \
+ Source/WebCore/bindings/generic/GenericBinding.h \
+ Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp \
+ Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h \
+ Source/WebCore/bindings/js/CachedScriptSourceProvider.h \
+ Source/WebCore/bindings/js/DOMObjectHashTableMap.cpp \
+ Source/WebCore/bindings/js/DOMObjectHashTableMap.h \
+ Source/WebCore/bindings/js/DOMWrapperWorld.cpp \
+ Source/WebCore/bindings/js/DOMWrapperWorld.h \
+ Source/WebCore/bindings/js/GCController.cpp \
+ Source/WebCore/bindings/js/GCController.h \
+ Source/WebCore/bindings/js/IDBBindingUtilities.h \
+ Source/WebCore/bindings/js/JSArrayBufferCustom.cpp \
+ Source/WebCore/bindings/js/JSArrayBufferViewHelper.h \
+ Source/WebCore/bindings/js/JSAttrCustom.cpp \
+ Source/WebCore/bindings/js/JSAudioConstructor.cpp \
+ Source/WebCore/bindings/js/JSAudioConstructor.h \
+ Source/WebCore/bindings/js/JSCDATASectionCustom.cpp \
+ Source/WebCore/bindings/js/JSCSSFontFaceRuleCustom.cpp \
+ Source/WebCore/bindings/js/JSCSSImportRuleCustom.cpp \
+ Source/WebCore/bindings/js/JSCSSMediaRuleCustom.cpp \
+ Source/WebCore/bindings/js/JSCSSPageRuleCustom.cpp \
+ Source/WebCore/bindings/js/JSCSSRuleCustom.cpp \
+ Source/WebCore/bindings/js/JSCSSRuleListCustom.cpp \
+ Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp \
+ Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.h \
+ Source/WebCore/bindings/js/JSCSSStyleRuleCustom.cpp \
+ Source/WebCore/bindings/js/JSCSSValueCustom.cpp \
+ Source/WebCore/bindings/js/JSCallbackData.cpp \
+ Source/WebCore/bindings/js/JSCallbackData.h \
+ Source/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp \
+ Source/WebCore/bindings/js/JSCanvasRenderingContextCustom.cpp \
+ Source/WebCore/bindings/js/JSClipboardCustom.cpp \
+ Source/WebCore/bindings/js/JSConsoleCustom.cpp \
+ Source/WebCore/bindings/js/JSCoordinatesCustom.cpp \
+ Source/WebCore/bindings/js/JSCustomPositionCallback.cpp \
+ Source/WebCore/bindings/js/JSCustomPositionCallback.h \
+ Source/WebCore/bindings/js/JSCustomPositionErrorCallback.cpp \
+ Source/WebCore/bindings/js/JSCustomPositionErrorCallback.h \
+ Source/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp \
+ Source/WebCore/bindings/js/JSCustomVoidCallback.cpp \
+ Source/WebCore/bindings/js/JSCustomVoidCallback.h \
+ Source/WebCore/bindings/js/JSCustomXPathNSResolver.cpp \
+ Source/WebCore/bindings/js/JSCustomXPathNSResolver.h \
+ Source/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp \
+ Source/WebCore/bindings/js/JSDOMBinding.cpp \
+ Source/WebCore/bindings/js/JSDOMBinding.h \
+ Source/WebCore/bindings/js/JSDOMFormDataCustom.cpp \
+ Source/WebCore/bindings/js/JSDOMGlobalObject.cpp \
+ Source/WebCore/bindings/js/JSDOMGlobalObject.h \
+ Source/WebCore/bindings/js/JSDOMImplementationCustom.cpp \
+ Source/WebCore/bindings/js/JSDOMMimeTypeArrayCustom.cpp \
+ Source/WebCore/bindings/js/JSDOMPluginArrayCustom.cpp \
+ Source/WebCore/bindings/js/JSDOMPluginCustom.cpp \
+ Source/WebCore/bindings/js/JSDOMStringMapCustom.cpp \
+ Source/WebCore/bindings/js/JSDOMStringMapCustom.h \
+ Source/WebCore/bindings/js/JSDOMWindowBase.cpp \
+ Source/WebCore/bindings/js/JSDOMWindowBase.h \
+ Source/WebCore/bindings/js/JSDOMWindowCustom.cpp \
+ Source/WebCore/bindings/js/JSDOMWindowCustom.h \
+ Source/WebCore/bindings/js/JSDOMWindowShell.cpp \
+ Source/WebCore/bindings/js/JSDOMWindowShell.h \
+ Source/WebCore/bindings/js/JSDOMWrapper.cpp \
+ Source/WebCore/bindings/js/JSDOMWrapper.h \
+ Source/WebCore/bindings/js/JSDataGridColumnListCustom.cpp \
+ Source/WebCore/bindings/js/JSDataGridDataSource.cpp \
+ Source/WebCore/bindings/js/JSDataGridDataSource.h \
+ Source/WebCore/bindings/js/JSDataViewCustom.cpp \
+ Source/WebCore/bindings/js/JSDedicatedWorkerContextCustom.cpp \
+ Source/WebCore/bindings/js/JSDeviceMotionEventCustom.cpp \
+ Source/WebCore/bindings/js/JSDeviceOrientationEventCustom.cpp \
+ Source/WebCore/bindings/js/JSDirectoryEntryCustom.cpp \
+ Source/WebCore/bindings/js/JSDirectoryEntrySyncCustom.cpp \
+ Source/WebCore/bindings/js/JSDocumentCustom.cpp \
+ Source/WebCore/bindings/js/JSElementCustom.cpp \
+ Source/WebCore/bindings/js/JSEntryCustom.cpp \
+ Source/WebCore/bindings/js/JSEntrySyncCustom.cpp \
+ Source/WebCore/bindings/js/JSEventCustom.cpp \
+ Source/WebCore/bindings/js/JSEventListener.cpp \
+ Source/WebCore/bindings/js/JSEventListener.h \
+ Source/WebCore/bindings/js/JSEventSourceCustom.cpp \
+ Source/WebCore/bindings/js/JSEventTarget.cpp \
+ Source/WebCore/bindings/js/JSEventTarget.h \
+ Source/WebCore/bindings/js/JSErrorHandler.cpp \
+ Source/WebCore/bindings/js/JSErrorHandler.h \
+ Source/WebCore/bindings/js/JSExceptionBase.cpp \
+ Source/WebCore/bindings/js/JSExceptionBase.h \
+ Source/WebCore/bindings/js/JSFileReaderCustom.cpp \
+ Source/WebCore/bindings/js/JSFloat32ArrayCustom.cpp \
+ Source/WebCore/bindings/js/JSGeolocationCustom.cpp \
+ Source/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp \
+ Source/WebCore/bindings/js/JSHTMLAppletElementCustom.cpp \
+ Source/WebCore/bindings/js/JSHTMLAppletElementCustom.h \
+ Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp \
+ Source/WebCore/bindings/js/JSHTMLCollectionCustom.cpp \
+ Source/WebCore/bindings/js/JSHTMLDataGridElementCustom.cpp \
+ Source/WebCore/bindings/js/JSHTMLDocumentCustom.cpp \
+ Source/WebCore/bindings/js/JSHTMLElementCustom.cpp \
+ Source/WebCore/bindings/js/JSHTMLEmbedElementCustom.cpp \
+ Source/WebCore/bindings/js/JSHTMLEmbedElementCustom.h \
+ Source/WebCore/bindings/js/JSHTMLFormElementCustom.cpp \
+ Source/WebCore/bindings/js/JSHTMLFrameElementCustom.cpp \
+ Source/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp \
+ Source/WebCore/bindings/js/JSHTMLInputElementCustom.cpp \
+ Source/WebCore/bindings/js/JSHTMLInputElementCustom.h \
+ Source/WebCore/bindings/js/JSHTMLLinkElementCustom.cpp \
+ Source/WebCore/bindings/js/JSHTMLObjectElementCustom.cpp \
+ Source/WebCore/bindings/js/JSHTMLObjectElementCustom.h \
+ Source/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp \
+ Source/WebCore/bindings/js/JSHTMLOutputElementCustom.cpp \
+ Source/WebCore/bindings/js/JSHTMLSelectElementCustom.cpp \
+ Source/WebCore/bindings/js/JSHTMLSelectElementCustom.h \
+ Source/WebCore/bindings/js/JSHTMLStyleElementCustom.cpp \
+ Source/WebCore/bindings/js/JSHistoryCustom.cpp \
+ Source/WebCore/bindings/js/JSHistoryCustom.h \
+ Source/WebCore/bindings/js/JSImageConstructor.cpp \
+ Source/WebCore/bindings/js/JSImageConstructor.h \
+ Source/WebCore/bindings/js/JSImageDataCustom.cpp \
+ Source/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp \
+ Source/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp \
+ Source/WebCore/bindings/js/JSInt16ArrayCustom.cpp \
+ Source/WebCore/bindings/js/JSInt32ArrayCustom.cpp \
+ Source/WebCore/bindings/js/JSInt8ArrayCustom.cpp \
+ Source/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp \
+ Source/WebCore/bindings/js/JSLazyEventListener.cpp \
+ Source/WebCore/bindings/js/JSLazyEventListener.h \
+ Source/WebCore/bindings/js/JSLocationCustom.cpp \
+ Source/WebCore/bindings/js/JSLocationCustom.h \
+ Source/WebCore/bindings/js/JSMainThreadExecState.cpp \
+ Source/WebCore/bindings/js/JSMainThreadExecState.h \
+ Source/WebCore/bindings/js/JSMemoryInfoCustom.cpp \
+ Source/WebCore/bindings/js/JSMessageChannelCustom.cpp \
+ Source/WebCore/bindings/js/JSMessageEventCustom.cpp \
+ Source/WebCore/bindings/js/JSMessagePortCustom.cpp \
+ Source/WebCore/bindings/js/JSMessagePortCustom.h \
+ Source/WebCore/bindings/js/JSNamedNodeMapCustom.cpp \
+ Source/WebCore/bindings/js/JSNavigatorCustom.cpp \
+ Source/WebCore/bindings/js/JSNodeCustom.cpp \
+ Source/WebCore/bindings/js/JSNodeCustom.h \
+ Source/WebCore/bindings/js/JSNodeFilterCondition.cpp \
+ Source/WebCore/bindings/js/JSNodeFilterCondition.h \
+ Source/WebCore/bindings/js/JSNodeFilterCustom.cpp \
+ Source/WebCore/bindings/js/JSNodeIteratorCustom.cpp \
+ Source/WebCore/bindings/js/JSNodeListCustom.cpp \
+ Source/WebCore/bindings/js/JSOptionConstructor.cpp \
+ Source/WebCore/bindings/js/JSOptionConstructor.h \
+ Source/WebCore/bindings/js/JSPluginElementFunctions.cpp \
+ Source/WebCore/bindings/js/JSPluginElementFunctions.h \
+ Source/WebCore/bindings/js/JSProcessingInstructionCustom.cpp \
+ Source/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp \
+ Source/WebCore/bindings/js/JSSQLTransactionCustom.cpp \
+ Source/WebCore/bindings/js/JSSQLTransactionSyncCustom.cpp \
+ Source/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp \
+ Source/WebCore/bindings/js/JSSVGLengthCustom.cpp \
+ Source/WebCore/bindings/js/JSSVGPathSegCustom.cpp \
+ Source/WebCore/bindings/js/JSScriptProfileNodeCustom.cpp \
+ Source/WebCore/bindings/js/JSSharedWorkerCustom.cpp \
+ Source/WebCore/bindings/js/JSStorageCustom.cpp \
+ Source/WebCore/bindings/js/JSStorageCustom.h \
+ Source/WebCore/bindings/js/JSStyleSheetCustom.cpp \
+ Source/WebCore/bindings/js/JSStyleSheetListCustom.cpp \
+ Source/WebCore/bindings/js/JSTextCustom.cpp \
+ Source/WebCore/bindings/js/JSTouchCustom.cpp \
+ Source/WebCore/bindings/js/JSTouchListCustom.cpp \
+ Source/WebCore/bindings/js/JSTreeWalkerCustom.cpp \
+ Source/WebCore/bindings/js/JSUint16ArrayCustom.cpp \
+ Source/WebCore/bindings/js/JSUint32ArrayCustom.cpp \
+ Source/WebCore/bindings/js/JSUint8ArrayCustom.cpp \
+ Source/WebCore/bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp \
+ Source/WebCore/bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp \
+ Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp \
+ Source/WebCore/bindings/js/JSWebKitCSSMatrixCustom.cpp \
+ Source/WebCore/bindings/js/JSWebKitPointCustom.cpp \
+ Source/WebCore/bindings/js/JSWebSocketCustom.cpp \
+ Source/WebCore/bindings/js/JSWorkerContextBase.cpp \
+ Source/WebCore/bindings/js/JSWorkerContextBase.h \
+ Source/WebCore/bindings/js/JSWorkerContextCustom.cpp \
+ Source/WebCore/bindings/js/JSWorkerCustom.cpp \
+ Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp \
+ Source/WebCore/bindings/js/JSXMLHttpRequestUploadCustom.cpp \
+ Source/WebCore/bindings/js/JSXSLTProcessorCustom.cpp \
+ Source/WebCore/bindings/js/JavaScriptCallFrame.cpp \
+ Source/WebCore/bindings/js/JavaScriptCallFrame.h \
+ Source/WebCore/bindings/js/OptionsObject.h \
+ Source/WebCore/bindings/js/ScheduledAction.cpp \
+ Source/WebCore/bindings/js/ScheduledAction.h \
+ Source/WebCore/bindings/js/ScriptCachedFrameData.cpp \
+ Source/WebCore/bindings/js/ScriptCachedFrameData.h \
+ Source/WebCore/bindings/js/ScriptCallStackFactory.cpp \
+ Source/WebCore/bindings/js/ScriptCallStackFactory.h \
+ Source/WebCore/bindings/js/ScriptController.cpp \
+ Source/WebCore/bindings/js/ScriptController.h \
+ Source/WebCore/bindings/js/ScriptDebugServer.cpp \
+ Source/WebCore/bindings/js/ScriptDebugServer.h \
+ Source/WebCore/bindings/js/ScriptEventListener.cpp \
+ Source/WebCore/bindings/js/ScriptEventListener.h \
+ Source/WebCore/bindings/js/ScriptFunctionCall.cpp \
+ Source/WebCore/bindings/js/ScriptFunctionCall.h \
+ Source/WebCore/bindings/js/ScriptGCEvent.cpp \
+ Source/WebCore/bindings/js/ScriptGCEvent.h \
+ Source/WebCore/bindings/js/ScriptHeapSnapshot.h \
+ Source/WebCore/bindings/js/ScriptInstance.h \
+ Source/WebCore/bindings/js/ScriptObject.cpp \
+ Source/WebCore/bindings/js/ScriptObject.h \
+ Source/WebCore/bindings/js/ScriptProfile.cpp \
+ Source/WebCore/bindings/js/ScriptProfile.h \
+ Source/WebCore/bindings/js/ScriptProfileNode.h \
+ Source/WebCore/bindings/js/ScriptProfiler.cpp \
+ Source/WebCore/bindings/js/ScriptProfiler.h \
+ Source/WebCore/bindings/js/ScriptSourceCode.h \
+ Source/WebCore/bindings/js/ScriptSourceProvider.h \
+ Source/WebCore/bindings/js/ScriptState.cpp \
+ Source/WebCore/bindings/js/ScriptState.h \
+ Source/WebCore/bindings/js/ScriptValue.cpp \
+ Source/WebCore/bindings/js/ScriptValue.h \
+ Source/WebCore/bindings/js/ScriptWrappable.h \
+ Source/WebCore/bindings/js/SerializedScriptValue.cpp \
+ Source/WebCore/bindings/js/SerializedScriptValue.h \
+ Source/WebCore/bindings/js/StringSourceProvider.h \
+ Source/WebCore/bindings/js/WebCoreJSClientData.h \
+ Source/WebCore/bindings/js/WorkerScriptController.cpp \
+ Source/WebCore/bindings/js/WorkerScriptController.h \
+ Source/WebCore/bindings/ScriptControllerBase.cpp \
+ Source/WebCore/bindings/ScriptControllerBase.h \
+ Source/WebCore/bridge/Bridge.h \
+ Source/WebCore/bridge/c/c_class.cpp \
+ Source/WebCore/bridge/c/c_class.h \
+ Source/WebCore/bridge/c/c_instance.cpp \
+ Source/WebCore/bridge/c/c_instance.h \
+ Source/WebCore/bridge/c/c_runtime.cpp \
+ Source/WebCore/bridge/c/c_runtime.h \
+ Source/WebCore/bridge/c/CRuntimeObject.cpp \
+ Source/WebCore/bridge/c/CRuntimeObject.h \
+ Source/WebCore/bridge/c/c_utility.cpp \
+ Source/WebCore/bridge/c/c_utility.h \
+ Source/WebCore/bridge/IdentifierRep.cpp \
+ Source/WebCore/bridge/IdentifierRep.h \
+ Source/WebCore/bridge/jni/JNIBridge.h \
+ Source/WebCore/bridge/jni/jni_jsobject.h \
+ Source/WebCore/bridge/jni/JNIUtility.h \
+ Source/WebCore/bridge/jni/jsc/JavaClassJSC.h \
+ Source/WebCore/bridge/jni/jsc/JavaInstanceJSC.h \
+ Source/WebCore/bridge/jni/jsc/JNIBridgeJSC.h \
+ Source/WebCore/bridge/jsc/BridgeJSC.cpp \
+ Source/WebCore/bridge/jsc/BridgeJSC.h \
+ Source/WebCore/bridge/npapi.h \
+ Source/WebCore/bridge/NP_jsobject.cpp \
+ Source/WebCore/bridge/NP_jsobject.h \
+ Source/WebCore/bridge/npruntime.cpp \
+ Source/WebCore/bridge/npruntime.h \
+ Source/WebCore/bridge/npruntime_impl.h \
+ Source/WebCore/bridge/npruntime_internal.h \
+ Source/WebCore/bridge/npruntime_priv.h \
+ Source/WebCore/bridge/nptypes.h \
+ Source/WebCore/bridge/runtime_array.cpp \
+ Source/WebCore/bridge/runtime_array.h \
+ Source/WebCore/bridge/runtime_method.cpp \
+ Source/WebCore/bridge/runtime_method.h \
+ Source/WebCore/bridge/runtime_object.cpp \
+ Source/WebCore/bridge/runtime_object.h \
+ Source/WebCore/bridge/runtime_root.cpp \
+ Source/WebCore/bridge/runtime_root.h \
+ Source/WebCore/config.h \
+ Source/WebCore/css/Counter.h \
+ Source/WebCore/css/CSSBorderImageValue.cpp \
+ Source/WebCore/css/CSSBorderImageValue.h \
+ Source/WebCore/css/CSSCanvasValue.cpp \
+ Source/WebCore/css/CSSCanvasValue.h \
+ Source/WebCore/css/CSSCharsetRule.cpp \
+ Source/WebCore/css/CSSCharsetRule.h \
+ Source/WebCore/css/CSSComputedStyleDeclaration.cpp \
+ Source/WebCore/css/CSSComputedStyleDeclaration.h \
+ Source/WebCore/css/CSSCursorImageValue.cpp \
+ Source/WebCore/css/CSSCursorImageValue.h \
+ Source/WebCore/css/CSSFontFace.cpp \
+ Source/WebCore/css/CSSFontFace.h \
+ Source/WebCore/css/CSSFontFaceRule.cpp \
+ Source/WebCore/css/CSSFontFaceRule.h \
+ Source/WebCore/css/CSSFontFaceSource.cpp \
+ Source/WebCore/css/CSSFontFaceSource.h \
+ Source/WebCore/css/CSSFontFaceSrcValue.cpp \
+ Source/WebCore/css/CSSFontFaceSrcValue.h \
+ Source/WebCore/css/CSSFontSelector.cpp \
+ Source/WebCore/css/CSSFontSelector.h \
+ Source/WebCore/css/CSSFunctionValue.cpp \
+ Source/WebCore/css/CSSFunctionValue.h \
+ Source/WebCore/css/CSSGradientValue.cpp \
+ Source/WebCore/css/CSSGradientValue.h \
+ Source/WebCore/css/CSSHelper.h \
+ Source/WebCore/css/CSSImageGeneratorValue.cpp \
+ Source/WebCore/css/CSSImageGeneratorValue.h \
+ Source/WebCore/css/CSSImageValue.cpp \
+ Source/WebCore/css/CSSImageValue.h \
+ Source/WebCore/css/CSSImportRule.cpp \
+ Source/WebCore/css/CSSImportRule.h \
+ Source/WebCore/css/CSSInheritedValue.cpp \
+ Source/WebCore/css/CSSInheritedValue.h \
+ Source/WebCore/css/CSSInitialValue.cpp \
+ Source/WebCore/css/CSSInitialValue.h \
+ Source/WebCore/css/CSSMediaRule.cpp \
+ Source/WebCore/css/CSSMediaRule.h \
+ Source/WebCore/css/CSSMutableStyleDeclaration.cpp \
+ Source/WebCore/css/CSSMutableStyleDeclaration.h \
+ Source/WebCore/css/CSSNamespace.h \
+ Source/WebCore/css/CSSOMUtils.cpp \
+ Source/WebCore/css/CSSOMUtils.h \
+ Source/WebCore/css/CSSPageRule.cpp \
+ Source/WebCore/css/CSSPageRule.h \
+ Source/WebCore/css/CSSParser.cpp \
+ Source/WebCore/css/CSSParser.h \
+ Source/WebCore/css/CSSParserValues.cpp \
+ Source/WebCore/css/CSSParserValues.h \
+ Source/WebCore/css/CSSPrimitiveValue.cpp \
+ Source/WebCore/css/CSSPrimitiveValue.h \
+ Source/WebCore/css/CSSPrimitiveValueMappings.h \
+ Source/WebCore/css/CSSProperty.cpp \
+ Source/WebCore/css/CSSProperty.h \
+ Source/WebCore/css/CSSPropertyLonghand.cpp \
+ Source/WebCore/css/CSSPropertyLonghand.h \
+ Source/WebCore/css/CSSPropertySourceData.cpp \
+ Source/WebCore/css/CSSPropertySourceData.h \
+ Source/WebCore/css/CSSQuirkPrimitiveValue.h \
+ Source/WebCore/css/CSSReflectionDirection.h \
+ Source/WebCore/css/CSSReflectValue.cpp \
+ Source/WebCore/css/CSSReflectValue.h \
+ Source/WebCore/css/CSSRule.cpp \
+ Source/WebCore/css/CSSRule.h \
+ Source/WebCore/css/CSSRuleList.cpp \
+ Source/WebCore/css/CSSRuleList.h \
+ Source/WebCore/css/CSSSegmentedFontFace.cpp \
+ Source/WebCore/css/CSSSegmentedFontFace.h \
+ Source/WebCore/css/CSSSelector.cpp \
+ Source/WebCore/css/CSSSelector.h \
+ Source/WebCore/css/CSSSelectorList.cpp \
+ Source/WebCore/css/CSSSelectorList.h \
+ Source/WebCore/css/CSSStyleDeclaration.cpp \
+ Source/WebCore/css/CSSStyleDeclaration.h \
+ Source/WebCore/css/CSSStyleRule.cpp \
+ Source/WebCore/css/CSSStyleRule.h \
+ Source/WebCore/css/CSSStyleSelector.cpp \
+ Source/WebCore/css/CSSStyleSelector.h \
+ Source/WebCore/css/CSSStyleSheet.cpp \
+ Source/WebCore/css/CSSStyleSheet.h \
+ Source/WebCore/css/CSSTimingFunctionValue.cpp \
+ Source/WebCore/css/CSSTimingFunctionValue.h \
+ Source/WebCore/css/CSSUnicodeRangeValue.cpp \
+ Source/WebCore/css/CSSUnicodeRangeValue.h \
+ Source/WebCore/css/CSSUnknownRule.h \
+ Source/WebCore/css/CSSValue.h \
+ Source/WebCore/css/CSSValueList.cpp \
+ Source/WebCore/css/CSSValueList.h \
+ Source/WebCore/css/DashboardRegion.h \
+ Source/WebCore/css/FontFamilyValue.cpp \
+ Source/WebCore/css/FontFamilyValue.h \
+ Source/WebCore/css/FontValue.cpp \
+ Source/WebCore/css/FontValue.h \
+ Source/WebCore/css/MediaFeatureNames.cpp \
+ Source/WebCore/css/MediaFeatureNames.h \
+ Source/WebCore/css/MediaList.cpp \
+ Source/WebCore/css/MediaList.h \
+ Source/WebCore/css/MediaQuery.cpp \
+ Source/WebCore/css/MediaQuery.h \
+ Source/WebCore/css/MediaQueryEvaluator.cpp \
+ Source/WebCore/css/MediaQueryEvaluator.h \
+ Source/WebCore/css/MediaQueryExp.cpp \
+ Source/WebCore/css/MediaQueryExp.h \
+ Source/WebCore/css/MediaQueryList.cpp \
+ Source/WebCore/css/MediaQueryList.h \
+ Source/WebCore/css/MediaQueryListListener.cpp \
+ Source/WebCore/css/MediaQueryListListener.h \
+ Source/WebCore/css/MediaQueryMatcher.cpp \
+ Source/WebCore/css/MediaQueryMatcher.h \
+ Source/WebCore/css/Pair.h \
+ Source/WebCore/css/Rect.h \
+ Source/WebCore/css/RGBColor.cpp \
+ Source/WebCore/css/RGBColor.h \
+ Source/WebCore/css/ShadowValue.cpp \
+ Source/WebCore/css/ShadowValue.h \
+ Source/WebCore/css/StyleBase.cpp \
+ Source/WebCore/css/StyleBase.h \
+ Source/WebCore/css/StyleList.cpp \
+ Source/WebCore/css/StyleList.h \
+ Source/WebCore/css/StyleMedia.cpp \
+ Source/WebCore/css/StyleMedia.h \
+ Source/WebCore/css/StyleSheet.cpp \
+ Source/WebCore/css/StyleSheet.h \
+ Source/WebCore/css/StyleSheetList.cpp \
+ Source/WebCore/css/StyleSheetList.h \
+ Source/WebCore/css/SVGCSSComputedStyleDeclaration.cpp \
+ Source/WebCore/css/SVGCSSParser.cpp \
+ Source/WebCore/css/SVGCSSStyleSelector.cpp \
+ Source/WebCore/css/WebKitCSSKeyframeRule.cpp \
+ Source/WebCore/css/WebKitCSSKeyframeRule.h \
+ Source/WebCore/css/WebKitCSSKeyframesRule.cpp \
+ Source/WebCore/css/WebKitCSSKeyframesRule.h \
+ Source/WebCore/css/WebKitCSSMatrix.cpp \
+ Source/WebCore/css/WebKitCSSMatrix.h \
+ Source/WebCore/css/WebKitCSSTransformValue.cpp \
+ Source/WebCore/css/WebKitCSSTransformValue.h \
+ Source/WebCore/dom/ActiveDOMObject.cpp \
+ Source/WebCore/dom/ActiveDOMObject.h \
+ Source/WebCore/dom/AsyncScriptRunner.cpp \
+ Source/WebCore/dom/AsyncScriptRunner.h \
+ Source/WebCore/dom/Attr.cpp \
+ Source/WebCore/dom/Attr.h \
+ Source/WebCore/dom/Attribute.cpp \
+ Source/WebCore/dom/Attribute.h \
+ Source/WebCore/dom/BeforeLoadEvent.h \
+ Source/WebCore/dom/BeforeProcessEvent.cpp \
+ Source/WebCore/dom/BeforeProcessEvent.h \
+ Source/WebCore/dom/BeforeTextInsertedEvent.cpp \
+ Source/WebCore/dom/BeforeTextInsertedEvent.h \
+ Source/WebCore/dom/BeforeUnloadEvent.cpp \
+ Source/WebCore/dom/BeforeUnloadEvent.h \
+ Source/WebCore/dom/CDATASection.cpp \
+ Source/WebCore/dom/CDATASection.h \
+ Source/WebCore/dom/CharacterData.cpp \
+ Source/WebCore/dom/CharacterData.h \
+ Source/WebCore/dom/CheckedRadioButtons.cpp \
+ Source/WebCore/dom/CheckedRadioButtons.h \
+ Source/WebCore/dom/ChildNodeList.cpp \
+ Source/WebCore/dom/ChildNodeList.h \
+ Source/WebCore/dom/ClassNodeList.cpp \
+ Source/WebCore/dom/ClassNodeList.h \
+ Source/WebCore/dom/ClientRect.cpp \
+ Source/WebCore/dom/ClientRect.h \
+ Source/WebCore/dom/ClientRectList.cpp \
+ Source/WebCore/dom/ClientRectList.h \
+ Source/WebCore/dom/ClipboardAccessPolicy.h \
+ Source/WebCore/dom/Clipboard.cpp \
+ Source/WebCore/dom/ClipboardEvent.cpp \
+ Source/WebCore/dom/ClipboardEvent.h \
+ Source/WebCore/dom/Clipboard.h \
+ Source/WebCore/dom/Comment.cpp \
+ Source/WebCore/dom/Comment.h \
+ Source/WebCore/dom/CompositionEvent.cpp \
+ Source/WebCore/dom/CompositionEvent.h \
+ Source/WebCore/dom/ContainerNodeAlgorithms.h \
+ Source/WebCore/dom/ContainerNode.cpp \
+ Source/WebCore/dom/ContainerNode.h \
+ Source/WebCore/dom/CrossThreadTask.h \
+ Source/WebCore/dom/CSSMappedAttributeDeclaration.cpp \
+ Source/WebCore/dom/CSSMappedAttributeDeclaration.h \
+ Source/WebCore/dom/CustomEvent.cpp \
+ Source/WebCore/dom/CustomEvent.h \
+ Source/WebCore/dom/DatasetDOMStringMap.cpp \
+ Source/WebCore/dom/DatasetDOMStringMap.h \
+ Source/WebCore/dom/DecodedDataDocumentParser.cpp \
+ Source/WebCore/dom/DecodedDataDocumentParser.h \
+ Source/WebCore/dom/default/PlatformMessagePortChannel.cpp \
+ Source/WebCore/dom/default/PlatformMessagePortChannel.h \
+ Source/WebCore/dom/DeviceMotionClient.h \
+ Source/WebCore/dom/DeviceMotionController.cpp \
+ Source/WebCore/dom/DeviceMotionController.h \
+ Source/WebCore/dom/DeviceMotionData.cpp \
+ Source/WebCore/dom/DeviceMotionData.h \
+ Source/WebCore/dom/DeviceMotionEvent.cpp \
+ Source/WebCore/dom/DeviceMotionEvent.h \
+ Source/WebCore/dom/DeviceOrientationClient.h \
+ Source/WebCore/dom/DeviceOrientationController.cpp \
+ Source/WebCore/dom/DeviceOrientationController.h \
+ Source/WebCore/dom/DeviceOrientation.cpp \
+ Source/WebCore/dom/DeviceOrientationEvent.cpp \
+ Source/WebCore/dom/DeviceOrientationEvent.h \
+ Source/WebCore/dom/DeviceOrientation.h \
+ Source/WebCore/dom/Document.cpp \
+ Source/WebCore/dom/DocumentFragment.cpp \
+ Source/WebCore/dom/DocumentFragment.h \
+ Source/WebCore/dom/Document.h \
+ Source/WebCore/dom/DocumentMarkerController.cpp \
+ Source/WebCore/dom/DocumentMarkerController.h \
+ Source/WebCore/dom/DocumentMarker.h \
+ Source/WebCore/dom/DocumentOrderedMap.cpp \
+ Source/WebCore/dom/DocumentOrderedMap.h \
+ Source/WebCore/dom/DocumentParser.cpp \
+ Source/WebCore/dom/DocumentParser.h \
+ Source/WebCore/dom/DocumentTiming.h \
+ Source/WebCore/dom/DocumentType.cpp \
+ Source/WebCore/dom/DocumentType.h \
+ Source/WebCore/dom/DOMCoreException.h \
+ Source/WebCore/dom/DOMImplementation.cpp \
+ Source/WebCore/dom/DOMImplementation.h \
+ Source/WebCore/dom/DOMStringList.cpp \
+ Source/WebCore/dom/DOMStringList.h \
+ Source/WebCore/dom/DOMStringMap.cpp \
+ Source/WebCore/dom/DOMStringMap.h \
+ Source/WebCore/dom/DOMTimeStamp.h \
+ Source/WebCore/dom/DynamicNodeList.cpp \
+ Source/WebCore/dom/DynamicNodeList.h \
+ Source/WebCore/dom/EditingText.cpp \
+ Source/WebCore/dom/EditingText.h \
+ Source/WebCore/dom/Element.cpp \
+ Source/WebCore/dom/Element.h \
+ Source/WebCore/dom/ElementRareData.h \
+ Source/WebCore/dom/Entity.h \
+ Source/WebCore/dom/EntityReference.cpp \
+ Source/WebCore/dom/EntityReference.h \
+ Source/WebCore/dom/ErrorEvent.cpp \
+ Source/WebCore/dom/ErrorEvent.h \
+ Source/WebCore/dom/Event.cpp \
+ Source/WebCore/dom/Event.h \
+ Source/WebCore/dom/EventContext.cpp \
+ Source/WebCore/dom/EventContext.h \
+ Source/WebCore/dom/EventException.h \
+ Source/WebCore/dom/EventListener.h \
+ Source/WebCore/dom/EventNames.cpp \
+ Source/WebCore/dom/EventNames.h \
+ Source/WebCore/dom/EventTarget.cpp \
+ Source/WebCore/dom/EventTarget.h \
+ Source/WebCore/dom/EventQueue.cpp \
+ Source/WebCore/dom/EventQueue.h \
+ Source/WebCore/dom/ExceptionBase.cpp \
+ Source/WebCore/dom/ExceptionBase.h \
+ Source/WebCore/dom/ExceptionCode.cpp \
+ Source/WebCore/dom/ExceptionCode.h \
+ Source/WebCore/dom/FragmentScriptingPermission.h \
+ Source/WebCore/dom/IgnoreDestructiveWriteCountIncrementer.h \
+ Source/WebCore/dom/InputElement.cpp \
+ Source/WebCore/dom/InputElement.h \
+ Source/WebCore/dom/HashChangeEvent.h \
+ Source/WebCore/dom/KeyboardEvent.cpp \
+ Source/WebCore/dom/KeyboardEvent.h \
+ Source/WebCore/dom/MappedAttributeEntry.h \
+ Source/WebCore/dom/MessageChannel.cpp \
+ Source/WebCore/dom/MessageChannel.h \
+ Source/WebCore/dom/MessageEvent.cpp \
+ Source/WebCore/dom/MessageEvent.h \
+ Source/WebCore/dom/MessagePortChannel.cpp \
+ Source/WebCore/dom/MessagePortChannel.h \
+ Source/WebCore/dom/MessagePort.cpp \
+ Source/WebCore/dom/MessagePort.h \
+ Source/WebCore/dom/MouseEvent.cpp \
+ Source/WebCore/dom/MouseEvent.h \
+ Source/WebCore/dom/MouseRelatedEvent.cpp \
+ Source/WebCore/dom/MouseRelatedEvent.h \
+ Source/WebCore/dom/MutationEvent.cpp \
+ Source/WebCore/dom/MutationEvent.h \
+ Source/WebCore/dom/NamedNodeMap.cpp \
+ Source/WebCore/dom/NamedNodeMap.h \
+ Source/WebCore/dom/NameNodeList.cpp \
+ Source/WebCore/dom/NameNodeList.h \
+ Source/WebCore/dom/Node.cpp \
+ Source/WebCore/dom/NodeFilterCondition.cpp \
+ Source/WebCore/dom/NodeFilterCondition.h \
+ Source/WebCore/dom/NodeFilter.cpp \
+ Source/WebCore/dom/NodeFilter.h \
+ Source/WebCore/dom/Node.h \
+ Source/WebCore/dom/NodeIterator.cpp \
+ Source/WebCore/dom/NodeIterator.h \
+ Source/WebCore/dom/NodeList.h \
+ Source/WebCore/dom/NodeRareData.h \
+ Source/WebCore/dom/NodeRenderStyle.h \
+ Source/WebCore/dom/NodeWithIndex.h \
+ Source/WebCore/dom/Notation.cpp \
+ Source/WebCore/dom/Notation.h \
+ Source/WebCore/dom/OptionElement.cpp \
+ Source/WebCore/dom/OptionElement.h \
+ Source/WebCore/dom/OptionGroupElement.cpp \
+ Source/WebCore/dom/OptionGroupElement.h \
+ Source/WebCore/dom/OverflowEvent.cpp \
+ Source/WebCore/dom/OverflowEvent.h \
+ Source/WebCore/dom/PageTransitionEvent.cpp \
+ Source/WebCore/dom/PageTransitionEvent.h \
+ Source/WebCore/dom/PendingScript.cpp \
+ Source/WebCore/dom/PendingScript.h \
+ Source/WebCore/dom/PopStateEvent.cpp \
+ Source/WebCore/dom/PopStateEvent.h \
+ Source/WebCore/dom/Position.cpp \
+ Source/WebCore/dom/Position.h \
+ Source/WebCore/dom/PositionIterator.cpp \
+ Source/WebCore/dom/PositionIterator.h \
+ Source/WebCore/dom/ProcessingInstruction.cpp \
+ Source/WebCore/dom/ProcessingInstruction.h \
+ Source/WebCore/dom/ProgressEvent.cpp \
+ Source/WebCore/dom/ProgressEvent.h \
+ Source/WebCore/dom/QualifiedName.cpp \
+ Source/WebCore/dom/QualifiedName.h \
+ Source/WebCore/dom/RangeBoundaryPoint.h \
+ Source/WebCore/dom/Range.cpp \
+ Source/WebCore/dom/RangeException.h \
+ Source/WebCore/dom/Range.h \
+ Source/WebCore/dom/RawDataDocumentParser.h \
+ Source/WebCore/dom/RegisteredEventListener.cpp \
+ Source/WebCore/dom/RegisteredEventListener.h \
+ Source/WebCore/dom/ScopedEventQueue.cpp \
+ Source/WebCore/dom/ScopedEventQueue.h \
+ Source/WebCore/dom/ScriptableDocumentParser.cpp \
+ Source/WebCore/dom/ScriptableDocumentParser.h \
+ Source/WebCore/dom/ScriptElement.cpp \
+ Source/WebCore/dom/ScriptElement.h \
+ Source/WebCore/dom/ScriptExecutionContext.cpp \
+ Source/WebCore/dom/ScriptExecutionContext.h \
+ Source/WebCore/dom/SelectElement.cpp \
+ Source/WebCore/dom/SelectElement.h \
+ Source/WebCore/dom/SelectorNodeList.cpp \
+ Source/WebCore/dom/SelectorNodeList.h \
+ Source/WebCore/dom/SpaceSplitString.cpp \
+ Source/WebCore/dom/SpaceSplitString.h \
+ Source/WebCore/dom/StaticHashSetNodeList.cpp \
+ Source/WebCore/dom/StaticHashSetNodeList.h \
+ Source/WebCore/dom/StaticNodeList.cpp \
+ Source/WebCore/dom/StaticNodeList.h \
+ Source/WebCore/dom/StyledElement.cpp \
+ Source/WebCore/dom/StyledElement.h \
+ Source/WebCore/dom/StyleElement.cpp \
+ Source/WebCore/dom/StyleElement.h \
+ Source/WebCore/dom/TagNodeList.cpp \
+ Source/WebCore/dom/TagNodeList.h \
+ Source/WebCore/dom/Text.cpp \
+ Source/WebCore/dom/TextEvent.cpp \
+ Source/WebCore/dom/TextEvent.h \
+ Source/WebCore/dom/TextEventInputType.h \
+ Source/WebCore/dom/Text.h \
+ Source/WebCore/dom/TouchList.h \
+ Source/WebCore/dom/TransformSource.h \
+ Source/WebCore/dom/TransformSourceLibxslt.cpp \
+ Source/WebCore/dom/Traversal.cpp \
+ Source/WebCore/dom/Traversal.h \
+ Source/WebCore/dom/TreeDepthLimit.h \
+ Source/WebCore/dom/TreeWalker.cpp \
+ Source/WebCore/dom/TreeWalker.h \
+ Source/WebCore/dom/UIEvent.cpp \
+ Source/WebCore/dom/UIEvent.h \
+ Source/WebCore/dom/UIEventWithKeyState.cpp \
+ Source/WebCore/dom/UIEventWithKeyState.h \
+ Source/WebCore/dom/UserGestureIndicator.cpp \
+ Source/WebCore/dom/UserGestureIndicator.h \
+ Source/WebCore/dom/UserTypingGestureIndicator.cpp \
+ Source/WebCore/dom/UserTypingGestureIndicator.h \
+ Source/WebCore/dom/ViewportArguments.cpp \
+ Source/WebCore/dom/ViewportArguments.h \
+ Source/WebCore/dom/WebKitAnimationEvent.cpp \
+ Source/WebCore/dom/WebKitAnimationEvent.h \
+ Source/WebCore/dom/WebKitTransitionEvent.cpp \
+ Source/WebCore/dom/WebKitTransitionEvent.h \
+ Source/WebCore/dom/WheelEvent.cpp \
+ Source/WebCore/dom/WheelEvent.h \
+ Source/WebCore/dom/WindowEventContext.cpp \
+ Source/WebCore/dom/WindowEventContext.h \
+ Source/WebCore/dom/XMLDocumentParser.cpp \
+ Source/WebCore/dom/XMLDocumentParser.h \
+ Source/WebCore/dom/XMLDocumentParserLibxml2.cpp \
+ Source/WebCore/dom/XMLDocumentParserScope.cpp \
+ Source/WebCore/dom/XMLDocumentParserScope.h \
+ Source/WebCore/editing/AppendNodeCommand.cpp \
+ Source/WebCore/editing/AppendNodeCommand.h \
+ Source/WebCore/editing/ApplyBlockElementCommand.cpp \
+ Source/WebCore/editing/ApplyBlockElementCommand.h \
+ Source/WebCore/editing/ApplyStyleCommand.cpp \
+ Source/WebCore/editing/ApplyStyleCommand.h \
+ Source/WebCore/editing/BreakBlockquoteCommand.cpp \
+ Source/WebCore/editing/BreakBlockquoteCommand.h \
+ Source/WebCore/editing/CompositeEditCommand.cpp \
+ Source/WebCore/editing/CompositeEditCommand.h \
+ Source/WebCore/editing/CreateLinkCommand.cpp \
+ Source/WebCore/editing/CreateLinkCommand.h \
+ Source/WebCore/editing/CorrectionPanelInfo.h \
+ Source/WebCore/editing/DeleteButtonController.cpp \
+ Source/WebCore/editing/DeleteButtonController.h \
+ Source/WebCore/editing/DeleteButton.cpp \
+ Source/WebCore/editing/DeleteButton.h \
+ Source/WebCore/editing/DeleteFromTextNodeCommand.cpp \
+ Source/WebCore/editing/DeleteFromTextNodeCommand.h \
+ Source/WebCore/editing/DeleteSelectionCommand.cpp \
+ Source/WebCore/editing/DeleteSelectionCommand.h \
+ Source/WebCore/editing/EditAction.h \
+ Source/WebCore/editing/EditCommand.cpp \
+ Source/WebCore/editing/EditCommand.h \
+ Source/WebCore/editing/EditingBehavior.h \
+ Source/WebCore/editing/EditingBehaviorTypes.h \
+ Source/WebCore/editing/EditingBoundary.h \
+ Source/WebCore/editing/EditingStyle.cpp \
+ Source/WebCore/editing/EditingStyle.h \
+ Source/WebCore/editing/EditorCommand.cpp \
+ Source/WebCore/editing/Editor.cpp \
+ Source/WebCore/editing/EditorDeleteAction.h \
+ Source/WebCore/editing/Editor.h \
+ Source/WebCore/editing/EditorInsertAction.h \
+ Source/WebCore/editing/FindOptions.h \
+ Source/WebCore/editing/FormatBlockCommand.cpp \
+ Source/WebCore/editing/FormatBlockCommand.h \
+ Source/WebCore/editing/gtk/SelectionControllerGtk.cpp \
+ Source/WebCore/editing/htmlediting.cpp \
+ Source/WebCore/editing/htmlediting.h \
+ Source/WebCore/editing/HTMLInterchange.cpp \
+ Source/WebCore/editing/HTMLInterchange.h \
+ Source/WebCore/editing/IndentOutdentCommand.cpp \
+ Source/WebCore/editing/IndentOutdentCommand.h \
+ Source/WebCore/editing/InsertIntoTextNodeCommand.cpp \
+ Source/WebCore/editing/InsertIntoTextNodeCommand.h \
+ Source/WebCore/editing/InsertLineBreakCommand.cpp \
+ Source/WebCore/editing/InsertLineBreakCommand.h \
+ Source/WebCore/editing/InsertListCommand.cpp \
+ Source/WebCore/editing/InsertListCommand.h \
+ Source/WebCore/editing/InsertNodeBeforeCommand.cpp \
+ Source/WebCore/editing/InsertNodeBeforeCommand.h \
+ Source/WebCore/editing/InsertParagraphSeparatorCommand.cpp \
+ Source/WebCore/editing/InsertParagraphSeparatorCommand.h \
+ Source/WebCore/editing/InsertTextCommand.cpp \
+ Source/WebCore/editing/InsertTextCommand.h \
+ Source/WebCore/editing/JoinTextNodesCommand.cpp \
+ Source/WebCore/editing/JoinTextNodesCommand.h \
+ Source/WebCore/editing/markup.cpp \
+ Source/WebCore/editing/markup.h \
+ Source/WebCore/editing/MarkupAccumulator.cpp \
+ Source/WebCore/editing/MarkupAccumulator.h \
+ Source/WebCore/editing/MergeIdenticalElementsCommand.cpp \
+ Source/WebCore/editing/MergeIdenticalElementsCommand.h \
+ Source/WebCore/editing/ModifySelectionListLevel.cpp \
+ Source/WebCore/editing/ModifySelectionListLevel.h \
+ Source/WebCore/editing/MoveSelectionCommand.cpp \
+ Source/WebCore/editing/MoveSelectionCommand.h \
+ Source/WebCore/editing/RemoveCSSPropertyCommand.cpp \
+ Source/WebCore/editing/RemoveCSSPropertyCommand.h \
+ Source/WebCore/editing/RemoveFormatCommand.cpp \
+ Source/WebCore/editing/RemoveFormatCommand.h \
+ Source/WebCore/editing/RemoveNodeCommand.cpp \
+ Source/WebCore/editing/RemoveNodeCommand.h \
+ Source/WebCore/editing/RemoveNodePreservingChildrenCommand.cpp \
+ Source/WebCore/editing/RemoveNodePreservingChildrenCommand.h \
+ Source/WebCore/editing/ReplaceNodeWithSpanCommand.cpp \
+ Source/WebCore/editing/ReplaceNodeWithSpanCommand.h \
+ Source/WebCore/editing/ReplaceSelectionCommand.cpp \
+ Source/WebCore/editing/ReplaceSelectionCommand.h \
+ Source/WebCore/editing/SelectionController.cpp \
+ Source/WebCore/editing/SelectionController.h \
+ Source/WebCore/editing/SetNodeAttributeCommand.cpp \
+ Source/WebCore/editing/SetNodeAttributeCommand.h \
+ Source/WebCore/editing/SmartReplace.cpp \
+ Source/WebCore/editing/SmartReplace.h \
+ Source/WebCore/editing/SmartReplaceICU.cpp \
+ Source/WebCore/editing/SpellChecker.cpp \
+ Source/WebCore/editing/SpellChecker.h \
+ Source/WebCore/editing/SpellingCorrectionCommand.h \
+ Source/WebCore/editing/SplitElementCommand.cpp \
+ Source/WebCore/editing/SplitElementCommand.h \
+ Source/WebCore/editing/SplitTextNodeCommand.cpp \
+ Source/WebCore/editing/SplitTextNodeCommand.h \
+ Source/WebCore/editing/SplitTextNodeContainingElementCommand.cpp \
+ Source/WebCore/editing/SplitTextNodeContainingElementCommand.h \
+ Source/WebCore/editing/TextAffinity.h \
+ Source/WebCore/editing/TextCheckingHelper.cpp \
+ Source/WebCore/editing/TextCheckingHelper.h \
+ Source/WebCore/editing/TextGranularity.h \
+ Source/WebCore/editing/TextIterator.cpp \
+ Source/WebCore/editing/TextIterator.h \
+ Source/WebCore/editing/TypingCommand.cpp \
+ Source/WebCore/editing/TypingCommand.h \
+ Source/WebCore/editing/UnlinkCommand.cpp \
+ Source/WebCore/editing/UnlinkCommand.h \
+ Source/WebCore/editing/VisiblePosition.cpp \
+ Source/WebCore/editing/VisiblePosition.h \
+ Source/WebCore/editing/VisibleSelection.cpp \
+ Source/WebCore/editing/VisibleSelection.h \
+ Source/WebCore/editing/visible_units.cpp \
+ Source/WebCore/editing/visible_units.h \
+ Source/WebCore/editing/WrapContentsInDummySpanCommand.cpp \
+ Source/WebCore/editing/WrapContentsInDummySpanCommand.h \
+ Source/WebCore/editing/WritingDirection.h \
+ Source/WebCore/fileapi/AsyncFileWriter.h \
+ Source/WebCore/fileapi/AsyncFileWriterClient.h \
+ Source/WebCore/fileapi/BlobBuilder.cpp \
+ Source/WebCore/fileapi/BlobBuilder.h \
+ Source/WebCore/fileapi/Blob.cpp \
+ Source/WebCore/fileapi/Blob.h \
+ Source/WebCore/fileapi/BlobURL.cpp \
+ Source/WebCore/fileapi/BlobURL.h \
+ Source/WebCore/fileapi/DirectoryEntry.cpp \
+ Source/WebCore/fileapi/DirectoryEntry.h \
+ Source/WebCore/fileapi/DirectoryEntrySync.cpp \
+ Source/WebCore/fileapi/DirectoryEntrySync.h \
+ Source/WebCore/fileapi/DirectoryReader.cpp \
+ Source/WebCore/fileapi/DirectoryReader.h \
+ Source/WebCore/fileapi/DirectoryReaderSync.cpp \
+ Source/WebCore/fileapi/DirectoryReaderSync.h \
+ Source/WebCore/fileapi/DOMFilePath.cpp \
+ Source/WebCore/fileapi/DOMFilePath.h \
+ Source/WebCore/fileapi/DOMFileSystem.cpp \
+ Source/WebCore/fileapi/DOMFileSystem.h \
+ Source/WebCore/fileapi/DOMFileSystemBase.cpp \
+ Source/WebCore/fileapi/DOMFileSystemBase.h \
+ Source/WebCore/fileapi/DOMFileSystemSync.cpp \
+ Source/WebCore/fileapi/DOMFileSystemSync.h \
+ Source/WebCore/fileapi/EntriesCallback.h \
+ Source/WebCore/fileapi/Entry.cpp \
+ Source/WebCore/fileapi/Entry.h \
+ Source/WebCore/fileapi/EntryArray.cpp \
+ Source/WebCore/fileapi/EntryArray.h \
+ Source/WebCore/fileapi/EntryArraySync.cpp \
+ Source/WebCore/fileapi/EntryArraySync.h \
+ Source/WebCore/fileapi/EntryBase.h \
+ Source/WebCore/fileapi/EntryCallback.h \
+ Source/WebCore/fileapi/EntrySync.cpp \
+ Source/WebCore/fileapi/EntrySync.h \
+ Source/WebCore/fileapi/ErrorCallback.h \
+ Source/WebCore/fileapi/FileCallback.h \
+ Source/WebCore/fileapi/File.cpp \
+ Source/WebCore/fileapi/FileEntry.cpp \
+ Source/WebCore/fileapi/FileEntry.h \
+ Source/WebCore/fileapi/FileEntrySync.cpp \
+ Source/WebCore/fileapi/FileEntrySync.h \
+ Source/WebCore/fileapi/FileError.h \
+ Source/WebCore/fileapi/FileException.h \
+ Source/WebCore/fileapi/File.h \
+ Source/WebCore/fileapi/FileList.cpp \
+ Source/WebCore/fileapi/FileList.h \
+ Source/WebCore/fileapi/FileReader.cpp \
+ Source/WebCore/fileapi/FileReader.h \
+ Source/WebCore/fileapi/FileReaderLoader.cpp \
+ Source/WebCore/fileapi/FileReaderLoader.h \
+ Source/WebCore/fileapi/FileReaderLoaderClient.h \
+ Source/WebCore/fileapi/FileReaderSync.cpp \
+ Source/WebCore/fileapi/FileReaderSync.h \
+ Source/WebCore/fileapi/FileStreamProxy.cpp \
+ Source/WebCore/fileapi/FileStreamProxy.h \
+ Source/WebCore/fileapi/FileSystemCallback.h \
+ Source/WebCore/fileapi/FileSystemCallbacks.cpp \
+ Source/WebCore/fileapi/FileSystemCallbacks.h \
+ Source/WebCore/fileapi/FileThread.cpp \
+ Source/WebCore/fileapi/FileThread.h \
+ Source/WebCore/fileapi/FileThreadTask.h \
+ Source/WebCore/fileapi/FileWriter.cpp \
+ Source/WebCore/fileapi/FileWriter.h \
+ Source/WebCore/fileapi/FileWriterBase.cpp \
+ Source/WebCore/fileapi/FileWriterBase.h \
+ Source/WebCore/fileapi/FileWriterBaseCallback.h \
+ Source/WebCore/fileapi/FileWriterCallback.h \
+ Source/WebCore/fileapi/FileWriterSync.cpp \
+ Source/WebCore/fileapi/FileWriterSync.h \
+ Source/WebCore/fileapi/Flags.h \
+ Source/WebCore/fileapi/LocalFileSystem.cpp \
+ Source/WebCore/fileapi/LocalFileSystem.h \
+ Source/WebCore/fileapi/MetadataCallback.h \
+ Source/WebCore/fileapi/Metadata.h \
+ Source/WebCore/fileapi/ThreadableBlobRegistry.cpp \
+ Source/WebCore/fileapi/ThreadableBlobRegistry.h \
+ Source/WebCore/history/BackForwardController.cpp \
+ Source/WebCore/history/BackForwardController.h \
+ Source/WebCore/history/BackForwardList.h \
+ Source/WebCore/history/BackForwardListImpl.cpp \
+ Source/WebCore/history/BackForwardListImpl.h \
+ Source/WebCore/history/CachedFrame.cpp \
+ Source/WebCore/history/CachedFrame.h \
+ Source/WebCore/history/CachedFramePlatformData.h \
+ Source/WebCore/history/CachedPage.cpp \
+ Source/WebCore/history/CachedPage.h \
+ Source/WebCore/history/HistoryItem.cpp \
+ Source/WebCore/history/HistoryItem.h \
+ Source/WebCore/history/PageCache.cpp \
+ Source/WebCore/history/PageCache.h \
+ Source/WebCore/html/AsyncImageResizer.cpp \
+ Source/WebCore/html/AsyncImageResizer.h \
+ Source/WebCore/html/BaseButtonInputType.cpp \
+ Source/WebCore/html/BaseButtonInputType.h \
+ Source/WebCore/html/BaseCheckableInputType.cpp \
+ Source/WebCore/html/BaseCheckableInputType.h \
+ Source/WebCore/html/BaseDateAndTimeInputType.cpp \
+ Source/WebCore/html/BaseDateAndTimeInputType.h \
+ Source/WebCore/html/BaseTextInputType.cpp \
+ Source/WebCore/html/BaseTextInputType.h \
+ Source/WebCore/html/ButtonInputType.cpp \
+ Source/WebCore/html/ButtonInputType.h \
+ Source/WebCore/html/canvas/ArrayBuffer.cpp \
+ Source/WebCore/html/canvas/ArrayBuffer.h \
+ Source/WebCore/html/canvas/ArrayBufferView.cpp \
+ Source/WebCore/html/canvas/ArrayBufferView.h \
+ Source/WebCore/html/canvas/CanvasContextAttributes.cpp \
+ Source/WebCore/html/canvas/CanvasContextAttributes.h \
+ Source/WebCore/html/canvas/CanvasGradient.cpp \
+ Source/WebCore/html/canvas/CanvasGradient.h \
+ Source/WebCore/html/canvas/CanvasPattern.cpp \
+ Source/WebCore/html/canvas/CanvasPattern.h \
+ Source/WebCore/html/canvas/CanvasPixelArray.cpp \
+ Source/WebCore/html/canvas/CanvasPixelArray.h \
+ Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp \
+ Source/WebCore/html/canvas/CanvasRenderingContext2D.h \
+ Source/WebCore/html/canvas/CanvasRenderingContext.cpp \
+ Source/WebCore/html/canvas/CanvasRenderingContext.h \
+ Source/WebCore/html/canvas/CanvasStyle.cpp \
+ Source/WebCore/html/canvas/CanvasStyle.h \
+ Source/WebCore/html/canvas/CheckedInt.h \
+ Source/WebCore/html/canvas/DataView.cpp \
+ Source/WebCore/html/canvas/DataView.h \
+ Source/WebCore/html/canvas/Float32Array.cpp \
+ Source/WebCore/html/canvas/Float32Array.h \
+ Source/WebCore/html/canvas/Int16Array.cpp \
+ Source/WebCore/html/canvas/Int16Array.h \
+ Source/WebCore/html/canvas/Int32Array.cpp \
+ Source/WebCore/html/canvas/Int32Array.h \
+ Source/WebCore/html/canvas/Int8Array.cpp \
+ Source/WebCore/html/canvas/Int8Array.h \
+ Source/WebCore/html/canvas/IntegralTypedArrayBase.h \
+ Source/WebCore/html/canvas/TypedArrayBase.h \
+ Source/WebCore/html/canvas/Uint16Array.cpp \
+ Source/WebCore/html/canvas/Uint16Array.h \
+ Source/WebCore/html/canvas/Uint32Array.cpp \
+ Source/WebCore/html/canvas/Uint32Array.h \
+ Source/WebCore/html/canvas/Uint8Array.cpp \
+ Source/WebCore/html/canvas/Uint8Array.h \
+ Source/WebCore/html/DOMSettableTokenList.cpp \
+ Source/WebCore/html/DOMSettableTokenList.h \
+ Source/WebCore/html/DOMTokenList.cpp \
+ Source/WebCore/html/DOMTokenList.h \
+ Source/WebCore/html/CheckboxInputType.cpp \
+ Source/WebCore/html/CheckboxInputType.h \
+ Source/WebCore/html/ClassList.cpp \
+ Source/WebCore/html/ClassList.h \
+ Source/WebCore/html/CollectionCache.cpp \
+ Source/WebCore/html/CollectionCache.h \
+ Source/WebCore/html/CollectionType.h \
+ Source/WebCore/html/ColorInputType.cpp \
+ Source/WebCore/html/ColorInputType.h \
+ Source/WebCore/html/DataGridColumn.cpp \
+ Source/WebCore/html/DataGridColumn.h \
+ Source/WebCore/html/DataGridColumnList.cpp \
+ Source/WebCore/html/DataGridColumnList.h \
+ Source/WebCore/html/DataGridDataSource.h \
+ Source/WebCore/html/DateComponents.cpp \
+ Source/WebCore/html/DateComponents.h \
+ Source/WebCore/html/DateInputType.cpp \
+ Source/WebCore/html/DateInputType.h \
+ Source/WebCore/html/DateTimeInputType.cpp \
+ Source/WebCore/html/DateTimeInputType.h \
+ Source/WebCore/html/DateTimeLocalInputType.cpp \
+ Source/WebCore/html/DateTimeLocalInputType.h \
+ Source/WebCore/html/DOMDataGridDataSource.cpp \
+ Source/WebCore/html/DOMDataGridDataSource.h \
+ Source/WebCore/html/DOMFormData.cpp \
+ Source/WebCore/html/DOMFormData.h \
+ Source/WebCore/html/DOMURL.cpp \
+ Source/WebCore/html/DOMURL.h \
+ Source/WebCore/html/EmailInputType.cpp \
+ Source/WebCore/html/EmailInputType.h \
+ Source/WebCore/html/FileInputType.cpp \
+ Source/WebCore/html/FileInputType.h \
+ Source/WebCore/html/FormAssociatedElement.cpp \
+ Source/WebCore/html/FormAssociatedElement.h \
+ Source/WebCore/html/FormDataList.cpp \
+ Source/WebCore/html/FormDataList.h \
+ Source/WebCore/html/FTPDirectoryDocument.cpp \
+ Source/WebCore/html/FTPDirectoryDocument.h \
+ Source/WebCore/html/HTMLAllCollection.cpp \
+ Source/WebCore/html/HTMLAllCollection.h \
+ Source/WebCore/html/HTMLAnchorElement.cpp \
+ Source/WebCore/html/HTMLAnchorElement.h \
+ Source/WebCore/html/HTMLAppletElement.cpp \
+ Source/WebCore/html/HTMLAppletElement.h \
+ Source/WebCore/html/HTMLAreaElement.cpp \
+ Source/WebCore/html/HTMLAreaElement.h \
+ Source/WebCore/html/HTMLAudioElement.cpp \
+ Source/WebCore/html/HTMLAudioElement.h \
+ Source/WebCore/html/HTMLBaseElement.cpp \
+ Source/WebCore/html/HTMLBaseElement.h \
+ Source/WebCore/html/HTMLBaseFontElement.cpp \
+ Source/WebCore/html/HTMLBaseFontElement.h \
+ Source/WebCore/html/HTMLBlockquoteElement.cpp \
+ Source/WebCore/html/HTMLBlockquoteElement.h \
+ Source/WebCore/html/HTMLBodyElement.cpp \
+ Source/WebCore/html/HTMLBodyElement.h \
+ Source/WebCore/html/HTMLBRElement.cpp \
+ Source/WebCore/html/HTMLBRElement.h \
+ Source/WebCore/html/HTMLButtonElement.cpp \
+ Source/WebCore/html/HTMLButtonElement.h \
+ Source/WebCore/html/HTMLCanvasElement.cpp \
+ Source/WebCore/html/HTMLCanvasElement.h \
+ Source/WebCore/html/HTMLCollection.cpp \
+ Source/WebCore/html/HTMLCollection.h \
+ Source/WebCore/html/HTMLDataGridCellElement.cpp \
+ Source/WebCore/html/HTMLDataGridCellElement.h \
+ Source/WebCore/html/HTMLDataGridColElement.cpp \
+ Source/WebCore/html/HTMLDataGridColElement.h \
+ Source/WebCore/html/HTMLDataGridElement.cpp \
+ Source/WebCore/html/HTMLDataGridElement.h \
+ Source/WebCore/html/HTMLDataGridRowElement.cpp \
+ Source/WebCore/html/HTMLDataGridRowElement.h \
+ Source/WebCore/html/HTMLDataListElement.cpp \
+ Source/WebCore/html/HTMLDataListElement.h \
+ Source/WebCore/html/HTMLDetailsElement.cpp \
+ Source/WebCore/html/HTMLDetailsElement.h \
+ Source/WebCore/html/HTMLDirectoryElement.cpp \
+ Source/WebCore/html/HTMLDirectoryElement.h \
+ Source/WebCore/html/HTMLDivElement.cpp \
+ Source/WebCore/html/HTMLDivElement.h \
+ Source/WebCore/html/HTMLDListElement.cpp \
+ Source/WebCore/html/HTMLDListElement.h \
+ Source/WebCore/html/HTMLDocument.cpp \
+ Source/WebCore/html/HTMLDocument.h \
+ Source/WebCore/html/HTMLElement.cpp \
+ Source/WebCore/html/HTMLElement.h \
+ Source/WebCore/html/HTMLEmbedElement.cpp \
+ Source/WebCore/html/HTMLEmbedElement.h \
+ Source/WebCore/html/HTMLFieldSetElement.cpp \
+ Source/WebCore/html/HTMLFieldSetElement.h \
+ Source/WebCore/html/HTMLFontElement.cpp \
+ Source/WebCore/html/HTMLFontElement.h \
+ Source/WebCore/html/HTMLFormCollection.cpp \
+ Source/WebCore/html/HTMLFormCollection.h \
+ Source/WebCore/html/HTMLFormControlElement.cpp \
+ Source/WebCore/html/HTMLFormControlElement.h \
+ Source/WebCore/html/HTMLFormElement.cpp \
+ Source/WebCore/html/HTMLFormElement.h \
+ Source/WebCore/html/HTMLFrameElementBase.cpp \
+ Source/WebCore/html/HTMLFrameElementBase.h \
+ Source/WebCore/html/HTMLFrameElement.cpp \
+ Source/WebCore/html/HTMLFrameElement.h \
+ Source/WebCore/html/HTMLFrameOwnerElement.cpp \
+ Source/WebCore/html/HTMLFrameOwnerElement.h \
+ Source/WebCore/html/HTMLFrameSetElement.cpp \
+ Source/WebCore/html/HTMLFrameSetElement.h \
+ Source/WebCore/html/HTMLHeadElement.cpp \
+ Source/WebCore/html/HTMLHeadElement.h \
+ Source/WebCore/html/HTMLHeadingElement.cpp \
+ Source/WebCore/html/HTMLHeadingElement.h \
+ Source/WebCore/html/HTMLHRElement.cpp \
+ Source/WebCore/html/HTMLHRElement.h \
+ Source/WebCore/html/HTMLHtmlElement.cpp \
+ Source/WebCore/html/HTMLHtmlElement.h \
+ Source/WebCore/html/HTMLIFrameElement.cpp \
+ Source/WebCore/html/HTMLIFrameElement.h \
+ Source/WebCore/html/HTMLImageElement.cpp \
+ Source/WebCore/html/HTMLImageElement.h \
+ Source/WebCore/html/HTMLImageLoader.cpp \
+ Source/WebCore/html/HTMLImageLoader.h \
+ Source/WebCore/html/HTMLInputElement.cpp \
+ Source/WebCore/html/HTMLInputElement.h \
+ Source/WebCore/html/HTMLIsIndexElement.cpp \
+ Source/WebCore/html/HTMLIsIndexElement.h \
+ Source/WebCore/html/HTMLKeygenElement.cpp \
+ Source/WebCore/html/HTMLKeygenElement.h \
+ Source/WebCore/html/HTMLLabelElement.cpp \
+ Source/WebCore/html/HTMLLabelElement.h \
+ Source/WebCore/html/HTMLLegendElement.cpp \
+ Source/WebCore/html/HTMLLegendElement.h \
+ Source/WebCore/html/HTMLLIElement.cpp \
+ Source/WebCore/html/HTMLLIElement.h \
+ Source/WebCore/html/HTMLLinkElement.cpp \
+ Source/WebCore/html/HTMLLinkElement.h \
+ Source/WebCore/html/HTMLMapElement.cpp \
+ Source/WebCore/html/HTMLMapElement.h \
+ Source/WebCore/html/HTMLMarqueeElement.cpp \
+ Source/WebCore/html/HTMLMarqueeElement.h \
+ Source/WebCore/html/HTMLMediaElement.cpp \
+ Source/WebCore/html/HTMLMediaElement.h \
+ Source/WebCore/html/HTMLMenuElement.cpp \
+ Source/WebCore/html/HTMLMenuElement.h \
+ Source/WebCore/html/HTMLMetaElement.cpp \
+ Source/WebCore/html/HTMLMetaElement.h \
+ Source/WebCore/html/HTMLMeterElement.cpp \
+ Source/WebCore/html/HTMLMeterElement.h \
+ Source/WebCore/html/HTMLModElement.cpp \
+ Source/WebCore/html/HTMLModElement.h \
+ Source/WebCore/html/HTMLNameCollection.cpp \
+ Source/WebCore/html/HTMLNameCollection.h \
+ Source/WebCore/html/HTMLNoScriptElement.cpp \
+ Source/WebCore/html/HTMLNoScriptElement.h \
+ Source/WebCore/html/HTMLObjectElement.cpp \
+ Source/WebCore/html/HTMLObjectElement.h \
+ Source/WebCore/html/HTMLOListElement.cpp \
+ Source/WebCore/html/HTMLOListElement.h \
+ Source/WebCore/html/HTMLOptGroupElement.cpp \
+ Source/WebCore/html/HTMLOptGroupElement.h \
+ Source/WebCore/html/HTMLOptionElement.cpp \
+ Source/WebCore/html/HTMLOptionElement.h \
+ Source/WebCore/html/HTMLOptionsCollection.cpp \
+ Source/WebCore/html/HTMLOptionsCollection.h \
+ Source/WebCore/html/HTMLOutputElement.cpp \
+ Source/WebCore/html/HTMLOutputElement.h \
+ Source/WebCore/html/HTMLParagraphElement.cpp \
+ Source/WebCore/html/HTMLParagraphElement.h \
+ Source/WebCore/html/HTMLParamElement.cpp \
+ Source/WebCore/html/HTMLParamElement.h \
+ Source/WebCore/html/HTMLParserErrorCodes.cpp \
+ Source/WebCore/html/HTMLParserErrorCodes.h \
+ Source/WebCore/html/HTMLParserQuirks.h \
+ Source/WebCore/html/HTMLPlugInElement.cpp \
+ Source/WebCore/html/HTMLPlugInElement.h \
+ Source/WebCore/html/HTMLPlugInImageElement.cpp \
+ Source/WebCore/html/HTMLPlugInImageElement.h \
+ Source/WebCore/html/HTMLPreElement.cpp \
+ Source/WebCore/html/HTMLPreElement.h \
+ Source/WebCore/html/HTMLProgressElement.cpp \
+ Source/WebCore/html/HTMLProgressElement.h \
+ Source/WebCore/html/HTMLQuoteElement.cpp \
+ Source/WebCore/html/HTMLQuoteElement.h \
+ Source/WebCore/html/HTMLScriptElement.cpp \
+ Source/WebCore/html/HTMLScriptElement.h \
+ Source/WebCore/html/HTMLSelectElement.cpp \
+ Source/WebCore/html/HTMLSelectElement.h \
+ Source/WebCore/html/HTMLSourceElement.cpp \
+ Source/WebCore/html/HTMLSourceElement.h \
+ Source/WebCore/html/HTMLStyleElement.cpp \
+ Source/WebCore/html/HTMLStyleElement.h \
+ Source/WebCore/html/HTMLSummaryElement.cpp \
+ Source/WebCore/html/HTMLSummaryElement.h \
+ Source/WebCore/html/HTMLTableCaptionElement.cpp \
+ Source/WebCore/html/HTMLTableCaptionElement.h \
+ Source/WebCore/html/HTMLTableCellElement.cpp \
+ Source/WebCore/html/HTMLTableCellElement.h \
+ Source/WebCore/html/HTMLTableColElement.cpp \
+ Source/WebCore/html/HTMLTableColElement.h \
+ Source/WebCore/html/HTMLTableElement.cpp \
+ Source/WebCore/html/HTMLTableElement.h \
+ Source/WebCore/html/HTMLTablePartElement.cpp \
+ Source/WebCore/html/HTMLTablePartElement.h \
+ Source/WebCore/html/HTMLTableRowElement.cpp \
+ Source/WebCore/html/HTMLTableRowElement.h \
+ Source/WebCore/html/HTMLTableRowsCollection.cpp \
+ Source/WebCore/html/HTMLTableRowsCollection.h \
+ Source/WebCore/html/HTMLTableSectionElement.cpp \
+ Source/WebCore/html/HTMLTableSectionElement.h \
+ Source/WebCore/html/HTMLTextAreaElement.cpp \
+ Source/WebCore/html/HTMLTextAreaElement.h \
+ Source/WebCore/html/HTMLTitleElement.cpp \
+ Source/WebCore/html/HTMLTitleElement.h \
+ Source/WebCore/html/HTMLUListElement.cpp \
+ Source/WebCore/html/HTMLUListElement.h \
+ Source/WebCore/html/HTMLVideoElement.cpp \
+ Source/WebCore/html/HTMLVideoElement.h \
+ Source/WebCore/html/HTMLViewSourceDocument.cpp \
+ Source/WebCore/html/HTMLViewSourceDocument.h \
+ Source/WebCore/html/HiddenInputType.cpp \
+ Source/WebCore/html/HiddenInputType.h \
+ Source/WebCore/html/ImageData.cpp \
+ Source/WebCore/html/ImageData.h \
+ Source/WebCore/html/ImageDocument.cpp \
+ Source/WebCore/html/ImageDocument.h \
+ Source/WebCore/html/ImageInputType.cpp \
+ Source/WebCore/html/ImageInputType.h \
+ Source/WebCore/html/ImageResizerThread.cpp \
+ Source/WebCore/html/ImageResizerThread.h \
+ Source/WebCore/html/InputType.cpp \
+ Source/WebCore/html/InputType.h \
+ Source/WebCore/html/IsIndexInputType.cpp \
+ Source/WebCore/html/IsIndexInputType.h \
+ Source/WebCore/html/LabelsNodeList.cpp \
+ Source/WebCore/html/LabelsNodeList.h \
+ Source/WebCore/html/MediaDocument.cpp \
+ Source/WebCore/html/MediaDocument.h \
+ Source/WebCore/html/MediaError.h \
+ Source/WebCore/html/MonthInputType.cpp \
+ Source/WebCore/html/MonthInputType.h \
+ Source/WebCore/html/NumberInputType.cpp \
+ Source/WebCore/html/NumberInputType.h \
+ Source/WebCore/html/parser/CSSPreloadScanner.cpp \
+ Source/WebCore/html/parser/CSSPreloadScanner.h \
+ Source/WebCore/html/parser/HTMLConstructionSite.cpp \
+ Source/WebCore/html/parser/HTMLConstructionSite.h \
+ Source/WebCore/html/parser/HTMLDocumentParser.cpp \
+ Source/WebCore/html/parser/HTMLDocumentParser.h \
+ Source/WebCore/html/parser/HTMLElementStack.cpp \
+ Source/WebCore/html/parser/HTMLElementStack.h \
+ Source/WebCore/html/parser/HTMLEntityParser.cpp \
+ Source/WebCore/html/parser/HTMLEntityParser.h \
+ Source/WebCore/html/parser/HTMLEntitySearch.cpp \
+ Source/WebCore/html/parser/HTMLEntitySearch.h \
+ Source/WebCore/html/parser/HTMLEntityTable.h \
+ Source/WebCore/html/parser/HTMLFormattingElementList.cpp \
+ Source/WebCore/html/parser/HTMLFormattingElementList.h \
+ Source/WebCore/html/parser/HTMLInputStream.h \
+ Source/WebCore/html/parser/HTMLMetaCharsetParser.cpp \
+ Source/WebCore/html/parser/HTMLMetaCharsetParser.h \
+ Source/WebCore/html/parser/HTMLParserIdioms.cpp \
+ Source/WebCore/html/parser/HTMLParserIdioms.h \
+ Source/WebCore/html/parser/HTMLParserScheduler.cpp \
+ Source/WebCore/html/parser/HTMLParserScheduler.h \
+ Source/WebCore/html/parser/HTMLPreloadScanner.cpp \
+ Source/WebCore/html/parser/HTMLPreloadScanner.h \
+ Source/WebCore/html/parser/HTMLScriptRunner.cpp \
+ Source/WebCore/html/parser/HTMLScriptRunner.h \
+ Source/WebCore/html/parser/HTMLScriptRunnerHost.h \
+ Source/WebCore/html/parser/HTMLSourceTracker.cpp \
+ Source/WebCore/html/parser/HTMLSourceTracker.h \
+ Source/WebCore/html/parser/HTMLToken.h \
+ Source/WebCore/html/parser/HTMLTokenizer.cpp \
+ Source/WebCore/html/parser/HTMLTokenizer.h \
+ Source/WebCore/html/parser/HTMLTreeBuilder.cpp \
+ Source/WebCore/html/parser/HTMLTreeBuilder.h \
+ Source/WebCore/html/parser/HTMLViewSourceParser.cpp \
+ Source/WebCore/html/parser/HTMLViewSourceParser.h \
+ Source/WebCore/html/parser/NestingLevelIncrementer.h \
+ Source/WebCore/html/parser/TextDocumentParser.cpp \
+ Source/WebCore/html/parser/TextDocumentParser.h \
+ Source/WebCore/html/parser/TextViewSourceParser.cpp \
+ Source/WebCore/html/parser/TextViewSourceParser.h \
+ Source/WebCore/html/parser/XSSFilter.cpp \
+ Source/WebCore/html/parser/XSSFilter.h \
+ Source/WebCore/html/shadow/MediaControls.cpp \
+ Source/WebCore/html/shadow/MediaControls.h \
+ Source/WebCore/html/shadow/ProgressBarValueElement.h \
+ Source/WebCore/html/shadow/SliderThumbElement.cpp \
+ Source/WebCore/html/shadow/SliderThumbElement.h \
+ Source/WebCore/html/shadow/TextControlInnerElements.cpp \
+ Source/WebCore/html/shadow/TextControlInnerElements.h \
+ Source/WebCore/html/PasswordInputType.cpp \
+ Source/WebCore/html/PasswordInputType.h \
+ Source/WebCore/html/PluginDocument.cpp \
+ Source/WebCore/html/PluginDocument.h \
+ Source/WebCore/html/RadioInputType.cpp \
+ Source/WebCore/html/RadioInputType.h \
+ Source/WebCore/html/RangeInputType.cpp \
+ Source/WebCore/html/RangeInputType.h \
+ Source/WebCore/html/ResetInputType.cpp \
+ Source/WebCore/html/ResetInputType.h \
+ Source/WebCore/html/SearchInputType.cpp \
+ Source/WebCore/html/SearchInputType.h \
+ Source/WebCore/html/StepRange.cpp \
+ Source/WebCore/html/StepRange.h \
+ Source/WebCore/html/SubmitInputType.cpp \
+ Source/WebCore/html/SubmitInputType.h \
+ Source/WebCore/html/TelephoneInputType.cpp \
+ Source/WebCore/html/TelephoneInputType.h \
+ Source/WebCore/html/TextDocument.cpp \
+ Source/WebCore/html/TextDocument.h \
+ Source/WebCore/html/TextFieldInputType.cpp \
+ Source/WebCore/html/TextFieldInputType.h \
+ Source/WebCore/html/TextInputType.cpp \
+ Source/WebCore/html/TextInputType.h \
+ Source/WebCore/html/TextMetrics.h \
+ Source/WebCore/html/TimeInputType.cpp \
+ Source/WebCore/html/TimeInputType.h \
+ Source/WebCore/html/TimeRanges.cpp \
+ Source/WebCore/html/TimeRanges.h \
+ Source/WebCore/html/URLInputType.cpp \
+ Source/WebCore/html/URLInputType.h \
+ Source/WebCore/html/ValidationMessage.cpp \
+ Source/WebCore/html/ValidationMessage.h \
+ Source/WebCore/html/ValidityState.cpp \
+ Source/WebCore/html/ValidityState.h \
+ Source/WebCore/html/VoidCallback.h \
+ Source/WebCore/html/WeekInputType.cpp \
+ Source/WebCore/html/WeekInputType.h \
+ Source/WebCore/icu/unicode/parseerr.h \
+ Source/WebCore/icu/unicode/platform.h \
+ Source/WebCore/icu/unicode/putil.h \
+ Source/WebCore/icu/unicode/ubrk.h \
+ Source/WebCore/icu/unicode/uchar.h \
+ Source/WebCore/icu/unicode/ucnv_cb.h \
+ Source/WebCore/icu/unicode/ucnv_err.h \
+ Source/WebCore/icu/unicode/ucnv.h \
+ Source/WebCore/icu/unicode/ucol.h \
+ Source/WebCore/icu/unicode/uconfig.h \
+ Source/WebCore/icu/unicode/uenum.h \
+ Source/WebCore/icu/unicode/uidna.h \
+ Source/WebCore/icu/unicode/uiter.h \
+ Source/WebCore/icu/unicode/uloc.h \
+ Source/WebCore/icu/unicode/umachine.h \
+ Source/WebCore/icu/unicode/unorm.h \
+ Source/WebCore/icu/unicode/urename.h \
+ Source/WebCore/icu/unicode/uscript.h \
+ Source/WebCore/icu/unicode/uset.h \
+ Source/WebCore/icu/unicode/ushape.h \
+ Source/WebCore/icu/unicode/ustring.h \
+ Source/WebCore/icu/unicode/utf16.h \
+ Source/WebCore/icu/unicode/utf8.h \
+ Source/WebCore/icu/unicode/utf.h \
+ Source/WebCore/icu/unicode/utf_old.h \
+ Source/WebCore/icu/unicode/utypes.h \
+ Source/WebCore/icu/unicode/uversion.h \
+ Source/WebCore/inspector/ConsoleMessage.cpp \
+ Source/WebCore/inspector/ConsoleMessage.h \
+ Source/WebCore/inspector/InjectedScript.cpp \
+ Source/WebCore/inspector/InjectedScript.h \
+ Source/WebCore/inspector/InjectedScriptHost.cpp \
+ Source/WebCore/inspector/InjectedScriptHost.h \
+ Source/WebCore/inspector/InspectorAgent.cpp \
+ Source/WebCore/inspector/InspectorAgent.h \
+ Source/WebCore/inspector/InspectorApplicationCacheAgent.cpp \
+ Source/WebCore/inspector/InspectorApplicationCacheAgent.h \
+ Source/WebCore/inspector/InspectorBrowserDebuggerAgent.cpp \
+ Source/WebCore/inspector/InspectorBrowserDebuggerAgent.h \
+ Source/WebCore/inspector/InspectorClient.cpp \
+ Source/WebCore/inspector/InspectorClient.h \
+ Source/WebCore/inspector/InspectorController.cpp \
+ Source/WebCore/inspector/InspectorController.h \
+ Source/WebCore/inspector/InspectorConsoleAgent.cpp \
+ Source/WebCore/inspector/InspectorConsoleAgent.h \
+ Source/WebCore/inspector/InspectorConsoleInstrumentation.h \
+ Source/WebCore/inspector/InspectorCSSAgent.cpp \
+ Source/WebCore/inspector/InspectorCSSAgent.h \
+ Source/WebCore/inspector/InspectorDatabaseAgent.cpp \
+ Source/WebCore/inspector/InspectorDatabaseAgent.h \
+ Source/WebCore/inspector/InspectorDatabaseInstrumentation.h \
+ Source/WebCore/inspector/InspectorDatabaseResource.cpp \
+ Source/WebCore/inspector/InspectorDatabaseResource.h \
+ Source/WebCore/inspector/InspectorDebuggerAgent.cpp \
+ Source/WebCore/inspector/InspectorDebuggerAgent.h \
+ Source/WebCore/inspector/InspectorDOMAgent.cpp \
+ Source/WebCore/inspector/InspectorDOMAgent.h \
+ Source/WebCore/inspector/InspectorDOMStorageAgent.cpp \
+ Source/WebCore/inspector/InspectorDOMStorageAgent.h \
+ Source/WebCore/inspector/InspectorDOMStorageResource.cpp \
+ Source/WebCore/inspector/InspectorDOMStorageResource.h \
+ Source/WebCore/inspector/InspectorFrontendClient.h \
+ Source/WebCore/inspector/InspectorFrontendClientLocal.cpp \
+ Source/WebCore/inspector/InspectorFrontendClientLocal.h \
+ Source/WebCore/inspector/InspectorFrontendHost.cpp \
+ Source/WebCore/inspector/InspectorFrontendHost.h \
+ Source/WebCore/inspector/InspectorInstrumentation.cpp \
+ Source/WebCore/inspector/InspectorInstrumentation.h \
+ Source/WebCore/inspector/InspectorProfilerAgent.cpp \
+ Source/WebCore/inspector/InspectorProfilerAgent.h \
+ Source/WebCore/inspector/InspectorResourceAgent.cpp \
+ Source/WebCore/inspector/InspectorResourceAgent.h \
+ Source/WebCore/inspector/InspectorRuntimeAgent.cpp \
+ Source/WebCore/inspector/InspectorRuntimeAgent.h \
+ Source/WebCore/inspector/InspectorState.cpp \
+ Source/WebCore/inspector/InspectorState.h \
+ Source/WebCore/inspector/InspectorStyleSheet.cpp \
+ Source/WebCore/inspector/InspectorStyleSheet.h \
+ Source/WebCore/inspector/InspectorTimelineAgent.cpp \
+ Source/WebCore/inspector/InspectorTimelineAgent.h \
+ Source/WebCore/inspector/InspectorValues.cpp \
+ Source/WebCore/inspector/InspectorValues.h \
+ Source/WebCore/inspector/InspectorWorkerResource.h \
+ Source/WebCore/inspector/InstrumentingAgents.h \
+ Source/WebCore/inspector/ScriptArguments.cpp \
+ Source/WebCore/inspector/ScriptArguments.h \
+ Source/WebCore/inspector/ScriptBreakpoint.h \
+ Source/WebCore/inspector/ScriptCallFrame.cpp \
+ Source/WebCore/inspector/ScriptCallFrame.h \
+ Source/WebCore/inspector/ScriptCallStack.cpp \
+ Source/WebCore/inspector/ScriptCallStack.h \
+ Source/WebCore/inspector/ScriptDebugListener.h \
+ Source/WebCore/inspector/ScriptGCEventListener.h \
+ Source/WebCore/inspector/TimelineRecordFactory.cpp \
+ Source/WebCore/inspector/TimelineRecordFactory.h \
+ Source/WebCore/loader/appcache/ApplicationCache.cpp \
+ Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp \
+ Source/WebCore/loader/appcache/ApplicationCacheGroup.h \
+ Source/WebCore/loader/appcache/ApplicationCache.h \
+ Source/WebCore/loader/appcache/ApplicationCacheHost.cpp \
+ Source/WebCore/loader/appcache/ApplicationCacheHost.h \
+ Source/WebCore/loader/appcache/ApplicationCacheResource.cpp \
+ Source/WebCore/loader/appcache/ApplicationCacheResource.h \
+ Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp \
+ Source/WebCore/loader/appcache/ApplicationCacheStorage.h \
+ Source/WebCore/loader/appcache/DOMApplicationCache.cpp \
+ Source/WebCore/loader/appcache/DOMApplicationCache.h \
+ Source/WebCore/loader/appcache/ManifestParser.cpp \
+ Source/WebCore/loader/appcache/ManifestParser.h \
+ Source/WebCore/loader/archive/ArchiveFactory.cpp \
+ Source/WebCore/loader/archive/ArchiveFactory.h \
+ Source/WebCore/loader/archive/Archive.h \
+ Source/WebCore/loader/archive/ArchiveResourceCollection.cpp \
+ Source/WebCore/loader/archive/ArchiveResourceCollection.h \
+ Source/WebCore/loader/archive/ArchiveResource.cpp \
+ Source/WebCore/loader/archive/ArchiveResource.h \
+ Source/WebCore/loader/cache/MemoryCache.cpp \
+ Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp \
+ Source/WebCore/loader/cache/CachedCSSStyleSheet.h \
+ Source/WebCore/loader/cache/CachedFont.cpp \
+ Source/WebCore/loader/cache/CachedFont.h \
+ Source/WebCore/loader/cache/CachedImage.cpp \
+ Source/WebCore/loader/cache/CachedImage.h \
+ Source/WebCore/loader/cache/CachedResourceClient.h \
+ Source/WebCore/loader/cache/CachedResourceClientWalker.cpp \
+ Source/WebCore/loader/cache/CachedResourceClientWalker.h \
+ Source/WebCore/loader/cache/CachedResource.cpp \
+ Source/WebCore/loader/cache/CachedResource.h \
+ Source/WebCore/loader/cache/CachedResourceHandle.cpp \
+ Source/WebCore/loader/cache/CachedResourceHandle.h \
+ Source/WebCore/loader/cache/CachedResourceLoader.cpp \
+ Source/WebCore/loader/cache/CachedResourceLoader.h \
+ Source/WebCore/loader/cache/CachedResourceRequest.cpp \
+ Source/WebCore/loader/cache/CachedResourceRequest.h \
+ Source/WebCore/loader/cache/CachedScript.cpp \
+ Source/WebCore/loader/cache/CachedScript.h \
+ Source/WebCore/loader/cache/CachedXSLStyleSheet.cpp \
+ Source/WebCore/loader/cache/CachedXSLStyleSheet.h \
+ Source/WebCore/loader/cache/MemoryCache.h \
+ Source/WebCore/loader/cache/CachePolicy.h \
+ Source/WebCore/loader/CachedMetadata.h \
+ Source/WebCore/loader/CrossOriginAccessControl.cpp \
+ Source/WebCore/loader/CrossOriginAccessControl.h \
+ Source/WebCore/loader/CrossOriginPreflightResultCache.cpp \
+ Source/WebCore/loader/CrossOriginPreflightResultCache.h \
+ Source/WebCore/loader/DocumentLoader.cpp \
+ Source/WebCore/loader/DocumentLoader.h \
+ Source/WebCore/loader/DocumentLoadTiming.h \
+ Source/WebCore/loader/DocumentThreadableLoader.cpp \
+ Source/WebCore/loader/DocumentThreadableLoader.h \
+ Source/WebCore/loader/DocumentThreadableLoaderClient.h \
+ Source/WebCore/loader/DocumentWriter.cpp \
+ Source/WebCore/loader/DocumentWriter.h \
+ Source/WebCore/loader/EmptyClients.h \
+ Source/WebCore/loader/FormState.cpp \
+ Source/WebCore/loader/FormState.h \
+ Source/WebCore/loader/FormSubmission.cpp \
+ Source/WebCore/loader/FormSubmission.h \
+ Source/WebCore/loader/FrameLoaderClient.h \
+ Source/WebCore/loader/FrameLoader.cpp \
+ Source/WebCore/loader/FrameLoader.h \
+ Source/WebCore/loader/FrameLoaderStateMachine.cpp \
+ Source/WebCore/loader/FrameLoaderStateMachine.h \
+ Source/WebCore/loader/FrameLoaderTypes.h \
+ Source/WebCore/loader/FrameNetworkingContext.h \
+ Source/WebCore/loader/FTPDirectoryParser.cpp \
+ Source/WebCore/loader/FTPDirectoryParser.h \
+ Source/WebCore/loader/HistoryController.cpp \
+ Source/WebCore/loader/HistoryController.h \
+ Source/WebCore/loader/icon/IconDatabaseClient.h \
+ Source/WebCore/loader/icon/IconDatabase.cpp \
+ Source/WebCore/loader/icon/IconDatabase.h \
+ Source/WebCore/loader/icon/IconDatabaseNone.cpp \
+ Source/WebCore/loader/icon/IconLoader.cpp \
+ Source/WebCore/loader/icon/IconLoader.h \
+ Source/WebCore/loader/icon/IconRecord.cpp \
+ Source/WebCore/loader/icon/IconRecord.h \
+ Source/WebCore/loader/icon/PageURLRecord.cpp \
+ Source/WebCore/loader/icon/PageURLRecord.h \
+ Source/WebCore/loader/ImageLoader.cpp \
+ Source/WebCore/loader/ImageLoader.h \
+ Source/WebCore/loader/MainResourceLoader.cpp \
+ Source/WebCore/loader/MainResourceLoader.h \
+ Source/WebCore/loader/NavigationAction.cpp \
+ Source/WebCore/loader/NavigationAction.h \
+ Source/WebCore/loader/NetscapePlugInStreamLoader.cpp \
+ Source/WebCore/loader/NetscapePlugInStreamLoader.h \
+ Source/WebCore/loader/PingLoader.cpp \
+ Source/WebCore/loader/PingLoader.h \
+ Source/WebCore/loader/PlaceholderDocument.cpp \
+ Source/WebCore/loader/PlaceholderDocument.h \
+ Source/WebCore/loader/PolicyCallback.cpp \
+ Source/WebCore/loader/PolicyCallback.h \
+ Source/WebCore/loader/PolicyChecker.cpp \
+ Source/WebCore/loader/PolicyChecker.h \
+ Source/WebCore/loader/ProgressTracker.cpp \
+ Source/WebCore/loader/ProgressTracker.h \
+ Source/WebCore/loader/NavigationScheduler.cpp \
+ Source/WebCore/loader/NavigationScheduler.h \
+ Source/WebCore/loader/ResourceLoader.cpp \
+ Source/WebCore/loader/ResourceLoader.h \
+ Source/WebCore/loader/ResourceLoadNotifier.cpp \
+ Source/WebCore/loader/ResourceLoadNotifier.h \
+ Source/WebCore/loader/ResourceLoadScheduler.cpp \
+ Source/WebCore/loader/ResourceLoadScheduler.h \
+ Source/WebCore/loader/SinkDocument.cpp \
+ Source/WebCore/loader/SinkDocument.h \
+ Source/WebCore/loader/SubframeLoader.cpp \
+ Source/WebCore/loader/SubframeLoader.h \
+ Source/WebCore/loader/SubresourceLoaderClient.h \
+ Source/WebCore/loader/SubresourceLoader.cpp \
+ Source/WebCore/loader/SubresourceLoader.h \
+ Source/WebCore/loader/SubstituteData.h \
+ Source/WebCore/loader/SubstituteResource.h \
+ Source/WebCore/loader/TextResourceDecoder.cpp \
+ Source/WebCore/loader/TextResourceDecoder.h \
+ Source/WebCore/loader/ThreadableLoaderClient.h \
+ Source/WebCore/loader/ThreadableLoaderClientWrapper.h \
+ Source/WebCore/loader/ThreadableLoader.cpp \
+ Source/WebCore/loader/ThreadableLoader.h \
+ Source/WebCore/loader/WorkerThreadableLoader.cpp \
+ Source/WebCore/loader/WorkerThreadableLoader.h \
+ Source/WebCore/mathml/MathMLElement.cpp \
+ Source/WebCore/mathml/MathMLElement.h \
+ Source/WebCore/mathml/MathMLInlineContainerElement.cpp \
+ Source/WebCore/mathml/MathMLInlineContainerElement.h \
+ Source/WebCore/mathml/MathMLMathElement.cpp \
+ Source/WebCore/mathml/MathMLMathElement.h \
+ Source/WebCore/mathml/MathMLTextElement.cpp \
+ Source/WebCore/mathml/MathMLTextElement.h \
+ Source/WebCore/notifications/NotificationCenter.cpp \
+ Source/WebCore/notifications/NotificationCenter.h \
+ Source/WebCore/notifications/NotificationContents.h \
+ Source/WebCore/notifications/Notification.cpp \
+ Source/WebCore/notifications/Notification.h \
+ Source/WebCore/notifications/NotificationPresenter.h \
+ Source/WebCore/page/animation/AnimationBase.cpp \
+ Source/WebCore/page/animation/AnimationBase.h \
+ Source/WebCore/page/animation/AnimationController.cpp \
+ Source/WebCore/page/animation/AnimationController.h \
+ Source/WebCore/page/animation/AnimationControllerPrivate.h \
+ Source/WebCore/page/animation/CompositeAnimation.cpp \
+ Source/WebCore/page/animation/CompositeAnimation.h \
+ Source/WebCore/page/animation/ImplicitAnimation.cpp \
+ Source/WebCore/page/animation/ImplicitAnimation.h \
+ Source/WebCore/page/animation/KeyframeAnimation.cpp \
+ Source/WebCore/page/animation/KeyframeAnimation.h \
+ Source/WebCore/page/BarInfo.cpp \
+ Source/WebCore/page/BarInfo.h \
+ Source/WebCore/page/Chrome.cpp \
+ Source/WebCore/page/Chrome.h \
+ Source/WebCore/page/ChromeClient.h \
+ Source/WebCore/page/Console.cpp \
+ Source/WebCore/page/Console.h \
+ Source/WebCore/page/ContentSecurityPolicy.cpp \
+ Source/WebCore/page/ContentSecurityPolicy.h \
+ Source/WebCore/page/ContextMenuClient.h \
+ Source/WebCore/page/ContextMenuController.cpp \
+ Source/WebCore/page/ContextMenuController.h \
+ Source/WebCore/page/ContextMenuProvider.h \
+ Source/WebCore/page/Coordinates.h \
+ Source/WebCore/page/Crypto.cpp \
+ Source/WebCore/page/Crypto.h \
+ Source/WebCore/page/DOMSelection.cpp \
+ Source/WebCore/page/DOMSelection.h \
+ Source/WebCore/page/DOMTimer.cpp \
+ Source/WebCore/page/DOMTimer.h \
+ Source/WebCore/page/DOMWindow.cpp \
+ Source/WebCore/page/DOMWindow.h \
+ Source/WebCore/page/DragActions.h \
+ Source/WebCore/page/DragClient.h \
+ Source/WebCore/page/DragController.cpp \
+ Source/WebCore/page/DragController.h \
+ Source/WebCore/page/EditorClient.h \
+ Source/WebCore/page/EventHandler.cpp \
+ Source/WebCore/page/EventHandler.h \
+ Source/WebCore/page/EventSource.cpp \
+ Source/WebCore/page/EventSource.h \
+ Source/WebCore/page/FocusController.cpp \
+ Source/WebCore/page/FocusController.h \
+ Source/WebCore/page/FocusDirection.h \
+ Source/WebCore/page/Frame.cpp \
+ Source/WebCore/page/Frame.h \
+ Source/WebCore/page/FrameLoadRequest.h \
+ Source/WebCore/page/FrameTree.cpp \
+ Source/WebCore/page/FrameTree.h \
+ Source/WebCore/page/FrameView.cpp \
+ Source/WebCore/page/FrameView.h \
+ Source/WebCore/page/Geolocation.cpp \
+ Source/WebCore/page/Geolocation.h \
+ Source/WebCore/page/GeolocationClient.h \
+ Source/WebCore/page/GeolocationController.cpp \
+ Source/WebCore/page/GeolocationController.h \
+ Source/WebCore/page/GeolocationError.h \
+ Source/WebCore/page/GeolocationPosition.h \
+ Source/WebCore/page/GeolocationPositionCache.cpp \
+ Source/WebCore/page/GeolocationPositionCache.h \
+ Source/WebCore/page/Geoposition.h \
+ Source/WebCore/page/GroupSettings.cpp \
+ Source/WebCore/page/GroupSettings.h \
+ Source/WebCore/page/HaltablePlugin.h \
+ Source/WebCore/page/History.cpp \
+ Source/WebCore/page/History.h \
+ Source/WebCore/page/Location.cpp \
+ Source/WebCore/page/Location.h \
+ Source/WebCore/page/MediaCanStartListener.h \
+ Source/WebCore/page/MemoryInfo.cpp \
+ Source/WebCore/page/MemoryInfo.h \
+ Source/WebCore/page/MouseEventWithHitTestResults.cpp \
+ Source/WebCore/page/MouseEventWithHitTestResults.h \
+ Source/WebCore/page/Navigator.cpp \
+ Source/WebCore/page/Navigator.h \
+ Source/WebCore/page/NavigatorBase.cpp \
+ Source/WebCore/page/NavigatorBase.h \
+ Source/WebCore/page/OriginAccessEntry.cpp \
+ Source/WebCore/page/OriginAccessEntry.h \
+ Source/WebCore/page/Page.cpp \
+ Source/WebCore/page/Page.h \
+ Source/WebCore/page/PageGroup.cpp \
+ Source/WebCore/page/PageGroup.h \
+ Source/WebCore/page/PageGroupLoadDeferrer.cpp \
+ Source/WebCore/page/PageGroupLoadDeferrer.h \
+ Source/WebCore/page/Performance.cpp \
+ Source/WebCore/page/Performance.h \
+ Source/WebCore/page/PerformanceNavigation.cpp \
+ Source/WebCore/page/PerformanceNavigation.h \
+ Source/WebCore/page/PerformanceTiming.cpp \
+ Source/WebCore/page/PerformanceTiming.h \
+ Source/WebCore/page/PluginHalter.cpp \
+ Source/WebCore/page/PluginHalter.h \
+ Source/WebCore/page/PluginHalterClient.h \
+ Source/WebCore/page/PositionCallback.h \
+ Source/WebCore/page/PositionError.h \
+ Source/WebCore/page/PositionErrorCallback.h \
+ Source/WebCore/page/PositionOptions.h \
+ Source/WebCore/page/PrintContext.cpp \
+ Source/WebCore/page/PrintContext.h \
+ Source/WebCore/page/Screen.cpp \
+ Source/WebCore/page/Screen.h \
+ Source/WebCore/page/SecurityOrigin.cpp \
+ Source/WebCore/page/SecurityOrigin.h \
+ Source/WebCore/page/SecurityOriginHash.h \
+ Source/WebCore/page/Settings.cpp \
+ Source/WebCore/page/Settings.h \
+ Source/WebCore/page/SpatialNavigation.cpp \
+ Source/WebCore/page/SpatialNavigation.h \
+ Source/WebCore/page/SpeechInputClient.h \
+ Source/WebCore/page/SpeechInputEvent.cpp \
+ Source/WebCore/page/SpeechInputEvent.h \
+ Source/WebCore/page/SpeechInput.cpp \
+ Source/WebCore/page/SpeechInput.h \
+ Source/WebCore/page/SpeechInputListener.h \
+ Source/WebCore/page/SpeechInputResult.cpp \
+ Source/WebCore/page/SpeechInputResult.h \
+ Source/WebCore/page/SpeechInputResultList.cpp \
+ Source/WebCore/page/SpeechInputResultList.h \
+ Source/WebCore/page/SuspendableTimer.cpp \
+ Source/WebCore/page/SuspendableTimer.h \
+ Source/WebCore/page/UserContentTypes.h \
+ Source/WebCore/page/UserContentURLPattern.cpp \
+ Source/WebCore/page/UserContentURLPattern.h \
+ Source/WebCore/page/UserScript.h \
+ Source/WebCore/page/UserScriptTypes.h \
+ Source/WebCore/page/UserStyleSheet.h \
+ Source/WebCore/page/UserStyleSheetTypes.h \
+ Source/WebCore/page/WebKitPoint.h \
+ Source/WebCore/page/WindowFeatures.cpp \
+ Source/WebCore/page/WindowFeatures.h \
+ Source/WebCore/page/WorkerNavigator.cpp \
+ Source/WebCore/page/WorkerNavigator.h \
+ Source/WebCore/platform/animation/Animation.cpp \
+ Source/WebCore/platform/animation/Animation.h \
+ Source/WebCore/platform/animation/AnimationList.cpp \
+ Source/WebCore/platform/animation/AnimationList.h \
+ Source/WebCore/platform/animation/TimingFunction.h \
+ Source/WebCore/platform/Arena.cpp \
+ Source/WebCore/platform/Arena.h \
+ Source/WebCore/platform/AsyncFileStream.h \
+ Source/WebCore/platform/AsyncFileSystem.cpp \
+ Source/WebCore/platform/AsyncFileSystem.h \
+ Source/WebCore/platform/AutodrainedPool.h \
+ Source/WebCore/platform/ContentType.cpp \
+ Source/WebCore/platform/ContentType.h \
+ Source/WebCore/platform/ContextMenu.h \
+ Source/WebCore/platform/ContextMenuItem.h \
+ Source/WebCore/platform/Cookie.h \
+ Source/WebCore/platform/CookieJar.h \
+ Source/WebCore/platform/CrossThreadCopier.cpp \
+ Source/WebCore/platform/CrossThreadCopier.h \
+ Source/WebCore/platform/Cursor.cpp \
+ Source/WebCore/platform/Cursor.h \
+ Source/WebCore/platform/DragData.cpp \
+ Source/WebCore/platform/DragData.h \
+ Source/WebCore/platform/DragImage.cpp \
+ Source/WebCore/platform/DragImage.h \
+ Source/WebCore/platform/EventLoop.h \
+ Source/WebCore/platform/FileChooser.cpp \
+ Source/WebCore/platform/FileChooser.h \
+ Source/WebCore/platform/FileMetadata.h \
+ Source/WebCore/platform/FileStreamClient.h \
+ Source/WebCore/platform/FileStream.cpp \
+ Source/WebCore/platform/FileStream.h \
+ Source/WebCore/platform/FileSystem.cpp \
+ Source/WebCore/platform/FileSystem.h \
+ Source/WebCore/platform/FloatConversion.h \
+ Source/WebCore/platform/GeolocationService.cpp \
+ Source/WebCore/platform/GeolocationService.h \
+ Source/WebCore/platform/HashTools.h \
+ Source/WebCore/platform/graphics/BitmapImage.cpp \
+ Source/WebCore/platform/graphics/BitmapImage.h \
+ Source/WebCore/platform/graphics/Color.cpp \
+ Source/WebCore/platform/graphics/Color.h \
+ Source/WebCore/platform/graphics/ColorSpace.h \
+ Source/WebCore/platform/graphics/ContextShadow.cpp \
+ Source/WebCore/platform/graphics/ContextShadow.h \
+ Source/WebCore/platform/graphics/DashArray.h \
+ Source/WebCore/platform/graphics/filters/DistantLightSource.cpp \
+ Source/WebCore/platform/graphics/filters/DistantLightSource.h \
+ Source/WebCore/platform/graphics/filters/FEBlend.cpp \
+ Source/WebCore/platform/graphics/filters/FEBlend.h \
+ Source/WebCore/platform/graphics/filters/FEColorMatrix.cpp \
+ Source/WebCore/platform/graphics/filters/FEColorMatrix.h \
+ Source/WebCore/platform/graphics/filters/FEComponentTransfer.cpp \
+ Source/WebCore/platform/graphics/filters/FEComponentTransfer.h \
+ Source/WebCore/platform/graphics/filters/FEComposite.cpp \
+ Source/WebCore/platform/graphics/filters/FEComposite.h \
+ Source/WebCore/platform/graphics/filters/FEConvolveMatrix.cpp \
+ Source/WebCore/platform/graphics/filters/FEConvolveMatrix.h \
+ Source/WebCore/platform/graphics/filters/FEDiffuseLighting.cpp \
+ Source/WebCore/platform/graphics/filters/FEDiffuseLighting.h \
+ Source/WebCore/platform/graphics/filters/FEDisplacementMap.cpp \
+ Source/WebCore/platform/graphics/filters/FEDisplacementMap.h \
+ Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp \
+ Source/WebCore/platform/graphics/filters/FEGaussianBlur.h \
+ Source/WebCore/platform/graphics/filters/FEFlood.cpp \
+ Source/WebCore/platform/graphics/filters/FEFlood.h \
+ Source/WebCore/platform/graphics/filters/FELighting.cpp \
+ Source/WebCore/platform/graphics/filters/FELighting.h \
+ Source/WebCore/platform/graphics/filters/FEMerge.cpp \
+ Source/WebCore/platform/graphics/filters/FEMerge.h \
+ Source/WebCore/platform/graphics/filters/FEMorphology.cpp \
+ Source/WebCore/platform/graphics/filters/FEMorphology.h \
+ Source/WebCore/platform/graphics/filters/FEOffset.cpp \
+ Source/WebCore/platform/graphics/filters/FEOffset.h \
+ Source/WebCore/platform/graphics/filters/FESpecularLighting.cpp \
+ Source/WebCore/platform/graphics/filters/FESpecularLighting.h \
+ Source/WebCore/platform/graphics/filters/FETile.cpp \
+ Source/WebCore/platform/graphics/filters/FETile.h \
+ Source/WebCore/platform/graphics/filters/FETurbulence.cpp \
+ Source/WebCore/platform/graphics/filters/FETurbulence.h \
+ Source/WebCore/platform/graphics/filters/FilterEffect.cpp \
+ Source/WebCore/platform/graphics/filters/FilterEffect.h \
+ Source/WebCore/platform/graphics/filters/Filter.h \
+ Source/WebCore/platform/graphics/filters/LightSource.cpp \
+ Source/WebCore/platform/graphics/filters/LightSource.h \
+ Source/WebCore/platform/graphics/filters/PointLightSource.cpp \
+ Source/WebCore/platform/graphics/filters/PointLightSource.h \
+ Source/WebCore/platform/graphics/filters/SourceAlpha.cpp \
+ Source/WebCore/platform/graphics/filters/SourceAlpha.h \
+ Source/WebCore/platform/graphics/filters/SourceGraphic.cpp \
+ Source/WebCore/platform/graphics/filters/SourceGraphic.h \
+ Source/WebCore/platform/graphics/filters/SpotLightSource.cpp \
+ Source/WebCore/platform/graphics/filters/SpotLightSource.h \
+ Source/WebCore/platform/graphics/FloatPoint3D.cpp \
+ Source/WebCore/platform/graphics/FloatPoint3D.h \
+ Source/WebCore/platform/graphics/FloatPoint.cpp \
+ Source/WebCore/platform/graphics/FloatPoint.h \
+ Source/WebCore/platform/graphics/FloatQuad.cpp \
+ Source/WebCore/platform/graphics/FloatQuad.h \
+ Source/WebCore/platform/graphics/FloatRect.cpp \
+ Source/WebCore/platform/graphics/FloatRect.h \
+ Source/WebCore/platform/graphics/FloatSize.cpp \
+ Source/WebCore/platform/graphics/FloatSize.h \
+ Source/WebCore/platform/graphics/FontBaseline.h \
+ Source/WebCore/platform/graphics/FontCache.cpp \
+ Source/WebCore/platform/graphics/FontCache.h \
+ Source/WebCore/platform/graphics/Font.cpp \
+ Source/WebCore/platform/graphics/FontData.cpp \
+ Source/WebCore/platform/graphics/FontData.h \
+ Source/WebCore/platform/graphics/FontDescription.cpp \
+ Source/WebCore/platform/graphics/FontDescription.h \
+ Source/WebCore/platform/graphics/FontFallbackList.cpp \
+ Source/WebCore/platform/graphics/FontFallbackList.h \
+ Source/WebCore/platform/graphics/FontFamily.cpp \
+ Source/WebCore/platform/graphics/FontFamily.h \
+ Source/WebCore/platform/graphics/FontFastPath.cpp \
+ Source/WebCore/platform/graphics/Font.h \
+ Source/WebCore/platform/graphics/FontMetrics.h \
+ Source/WebCore/platform/graphics/FontOrientation.h \
+ Source/WebCore/platform/graphics/FontRenderingMode.h \
+ Source/WebCore/platform/graphics/FontSelector.h \
+ Source/WebCore/platform/graphics/FontSmoothingMode.h \
+ Source/WebCore/platform/graphics/FontTraitsMask.h \
+ Source/WebCore/platform/graphics/FontWidthVariant.h \
+ Source/WebCore/platform/graphics/GeneratedImage.cpp \
+ Source/WebCore/platform/graphics/GeneratedImage.h \
+ Source/WebCore/platform/graphics/Generator.h \
+ Source/WebCore/platform/graphics/GlyphBuffer.h \
+ Source/WebCore/platform/graphics/GlyphMetricsMap.h \
+ Source/WebCore/platform/graphics/GlyphPageTreeNode.cpp \
+ Source/WebCore/platform/graphics/GlyphPageTreeNode.h \
+ Source/WebCore/platform/graphics/Gradient.cpp \
+ Source/WebCore/platform/graphics/Gradient.h \
+ Source/WebCore/platform/graphics/GraphicsContext.cpp \
+ Source/WebCore/platform/graphics/GraphicsContext.h \
+ Source/WebCore/platform/graphics/GraphicsLayer.h \
+ Source/WebCore/platform/graphics/GraphicsTypes.cpp \
+ Source/WebCore/platform/graphics/GraphicsTypes.h \
+ Source/WebCore/platform/graphics/GraphicsTypes3D.h \
+ Source/WebCore/platform/graphics/Icon.h \
+ Source/WebCore/platform/graphics/ImageBuffer.cpp \
+ Source/WebCore/platform/graphics/ImageBuffer.h \
+ Source/WebCore/platform/graphics/Image.cpp \
+ Source/WebCore/platform/graphics/Image.h \
+ Source/WebCore/platform/graphics/ImageObserver.h \
+ Source/WebCore/platform/graphics/ImageSource.cpp \
+ Source/WebCore/platform/graphics/ImageSource.h \
+ Source/WebCore/platform/graphics/IntPoint.h \
+ Source/WebCore/platform/graphics/IntPointHash.h \
+ Source/WebCore/platform/graphics/IntRect.cpp \
+ Source/WebCore/platform/graphics/IntRect.h \
+ Source/WebCore/platform/graphics/IntSize.h \
+ Source/WebCore/platform/graphics/IntSizeHash.h \
+ Source/WebCore/platform/graphics/MediaPlayer.cpp \
+ Source/WebCore/platform/graphics/MediaPlayer.h \
+ Source/WebCore/platform/graphics/MediaPlayerPrivate.h \
+ Source/WebCore/platform/graphics/Path.cpp \
+ Source/WebCore/platform/graphics/Path.h \
+ Source/WebCore/platform/graphics/PathTraversalState.cpp \
+ Source/WebCore/platform/graphics/PathTraversalState.h \
+ Source/WebCore/platform/graphics/Pattern.cpp \
+ Source/WebCore/platform/graphics/Pattern.h \
+ Source/WebCore/platform/graphics/RoundedIntRect.cpp \
+ Source/WebCore/platform/graphics/RoundedIntRect.h \
+ Source/WebCore/platform/graphics/SegmentedFontData.cpp \
+ Source/WebCore/platform/graphics/SegmentedFontData.h \
+ Source/WebCore/platform/graphics/SimpleFontData.cpp \
+ Source/WebCore/platform/graphics/SimpleFontData.h \
+ Source/WebCore/platform/graphics/StringTruncator.cpp \
+ Source/WebCore/platform/graphics/StringTruncator.h \
+ Source/WebCore/platform/graphics/StrokeStyleApplier.h \
+ Source/WebCore/platform/graphics/TextRenderingMode.h \
+ Source/WebCore/platform/graphics/TextRun.h \
+ Source/WebCore/platform/graphics/transforms/AffineTransform.cpp \
+ Source/WebCore/platform/graphics/transforms/AffineTransform.h \
+ Source/WebCore/platform/graphics/transforms/IdentityTransformOperation.h \
+ Source/WebCore/platform/graphics/transforms/Matrix3DTransformOperation.cpp \
+ Source/WebCore/platform/graphics/transforms/Matrix3DTransformOperation.h \
+ Source/WebCore/platform/graphics/transforms/MatrixTransformOperation.cpp \
+ Source/WebCore/platform/graphics/transforms/MatrixTransformOperation.h \
+ Source/WebCore/platform/graphics/transforms/PerspectiveTransformOperation.cpp \
+ Source/WebCore/platform/graphics/transforms/PerspectiveTransformOperation.h \
+ Source/WebCore/platform/graphics/transforms/RotateTransformOperation.cpp \
+ Source/WebCore/platform/graphics/transforms/RotateTransformOperation.h \
+ Source/WebCore/platform/graphics/transforms/ScaleTransformOperation.cpp \
+ Source/WebCore/platform/graphics/transforms/ScaleTransformOperation.h \
+ Source/WebCore/platform/graphics/transforms/SkewTransformOperation.cpp \
+ Source/WebCore/platform/graphics/transforms/SkewTransformOperation.h \
+ Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp \
+ Source/WebCore/platform/graphics/transforms/TransformationMatrix.h \
+ Source/WebCore/platform/graphics/transforms/TransformOperation.h \
+ Source/WebCore/platform/graphics/transforms/TransformOperations.cpp \
+ Source/WebCore/platform/graphics/transforms/TransformOperations.h \
+ Source/WebCore/platform/graphics/transforms/TranslateTransformOperation.cpp \
+ Source/WebCore/platform/graphics/transforms/TranslateTransformOperation.h \
+ Source/WebCore/platform/graphics/TypesettingFeatures.h \
+ Source/WebCore/platform/graphics/UnitBezier.h \
+ Source/WebCore/platform/graphics/WidthIterator.cpp \
+ Source/WebCore/platform/graphics/WidthIterator.h \
+ Source/WebCore/platform/graphics/WOFFFileFormat.cpp \
+ Source/WebCore/platform/graphics/WOFFFileFormat.h \
+ Source/WebCore/platform/HostWindow.h \
+ Source/WebCore/platform/KillRing.h \
+ Source/WebCore/platform/KillRingNone.cpp \
+ Source/WebCore/platform/KURL.cpp \
+ Source/WebCore/platform/KURL.h \
+ Source/WebCore/platform/KURLHash.h \
+ Source/WebCore/platform/Language.cpp \
+ Source/WebCore/platform/Language.h \
+ Source/WebCore/platform/LengthBox.h \
+ Source/WebCore/platform/Length.cpp \
+ Source/WebCore/platform/Length.h \
+ Source/WebCore/platform/LengthSize.h \
+ Source/WebCore/platform/LinkHash.cpp \
+ Source/WebCore/platform/LinkHash.h \
+ Source/WebCore/platform/LocalizedStrings.h \
+ Source/WebCore/platform/Logging.cpp \
+ Source/WebCore/platform/Logging.h \
+ Source/WebCore/platform/MIMETypeRegistry.cpp \
+ Source/WebCore/platform/MIMETypeRegistry.h \
+ Source/WebCore/platform/mock/DeviceOrientationClientMock.cpp \
+ Source/WebCore/platform/mock/DeviceOrientationClientMock.h \
+ Source/WebCore/platform/mock/GeolocationClientMock.cpp \
+ Source/WebCore/platform/mock/GeolocationClientMock.h \
+ Source/WebCore/platform/mock/GeolocationServiceMock.cpp \
+ Source/WebCore/platform/mock/GeolocationServiceMock.h \
+ Source/WebCore/platform/mock/SpeechInputClientMock.cpp \
+ Source/WebCore/platform/mock/SpeechInputClientMock.h \
+ Source/WebCore/platform/network/AuthenticationChallengeBase.cpp \
+ Source/WebCore/platform/network/AuthenticationChallengeBase.h \
+ Source/WebCore/platform/network/AuthenticationClient.h \
+ Source/WebCore/platform/network/BlobData.cpp \
+ Source/WebCore/platform/network/BlobData.h \
+ Source/WebCore/platform/network/BlobRegistry.h \
+ Source/WebCore/platform/network/BlobRegistryImpl.cpp \
+ Source/WebCore/platform/network/BlobRegistryImpl.h \
+ Source/WebCore/platform/network/BlobResourceHandle.cpp \
+ Source/WebCore/platform/network/BlobResourceHandle.h \
+ Source/WebCore/platform/network/BlobStorageData.h \
+ Source/WebCore/platform/network/CookieStorage.h \
+ Source/WebCore/platform/network/Credential.cpp \
+ Source/WebCore/platform/network/Credential.h \
+ Source/WebCore/platform/network/DNS.h \
+ Source/WebCore/platform/network/FormDataBuilder.cpp \
+ Source/WebCore/platform/network/FormDataBuilder.h \
+ Source/WebCore/platform/network/FormData.cpp \
+ Source/WebCore/platform/network/FormData.h \
+ Source/WebCore/platform/network/HTTPHeaderMap.cpp \
+ Source/WebCore/platform/network/HTTPHeaderMap.h \
+ Source/WebCore/platform/network/HTTPParsers.cpp \
+ Source/WebCore/platform/network/HTTPParsers.h \
+ Source/WebCore/platform/network/NetworkingContext.h \
+ Source/WebCore/platform/network/ProxyServer.cpp \
+ Source/WebCore/platform/network/ProxyServer.h \
+ Source/WebCore/platform/network/NetworkStateNotifier.cpp \
+ Source/WebCore/platform/network/NetworkStateNotifier.h \
+ Source/WebCore/platform/network/ProtectionSpace.cpp \
+ Source/WebCore/platform/network/ProtectionSpace.h \
+ Source/WebCore/platform/network/ResourceErrorBase.cpp \
+ Source/WebCore/platform/network/ResourceErrorBase.h \
+ Source/WebCore/platform/network/ResourceHandleClient.h \
+ Source/WebCore/platform/network/ResourceHandle.cpp \
+ Source/WebCore/platform/network/ResourceHandle.h \
+ Source/WebCore/platform/network/ResourceHandleInternal.h \
+ Source/WebCore/platform/network/ResourceLoadInfo.h \
+ Source/WebCore/platform/network/ResourceLoadPriority.h \
+ Source/WebCore/platform/network/ResourceLoadTiming.h \
+ Source/WebCore/platform/network/ResourceRequestBase.cpp \
+ Source/WebCore/platform/network/ResourceRequestBase.h \
+ Source/WebCore/platform/network/ResourceResponseBase.cpp \
+ Source/WebCore/platform/network/ResourceResponseBase.h \
+ Source/WebCore/platform/network/SocketStreamErrorBase.cpp \
+ Source/WebCore/platform/network/SocketStreamErrorBase.h \
+ Source/WebCore/platform/network/SocketStreamHandleBase.cpp \
+ Source/WebCore/platform/network/SocketStreamHandleBase.h \
+ Source/WebCore/platform/network/SocketStreamHandleClient.h \
+ Source/WebCore/platform/NotImplemented.h \
+ Source/WebCore/platform/Pasteboard.h \
+ Source/WebCore/platform/PlatformKeyboardEvent.h \
+ Source/WebCore/platform/PlatformMenuDescription.h \
+ Source/WebCore/platform/PlatformMouseEvent.h \
+ Source/WebCore/platform/PlatformScreen.h \
+ Source/WebCore/platform/PlatformWheelEvent.h \
+ Source/WebCore/platform/PopupMenuClient.h \
+ Source/WebCore/platform/PopupMenu.h \
+ Source/WebCore/platform/PopupMenuStyle.h \
+ Source/WebCore/platform/PurgeableBuffer.h \
+ Source/WebCore/platform/PurgePriority.h \
+ Source/WebCore/platform/SchemeRegistry.cpp \
+ Source/WebCore/platform/SchemeRegistry.h \
+ Source/WebCore/platform/ScrollAnimator.cpp \
+ Source/WebCore/platform/ScrollAnimator.h \
+ Source/WebCore/platform/ScrollableArea.cpp \
+ Source/WebCore/platform/ScrollableArea.h \
+ Source/WebCore/platform/Scrollbar.cpp \
+ Source/WebCore/platform/Scrollbar.h \
+ Source/WebCore/platform/ScrollbarThemeComposite.cpp \
+ Source/WebCore/platform/ScrollbarThemeComposite.h \
+ Source/WebCore/platform/ScrollbarTheme.h \
+ Source/WebCore/platform/ScrollTypes.h \
+ Source/WebCore/platform/ScrollView.cpp \
+ Source/WebCore/platform/ScrollView.h \
+ Source/WebCore/platform/SearchPopupMenu.h \
+ Source/WebCore/platform/SecureTextInput.h \
+ Source/WebCore/platform/SharedBuffer.cpp \
+ Source/WebCore/platform/SharedBuffer.h \
+ Source/WebCore/platform/SharedTimer.h \
+ Source/WebCore/platform/Sound.h \
+ Source/WebCore/platform/sql/SQLiteAuthorizer.cpp \
+ Source/WebCore/platform/sql/SQLiteDatabase.cpp \
+ Source/WebCore/platform/sql/SQLiteDatabase.h \
+ Source/WebCore/platform/sql/SQLiteFileSystem.cpp \
+ Source/WebCore/platform/sql/SQLiteFileSystem.h \
+ Source/WebCore/platform/sql/SQLiteStatement.cpp \
+ Source/WebCore/platform/sql/SQLiteStatement.h \
+ Source/WebCore/platform/sql/SQLiteTransaction.cpp \
+ Source/WebCore/platform/sql/SQLiteTransaction.h \
+ Source/WebCore/platform/sql/SQLValue.cpp \
+ Source/WebCore/platform/sql/SQLValue.h \
+ Source/WebCore/platform/SSLKeyGenerator.h \
+ Source/WebCore/platform/SuddenTermination.h \
+ Source/WebCore/platform/SystemTime.h \
+ Source/WebCore/platform/text/Base64.cpp \
+ Source/WebCore/platform/text/Base64.h \
+ Source/WebCore/platform/text/BidiContext.cpp \
+ Source/WebCore/platform/text/BidiContext.h \
+ Source/WebCore/platform/text/BidiResolver.h \
+ Source/WebCore/platform/text/Hyphenation.cpp \
+ Source/WebCore/platform/text/Hyphenation.h \
+ Source/WebCore/platform/text/LineEnding.cpp \
+ Source/WebCore/platform/text/LineEnding.h \
+ Source/WebCore/platform/text/LocalizedNumber.h \
+ Source/WebCore/platform/text/LocalizedNumberNone.cpp \
+ Source/WebCore/platform/text/ParserUtilities.h \
+ Source/WebCore/platform/text/PlatformString.h \
+ Source/WebCore/platform/text/RegularExpression.cpp \
+ Source/WebCore/platform/text/RegularExpression.h \
+ Source/WebCore/platform/text/SegmentedString.cpp \
+ Source/WebCore/platform/text/SegmentedString.h \
+ Source/WebCore/platform/text/String.cpp \
+ Source/WebCore/platform/text/SuffixTree.h \
+ Source/WebCore/platform/text/TextBoundaries.cpp \
+ Source/WebCore/platform/text/TextBoundaries.h \
+ Source/WebCore/platform/text/TextBreakIterator.h \
+ Source/WebCore/platform/text/TextCheckerClient.h \
+ Source/WebCore/platform/text/TextCodec.cpp \
+ Source/WebCore/platform/text/TextCodec.h \
+ Source/WebCore/platform/text/TextCodecASCIIFastPath.h \
+ Source/WebCore/platform/text/TextCodecLatin1.cpp \
+ Source/WebCore/platform/text/TextCodecLatin1.h \
+ Source/WebCore/platform/text/TextCodecUserDefined.cpp \
+ Source/WebCore/platform/text/TextCodecUserDefined.h \
+ Source/WebCore/platform/text/TextCodecUTF16.cpp \
+ Source/WebCore/platform/text/TextCodecUTF16.h \
+ Source/WebCore/platform/text/TextCodecUTF8.cpp \
+ Source/WebCore/platform/text/TextCodecUTF8.h \
+ Source/WebCore/platform/text/TextDirection.h \
+ Source/WebCore/platform/text/TextEncoding.cpp \
+ Source/WebCore/platform/text/TextEncodingDetector.h \
+ Source/WebCore/platform/text/TextEncodingDetectorNone.cpp \
+ Source/WebCore/platform/text/TextEncoding.h \
+ Source/WebCore/platform/text/TextEncodingRegistry.cpp \
+ Source/WebCore/platform/text/TextEncodingRegistry.h \
+ Source/WebCore/platform/text/TextStream.cpp \
+ Source/WebCore/platform/text/TextStream.h \
+ Source/WebCore/platform/text/transcoder/FontTranscoder.cpp \
+ Source/WebCore/platform/text/transcoder/FontTranscoder.h \
+ Source/WebCore/platform/text/UnicodeRange.cpp \
+ Source/WebCore/platform/text/UnicodeRange.h \
+ Source/WebCore/platform/ThemeTypes.h \
+ Source/WebCore/platform/ThreadCheck.h \
+ Source/WebCore/platform/ThreadGlobalData.cpp \
+ Source/WebCore/platform/ThreadGlobalData.h \
+ Source/WebCore/platform/ThreadTimers.cpp \
+ Source/WebCore/platform/ThreadTimers.h \
+ Source/WebCore/platform/Timer.cpp \
+ Source/WebCore/platform/Timer.h \
+ Source/WebCore/platform/TreeShared.h \
+ Source/WebCore/platform/URLString.h \
+ Source/WebCore/platform/UUID.cpp \
+ Source/WebCore/platform/UUID.h \
+ Source/WebCore/platform/Widget.cpp \
+ Source/WebCore/platform/Widget.h \
+ Source/WebCore/platform/WindowsKeyboardCodes.h \
+ Source/WebCore/plugins/DOMMimeTypeArray.cpp \
+ Source/WebCore/plugins/DOMMimeTypeArray.h \
+ Source/WebCore/plugins/DOMMimeType.cpp \
+ Source/WebCore/plugins/DOMMimeType.h \
+ Source/WebCore/plugins/DOMPluginArray.cpp \
+ Source/WebCore/plugins/DOMPluginArray.h \
+ Source/WebCore/plugins/DOMPlugin.cpp \
+ Source/WebCore/plugins/DOMPlugin.h \
+ Source/WebCore/plugins/npapi.cpp \
+ Source/WebCore/plugins/npfunctions.h \
+ Source/WebCore/plugins/PluginDatabase.cpp \
+ Source/WebCore/plugins/PluginDatabase.h \
+ Source/WebCore/plugins/PluginData.cpp \
+ Source/WebCore/plugins/PluginData.h \
+ Source/WebCore/plugins/PluginDebug.cpp \
+ Source/WebCore/plugins/PluginDebug.h \
+ Source/WebCore/plugins/PluginMainThreadScheduler.cpp \
+ Source/WebCore/plugins/PluginMainThreadScheduler.h \
+ Source/WebCore/plugins/PluginPackage.cpp \
+ Source/WebCore/plugins/PluginPackage.h \
+ Source/WebCore/plugins/PluginQuirkSet.h \
+ Source/WebCore/plugins/PluginStream.cpp \
+ Source/WebCore/plugins/PluginStream.h \
+ Source/WebCore/plugins/PluginViewBase.h \
+ Source/WebCore/plugins/PluginView.cpp \
+ Source/WebCore/plugins/PluginView.h \
+ Source/WebCore/rendering/AutoTableLayout.cpp \
+ Source/WebCore/rendering/AutoTableLayout.h \
+ Source/WebCore/rendering/BidiRun.cpp \
+ Source/WebCore/rendering/BidiRun.h \
+ Source/WebCore/rendering/break_lines.cpp \
+ Source/WebCore/rendering/break_lines.h \
+ Source/WebCore/rendering/ColumnInfo.h \
+ Source/WebCore/rendering/CounterNode.cpp \
+ Source/WebCore/rendering/CounterNode.h \
+ Source/WebCore/rendering/EllipsisBox.cpp \
+ Source/WebCore/rendering/EllipsisBox.h \
+ Source/WebCore/rendering/FixedTableLayout.cpp \
+ Source/WebCore/rendering/FixedTableLayout.h \
+ Source/WebCore/rendering/GapRects.h \
+ Source/WebCore/rendering/HitTestRequest.h \
+ Source/WebCore/rendering/HitTestResult.cpp \
+ Source/WebCore/rendering/HitTestResult.h \
+ Source/WebCore/rendering/InlineBox.cpp \
+ Source/WebCore/rendering/InlineBox.h \
+ Source/WebCore/rendering/InlineFlowBox.cpp \
+ Source/WebCore/rendering/InlineFlowBox.h \
+ Source/WebCore/rendering/InlineIterator.h \
+ Source/WebCore/rendering/InlineTextBox.cpp \
+ Source/WebCore/rendering/InlineTextBox.h \
+ Source/WebCore/rendering/LayoutState.cpp \
+ Source/WebCore/rendering/LayoutState.h \
+ Source/WebCore/rendering/MediaControlElements.cpp \
+ Source/WebCore/rendering/MediaControlElements.h \
+ Source/WebCore/rendering/OverlapTestRequestClient.h \
+ Source/WebCore/rendering/PaintInfo.h \
+ Source/WebCore/rendering/PaintPhase.h \
+ Source/WebCore/rendering/PointerEventsHitRules.cpp \
+ Source/WebCore/rendering/PointerEventsHitRules.h \
+ Source/WebCore/rendering/RenderApplet.cpp \
+ Source/WebCore/rendering/RenderApplet.h \
+ Source/WebCore/rendering/RenderArena.cpp \
+ Source/WebCore/rendering/RenderArena.h \
+ Source/WebCore/rendering/RenderBlock.cpp \
+ Source/WebCore/rendering/RenderBlock.h \
+ Source/WebCore/rendering/RenderBlockLineLayout.cpp \
+ Source/WebCore/rendering/RenderBox.cpp \
+ Source/WebCore/rendering/RenderBox.h \
+ Source/WebCore/rendering/RenderBoxModelObject.cpp \
+ Source/WebCore/rendering/RenderBoxModelObject.h \
+ Source/WebCore/rendering/RenderBR.cpp \
+ Source/WebCore/rendering/RenderBR.h \
+ Source/WebCore/rendering/RenderButton.cpp \
+ Source/WebCore/rendering/RenderButton.h \
+ Source/WebCore/rendering/RenderCombineText.cpp \
+ Source/WebCore/rendering/RenderCombineText.h \
+ Source/WebCore/rendering/RenderCounter.cpp \
+ Source/WebCore/rendering/RenderCounter.h \
+ Source/WebCore/rendering/RenderDataGrid.cpp \
+ Source/WebCore/rendering/RenderDataGrid.h \
+ Source/WebCore/rendering/RenderDetails.cpp \
+ Source/WebCore/rendering/RenderDetails.h \
+ Source/WebCore/rendering/RenderDetailsMarker.cpp \
+ Source/WebCore/rendering/RenderDetailsMarker.h \
+ Source/WebCore/rendering/RenderEmbeddedObject.cpp \
+ Source/WebCore/rendering/RenderEmbeddedObject.h \
+ Source/WebCore/rendering/RenderFieldset.cpp \
+ Source/WebCore/rendering/RenderFieldset.h \
+ Source/WebCore/rendering/RenderFileUploadControl.cpp \
+ Source/WebCore/rendering/RenderFileUploadControl.h \
+ Source/WebCore/rendering/RenderFlexibleBox.cpp \
+ Source/WebCore/rendering/RenderFlexibleBox.h \
+ Source/WebCore/rendering/RenderFrameBase.cpp \
+ Source/WebCore/rendering/RenderFrameBase.h \
+ Source/WebCore/rendering/RenderFrame.cpp \
+ Source/WebCore/rendering/RenderFrame.h \
+ Source/WebCore/rendering/RenderFrameSet.cpp \
+ Source/WebCore/rendering/RenderFrameSet.h \
+ Source/WebCore/rendering/RenderFullScreen.cpp \
+ Source/WebCore/rendering/RenderFullScreen.h \
+ Source/WebCore/rendering/RenderHTMLCanvas.cpp \
+ Source/WebCore/rendering/RenderHTMLCanvas.h \
+ Source/WebCore/rendering/RenderIFrame.cpp \
+ Source/WebCore/rendering/RenderIFrame.h \
+ Source/WebCore/rendering/RenderImage.cpp \
+ Source/WebCore/rendering/RenderImage.h \
+ Source/WebCore/rendering/RenderImageResource.cpp \
+ Source/WebCore/rendering/RenderImageResource.h \
+ Source/WebCore/rendering/RenderImageResourceStyleImage.cpp \
+ Source/WebCore/rendering/RenderImageResourceStyleImage.h \
+ Source/WebCore/rendering/RenderIndicator.cpp \
+ Source/WebCore/rendering/RenderIndicator.h \
+ Source/WebCore/rendering/RenderInline.cpp \
+ Source/WebCore/rendering/RenderInline.h \
+ Source/WebCore/rendering/RenderLayerBacking.h \
+ Source/WebCore/rendering/RenderLayer.cpp \
+ Source/WebCore/rendering/RenderLayer.h \
+ Source/WebCore/rendering/RenderLineBoxList.cpp \
+ Source/WebCore/rendering/RenderLineBoxList.h \
+ Source/WebCore/rendering/RenderListBox.cpp \
+ Source/WebCore/rendering/RenderListBox.h \
+ Source/WebCore/rendering/RenderListItem.cpp \
+ Source/WebCore/rendering/RenderListItem.h \
+ Source/WebCore/rendering/RenderListMarker.cpp \
+ Source/WebCore/rendering/RenderListMarker.h \
+ Source/WebCore/rendering/RenderMarquee.cpp \
+ Source/WebCore/rendering/RenderMarquee.h \
+ Source/WebCore/rendering/RenderMedia.cpp \
+ Source/WebCore/rendering/RenderMedia.h \
+ Source/WebCore/rendering/RenderMenuList.cpp \
+ Source/WebCore/rendering/RenderMenuList.h \
+ Source/WebCore/rendering/RenderMeter.cpp \
+ Source/WebCore/rendering/RenderMeter.h \
+ Source/WebCore/rendering/RenderObjectChildList.cpp \
+ Source/WebCore/rendering/RenderObjectChildList.h \
+ Source/WebCore/rendering/RenderObject.cpp \
+ Source/WebCore/rendering/RenderObject.h \
+ Source/WebCore/rendering/RenderOverflow.h \
+ Source/WebCore/rendering/RenderPart.cpp \
+ Source/WebCore/rendering/RenderPart.h \
+ Source/WebCore/rendering/RenderProgress.cpp \
+ Source/WebCore/rendering/RenderProgress.h \
+ Source/WebCore/rendering/RenderReplaced.cpp \
+ Source/WebCore/rendering/RenderReplaced.h \
+ Source/WebCore/rendering/RenderReplica.cpp \
+ Source/WebCore/rendering/RenderReplica.h \
+ Source/WebCore/rendering/RenderRubyBase.cpp \
+ Source/WebCore/rendering/RenderRubyBase.h \
+ Source/WebCore/rendering/RenderRuby.cpp \
+ Source/WebCore/rendering/RenderRuby.h \
+ Source/WebCore/rendering/RenderRubyRun.cpp \
+ Source/WebCore/rendering/RenderRubyRun.h \
+ Source/WebCore/rendering/RenderRubyText.cpp \
+ Source/WebCore/rendering/RenderRubyText.h \
+ Source/WebCore/rendering/RenderScrollbar.cpp \
+ Source/WebCore/rendering/RenderScrollbar.h \
+ Source/WebCore/rendering/RenderScrollbarPart.cpp \
+ Source/WebCore/rendering/RenderScrollbarPart.h \
+ Source/WebCore/rendering/RenderScrollbarTheme.cpp \
+ Source/WebCore/rendering/RenderScrollbarTheme.h \
+ Source/WebCore/rendering/RenderSelectionInfo.h \
+ Source/WebCore/rendering/RenderSlider.cpp \
+ Source/WebCore/rendering/RenderSlider.h \
+ Source/WebCore/rendering/RenderSummary.cpp \
+ Source/WebCore/rendering/RenderSummary.h \
+ Source/WebCore/rendering/RenderTableCell.cpp \
+ Source/WebCore/rendering/RenderTableCell.h \
+ Source/WebCore/rendering/RenderTableCol.cpp \
+ Source/WebCore/rendering/RenderTableCol.h \
+ Source/WebCore/rendering/RenderTable.cpp \
+ Source/WebCore/rendering/RenderTable.h \
+ Source/WebCore/rendering/RenderTableRow.cpp \
+ Source/WebCore/rendering/RenderTableRow.h \
+ Source/WebCore/rendering/RenderTableSection.cpp \
+ Source/WebCore/rendering/RenderTableSection.h \
+ Source/WebCore/rendering/RenderTextControl.cpp \
+ Source/WebCore/rendering/RenderTextControl.h \
+ Source/WebCore/rendering/RenderTextControlMultiLine.cpp \
+ Source/WebCore/rendering/RenderTextControlMultiLine.h \
+ Source/WebCore/rendering/RenderTextControlSingleLine.cpp \
+ Source/WebCore/rendering/RenderTextControlSingleLine.h \
+ Source/WebCore/rendering/RenderText.cpp \
+ Source/WebCore/rendering/RenderTextFragment.cpp \
+ Source/WebCore/rendering/RenderTextFragment.h \
+ Source/WebCore/rendering/RenderText.h \
+ Source/WebCore/rendering/RenderTheme.cpp \
+ Source/WebCore/rendering/RenderTheme.h \
+ Source/WebCore/rendering/RenderTreeAsText.cpp \
+ Source/WebCore/rendering/RenderTreeAsText.h \
+ Source/WebCore/rendering/RenderVideo.cpp \
+ Source/WebCore/rendering/RenderVideo.h \
+ Source/WebCore/rendering/RenderView.cpp \
+ Source/WebCore/rendering/RenderView.h \
+ Source/WebCore/rendering/RenderWidget.cpp \
+ Source/WebCore/rendering/RenderWidget.h \
+ Source/WebCore/rendering/RenderWidgetProtector.h \
+ Source/WebCore/rendering/RenderWordBreak.cpp \
+ Source/WebCore/rendering/RenderWordBreak.h \
+ Source/WebCore/rendering/RootInlineBox.cpp \
+ Source/WebCore/rendering/RootInlineBox.h \
+ Source/WebCore/rendering/ScrollBehavior.cpp \
+ Source/WebCore/rendering/ScrollBehavior.h \
+ Source/WebCore/rendering/ShadowElement.cpp \
+ Source/WebCore/rendering/ShadowElement.h \
+ Source/WebCore/rendering/VerticalPositionCache.h \
+ Source/WebCore/rendering/mathml/RenderMathMLBlock.cpp \
+ Source/WebCore/rendering/mathml/RenderMathMLBlock.h \
+ Source/WebCore/rendering/mathml/RenderMathMLFenced.cpp \
+ Source/WebCore/rendering/mathml/RenderMathMLFenced.h \
+ Source/WebCore/rendering/mathml/RenderMathMLFraction.cpp \
+ Source/WebCore/rendering/mathml/RenderMathMLFraction.h \
+ Source/WebCore/rendering/mathml/RenderMathMLMath.cpp \
+ Source/WebCore/rendering/mathml/RenderMathMLMath.h \
+ Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp \
+ Source/WebCore/rendering/mathml/RenderMathMLOperator.h \
+ Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp \
+ Source/WebCore/rendering/mathml/RenderMathMLRoot.h \
+ Source/WebCore/rendering/mathml/RenderMathMLRow.cpp \
+ Source/WebCore/rendering/mathml/RenderMathMLRow.h \
+ Source/WebCore/rendering/mathml/RenderMathMLSquareRoot.cpp \
+ Source/WebCore/rendering/mathml/RenderMathMLSquareRoot.h \
+ Source/WebCore/rendering/mathml/RenderMathMLSubSup.cpp \
+ Source/WebCore/rendering/mathml/RenderMathMLSubSup.h \
+ Source/WebCore/rendering/mathml/RenderMathMLUnderOver.cpp \
+ Source/WebCore/rendering/mathml/RenderMathMLUnderOver.h \
+ Source/WebCore/rendering/style/BorderData.h \
+ Source/WebCore/rendering/style/BorderValue.h \
+ Source/WebCore/rendering/style/CollapsedBorderValue.h \
+ Source/WebCore/rendering/style/ContentData.cpp \
+ Source/WebCore/rendering/style/ContentData.h \
+ Source/WebCore/rendering/style/CounterContent.h \
+ Source/WebCore/rendering/style/CounterDirectives.cpp \
+ Source/WebCore/rendering/style/CounterDirectives.h \
+ Source/WebCore/rendering/style/CursorData.h \
+ Source/WebCore/rendering/style/CursorList.h \
+ Source/WebCore/rendering/style/DataRef.h \
+ Source/WebCore/rendering/style/FillLayer.cpp \
+ Source/WebCore/rendering/style/FillLayer.h \
+ Source/WebCore/rendering/style/KeyframeList.cpp \
+ Source/WebCore/rendering/style/KeyframeList.h \
+ Source/WebCore/rendering/style/LineClampValue.h \
+ Source/WebCore/rendering/style/NinePieceImage.cpp \
+ Source/WebCore/rendering/style/NinePieceImage.h \
+ Source/WebCore/rendering/style/OutlineValue.h \
+ Source/WebCore/rendering/style/RenderStyleConstants.h \
+ Source/WebCore/rendering/style/RenderStyle.cpp \
+ Source/WebCore/rendering/style/RenderStyle.h \
+ Source/WebCore/rendering/style/ShadowData.cpp \
+ Source/WebCore/rendering/style/ShadowData.h \
+ Source/WebCore/rendering/style/StyleBackgroundData.cpp \
+ Source/WebCore/rendering/style/StyleBackgroundData.h \
+ Source/WebCore/rendering/style/StyleBoxData.cpp \
+ Source/WebCore/rendering/style/StyleBoxData.h \
+ Source/WebCore/rendering/style/StyleCachedImage.cpp \
+ Source/WebCore/rendering/style/StyleCachedImage.h \
+ Source/WebCore/rendering/style/StyleDashboardRegion.h \
+ Source/WebCore/rendering/style/StyleFlexibleBoxData.cpp \
+ Source/WebCore/rendering/style/StyleFlexibleBoxData.h \
+ Source/WebCore/rendering/style/StyleGeneratedImage.cpp \
+ Source/WebCore/rendering/style/StyleGeneratedImage.h \
+ Source/WebCore/rendering/style/StyleImage.h \
+ Source/WebCore/rendering/style/StyleInheritedData.cpp \
+ Source/WebCore/rendering/style/StyleInheritedData.h \
+ Source/WebCore/rendering/style/StyleMarqueeData.cpp \
+ Source/WebCore/rendering/style/StyleMarqueeData.h \
+ Source/WebCore/rendering/style/StyleMultiColData.cpp \
+ Source/WebCore/rendering/style/StyleMultiColData.h \
+ Source/WebCore/rendering/style/StylePendingImage.h \
+ Source/WebCore/rendering/style/StyleRareInheritedData.cpp \
+ Source/WebCore/rendering/style/StyleRareInheritedData.h \
+ Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp \
+ Source/WebCore/rendering/style/StyleRareNonInheritedData.h \
+ Source/WebCore/rendering/style/StyleReflection.h \
+ Source/WebCore/rendering/style/StyleSurroundData.cpp \
+ Source/WebCore/rendering/style/StyleSurroundData.h \
+ Source/WebCore/rendering/style/StyleTransformData.cpp \
+ Source/WebCore/rendering/style/StyleTransformData.h \
+ Source/WebCore/rendering/style/StyleVisualData.cpp \
+ Source/WebCore/rendering/style/StyleVisualData.h \
+ Source/WebCore/rendering/style/SVGRenderStyle.cpp \
+ Source/WebCore/rendering/style/SVGRenderStyleDefs.cpp \
+ Source/WebCore/rendering/style/SVGRenderStyleDefs.h \
+ Source/WebCore/rendering/style/SVGRenderStyle.h \
+ Source/WebCore/rendering/svg/RenderSVGBlock.cpp \
+ Source/WebCore/rendering/svg/RenderSVGBlock.h \
+ Source/WebCore/rendering/svg/RenderSVGContainer.cpp \
+ Source/WebCore/rendering/svg/RenderSVGContainer.h \
+ Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp \
+ Source/WebCore/rendering/svg/RenderSVGForeignObject.h \
+ Source/WebCore/rendering/svg/RenderSVGGradientStop.cpp \
+ Source/WebCore/rendering/svg/RenderSVGGradientStop.h \
+ Source/WebCore/rendering/svg/RenderSVGHiddenContainer.cpp \
+ Source/WebCore/rendering/svg/RenderSVGHiddenContainer.h \
+ Source/WebCore/rendering/svg/RenderSVGImage.cpp \
+ Source/WebCore/rendering/svg/RenderSVGImage.h \
+ Source/WebCore/rendering/svg/RenderSVGInline.cpp \
+ Source/WebCore/rendering/svg/RenderSVGInline.h \
+ Source/WebCore/rendering/svg/RenderSVGInlineText.cpp \
+ Source/WebCore/rendering/svg/RenderSVGInlineText.h \
+ Source/WebCore/rendering/svg/RenderSVGModelObject.cpp \
+ Source/WebCore/rendering/svg/RenderSVGModelObject.h \
+ Source/WebCore/rendering/svg/RenderSVGPath.cpp \
+ Source/WebCore/rendering/svg/RenderSVGPath.h \
+ Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp \
+ Source/WebCore/rendering/svg/RenderSVGResourceClipper.h \
+ Source/WebCore/rendering/svg/RenderSVGResourceContainer.cpp \
+ Source/WebCore/rendering/svg/RenderSVGResourceContainer.h \
+ Source/WebCore/rendering/svg/RenderSVGResource.cpp \
+ Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp \
+ Source/WebCore/rendering/svg/RenderSVGResourceFilter.h \
+ Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.cpp \
+ Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.h \
+ Source/WebCore/rendering/svg/RenderSVGResourceGradient.cpp \
+ Source/WebCore/rendering/svg/RenderSVGResourceGradient.h \
+ Source/WebCore/rendering/svg/RenderSVGResource.h \
+ Source/WebCore/rendering/svg/RenderSVGResourceLinearGradient.cpp \
+ Source/WebCore/rendering/svg/RenderSVGResourceLinearGradient.h \
+ Source/WebCore/rendering/svg/RenderSVGResourceMarker.cpp \
+ Source/WebCore/rendering/svg/RenderSVGResourceMarker.h \
+ Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp \
+ Source/WebCore/rendering/svg/RenderSVGResourceMasker.h \
+ Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp \
+ Source/WebCore/rendering/svg/RenderSVGResourcePattern.h \
+ Source/WebCore/rendering/svg/RenderSVGResourceRadialGradient.cpp \
+ Source/WebCore/rendering/svg/RenderSVGResourceRadialGradient.h \
+ Source/WebCore/rendering/svg/RenderSVGResourceSolidColor.cpp \
+ Source/WebCore/rendering/svg/RenderSVGResourceSolidColor.h \
+ Source/WebCore/rendering/svg/RenderSVGRoot.cpp \
+ Source/WebCore/rendering/svg/RenderSVGRoot.h \
+ Source/WebCore/rendering/svg/RenderSVGShadowTreeRootContainer.cpp \
+ Source/WebCore/rendering/svg/RenderSVGShadowTreeRootContainer.h \
+ Source/WebCore/rendering/svg/RenderSVGTSpan.cpp \
+ Source/WebCore/rendering/svg/RenderSVGTSpan.h \
+ Source/WebCore/rendering/svg/RenderSVGText.cpp \
+ Source/WebCore/rendering/svg/RenderSVGText.h \
+ Source/WebCore/rendering/svg/RenderSVGTextPath.cpp \
+ Source/WebCore/rendering/svg/RenderSVGTextPath.h \
+ Source/WebCore/rendering/svg/RenderSVGTransformableContainer.cpp \
+ Source/WebCore/rendering/svg/RenderSVGTransformableContainer.h \
+ Source/WebCore/rendering/svg/RenderSVGViewportContainer.cpp \
+ Source/WebCore/rendering/svg/RenderSVGViewportContainer.h \
+ Source/WebCore/rendering/svg/SVGImageBufferTools.cpp \
+ Source/WebCore/rendering/svg/SVGImageBufferTools.h \
+ Source/WebCore/rendering/svg/SVGInlineFlowBox.cpp \
+ Source/WebCore/rendering/svg/SVGInlineFlowBox.h \
+ Source/WebCore/rendering/svg/SVGInlineTextBox.cpp \
+ Source/WebCore/rendering/svg/SVGInlineTextBox.h \
+ Source/WebCore/rendering/svg/SVGMarkerData.h \
+ Source/WebCore/rendering/svg/SVGMarkerLayoutInfo.cpp \
+ Source/WebCore/rendering/svg/SVGMarkerLayoutInfo.h \
+ Source/WebCore/rendering/svg/SVGRenderSupport.cpp \
+ Source/WebCore/rendering/svg/SVGRenderSupport.h \
+ Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp \
+ Source/WebCore/rendering/svg/SVGRenderTreeAsText.h \
+ Source/WebCore/rendering/svg/SVGResourcesCache.cpp \
+ Source/WebCore/rendering/svg/SVGResourcesCache.h \
+ Source/WebCore/rendering/svg/SVGResources.cpp \
+ Source/WebCore/rendering/svg/SVGResourcesCycleSolver.cpp \
+ Source/WebCore/rendering/svg/SVGResourcesCycleSolver.h \
+ Source/WebCore/rendering/svg/SVGResources.h \
+ Source/WebCore/rendering/svg/SVGRootInlineBox.cpp \
+ Source/WebCore/rendering/svg/SVGRootInlineBox.h \
+ Source/WebCore/rendering/svg/SVGShadowTreeElements.cpp \
+ Source/WebCore/rendering/svg/SVGShadowTreeElements.h \
+ Source/WebCore/rendering/svg/SVGTextChunk.cpp \
+ Source/WebCore/rendering/svg/SVGTextChunk.h \
+ Source/WebCore/rendering/svg/SVGTextChunkBuilder.cpp \
+ Source/WebCore/rendering/svg/SVGTextChunkBuilder.h \
+ Source/WebCore/rendering/svg/SVGTextFragment.h \
+ Source/WebCore/rendering/svg/SVGTextLayoutAttributes.cpp \
+ Source/WebCore/rendering/svg/SVGTextLayoutAttributes.h \
+ Source/WebCore/rendering/svg/SVGTextLayoutAttributesBuilder.cpp \
+ Source/WebCore/rendering/svg/SVGTextLayoutAttributesBuilder.h \
+ Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp \
+ Source/WebCore/rendering/svg/SVGTextLayoutEngine.h \
+ Source/WebCore/rendering/svg/SVGTextLayoutEngineBaseline.cpp \
+ Source/WebCore/rendering/svg/SVGTextLayoutEngineBaseline.h \
+ Source/WebCore/rendering/svg/SVGTextLayoutEngineSpacing.cpp \
+ Source/WebCore/rendering/svg/SVGTextLayoutEngineSpacing.h \
+ Source/WebCore/rendering/svg/SVGTextMetrics.cpp \
+ Source/WebCore/rendering/svg/SVGTextMetrics.h \
+ Source/WebCore/rendering/svg/SVGTextQuery.cpp \
+ Source/WebCore/rendering/svg/SVGTextQuery.h \
+ Source/WebCore/rendering/TableLayout.h \
+ Source/WebCore/rendering/TrailingFloatsRootInlineBox.h \
+ Source/WebCore/rendering/TransformState.cpp \
+ Source/WebCore/rendering/TransformState.h \
+ Source/WebCore/storage/AbstractDatabase.cpp \
+ Source/WebCore/storage/AbstractDatabase.h \
+ Source/WebCore/storage/ChangeVersionWrapper.cpp \
+ Source/WebCore/storage/ChangeVersionWrapper.h \
+ Source/WebCore/storage/DatabaseAuthorizer.cpp \
+ Source/WebCore/storage/DatabaseAuthorizer.h \
+ Source/WebCore/storage/DatabaseCallback.h \
+ Source/WebCore/storage/Database.cpp \
+ Source/WebCore/storage/DatabaseDetails.h \
+ Source/WebCore/storage/Database.h \
+ Source/WebCore/storage/DatabaseSync.cpp \
+ Source/WebCore/storage/DatabaseSync.h \
+ Source/WebCore/storage/DatabaseTask.cpp \
+ Source/WebCore/storage/DatabaseTask.h \
+ Source/WebCore/storage/DatabaseThread.cpp \
+ Source/WebCore/storage/DatabaseThread.h \
+ Source/WebCore/storage/DatabaseTrackerClient.h \
+ Source/WebCore/storage/DatabaseTracker.cpp \
+ Source/WebCore/storage/DatabaseTracker.h \
+ Source/WebCore/storage/IDBAny.cpp \
+ Source/WebCore/storage/IDBAny.h \
+ Source/WebCore/storage/IDBBackingStore.cpp \
+ Source/WebCore/storage/IDBBackingStore.h \
+ Source/WebCore/storage/IDBCallbacks.h \
+ Source/WebCore/storage/IDBCursorBackendImpl.cpp \
+ Source/WebCore/storage/IDBCursorBackendImpl.h \
+ Source/WebCore/storage/IDBCursorBackendInterface.h \
+ Source/WebCore/storage/IDBCursor.cpp \
+ Source/WebCore/storage/IDBCursor.h \
+ Source/WebCore/storage/IDBDatabaseBackendImpl.cpp \
+ Source/WebCore/storage/IDBDatabaseBackendImpl.h \
+ Source/WebCore/storage/IDBDatabaseBackendInterface.h \
+ Source/WebCore/storage/IDBDatabase.cpp \
+ Source/WebCore/storage/IDBDatabaseError.h \
+ Source/WebCore/storage/IDBDatabaseException.h \
+ Source/WebCore/storage/IDBDatabase.h \
+ Source/WebCore/storage/IDBEventDispatcher.cpp \
+ Source/WebCore/storage/IDBEventDispatcher.h \
+ Source/WebCore/storage/IDBFactoryBackendImpl.cpp \
+ Source/WebCore/storage/IDBFactoryBackendImpl.h \
+ Source/WebCore/storage/IDBFactoryBackendInterface.cpp \
+ Source/WebCore/storage/IDBFactoryBackendInterface.h \
+ Source/WebCore/storage/IDBFactory.cpp \
+ Source/WebCore/storage/IDBFactory.h \
+ Source/WebCore/storage/IDBIndexBackendImpl.cpp \
+ Source/WebCore/storage/IDBIndexBackendImpl.h \
+ Source/WebCore/storage/IDBIndexBackendInterface.h \
+ Source/WebCore/storage/IDBIndexBackendInterface.h \
+ Source/WebCore/storage/IDBIndex.cpp \
+ Source/WebCore/storage/IDBIndex.h \
+ Source/WebCore/storage/IDBKey.h \
+ Source/WebCore/storage/IDBKeyPath.h \
+ Source/WebCore/storage/IDBKeyPathBackendImpl.h \
+ Source/WebCore/storage/IDBKeyRange.cpp \
+ Source/WebCore/storage/IDBKeyRange.h \
+ Source/WebCore/storage/IDBObjectStoreBackendImpl.cpp \
+ Source/WebCore/storage/IDBObjectStoreBackendImpl.h \
+ Source/WebCore/storage/IDBObjectStoreBackendInterface.h \
+ Source/WebCore/storage/IDBObjectStoreBackendInterface.h \
+ Source/WebCore/storage/IDBObjectStore.cpp \
+ Source/WebCore/storage/IDBObjectStore.h \
+ Source/WebCore/storage/IDBRequest.cpp \
+ Source/WebCore/storage/IDBRequest.h \
+ Source/WebCore/storage/IDBTransactionBackendInterface.h \
+ Source/WebCore/storage/IDBTransactionCoordinator.h \
+ Source/WebCore/storage/IDBTransaction.cpp \
+ Source/WebCore/storage/IDBTransaction.h \
+ Source/WebCore/storage/IDBVersionChangeRequest.h \
+ Source/WebCore/storage/LocalStorageTask.cpp \
+ Source/WebCore/storage/LocalStorageTask.h \
+ Source/WebCore/storage/LocalStorageThread.cpp \
+ Source/WebCore/storage/LocalStorageThread.h \
+ Source/WebCore/storage/OriginQuotaManager.cpp \
+ Source/WebCore/storage/OriginQuotaManager.h \
+ Source/WebCore/storage/OriginUsageRecord.cpp \
+ Source/WebCore/storage/OriginUsageRecord.h \
+ Source/WebCore/storage/SQLError.h \
+ Source/WebCore/storage/SQLException.h \
+ Source/WebCore/storage/SQLResultSet.cpp \
+ Source/WebCore/storage/SQLResultSet.h \
+ Source/WebCore/storage/SQLResultSetRowList.cpp \
+ Source/WebCore/storage/SQLResultSetRowList.h \
+ Source/WebCore/storage/SQLStatementCallback.h \
+ Source/WebCore/storage/SQLStatement.cpp \
+ Source/WebCore/storage/SQLStatementErrorCallback.h \
+ Source/WebCore/storage/SQLStatement.h \
+ Source/WebCore/storage/SQLStatementSync.cpp \
+ Source/WebCore/storage/SQLStatementSync.h \
+ Source/WebCore/storage/SQLTransactionCallback.h \
+ Source/WebCore/storage/SQLTransactionClient.cpp \
+ Source/WebCore/storage/SQLTransactionClient.h \
+ Source/WebCore/storage/SQLTransactionCoordinator.cpp \
+ Source/WebCore/storage/SQLTransactionCoordinator.h \
+ Source/WebCore/storage/SQLTransaction.cpp \
+ Source/WebCore/storage/SQLTransactionErrorCallback.h \
+ Source/WebCore/storage/SQLTransaction.h \
+ Source/WebCore/storage/SQLTransactionSyncCallback.h \
+ Source/WebCore/storage/SQLTransactionSync.cpp \
+ Source/WebCore/storage/SQLTransactionSync.h \
+ Source/WebCore/storage/StorageArea.h \
+ Source/WebCore/storage/StorageAreaImpl.cpp \
+ Source/WebCore/storage/StorageAreaImpl.h \
+ Source/WebCore/storage/StorageAreaSync.cpp \
+ Source/WebCore/storage/StorageAreaSync.h \
+ Source/WebCore/storage/Storage.cpp \
+ Source/WebCore/storage/StorageEvent.cpp \
+ Source/WebCore/storage/StorageEventDispatcher.cpp \
+ Source/WebCore/storage/StorageEventDispatcher.h \
+ Source/WebCore/storage/StorageEvent.h \
+ Source/WebCore/storage/Storage.h \
+ Source/WebCore/storage/StorageMap.cpp \
+ Source/WebCore/storage/StorageMap.h \
+ Source/WebCore/storage/StorageNamespace.cpp \
+ Source/WebCore/storage/StorageNamespace.h \
+ Source/WebCore/storage/StorageNamespaceImpl.cpp \
+ Source/WebCore/storage/StorageNamespaceImpl.h \
+ Source/WebCore/storage/StorageSyncManager.cpp \
+ Source/WebCore/storage/StorageSyncManager.h \
+ Source/WebCore/svg/animation/SMILTimeContainer.cpp \
+ Source/WebCore/svg/animation/SMILTimeContainer.h \
+ Source/WebCore/svg/animation/SMILTime.cpp \
+ Source/WebCore/svg/animation/SMILTime.h \
+ Source/WebCore/svg/animation/SVGSMILElement.cpp \
+ Source/WebCore/svg/animation/SVGSMILElement.h \
+ Source/WebCore/svg/ColorDistance.cpp \
+ Source/WebCore/svg/ColorDistance.h \
+ Source/WebCore/svg/ElementTimeControl.h \
+ Source/WebCore/svg/GradientAttributes.h \
+ Source/WebCore/svg/graphics/filters/SVGFEImage.cpp \
+ Source/WebCore/svg/graphics/filters/SVGFEImage.h \
+ Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp \
+ Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h \
+ Source/WebCore/svg/graphics/filters/SVGFilter.cpp \
+ Source/WebCore/svg/graphics/filters/SVGFilter.h \
+ Source/WebCore/svg/graphics/SVGImage.cpp \
+ Source/WebCore/svg/graphics/SVGImage.h \
+ Source/WebCore/svg/LinearGradientAttributes.h \
+ Source/WebCore/svg/PatternAttributes.h \
+ Source/WebCore/svg/properties/SVGAnimatedListPropertyTearOff.h \
+ Source/WebCore/svg/properties/SVGAnimatedPathSegListPropertyTearOff.h \
+ Source/WebCore/svg/properties/SVGAnimatedProperty.h \
+ Source/WebCore/svg/properties/SVGAnimatedPropertyDescription.h \
+ Source/WebCore/svg/properties/SVGAnimatedPropertyMacros.h \
+ Source/WebCore/svg/properties/SVGAnimatedPropertySynchronizer.h \
+ Source/WebCore/svg/properties/SVGAnimatedPropertyTearOff.h \
+ Source/WebCore/svg/properties/SVGAnimatedStaticPropertyTearOff.h \
+ Source/WebCore/svg/properties/SVGAnimatedTransformListPropertyTearOff.h \
+ Source/WebCore/svg/properties/SVGListProperty.h \
+ Source/WebCore/svg/properties/SVGListPropertyTearOff.h \
+ Source/WebCore/svg/properties/SVGPathSegListPropertyTearOff.cpp \
+ Source/WebCore/svg/properties/SVGPathSegListPropertyTearOff.h \
+ Source/WebCore/svg/properties/SVGProperty.h \
+ Source/WebCore/svg/properties/SVGPropertyTearOff.h \
+ Source/WebCore/svg/properties/SVGPropertyTraits.h \
+ Source/WebCore/svg/properties/SVGStaticListPropertyTearOff.h \
+ Source/WebCore/svg/properties/SVGStaticPropertyTearOff.h \
+ Source/WebCore/svg/properties/SVGStaticPropertyWithParentTearOff.h \
+ Source/WebCore/svg/properties/SVGTransformListPropertyTearOff.h \
+ Source/WebCore/svg/RadialGradientAttributes.h \
+ Source/WebCore/svg/SVGAElement.cpp \
+ Source/WebCore/svg/SVGAElement.h \
+ Source/WebCore/svg/SVGAltGlyphElement.cpp \
+ Source/WebCore/svg/SVGAltGlyphElement.h \
+ Source/WebCore/svg/SVGAngle.cpp \
+ Source/WebCore/svg/SVGAngle.h \
+ Source/WebCore/svg/SVGAnimateColorElement.cpp \
+ Source/WebCore/svg/SVGAnimateColorElement.h \
+ Source/WebCore/svg/SVGAnimatedAngle.h \
+ Source/WebCore/svg/SVGAnimatedBoolean.h \
+ Source/WebCore/svg/SVGAnimatedEnumeration.h \
+ Source/WebCore/svg/SVGAnimatedInteger.h \
+ Source/WebCore/svg/SVGAnimatedLength.h \
+ Source/WebCore/svg/SVGAnimatedLengthList.h \
+ Source/WebCore/svg/SVGAnimatedNumber.h \
+ Source/WebCore/svg/SVGAnimatedNumberList.h \
+ Source/WebCore/svg/SVGAnimatedPreserveAspectRatio.h \
+ Source/WebCore/svg/SVGAnimatedRect.h \
+ Source/WebCore/svg/SVGAnimatedString.h \
+ Source/WebCore/svg/SVGAnimatedTransformList.h \
+ Source/WebCore/svg/SVGAnimateElement.cpp \
+ Source/WebCore/svg/SVGAnimateElement.h \
+ Source/WebCore/svg/SVGAnimateMotionElement.cpp \
+ Source/WebCore/svg/SVGAnimateMotionElement.h \
+ Source/WebCore/svg/SVGAnimateTransformElement.cpp \
+ Source/WebCore/svg/SVGAnimateTransformElement.h \
+ Source/WebCore/svg/SVGAnimationElement.cpp \
+ Source/WebCore/svg/SVGAnimationElement.h \
+ Source/WebCore/svg/SVGCircleElement.cpp \
+ Source/WebCore/svg/SVGCircleElement.h \
+ Source/WebCore/svg/SVGClipPathElement.cpp \
+ Source/WebCore/svg/SVGClipPathElement.h \
+ Source/WebCore/svg/SVGColor.cpp \
+ Source/WebCore/svg/SVGColor.h \
+ Source/WebCore/svg/SVGComponentTransferFunctionElement.cpp \
+ Source/WebCore/svg/SVGComponentTransferFunctionElement.h \
+ Source/WebCore/svg/SVGCursorElement.cpp \
+ Source/WebCore/svg/SVGCursorElement.h \
+ Source/WebCore/svg/SVGDefsElement.cpp \
+ Source/WebCore/svg/SVGDefsElement.h \
+ Source/WebCore/svg/SVGDescElement.cpp \
+ Source/WebCore/svg/SVGDescElement.h \
+ Source/WebCore/svg/SVGDocument.cpp \
+ Source/WebCore/svg/SVGDocumentExtensions.cpp \
+ Source/WebCore/svg/SVGDocumentExtensions.h \
+ Source/WebCore/svg/SVGDocument.h \
+ Source/WebCore/svg/SVGElement.cpp \
+ Source/WebCore/svg/SVGElement.h \
+ Source/WebCore/svg/SVGElementInstance.cpp \
+ Source/WebCore/svg/SVGElementInstance.h \
+ Source/WebCore/svg/SVGElementInstanceList.cpp \
+ Source/WebCore/svg/SVGElementInstanceList.h \
+ Source/WebCore/svg/SVGElementRareData.h \
+ Source/WebCore/svg/SVGEllipseElement.cpp \
+ Source/WebCore/svg/SVGEllipseElement.h \
+ Source/WebCore/svg/SVGException.h \
+ Source/WebCore/svg/SVGExternalResourcesRequired.cpp \
+ Source/WebCore/svg/SVGExternalResourcesRequired.h \
+ Source/WebCore/svg/SVGFEBlendElement.cpp \
+ Source/WebCore/svg/SVGFEBlendElement.h \
+ Source/WebCore/svg/SVGFEColorMatrixElement.cpp \
+ Source/WebCore/svg/SVGFEColorMatrixElement.h \
+ Source/WebCore/svg/SVGFEComponentTransferElement.cpp \
+ Source/WebCore/svg/SVGFEComponentTransferElement.h \
+ Source/WebCore/svg/SVGFECompositeElement.cpp \
+ Source/WebCore/svg/SVGFECompositeElement.h \
+ Source/WebCore/svg/SVGFEConvolveMatrixElement.cpp \
+ Source/WebCore/svg/SVGFEConvolveMatrixElement.h \
+ Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp \
+ Source/WebCore/svg/SVGFEDiffuseLightingElement.h \
+ Source/WebCore/svg/SVGFEDisplacementMapElement.cpp \
+ Source/WebCore/svg/SVGFEDisplacementMapElement.h \
+ Source/WebCore/svg/SVGFEDistantLightElement.cpp \
+ Source/WebCore/svg/SVGFEDistantLightElement.h \
+ Source/WebCore/svg/SVGFEFloodElement.cpp \
+ Source/WebCore/svg/SVGFEFloodElement.h \
+ Source/WebCore/svg/SVGFEFuncAElement.cpp \
+ Source/WebCore/svg/SVGFEFuncAElement.h \
+ Source/WebCore/svg/SVGFEFuncBElement.cpp \
+ Source/WebCore/svg/SVGFEFuncBElement.h \
+ Source/WebCore/svg/SVGFEFuncGElement.cpp \
+ Source/WebCore/svg/SVGFEFuncGElement.h \
+ Source/WebCore/svg/SVGFEFuncRElement.cpp \
+ Source/WebCore/svg/SVGFEFuncRElement.h \
+ Source/WebCore/svg/SVGFEGaussianBlurElement.cpp \
+ Source/WebCore/svg/SVGFEGaussianBlurElement.h \
+ Source/WebCore/svg/SVGFEImageElement.cpp \
+ Source/WebCore/svg/SVGFEImageElement.h \
+ Source/WebCore/svg/SVGFELightElement.cpp \
+ Source/WebCore/svg/SVGFELightElement.h \
+ Source/WebCore/svg/SVGFEMergeElement.cpp \
+ Source/WebCore/svg/SVGFEMergeElement.h \
+ Source/WebCore/svg/SVGFEMergeNodeElement.cpp \
+ Source/WebCore/svg/SVGFEMergeNodeElement.h \
+ Source/WebCore/svg/SVGFEMorphologyElement.cpp \
+ Source/WebCore/svg/SVGFEMorphologyElement.h \
+ Source/WebCore/svg/SVGFEOffsetElement.cpp \
+ Source/WebCore/svg/SVGFEOffsetElement.h \
+ Source/WebCore/svg/SVGFEPointLightElement.cpp \
+ Source/WebCore/svg/SVGFEPointLightElement.h \
+ Source/WebCore/svg/SVGFESpecularLightingElement.cpp \
+ Source/WebCore/svg/SVGFESpecularLightingElement.h \
+ Source/WebCore/svg/SVGFESpotLightElement.cpp \
+ Source/WebCore/svg/SVGFESpotLightElement.h \
+ Source/WebCore/svg/SVGFETileElement.cpp \
+ Source/WebCore/svg/SVGFETileElement.h \
+ Source/WebCore/svg/SVGFETurbulenceElement.cpp \
+ Source/WebCore/svg/SVGFETurbulenceElement.h \
+ Source/WebCore/svg/SVGFilterElement.cpp \
+ Source/WebCore/svg/SVGFilterElement.h \
+ Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp \
+ Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h \
+ Source/WebCore/svg/SVGFitToViewBox.cpp \
+ Source/WebCore/svg/SVGFitToViewBox.h \
+ Source/WebCore/svg/SVGFont.cpp \
+ Source/WebCore/svg/SVGFontData.cpp \
+ Source/WebCore/svg/SVGFontData.h \
+ Source/WebCore/svg/SVGFontElement.cpp \
+ Source/WebCore/svg/SVGFontElement.h \
+ Source/WebCore/svg/SVGFontFaceElement.cpp \
+ Source/WebCore/svg/SVGFontFaceElement.h \
+ Source/WebCore/svg/SVGFontFaceFormatElement.cpp \
+ Source/WebCore/svg/SVGFontFaceFormatElement.h \
+ Source/WebCore/svg/SVGFontFaceNameElement.cpp \
+ Source/WebCore/svg/SVGFontFaceNameElement.h \
+ Source/WebCore/svg/SVGFontFaceSrcElement.cpp \
+ Source/WebCore/svg/SVGFontFaceSrcElement.h \
+ Source/WebCore/svg/SVGFontFaceUriElement.cpp \
+ Source/WebCore/svg/SVGFontFaceUriElement.h \
+ Source/WebCore/svg/SVGForeignObjectElement.cpp \
+ Source/WebCore/svg/SVGForeignObjectElement.h \
+ Source/WebCore/svg/SVGGElement.cpp \
+ Source/WebCore/svg/SVGGElement.h \
+ Source/WebCore/svg/SVGGlyphElement.cpp \
+ Source/WebCore/svg/SVGGlyphElement.h \
+ Source/WebCore/svg/SVGGlyphMap.h \
+ Source/WebCore/svg/SVGGradientElement.cpp \
+ Source/WebCore/svg/SVGGradientElement.h \
+ Source/WebCore/svg/SVGHKernElement.cpp \
+ Source/WebCore/svg/SVGHKernElement.h \
+ Source/WebCore/svg/SVGImageElement.cpp \
+ Source/WebCore/svg/SVGImageElement.h \
+ Source/WebCore/svg/SVGImageLoader.cpp \
+ Source/WebCore/svg/SVGImageLoader.h \
+ Source/WebCore/svg/SVGLangSpace.cpp \
+ Source/WebCore/svg/SVGLangSpace.h \
+ Source/WebCore/svg/SVGLength.cpp \
+ Source/WebCore/svg/SVGLength.h \
+ Source/WebCore/svg/SVGLengthList.cpp \
+ Source/WebCore/svg/SVGLengthList.h \
+ Source/WebCore/svg/SVGLinearGradientElement.cpp \
+ Source/WebCore/svg/SVGLinearGradientElement.h \
+ Source/WebCore/svg/SVGLineElement.cpp \
+ Source/WebCore/svg/SVGLineElement.h \
+ Source/WebCore/svg/SVGLocatable.cpp \
+ Source/WebCore/svg/SVGLocatable.h \
+ Source/WebCore/svg/SVGMarkerElement.cpp \
+ Source/WebCore/svg/SVGMarkerElement.h \
+ Source/WebCore/svg/SVGMaskElement.cpp \
+ Source/WebCore/svg/SVGMaskElement.h \
+ Source/WebCore/svg/SVGMatrix.h \
+ Source/WebCore/svg/SVGMetadataElement.cpp \
+ Source/WebCore/svg/SVGMetadataElement.h \
+ Source/WebCore/svg/SVGMissingGlyphElement.cpp \
+ Source/WebCore/svg/SVGMissingGlyphElement.h \
+ Source/WebCore/svg/SVGMPathElement.cpp \
+ Source/WebCore/svg/SVGMPathElement.h \
+ Source/WebCore/svg/SVGNumberList.cpp \
+ Source/WebCore/svg/SVGNumberList.h \
+ Source/WebCore/svg/SVGPaint.cpp \
+ Source/WebCore/svg/SVGPaint.h \
+ Source/WebCore/svg/SVGParserUtilities.cpp \
+ Source/WebCore/svg/SVGParserUtilities.h \
+ Source/WebCore/svg/SVGPathBlender.cpp \
+ Source/WebCore/svg/SVGPathBlender.h \
+ Source/WebCore/svg/SVGPathBuilder.cpp \
+ Source/WebCore/svg/SVGPathBuilder.h \
+ Source/WebCore/svg/SVGPathByteStreamBuilder.cpp \
+ Source/WebCore/svg/SVGPathByteStreamBuilder.h \
+ Source/WebCore/svg/SVGPathByteStream.h \
+ Source/WebCore/svg/SVGPathByteStreamSource.cpp \
+ Source/WebCore/svg/SVGPathByteStreamSource.h \
+ Source/WebCore/svg/SVGPathConsumer.h \
+ Source/WebCore/svg/SVGPathElement.cpp \
+ Source/WebCore/svg/SVGPathElement.h \
+ Source/WebCore/svg/SVGPathParser.cpp \
+ Source/WebCore/svg/SVGPathParserFactory.cpp \
+ Source/WebCore/svg/SVGPathParserFactory.h \
+ Source/WebCore/svg/SVGPathParser.h \
+ Source/WebCore/svg/SVGPathSegArc.h \
+ Source/WebCore/svg/SVGPathSegClosePath.h \
+ Source/WebCore/svg/SVGPathSegCurvetoCubic.h \
+ Source/WebCore/svg/SVGPathSegCurvetoCubicSmooth.h \
+ Source/WebCore/svg/SVGPathSegCurvetoQuadratic.h \
+ Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmooth.h \
+ Source/WebCore/svg/SVGPathSeg.h \
+ Source/WebCore/svg/SVGPathSegLineto.h \
+ Source/WebCore/svg/SVGPathSegLinetoHorizontal.h \
+ Source/WebCore/svg/SVGPathSegLinetoVertical.h \
+ Source/WebCore/svg/SVGPathSegListBuilder.cpp \
+ Source/WebCore/svg/SVGPathSegListBuilder.h \
+ Source/WebCore/svg/SVGPathSegList.cpp \
+ Source/WebCore/svg/SVGPathSegList.h \
+ Source/WebCore/svg/SVGPathSegListSource.cpp \
+ Source/WebCore/svg/SVGPathSegListSource.h \
+ Source/WebCore/svg/SVGPathSegMoveto.h \
+ Source/WebCore/svg/SVGPathSegWithContext.h \
+ Source/WebCore/svg/SVGPathSource.h \
+ Source/WebCore/svg/SVGPathStringBuilder.cpp \
+ Source/WebCore/svg/SVGPathStringBuilder.h \
+ Source/WebCore/svg/SVGPathStringSource.cpp \
+ Source/WebCore/svg/SVGPathStringSource.h \
+ Source/WebCore/svg/SVGPathTraversalStateBuilder.cpp \
+ Source/WebCore/svg/SVGPathTraversalStateBuilder.h \
+ Source/WebCore/svg/SVGPatternElement.cpp \
+ Source/WebCore/svg/SVGPatternElement.h \
+ Source/WebCore/svg/SVGPointList.cpp \
+ Source/WebCore/svg/SVGPointList.h \
+ Source/WebCore/svg/SVGPolyElement.cpp \
+ Source/WebCore/svg/SVGPolyElement.h \
+ Source/WebCore/svg/SVGPolygonElement.cpp \
+ Source/WebCore/svg/SVGPolygonElement.h \
+ Source/WebCore/svg/SVGPolylineElement.cpp \
+ Source/WebCore/svg/SVGPolylineElement.h \
+ Source/WebCore/svg/SVGPreserveAspectRatio.cpp \
+ Source/WebCore/svg/SVGPreserveAspectRatio.h \
+ Source/WebCore/svg/SVGRadialGradientElement.cpp \
+ Source/WebCore/svg/SVGRadialGradientElement.h \
+ Source/WebCore/svg/SVGRect.h \
+ Source/WebCore/svg/SVGRectElement.cpp \
+ Source/WebCore/svg/SVGRectElement.h \
+ Source/WebCore/svg/SVGRenderingIntent.h \
+ Source/WebCore/svg/SVGScriptElement.cpp \
+ Source/WebCore/svg/SVGScriptElement.h \
+ Source/WebCore/svg/SVGSetElement.cpp \
+ Source/WebCore/svg/SVGSetElement.h \
+ Source/WebCore/svg/SVGStopElement.cpp \
+ Source/WebCore/svg/SVGStopElement.h \
+ Source/WebCore/svg/SVGStringList.cpp \
+ Source/WebCore/svg/SVGStringList.h \
+ Source/WebCore/svg/SVGStylable.cpp \
+ Source/WebCore/svg/SVGStylable.h \
+ Source/WebCore/svg/SVGStyledElement.cpp \
+ Source/WebCore/svg/SVGStyledElement.h \
+ Source/WebCore/svg/SVGStyledLocatableElement.cpp \
+ Source/WebCore/svg/SVGStyledLocatableElement.h \
+ Source/WebCore/svg/SVGStyledTransformableElement.cpp \
+ Source/WebCore/svg/SVGStyledTransformableElement.h \
+ Source/WebCore/svg/SVGStyleElement.cpp \
+ Source/WebCore/svg/SVGStyleElement.h \
+ Source/WebCore/svg/SVGSVGElement.cpp \
+ Source/WebCore/svg/SVGSVGElement.h \
+ Source/WebCore/svg/SVGSwitchElement.cpp \
+ Source/WebCore/svg/SVGSwitchElement.h \
+ Source/WebCore/svg/SVGSymbolElement.cpp \
+ Source/WebCore/svg/SVGSymbolElement.h \
+ Source/WebCore/svg/SVGTests.cpp \
+ Source/WebCore/svg/SVGTests.h \
+ Source/WebCore/svg/SVGTextContentElement.cpp \
+ Source/WebCore/svg/SVGTextContentElement.h \
+ Source/WebCore/svg/SVGTextElement.cpp \
+ Source/WebCore/svg/SVGTextElement.h \
+ Source/WebCore/svg/SVGTextPathElement.cpp \
+ Source/WebCore/svg/SVGTextPathElement.h \
+ Source/WebCore/svg/SVGTextPositioningElement.cpp \
+ Source/WebCore/svg/SVGTextPositioningElement.h \
+ Source/WebCore/svg/SVGTitleElement.cpp \
+ Source/WebCore/svg/SVGTitleElement.h \
+ Source/WebCore/svg/SVGTransformable.cpp \
+ Source/WebCore/svg/SVGTransformable.h \
+ Source/WebCore/svg/SVGTransform.cpp \
+ Source/WebCore/svg/SVGTransformDistance.cpp \
+ Source/WebCore/svg/SVGTransformDistance.h \
+ Source/WebCore/svg/SVGTransform.h \
+ Source/WebCore/svg/SVGTransformList.cpp \
+ Source/WebCore/svg/SVGTransformList.h \
+ Source/WebCore/svg/SVGTRefElement.cpp \
+ Source/WebCore/svg/SVGTRefElement.h \
+ Source/WebCore/svg/SVGTSpanElement.cpp \
+ Source/WebCore/svg/SVGTSpanElement.h \
+ Source/WebCore/svg/SVGUnitTypes.h \
+ Source/WebCore/svg/SVGURIReference.cpp \
+ Source/WebCore/svg/SVGURIReference.h \
+ Source/WebCore/svg/SVGUseElement.cpp \
+ Source/WebCore/svg/SVGUseElement.h \
+ Source/WebCore/svg/SVGViewElement.cpp \
+ Source/WebCore/svg/SVGViewElement.h \
+ Source/WebCore/svg/SVGViewSpec.cpp \
+ Source/WebCore/svg/SVGViewSpec.h \
+ Source/WebCore/svg/SVGVKernElement.cpp \
+ Source/WebCore/svg/SVGVKernElement.h \
+ Source/WebCore/svg/SVGZoomAndPan.cpp \
+ Source/WebCore/svg/SVGZoomAndPan.h \
+ Source/WebCore/svg/SVGZoomEvent.cpp \
+ Source/WebCore/svg/SVGZoomEvent.h \
+ Source/WebCore/WebCorePrefix.h \
+ Source/WebCore/websockets/ThreadableWebSocketChannelClientWrapper.h \
+ Source/WebCore/websockets/ThreadableWebSocketChannel.cpp \
+ Source/WebCore/websockets/ThreadableWebSocketChannel.h \
+ Source/WebCore/websockets/WebSocketChannelClient.h \
+ Source/WebCore/websockets/WebSocketChannel.cpp \
+ Source/WebCore/websockets/WebSocketChannel.h \
+ Source/WebCore/websockets/WebSocket.cpp \
+ Source/WebCore/websockets/WebSocket.h \
+ Source/WebCore/websockets/WebSocketHandshake.cpp \
+ Source/WebCore/websockets/WebSocketHandshake.h \
+ Source/WebCore/websockets/WebSocketHandshakeRequest.cpp \
+ Source/WebCore/websockets/WebSocketHandshakeRequest.h \
+ Source/WebCore/websockets/WebSocketHandshakeResponse.cpp \
+ Source/WebCore/websockets/WebSocketHandshakeResponse.h \
+ Source/WebCore/websockets/WorkerThreadableWebSocketChannel.cpp \
+ Source/WebCore/websockets/WorkerThreadableWebSocketChannel.h \
+ Source/WebCore/wml/WMLAccessElement.cpp \
+ Source/WebCore/wml/WMLAElement.cpp \
+ Source/WebCore/wml/WMLAnchorElement.cpp \
+ Source/WebCore/wml/WMLBRElement.cpp \
+ Source/WebCore/wml/WMLCardElement.cpp \
+ Source/WebCore/wml/WMLDocument.cpp \
+ Source/WebCore/wml/WMLDoElement.cpp \
+ Source/WebCore/wml/WMLElement.cpp \
+ Source/WebCore/wml/WMLErrorHandling.cpp \
+ Source/WebCore/wml/WMLEventHandlingElement.cpp \
+ Source/WebCore/wml/WMLFieldSetElement.cpp \
+ Source/WebCore/wml/WMLFormControlElement.cpp \
+ Source/WebCore/wml/WMLGoElement.cpp \
+ Source/WebCore/wml/WMLImageElement.cpp \
+ Source/WebCore/wml/WMLImageLoader.cpp \
+ Source/WebCore/wml/WMLInputElement.cpp \
+ Source/WebCore/wml/WMLInsertedLegendElement.cpp \
+ Source/WebCore/wml/WMLIntrinsicEvent.cpp \
+ Source/WebCore/wml/WMLIntrinsicEventHandler.cpp \
+ Source/WebCore/wml/WMLMetaElement.cpp \
+ Source/WebCore/wml/WMLNoopElement.cpp \
+ Source/WebCore/wml/WMLOnEventElement.cpp \
+ Source/WebCore/wml/WMLOptGroupElement.cpp \
+ Source/WebCore/wml/WMLOptionElement.cpp \
+ Source/WebCore/wml/WMLPageState.cpp \
+ Source/WebCore/wml/WMLPElement.cpp \
+ Source/WebCore/wml/WMLPostfieldElement.cpp \
+ Source/WebCore/wml/WMLPrevElement.cpp \
+ Source/WebCore/wml/WMLRefreshElement.cpp \
+ Source/WebCore/wml/WMLSelectElement.cpp \
+ Source/WebCore/wml/WMLSetvarElement.cpp \
+ Source/WebCore/wml/WMLTableElement.cpp \
+ Source/WebCore/wml/WMLTaskElement.cpp \
+ Source/WebCore/wml/WMLTemplateElement.cpp \
+ Source/WebCore/wml/WMLTimerElement.cpp \
+ Source/WebCore/wml/WMLVariables.cpp \
+ Source/WebCore/workers/AbstractWorker.cpp \
+ Source/WebCore/workers/AbstractWorker.h \
+ Source/WebCore/workers/DedicatedWorkerContext.cpp \
+ Source/WebCore/workers/DedicatedWorkerContext.h \
+ Source/WebCore/workers/DedicatedWorkerThread.cpp \
+ Source/WebCore/workers/DedicatedWorkerThread.h \
+ Source/WebCore/workers/DefaultSharedWorkerRepository.cpp \
+ Source/WebCore/workers/DefaultSharedWorkerRepository.h \
+ Source/WebCore/workers/SharedWorkerContext.cpp \
+ Source/WebCore/workers/SharedWorkerContext.h \
+ Source/WebCore/workers/SharedWorker.cpp \
+ Source/WebCore/workers/SharedWorker.h \
+ Source/WebCore/workers/SharedWorkerRepository.h \
+ Source/WebCore/workers/SharedWorkerThread.cpp \
+ Source/WebCore/workers/SharedWorkerThread.h \
+ Source/WebCore/workers/WorkerContext.cpp \
+ Source/WebCore/workers/WorkerContext.h \
+ Source/WebCore/workers/WorkerContextProxy.h \
+ Source/WebCore/workers/Worker.cpp \
+ Source/WebCore/workers/Worker.h \
+ Source/WebCore/workers/WorkerLoaderProxy.h \
+ Source/WebCore/workers/WorkerLocation.cpp \
+ Source/WebCore/workers/WorkerLocation.h \
+ Source/WebCore/workers/WorkerMessagingProxy.cpp \
+ Source/WebCore/workers/WorkerMessagingProxy.h \
+ Source/WebCore/workers/WorkerObjectProxy.h \
+ Source/WebCore/workers/WorkerReportingProxy.h \
+ Source/WebCore/workers/WorkerRunLoop.cpp \
+ Source/WebCore/workers/WorkerRunLoop.h \
+ Source/WebCore/workers/WorkerScriptLoaderClient.h \
+ Source/WebCore/workers/WorkerScriptLoader.cpp \
+ Source/WebCore/workers/WorkerScriptLoader.h \
+ Source/WebCore/workers/WorkerThread.cpp \
+ Source/WebCore/workers/WorkerThread.h \
+ Source/WebCore/xml/DOMParser.cpp \
+ Source/WebCore/xml/DOMParser.h \
+ Source/WebCore/xml/NativeXPathNSResolver.cpp \
+ Source/WebCore/xml/NativeXPathNSResolver.h \
+ Source/WebCore/xml/XMLHttpRequest.cpp \
+ Source/WebCore/xml/XMLHttpRequestException.h \
+ Source/WebCore/xml/XMLHttpRequest.h \
+ Source/WebCore/xml/XMLHttpRequestProgressEvent.h \
+ Source/WebCore/xml/XMLHttpRequestProgressEventThrottle.cpp \
+ Source/WebCore/xml/XMLHttpRequestProgressEventThrottle.h \
+ Source/WebCore/xml/XMLHttpRequestUpload.cpp \
+ Source/WebCore/xml/XMLHttpRequestUpload.h \
+ Source/WebCore/xml/XMLTreeViewer.cpp \
+ Source/WebCore/xml/XMLTreeViewer.h \
+ Source/WebCore/xml/XMLSerializer.cpp \
+ Source/WebCore/xml/XMLSerializer.h \
+ Source/WebCore/xml/XPathEvaluator.cpp \
+ Source/WebCore/xml/XPathEvaluator.h \
+ Source/WebCore/xml/XPathException.h \
+ Source/WebCore/xml/XPathExpression.cpp \
+ Source/WebCore/xml/XPathExpression.h \
+ Source/WebCore/xml/XPathExpressionNode.cpp \
+ Source/WebCore/xml/XPathExpressionNode.h \
+ Source/WebCore/xml/XPathFunctions.cpp \
+ Source/WebCore/xml/XPathFunctions.h \
+ Source/WebCore/xml/XPathNamespace.cpp \
+ Source/WebCore/xml/XPathNamespace.h \
+ Source/WebCore/xml/XPathNodeSet.cpp \
+ Source/WebCore/xml/XPathNodeSet.h \
+ Source/WebCore/xml/XPathNSResolver.cpp \
+ Source/WebCore/xml/XPathNSResolver.h \
+ Source/WebCore/xml/XPathParser.cpp \
+ Source/WebCore/xml/XPathParser.h \
+ Source/WebCore/xml/XPathPath.cpp \
+ Source/WebCore/xml/XPathPath.h \
+ Source/WebCore/xml/XPathPredicate.cpp \
+ Source/WebCore/xml/XPathPredicate.h \
+ Source/WebCore/xml/XPathResult.cpp \
+ Source/WebCore/xml/XPathResult.h \
+ Source/WebCore/xml/XPathStep.cpp \
+ Source/WebCore/xml/XPathStep.h \
+ Source/WebCore/xml/XPathUtil.cpp \
+ Source/WebCore/xml/XPathUtil.h \
+ Source/WebCore/xml/XPathValue.cpp \
+ Source/WebCore/xml/XPathValue.h \
+ Source/WebCore/xml/XPathVariableReference.cpp \
+ Source/WebCore/xml/XPathVariableReference.h \
+ Source/WebCore/xml/XSLImportRule.cpp \
+ Source/WebCore/xml/XSLImportRule.h \
+ Source/WebCore/xml/XSLStyleSheet.h \
+ Source/WebCore/xml/XSLStyleSheetLibxslt.cpp \
+ Source/WebCore/xml/XSLTExtensions.cpp \
+ Source/WebCore/xml/XSLTExtensions.h \
+ Source/WebCore/xml/XSLTProcessor.cpp \
+ Source/WebCore/xml/XSLTProcessor.h \
+ Source/WebCore/xml/XSLTProcessorLibxslt.cpp \
+ Source/WebCore/xml/XSLTUnicodeSort.cpp \
+ Source/WebCore/xml/XSLTUnicodeSort.h
+
+webcoregtk_sources += \
+ Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp \
+ Source/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp \
+ Source/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.h \
+ Source/WebCore/accessibility/gtk/AXObjectCacheAtk.cpp \
+ Source/WebCore/accessibility/gtk/WebKitAccessibleHyperlink.h \
+ Source/WebCore/accessibility/gtk/WebKitAccessibleHyperlink.cpp \
+ Source/WebCore/bindings/js/ScriptControllerGtk.cpp \
+ Source/WebCore/page/gtk/DragControllerGtk.cpp \
+ Source/WebCore/page/gtk/EventHandlerGtk.cpp \
+ Source/WebCore/page/gtk/FrameGtk.cpp \
+ Source/WebCore/platform/graphics/cairo/CairoPath.h \
+ Source/WebCore/platform/graphics/cairo/CairoUtilities.cpp \
+ Source/WebCore/platform/graphics/cairo/CairoUtilities.h \
+ Source/WebCore/platform/graphics/cairo/ContextShadowCairo.cpp \
+ Source/WebCore/platform/graphics/cairo/FloatRectCairo.cpp \
+ Source/WebCore/platform/graphics/cairo/FontCairo.cpp \
+ Source/WebCore/platform/graphics/cairo/FontCustomPlatformData.h \
+ Source/WebCore/platform/graphics/cairo/GradientCairo.cpp \
+ Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp \
+ Source/WebCore/platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h \
+ Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp \
+ Source/WebCore/platform/graphics/cairo/ImageBufferData.h \
+ Source/WebCore/platform/graphics/cairo/ImageCairo.cpp \
+ Source/WebCore/platform/graphics/cairo/OwnPtrCairo.cpp \
+ Source/WebCore/platform/graphics/cairo/OwnPtrCairo.h \
+ Source/WebCore/platform/graphics/cairo/PathCairo.cpp \
+ Source/WebCore/platform/graphics/cairo/PatternCairo.cpp \
+ Source/WebCore/platform/graphics/cairo/RefPtrCairo.cpp \
+ Source/WebCore/platform/graphics/cairo/RefPtrCairo.h \
+ Source/WebCore/platform/graphics/cairo/TransformationMatrixCairo.cpp \
+ Source/WebCore/platform/graphics/gstreamer/GOwnPtrGStreamer.cpp \
+ Source/WebCore/platform/graphics/gstreamer/GOwnPtrGStreamer.h \
+ Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp \
+ Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h \
+ Source/WebCore/platform/graphics/gstreamer/GStreamerGWorld.cpp \
+ Source/WebCore/platform/graphics/gstreamer/GStreamerGWorld.h \
+ Source/WebCore/platform/graphics/gstreamer/ImageGStreamerCairo.cpp \
+ Source/WebCore/platform/graphics/gstreamer/ImageGStreamer.h \
+ Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp \
+ Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h \
+ Source/WebCore/platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp \
+ Source/WebCore/platform/graphics/gstreamer/PlatformVideoWindow.h \
+ Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp \
+ Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.h \
+ Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp \
+ Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.h \
+ Source/WebCore/platform/graphics/gtk/ColorGtk.cpp \
+ Source/WebCore/platform/graphics/gtk/FontGtk.cpp \
+ Source/WebCore/platform/graphics/gtk/GdkCairoUtilities.cpp \
+ Source/WebCore/platform/graphics/gtk/GdkCairoUtilities.h \
+ Source/WebCore/platform/graphics/gtk/IconGtk.cpp \
+ Source/WebCore/platform/graphics/gtk/ImageBufferGtk.cpp \
+ Source/WebCore/platform/graphics/gtk/ImageGtk.cpp \
+ Source/WebCore/platform/graphics/gtk/IntPointGtk.cpp \
+ Source/WebCore/platform/graphics/gtk/IntRectGtk.cpp \
+ Source/WebCore/platform/gtk/ClipboardGtk.cpp \
+ Source/WebCore/platform/gtk/ClipboardGtk.h \
+ Source/WebCore/platform/gtk/ClipboardUtilitiesGtk.cpp \
+ Source/WebCore/platform/gtk/ClipboardUtilitiesGtk.h \
+ Source/WebCore/platform/gtk/ContextMenuGtk.cpp \
+ Source/WebCore/platform/gtk/ContextMenuItemGtk.cpp \
+ Source/WebCore/platform/gtk/CursorGtk.cpp \
+ Source/WebCore/platform/gtk/CursorGtk.h \
+ Source/WebCore/platform/gtk/DataObjectGtk.cpp \
+ Source/WebCore/platform/gtk/DataObjectGtk.h \
+ Source/WebCore/platform/gtk/DragDataGtk.cpp \
+ Source/WebCore/platform/gtk/DragImageGtk.cpp \
+ Source/WebCore/platform/gtk/EventLoopGtk.cpp \
+ Source/WebCore/platform/gtk/FileChooserGtk.cpp \
+ Source/WebCore/platform/gtk/FileSystemGtk.cpp \
+ Source/WebCore/platform/gtk/GeolocationServiceGtk.cpp \
+ Source/WebCore/platform/gtk/GeolocationServiceGtk.h \
+ Source/WebCore/platform/gtk/GOwnPtrGtk.cpp \
+ Source/WebCore/platform/gtk/GOwnPtrGtk.h \
+ Source/WebCore/platform/gtk/GRefPtrGtk.cpp \
+ Source/WebCore/platform/gtk/GRefPtrGtk.h \
+ Source/WebCore/platform/gtk/GtkPluginWidget.cpp \
+ Source/WebCore/platform/gtk/GtkPluginWidget.h \
+ Source/WebCore/platform/gtk/GtkVersioning.c \
+ Source/WebCore/platform/gtk/GtkVersioning.h \
+ Source/WebCore/platform/gtk/KeyEventGtk.cpp \
+ Source/WebCore/platform/gtk/KURLGtk.cpp \
+ Source/WebCore/platform/gtk/LanguageGtk.cpp \
+ Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp \
+ Source/WebCore/platform/gtk/LoggingGtk.cpp \
+ Source/WebCore/platform/gtk/MainFrameScrollbarGtk.cpp \
+ Source/WebCore/platform/gtk/MainFrameScrollbarGtk.h \
+ Source/WebCore/platform/gtk/MIMETypeRegistryGtk.cpp \
+ Source/WebCore/platform/gtk/MouseEventGtk.cpp \
+ Source/WebCore/platform/gtk/PasteboardGtk.cpp \
+ Source/WebCore/platform/gtk/PasteboardHelper.cpp \
+ Source/WebCore/platform/gtk/PasteboardHelper.h \
+ Source/WebCore/platform/gtk/PlatformScreenGtk.cpp \
+ Source/WebCore/platform/gtk/PopupMenuGtk.cpp \
+ Source/WebCore/platform/gtk/PopupMenuGtk.h \
+ Source/WebCore/platform/gtk/RenderThemeGtk.cpp \
+ Source/WebCore/platform/gtk/RenderThemeGtk.h \
+ Source/WebCore/platform/gtk/RenderThemeGtk2.cpp \
+ Source/WebCore/platform/gtk/RenderThemeGtk3.cpp \
+ Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp \
+ Source/WebCore/platform/gtk/ScrollbarThemeGtk.h \
+ Source/WebCore/platform/gtk/ScrollbarThemeGtk2.cpp \
+ Source/WebCore/platform/gtk/ScrollbarThemeGtk3.cpp \
+ Source/WebCore/platform/gtk/ScrollViewGtk.cpp \
+ Source/WebCore/platform/gtk/SearchPopupMenuGtk.cpp \
+ Source/WebCore/platform/gtk/SearchPopupMenuGtk.h \
+ Source/WebCore/platform/gtk/SharedBufferGtk.cpp \
+ Source/WebCore/platform/gtk/SharedTimerGtk.cpp \
+ Source/WebCore/platform/gtk/SoundGtk.cpp \
+ Source/WebCore/platform/gtk/TemporaryLinkStubs.cpp \
+ Source/WebCore/platform/gtk/WheelEventGtk.cpp \
+ Source/WebCore/platform/gtk/WidgetGtk.cpp \
+ Source/WebCore/platform/gtk/WidgetRenderingContext.cpp \
+ Source/WebCore/platform/gtk/WidgetRenderingContext.h \
+ Source/WebCore/platform/image-decoders/bmp/BMPImageDecoder.cpp \
+ Source/WebCore/platform/image-decoders/bmp/BMPImageDecoder.h \
+ Source/WebCore/platform/image-decoders/bmp/BMPImageReader.cpp \
+ Source/WebCore/platform/image-decoders/bmp/BMPImageReader.h \
+ Source/WebCore/platform/image-decoders/cairo/ImageDecoderCairo.cpp \
+ Source/WebCore/platform/image-decoders/gif/GIFImageDecoder.cpp \
+ Source/WebCore/platform/image-decoders/gif/GIFImageDecoder.h \
+ Source/WebCore/platform/image-decoders/gif/GIFImageReader.cpp \
+ Source/WebCore/platform/image-decoders/gif/GIFImageReader.h \
+ Source/WebCore/platform/image-decoders/ico/ICOImageDecoder.cpp \
+ Source/WebCore/platform/image-decoders/ico/ICOImageDecoder.h \
+ Source/WebCore/platform/image-decoders/ImageDecoder.cpp \
+ Source/WebCore/platform/image-decoders/ImageDecoder.h \
+ Source/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.cpp \
+ Source/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.h \
+ Source/WebCore/platform/image-decoders/webp/WEBPImageDecoder.cpp \
+ Source/WebCore/platform/image-decoders/webp/WEBPImageDecoder.h \
+ Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp \
+ Source/WebCore/platform/image-decoders/png/PNGImageDecoder.h \
+ Source/WebCore/platform/network/soup/AuthenticationChallenge.h \
+ Source/WebCore/platform/network/soup/CookieJarSoup.cpp \
+ Source/WebCore/platform/network/soup/CookieJarSoup.h \
+ Source/WebCore/platform/network/soup/GOwnPtrSoup.cpp \
+ Source/WebCore/platform/network/soup/GOwnPtrSoup.h \
+ Source/WebCore/platform/network/soup/ProxyServerSoup.cpp \
+ Source/WebCore/platform/network/soup/ResourceError.h \
+ Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp \
+ Source/WebCore/platform/network/soup/ResourceRequest.h \
+ Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp \
+ Source/WebCore/platform/network/soup/ResourceResponse.h \
+ Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp \
+ Source/WebCore/platform/network/soup/SocketStreamError.h \
+ Source/WebCore/platform/network/soup/SocketStreamHandle.h \
+ Source/WebCore/platform/network/soup/SocketStreamHandleSoup.cpp \
+ Source/WebCore/platform/network/soup/SoupURIUtils.cpp \
+ Source/WebCore/platform/network/soup/SoupURIUtils.h \
+ Source/WebCore/plugins/gtk/PluginDataGtk.cpp \
+ Source/WebCore/plugins/gtk/PluginPackageGtk.cpp \
+ Source/WebCore/plugins/gtk/PluginViewGtk.cpp
+
+if TARGET_X11
+webcoregtk_sources += \
+ Source/WebCore/plugins/gtk/gtk2xtbin.c \
+ Source/WebCore/plugins/gtk/gtk2xtbin.h \
+ Source/WebCore/plugins/gtk/xembed.h
+endif
+
+if TARGET_WIN32
+webcore_sources += \
+ Source/WebCore/platform/ScrollAnimatorWin.cpp \
+ Source/WebCore/platform/ScrollAnimatorWin.h \
+ Source/WebCore/plugins/win/PluginDatabaseWin.cpp \
+ Source/WebCore/plugins/win/PluginMessageThrottlerWin.cpp \
+ Source/WebCore/plugins/win/PluginMessageThrottlerWin.h
+endif
+
+# ----
+# icu unicode backend
+# ----
+if USE_ICU_UNICODE
+webcoregtk_sources += \
+ Source/WebCore/platform/text/TextCodecICU.cpp \
+ Source/WebCore/platform/text/TextCodecICU.h \
+ Source/WebCore/platform/text/TextBreakIteratorICU.cpp \
+ Source/WebCore/platform/text/TextBreakIteratorInternalICU.h \
+ Source/WebCore/platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp
+endif
+
+# ----
+# glib unicode backend
+# ----
+if USE_GLIB_UNICODE
+webcoregtk_sources += \
+ Source/WebCore/platform/text/gtk/TextCodecGtk.cpp \
+ Source/WebCore/platform/text/gtk/TextCodecGtk.h \
+ Source/WebCore/platform/text/gtk/TextBreakIteratorGtk.cpp
+endif
+
# ---
# Channel mesaging support
@@ -123,8 +3887,16 @@
# ---
if USE_FREETYPE
webcoregtk_cppflags += \
- -DWTF_USE_FREETYPE=1 \
+ -DUSE_FREETYPE=1 \
-I$(srcdir)/Source/WebCore/platform/graphics/freetype
+
+webcoregtk_sources += \
+ Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp \
+ Source/WebCore/platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp \
+ Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp \
+ Source/WebCore/platform/graphics/freetype/FontPlatformData.h \
+ Source/WebCore/platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp \
+ Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp
endif # END USE_FREETYPE
# ---
@@ -132,8 +3904,16 @@
# ---
if USE_PANGO
webcoregtk_cppflags += \
- -DWTF_USE_PANGO=1 \
+ -DUSE_PANGO=1 \
-I$(srcdir)/Source/WebCore/platform/graphics/pango
+
+webcoregtk_sources += \
+ Source/WebCore/platform/graphics/pango/FontCachePango.cpp \
+ Source/WebCore/platform/graphics/pango/FontCustomPlatformDataPango.cpp \
+ Source/WebCore/platform/graphics/pango/FontPlatformDataPango.cpp \
+ Source/WebCore/platform/graphics/pango/FontPlatformData.h \
+ Source/WebCore/platform/graphics/pango/GlyphPageTreeNodePango.cpp \
+ Source/WebCore/platform/graphics/pango/SimpleFontDataPango.cpp
endif # END USE_PANGO
# ----
@@ -176,6 +3956,8 @@
if ENABLE_OFFLINE_WEB_APPLICATIONS
FEATURE_DEFINES += ENABLE_OFFLINE_WEB_APPLICATIONS=1
webcore_cppflags += -DENABLE_OFFLINE_WEB_APPLICATIONS=1
+webcore_built_sources += \
+ DerivedSources/WebCore/JSDOMApplicationCache.cpp
endif # END ENABLE_OFFLINE_WEB_APPLICATIONS
# ----
@@ -184,6 +3966,30 @@
if ENABLE_DATABASE
FEATURE_DEFINES += ENABLE_DATABASE=1
webcore_cppflags += -DENABLE_DATABASE=1
+webcore_built_sources += \
+ DerivedSources/WebCore/JSDatabase.cpp \
+ DerivedSources/WebCore/JSDatabase.h \
+ DerivedSources/WebCore/JSDatabaseCallback.cpp \
+ DerivedSources/WebCore/JSDatabaseCallback.h \
+ DerivedSources/WebCore/JSDatabaseSync.cpp \
+ DerivedSources/WebCore/JSDatabaseSync.h \
+ DerivedSources/WebCore/JSSQLError.cpp \
+ DerivedSources/WebCore/JSSQLError.h \
+ DerivedSources/WebCore/JSSQLException.cpp \
+ DerivedSources/WebCore/JSSQLResultSet.cpp \
+ DerivedSources/WebCore/JSSQLResultSet.h \
+ DerivedSources/WebCore/JSSQLResultSetRowList.cpp \
+ DerivedSources/WebCore/JSSQLStatementCallback.cpp \
+ DerivedSources/WebCore/JSSQLStatementCallback.h \
+ DerivedSources/WebCore/JSSQLStatementErrorCallback.h \
+ DerivedSources/WebCore/JSSQLTransaction.cpp \
+ DerivedSources/WebCore/JSSQLTransactionCallback.cpp \
+ DerivedSources/WebCore/JSSQLTransactionCallback.h \
+ DerivedSources/WebCore/JSSQLTransactionErrorCallback.cpp \
+ DerivedSources/WebCore/JSSQLTransactionErrorCallback.h \
+ DerivedSources/WebCore/JSSQLTransactionSync.cpp \
+ DerivedSources/WebCore/JSSQLTransactionSyncCallback.cpp \
+ DerivedSources/WebCore/JSSQLTransactionSyncCallback.h
else
webcore_cppflags += -DENABLE_DATABASE=0
endif # END ENABLE_DATABASE
@@ -198,14 +4004,6 @@
endif # END ENABLE_DATALIST
# ----
-# HTML5 data transfer items support
-# ----
-if ENABLE_DATA_TRANSFER_ITEMS
-FEATURE_DEFINES += ENABLE_DATA_TRANSFER_ITEMS=1
-webcore_cppflags += -DENABLE_DATA_TRANSFER_ITEMS=1
-endif # END ENABLE_DATA_TRANSFER_ITEMS
-
-# ----
# HTML5 server-sent events
# ----
if !ENABLE_EVENTSOURCE
@@ -221,6 +4019,27 @@
if ENABLE_INDEXED_DATABASE
FEATURE_DEFINES += ENABLE_INDEXED_DATABASE=1
webcore_cppflags += -DENABLE_INDEXED_DATABASE=1
+webcore_built_sources += \
+ DerivedSources/WebCore/JSIDBAny.cpp \
+ DerivedSources/WebCore/JSIDBAny.h \
+ DerivedSources/WebCore/JSIDBDatabaseError.cpp \
+ DerivedSources/WebCore/JSIDBDatabaseError.h \
+ DerivedSources/WebCore/JSIDBDatabaseException.cpp \
+ DerivedSources/WebCore/JSIDBDatabaseException.h \
+ DerivedSources/WebCore/JSIDBDatabase.cpp \
+ DerivedSources/WebCore/JSIDBDatabase.h \
+ DerivedSources/WebCore/JSIDBFactory.cpp \
+ DerivedSources/WebCore/JSIDBFactory.h \
+ DerivedSources/WebCore/JSIDBIndex.cpp \
+ DerivedSources/WebCore/JSIDBIndex.h \
+ DerivedSources/WebCore/JSIDBKeyRange.cpp \
+ DerivedSources/WebCore/JSIDBKeyRange.h \
+ DerivedSources/WebCore/JSIDBObjectStore.cpp \
+ DerivedSources/WebCore/JSIDBObjectStore.h \
+ DerivedSources/WebCore/JSIDBRequest.cpp \
+ DerivedSources/WebCore/JSIDBRequest.h \
+ DerivedSources/WebCore/JSIDBTransaction.cpp \
+ DerivedSources/WebCore/JSIDBTransaction.h
endif # END ENABLE_INDEXED_DATABASE
# ----
@@ -239,6 +4058,10 @@
if ENABLE_DOM_STORAGE
FEATURE_DEFINES += ENABLE_DOM_STORAGE=1
webcore_cppflags += -DENABLE_DOM_STORAGE=1
+webcore_built_sources += \
+ DerivedSources/WebCore/JSStorage.cpp \
+ DerivedSources/WebCore/JSStorageEvent.cpp \
+ DerivedSources/WebCore/JSStorageEvent.h
endif # END ENABLE_DOM_STORAGE
# ----
@@ -247,22 +4070,54 @@
if ENABLE_FILE_SYSTEM
FEATURE_DEFINES += ENABLE_FILE_SYSTEM=1
webcore_cppflags += -DENABLE_FILE_SYSTEM=1
-endif # END ENABLE_FILE_SYSTEM
-
-# ----
-# Quota support
-# ----
-if ENABLE_QUOTA
-FEATURE_DEFINES += ENABLE_QUOTA=1
-webcore_cppflags += -DENABLE_QUOTA=1
webcore_built_sources += \
- DerivedSources/WebCore/JSStorageInfo.cpp \
- DerivedSources/WebCore/JSStorageInfo.h \
- DerivedSources/WebCore/JSStorageInfoErrorCallback.cpp \
- DerivedSources/WebCore/JSStorageInfoErrorCallback.h \
- DerivedSources/WebCore/JSStorageInfoUsageCallback.cpp \
- DerivedSources/WebCore/JSStorageInfoUsageCallback.h
-endif # END ENABLE_QUOTA
+ DerivedSources/WebCore/JSDirectoryEntry.cpp \
+ DerivedSources/WebCore/JSDirectoryEntry.h \
+ DerivedSources/WebCore/JSDirectoryEntrySync.cpp \
+ DerivedSources/WebCore/JSDirectoryEntrySync.h \
+ DerivedSources/WebCore/JSDirectoryReader.cpp \
+ DerivedSources/WebCore/JSDirectoryReader.h \
+ DerivedSources/WebCore/JSDirectoryReaderSync.cpp \
+ DerivedSources/WebCore/JSDirectoryReaderSync.h \
+ DerivedSources/WebCore/JSDOMFileSystem.cpp \
+ DerivedSources/WebCore/JSDOMFileSystem.h \
+ DerivedSources/WebCore/JSDOMFileSystemSync.cpp \
+ DerivedSources/WebCore/JSDOMFileSystemSync.h \
+ DerivedSources/WebCore/JSEntriesCallback.cpp \
+ DerivedSources/WebCore/JSEntriesCallback.h \
+ DerivedSources/WebCore/JSEntry.cpp \
+ DerivedSources/WebCore/JSEntry.h \
+ DerivedSources/WebCore/JSEntryArray.cpp \
+ DerivedSources/WebCore/JSEntryArray.h \
+ DerivedSources/WebCore/JSEntryArraySync.cpp \
+ DerivedSources/WebCore/JSEntryArraySync.h \
+ DerivedSources/WebCore/JSEntryCallback.cpp \
+ DerivedSources/WebCore/JSEntryCallback.h \
+ DerivedSources/WebCore/JSEntrySync.cpp \
+ DerivedSources/WebCore/JSEntrySync.h \
+ DerivedSources/WebCore/JSErrorCallback.cpp \
+ DerivedSources/WebCore/JSErrorCallback.h \
+ DerivedSources/WebCore/JSFileCallback.cpp \
+ DerivedSources/WebCore/JSFileCallback.h \
+ DerivedSources/WebCore/JSFileEntry.cpp \
+ DerivedSources/WebCore/JSFileEntry.h \
+ DerivedSources/WebCore/JSFileEntrySync.cpp \
+ DerivedSources/WebCore/JSFileEntrySync.h \
+ DerivedSources/WebCore/JSFileSystemCallback.cpp \
+ DerivedSources/WebCore/JSFileSystemCallback.h \
+ DerivedSources/WebCore/JSFileWriter.cpp \
+ DerivedSources/WebCore/JSFileWriter.h \
+ DerivedSources/WebCore/JSFileWriterCallback.cpp \
+ DerivedSources/WebCore/JSFileWriterCallback.h \
+ DerivedSources/WebCore/JSFileWriterSync.cpp \
+ DerivedSources/WebCore/JSFileWriterSync.h \
+ DerivedSources/WebCore/JSFlags.cpp \
+ DerivedSources/WebCore/JSFlags.h \
+ DerivedSources/WebCore/JSMetadata.cpp \
+ DerivedSources/WebCore/JSMetadata.h \
+ DerivedSources/WebCore/JSMetadataCallback.cpp \
+ DerivedSources/WebCore/JSMetadataCallback.h
+endif # END ENABLE_FILE_SYSTEM
# ----
# Speech Input API support
@@ -340,16 +4195,6 @@
endif # END ENABLE_FULLSCREEN_API
# ----
-# Track Support
-# ----
-if ENABLE_VIDEO_TRACK
-FEATURE_DEFINES += ENABLE_VIDEO_TRACK=1
-webcore_cppflags += -DENABLE_VIDEO_TRACK=1
-else
-webcore_cppflags += -DENABLE_VIDEO_TRACK=0
-endif # END ENABLE_VIDEO_TRACK
-
-# ----
# XHTML-MP Support
# ----
if ENABLE_XHTMLMP
@@ -363,6 +4208,19 @@
if ENABLE_XPATH
FEATURE_DEFINES += ENABLE_XPATH=1
webcore_cppflags += -DENABLE_XPATH=1
+webcore_built_sources += \
+ DerivedSources/WebCore/JSXPathEvaluator.cpp \
+ DerivedSources/WebCore/JSXPathEvaluator.h \
+ DerivedSources/WebCore/JSXPathException.cpp \
+ DerivedSources/WebCore/JSXPathException.h \
+ DerivedSources/WebCore/JSXPathExpression.cpp \
+ DerivedSources/WebCore/JSXPathExpression.h \
+ DerivedSources/WebCore/JSXPathNSResolver.cpp \
+ DerivedSources/WebCore/JSXPathNSResolver.h \
+ DerivedSources/WebCore/JSXPathResult.cpp \
+ DerivedSources/WebCore/JSXPathResult.h \
+ DerivedSources/WebCore/XPathGrammar.cpp \
+ DerivedSources/WebCore/XPathGrammar.h
# XPath grammar
# NOTE: older versions of bison do not inject an inclusion guard, so we do it
@@ -408,6 +4266,9 @@
if ENABLE_WML
FEATURE_DEFINES += ENABLE_WML=1
webcore_cppflags += -DENABLE_WML=1
+webcore_built_sources += \
+ DerivedSources/WebCore/WMLElementFactory.cpp \
+ DerivedSources/WebCore/WMLNames.cpp
# WML tag and attribute names
DerivedSources/WebCore/WMLNames.cpp: DerivedSources/WebCore/WMLElementFactory.cpp
@@ -476,6 +4337,288 @@
webcore_cppflags += -DENABLE_SVG=1
WEBCORE_CSS_PROPERTY_NAMES += $(WebCore)/css/SVGCSSPropertyNames.in
WEBCORE_CSS_VALUE_KEYWORDS += $(WebCore)/css/SVGCSSValueKeywords.in
+webcore_built_sources += \
+ DerivedSources/WebCore/JSElementTimeControl.h \
+ DerivedSources/WebCore/JSSVGAElement.cpp \
+ DerivedSources/WebCore/JSSVGAElement.h \
+ DerivedSources/WebCore/JSSVGAltGlyphElement.cpp \
+ DerivedSources/WebCore/JSSVGAltGlyphElement.h \
+ DerivedSources/WebCore/JSSVGAngle.cpp \
+ DerivedSources/WebCore/JSSVGAngle.h \
+ DerivedSources/WebCore/JSSVGAnimateColorElement.cpp \
+ DerivedSources/WebCore/JSSVGAnimateColorElement.h \
+ DerivedSources/WebCore/JSSVGAnimatedAngle.cpp \
+ DerivedSources/WebCore/JSSVGAnimatedAngle.h \
+ DerivedSources/WebCore/JSSVGAnimatedBoolean.cpp \
+ DerivedSources/WebCore/JSSVGAnimatedBoolean.h \
+ DerivedSources/WebCore/JSSVGAnimatedEnumeration.cpp \
+ DerivedSources/WebCore/JSSVGAnimatedEnumeration.h \
+ DerivedSources/WebCore/JSSVGAnimatedInteger.cpp \
+ DerivedSources/WebCore/JSSVGAnimatedInteger.h \
+ DerivedSources/WebCore/JSSVGAnimatedLength.cpp \
+ DerivedSources/WebCore/JSSVGAnimatedLength.h \
+ DerivedSources/WebCore/JSSVGAnimatedLengthList.cpp \
+ DerivedSources/WebCore/JSSVGAnimatedLengthList.h \
+ DerivedSources/WebCore/JSSVGAnimatedNumber.cpp \
+ DerivedSources/WebCore/JSSVGAnimatedNumber.h \
+ DerivedSources/WebCore/JSSVGAnimatedNumberList.cpp \
+ DerivedSources/WebCore/JSSVGAnimatedNumberList.h \
+ DerivedSources/WebCore/JSSVGAnimatedPreserveAspectRatio.cpp \
+ DerivedSources/WebCore/JSSVGAnimatedPreserveAspectRatio.h \
+ DerivedSources/WebCore/JSSVGAnimatedRect.cpp \
+ DerivedSources/WebCore/JSSVGAnimatedRect.h \
+ DerivedSources/WebCore/JSSVGAnimatedString.cpp \
+ DerivedSources/WebCore/JSSVGAnimatedString.h \
+ DerivedSources/WebCore/JSSVGAnimatedTransformList.cpp \
+ DerivedSources/WebCore/JSSVGAnimatedTransformList.h \
+ DerivedSources/WebCore/JSSVGAnimateElement.cpp \
+ DerivedSources/WebCore/JSSVGAnimateElement.h \
+ DerivedSources/WebCore/JSSVGAnimateTransformElement.cpp \
+ DerivedSources/WebCore/JSSVGAnimateTransformElement.h \
+ DerivedSources/WebCore/JSSVGAnimationElement.cpp \
+ DerivedSources/WebCore/JSSVGAnimationElement.h \
+ DerivedSources/WebCore/JSSVGCircleElement.cpp \
+ DerivedSources/WebCore/JSSVGCircleElement.h \
+ DerivedSources/WebCore/JSSVGClipPathElement.cpp \
+ DerivedSources/WebCore/JSSVGClipPathElement.h \
+ DerivedSources/WebCore/JSSVGColor.cpp \
+ DerivedSources/WebCore/JSSVGColor.h \
+ DerivedSources/WebCore/JSSVGComponentTransferFunctionElement.cpp \
+ DerivedSources/WebCore/JSSVGComponentTransferFunctionElement.h \
+ DerivedSources/WebCore/JSSVGCursorElement.cpp \
+ DerivedSources/WebCore/JSSVGCursorElement.h \
+ DerivedSources/WebCore/JSSVGDefsElement.cpp \
+ DerivedSources/WebCore/JSSVGDefsElement.h \
+ DerivedSources/WebCore/JSSVGDescElement.cpp \
+ DerivedSources/WebCore/JSSVGDescElement.h \
+ DerivedSources/WebCore/JSSVGDocument.cpp \
+ DerivedSources/WebCore/JSSVGDocument.h \
+ DerivedSources/WebCore/JSSVGElement.cpp \
+ DerivedSources/WebCore/JSSVGElement.h \
+ DerivedSources/WebCore/JSSVGElementInstance.cpp \
+ DerivedSources/WebCore/JSSVGElementInstanceList.cpp \
+ DerivedSources/WebCore/JSSVGElementInstanceList.h \
+ DerivedSources/WebCore/JSSVGEllipseElement.cpp \
+ DerivedSources/WebCore/JSSVGEllipseElement.h \
+ DerivedSources/WebCore/JSSVGException.cpp \
+ DerivedSources/WebCore/JSSVGException.h \
+ DerivedSources/WebCore/JSSVGExternalResourcesRequired.h \
+ DerivedSources/WebCore/JSSVGFEBlendElement.cpp \
+ DerivedSources/WebCore/JSSVGFEBlendElement.h \
+ DerivedSources/WebCore/JSSVGFEColorMatrixElement.cpp \
+ DerivedSources/WebCore/JSSVGFEColorMatrixElement.h \
+ DerivedSources/WebCore/JSSVGFEComponentTransferElement.cpp \
+ DerivedSources/WebCore/JSSVGFEComponentTransferElement.h \
+ DerivedSources/WebCore/JSSVGFECompositeElement.cpp \
+ DerivedSources/WebCore/JSSVGFECompositeElement.h \
+ DerivedSources/WebCore/JSSVGFEConvolveMatrixElement.cpp \
+ DerivedSources/WebCore/JSSVGFEConvolveMatrixElement.h \
+ DerivedSources/WebCore/JSSVGFEDiffuseLightingElement.cpp \
+ DerivedSources/WebCore/JSSVGFEDiffuseLightingElement.h \
+ DerivedSources/WebCore/JSSVGFEDisplacementMapElement.cpp \
+ DerivedSources/WebCore/JSSVGFEDisplacementMapElement.h \
+ DerivedSources/WebCore/JSSVGFEDistantLightElement.cpp \
+ DerivedSources/WebCore/JSSVGFEDistantLightElement.h \
+ DerivedSources/WebCore/JSSVGFEFloodElement.cpp \
+ DerivedSources/WebCore/JSSVGFEFloodElement.h \
+ DerivedSources/WebCore/JSSVGFEFuncAElement.cpp \
+ DerivedSources/WebCore/JSSVGFEFuncAElement.h \
+ DerivedSources/WebCore/JSSVGFEFuncBElement.cpp \
+ DerivedSources/WebCore/JSSVGFEFuncBElement.h \
+ DerivedSources/WebCore/JSSVGFEFuncGElement.cpp \
+ DerivedSources/WebCore/JSSVGFEFuncGElement.h \
+ DerivedSources/WebCore/JSSVGFEFuncRElement.cpp \
+ DerivedSources/WebCore/JSSVGFEFuncRElement.h \
+ DerivedSources/WebCore/JSSVGFEGaussianBlurElement.cpp \
+ DerivedSources/WebCore/JSSVGFEGaussianBlurElement.h \
+ DerivedSources/WebCore/JSSVGFEImageElement.cpp \
+ DerivedSources/WebCore/JSSVGFEImageElement.h \
+ DerivedSources/WebCore/JSSVGFEMergeElement.cpp \
+ DerivedSources/WebCore/JSSVGFEMergeElement.h \
+ DerivedSources/WebCore/JSSVGFEMergeNodeElement.cpp \
+ DerivedSources/WebCore/JSSVGFEMergeNodeElement.h \
+ DerivedSources/WebCore/JSSVGFEMorphologyElement.cpp \
+ DerivedSources/WebCore/JSSVGFEMorphologyElement.h \
+ DerivedSources/WebCore/JSSVGFEOffsetElement.cpp \
+ DerivedSources/WebCore/JSSVGFEOffsetElement.h \
+ DerivedSources/WebCore/JSSVGFEPointLightElement.cpp \
+ DerivedSources/WebCore/JSSVGFEPointLightElement.h \
+ DerivedSources/WebCore/JSSVGFESpecularLightingElement.cpp \
+ DerivedSources/WebCore/JSSVGFESpecularLightingElement.h \
+ DerivedSources/WebCore/JSSVGFESpotLightElement.cpp \
+ DerivedSources/WebCore/JSSVGFESpotLightElement.h \
+ DerivedSources/WebCore/JSSVGFETileElement.cpp \
+ DerivedSources/WebCore/JSSVGFETileElement.h \
+ DerivedSources/WebCore/JSSVGFETurbulenceElement.cpp \
+ DerivedSources/WebCore/JSSVGFETurbulenceElement.h \
+ DerivedSources/WebCore/JSSVGFilterElement.cpp \
+ DerivedSources/WebCore/JSSVGFilterElement.h \
+ DerivedSources/WebCore/JSSVGFilterPrimitiveStandardAttributes.h \
+ DerivedSources/WebCore/JSSVGFitToViewBox.h \
+ DerivedSources/WebCore/JSSVGFontElement.cpp \
+ DerivedSources/WebCore/JSSVGFontElement.h \
+ DerivedSources/WebCore/JSSVGFontFaceElement.cpp \
+ DerivedSources/WebCore/JSSVGFontFaceElement.h \
+ DerivedSources/WebCore/JSSVGFontFaceFormatElement.cpp \
+ DerivedSources/WebCore/JSSVGFontFaceFormatElement.h \
+ DerivedSources/WebCore/JSSVGFontFaceNameElement.cpp \
+ DerivedSources/WebCore/JSSVGFontFaceNameElement.h \
+ DerivedSources/WebCore/JSSVGFontFaceSrcElement.cpp \
+ DerivedSources/WebCore/JSSVGFontFaceSrcElement.h \
+ DerivedSources/WebCore/JSSVGFontFaceUriElement.cpp \
+ DerivedSources/WebCore/JSSVGFontFaceUriElement.h \
+ DerivedSources/WebCore/JSSVGForeignObjectElement.cpp \
+ DerivedSources/WebCore/JSSVGForeignObjectElement.h \
+ DerivedSources/WebCore/JSSVGGElement.cpp \
+ DerivedSources/WebCore/JSSVGGElement.h \
+ DerivedSources/WebCore/JSSVGGlyphElement.cpp \
+ DerivedSources/WebCore/JSSVGGlyphElement.h \
+ DerivedSources/WebCore/JSSVGGradientElement.cpp \
+ DerivedSources/WebCore/JSSVGGradientElement.h \
+ DerivedSources/WebCore/JSSVGHKernElement.cpp \
+ DerivedSources/WebCore/JSSVGHKernElement.h \
+ DerivedSources/WebCore/JSSVGImageElement.cpp \
+ DerivedSources/WebCore/JSSVGImageElement.h \
+ DerivedSources/WebCore/JSSVGLangSpace.h \
+ DerivedSources/WebCore/JSSVGLength.cpp \
+ DerivedSources/WebCore/JSSVGLength.h \
+ DerivedSources/WebCore/JSSVGLengthList.cpp \
+ DerivedSources/WebCore/JSSVGLengthList.h \
+ DerivedSources/WebCore/JSSVGLinearGradientElement.cpp \
+ DerivedSources/WebCore/JSSVGLinearGradientElement.h \
+ DerivedSources/WebCore/JSSVGLineElement.cpp \
+ DerivedSources/WebCore/JSSVGLineElement.h \
+ DerivedSources/WebCore/JSSVGLocatable.h \
+ DerivedSources/WebCore/JSSVGMarkerElement.cpp \
+ DerivedSources/WebCore/JSSVGMarkerElement.h \
+ DerivedSources/WebCore/JSSVGMaskElement.cpp \
+ DerivedSources/WebCore/JSSVGMaskElement.h \
+ DerivedSources/WebCore/JSSVGMatrix.cpp \
+ DerivedSources/WebCore/JSSVGMatrix.h \
+ DerivedSources/WebCore/JSSVGMetadataElement.cpp \
+ DerivedSources/WebCore/JSSVGMetadataElement.h \
+ DerivedSources/WebCore/JSSVGMissingGlyphElement.cpp \
+ DerivedSources/WebCore/JSSVGMissingGlyphElement.h \
+ DerivedSources/WebCore/JSSVGNumber.cpp \
+ DerivedSources/WebCore/JSSVGNumber.h \
+ DerivedSources/WebCore/JSSVGNumberList.cpp \
+ DerivedSources/WebCore/JSSVGNumberList.h \
+ DerivedSources/WebCore/JSSVGPaint.cpp \
+ DerivedSources/WebCore/JSSVGPaint.h \
+ DerivedSources/WebCore/JSSVGPathElement.cpp \
+ DerivedSources/WebCore/JSSVGPathElement.h \
+ DerivedSources/WebCore/JSSVGPathSegArcAbs.cpp \
+ DerivedSources/WebCore/JSSVGPathSegArcAbs.h \
+ DerivedSources/WebCore/JSSVGPathSegArcRel.cpp \
+ DerivedSources/WebCore/JSSVGPathSegArcRel.h \
+ DerivedSources/WebCore/JSSVGPathSegClosePath.cpp \
+ DerivedSources/WebCore/JSSVGPathSegClosePath.h \
+ DerivedSources/WebCore/JSSVGPathSeg.cpp \
+ DerivedSources/WebCore/JSSVGPathSegCurvetoCubicAbs.cpp \
+ DerivedSources/WebCore/JSSVGPathSegCurvetoCubicAbs.h \
+ DerivedSources/WebCore/JSSVGPathSegCurvetoCubicRel.cpp \
+ DerivedSources/WebCore/JSSVGPathSegCurvetoCubicRel.h \
+ DerivedSources/WebCore/JSSVGPathSegCurvetoCubicSmoothAbs.cpp \
+ DerivedSources/WebCore/JSSVGPathSegCurvetoCubicSmoothAbs.h \
+ DerivedSources/WebCore/JSSVGPathSegCurvetoCubicSmoothRel.cpp \
+ DerivedSources/WebCore/JSSVGPathSegCurvetoCubicSmoothRel.h \
+ DerivedSources/WebCore/JSSVGPathSegCurvetoQuadraticAbs.cpp \
+ DerivedSources/WebCore/JSSVGPathSegCurvetoQuadraticAbs.h \
+ DerivedSources/WebCore/JSSVGPathSegCurvetoQuadraticRel.cpp \
+ DerivedSources/WebCore/JSSVGPathSegCurvetoQuadraticRel.h \
+ DerivedSources/WebCore/JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp \
+ DerivedSources/WebCore/JSSVGPathSegCurvetoQuadraticSmoothAbs.h \
+ DerivedSources/WebCore/JSSVGPathSegCurvetoQuadraticSmoothRel.cpp \
+ DerivedSources/WebCore/JSSVGPathSegCurvetoQuadraticSmoothRel.h \
+ DerivedSources/WebCore/JSSVGPathSeg.h \
+ DerivedSources/WebCore/JSSVGPathSegLinetoAbs.cpp \
+ DerivedSources/WebCore/JSSVGPathSegLinetoAbs.h \
+ DerivedSources/WebCore/JSSVGPathSegLinetoHorizontalAbs.cpp \
+ DerivedSources/WebCore/JSSVGPathSegLinetoHorizontalAbs.h \
+ DerivedSources/WebCore/JSSVGPathSegLinetoHorizontalRel.cpp \
+ DerivedSources/WebCore/JSSVGPathSegLinetoHorizontalRel.h \
+ DerivedSources/WebCore/JSSVGPathSegLinetoRel.cpp \
+ DerivedSources/WebCore/JSSVGPathSegLinetoRel.h \
+ DerivedSources/WebCore/JSSVGPathSegLinetoVerticalAbs.cpp \
+ DerivedSources/WebCore/JSSVGPathSegLinetoVerticalAbs.h \
+ DerivedSources/WebCore/JSSVGPathSegLinetoVerticalRel.cpp \
+ DerivedSources/WebCore/JSSVGPathSegLinetoVerticalRel.h \
+ DerivedSources/WebCore/JSSVGPathSegList.cpp \
+ DerivedSources/WebCore/JSSVGPathSegList.h \
+ DerivedSources/WebCore/JSSVGPathSegMovetoAbs.cpp \
+ DerivedSources/WebCore/JSSVGPathSegMovetoAbs.h \
+ DerivedSources/WebCore/JSSVGPathSegMovetoRel.cpp \
+ DerivedSources/WebCore/JSSVGPathSegMovetoRel.h \
+ DerivedSources/WebCore/JSSVGPatternElement.cpp \
+ DerivedSources/WebCore/JSSVGPatternElement.h \
+ DerivedSources/WebCore/JSSVGPoint.cpp \
+ DerivedSources/WebCore/JSSVGPoint.h \
+ DerivedSources/WebCore/JSSVGPointList.cpp \
+ DerivedSources/WebCore/JSSVGPointList.h \
+ DerivedSources/WebCore/JSSVGPolygonElement.cpp \
+ DerivedSources/WebCore/JSSVGPolygonElement.h \
+ DerivedSources/WebCore/JSSVGPolylineElement.cpp \
+ DerivedSources/WebCore/JSSVGPolylineElement.h \
+ DerivedSources/WebCore/JSSVGPreserveAspectRatio.cpp \
+ DerivedSources/WebCore/JSSVGPreserveAspectRatio.h \
+ DerivedSources/WebCore/JSSVGRadialGradientElement.cpp \
+ DerivedSources/WebCore/JSSVGRadialGradientElement.h \
+ DerivedSources/WebCore/JSSVGRect.cpp \
+ DerivedSources/WebCore/JSSVGRectElement.cpp \
+ DerivedSources/WebCore/JSSVGRectElement.h \
+ DerivedSources/WebCore/JSSVGRect.h \
+ DerivedSources/WebCore/JSSVGRenderingIntent.cpp \
+ DerivedSources/WebCore/JSSVGRenderingIntent.h \
+ DerivedSources/WebCore/JSSVGScriptElement.cpp \
+ DerivedSources/WebCore/JSSVGScriptElement.h \
+ DerivedSources/WebCore/JSSVGSetElement.cpp \
+ DerivedSources/WebCore/JSSVGSetElement.h \
+ DerivedSources/WebCore/JSSVGStopElement.cpp \
+ DerivedSources/WebCore/JSSVGStopElement.h \
+ DerivedSources/WebCore/JSSVGStringList.cpp \
+ DerivedSources/WebCore/JSSVGStringList.h \
+ DerivedSources/WebCore/JSSVGStylable.h \
+ DerivedSources/WebCore/JSSVGStyleElement.cpp \
+ DerivedSources/WebCore/JSSVGStyleElement.h \
+ DerivedSources/WebCore/JSSVGSVGElement.cpp \
+ DerivedSources/WebCore/JSSVGSVGElement.h \
+ DerivedSources/WebCore/JSSVGSwitchElement.cpp \
+ DerivedSources/WebCore/JSSVGSwitchElement.h \
+ DerivedSources/WebCore/JSSVGSymbolElement.cpp \
+ DerivedSources/WebCore/JSSVGSymbolElement.h \
+ DerivedSources/WebCore/JSSVGTests.h \
+ DerivedSources/WebCore/JSSVGTextContentElement.cpp \
+ DerivedSources/WebCore/JSSVGTextContentElement.h \
+ DerivedSources/WebCore/JSSVGTextElement.cpp \
+ DerivedSources/WebCore/JSSVGTextElement.h \
+ DerivedSources/WebCore/JSSVGTextPathElement.cpp \
+ DerivedSources/WebCore/JSSVGTextPathElement.h \
+ DerivedSources/WebCore/JSSVGTextPositioningElement.cpp \
+ DerivedSources/WebCore/JSSVGTextPositioningElement.h \
+ DerivedSources/WebCore/JSSVGTitleElement.cpp \
+ DerivedSources/WebCore/JSSVGTitleElement.h \
+ DerivedSources/WebCore/JSSVGTransformable.h \
+ DerivedSources/WebCore/JSSVGTransform.cpp \
+ DerivedSources/WebCore/JSSVGTransform.h \
+ DerivedSources/WebCore/JSSVGTransformList.cpp \
+ DerivedSources/WebCore/JSSVGTransformList.h \
+ DerivedSources/WebCore/JSSVGTRefElement.cpp \
+ DerivedSources/WebCore/JSSVGTRefElement.h \
+ DerivedSources/WebCore/JSSVGTSpanElement.cpp \
+ DerivedSources/WebCore/JSSVGTSpanElement.h \
+ DerivedSources/WebCore/JSSVGUnitTypes.cpp \
+ DerivedSources/WebCore/JSSVGUnitTypes.h \
+ DerivedSources/WebCore/JSSVGURIReference.h \
+ DerivedSources/WebCore/JSSVGUseElement.cpp \
+ DerivedSources/WebCore/JSSVGUseElement.h \
+ DerivedSources/WebCore/JSSVGViewElement.cpp \
+ DerivedSources/WebCore/JSSVGViewElement.h \
+ DerivedSources/WebCore/JSSVGViewSpec.h \
+ DerivedSources/WebCore/JSSVGVKernElement.cpp \
+ DerivedSources/WebCore/JSSVGVKernElement.h \
+ DerivedSources/WebCore/JSSVGZoomAndPan.h \
+ DerivedSources/WebCore/JSSVGZoomEvent.cpp \
+ DerivedSources/WebCore/JSSVGZoomEvent.h
# SVG Features
if ENABLE_SVG_USE
@@ -534,6 +4677,102 @@
if ENABLE_WEB_AUDIO
FEATURE_DEFINES += ENABLE_WEB_AUDIO=1
webcore_cppflags += -DENABLE_WEB_AUDIO=1
+webcore_sources += \
+ Source/WebCore/webaudio/AudioBasicProcessorNode.cpp \
+ Source/WebCore/webaudio/AudioBasicProcessorNode.h \
+ Source/WebCore/webaudio/AudioBuffer.cpp \
+ Source/WebCore/webaudio/AudioBuffer.h \
+ Source/WebCore/webaudio/AudioBufferSourceNode.cpp \
+ Source/WebCore/webaudio/AudioBufferSourceNode.h \
+ Source/WebCore/webaudio/AudioChannelMerger.cpp \
+ Source/WebCore/webaudio/AudioChannelMerger.h \
+ Source/WebCore/webaudio/AudioChannelSplitter.cpp \
+ Source/WebCore/webaudio/AudioChannelSplitter.h \
+ Source/WebCore/webaudio/AudioContext.cpp \
+ Source/WebCore/webaudio/AudioContext.h \
+ Source/WebCore/webaudio/AudioDestinationNode.cpp \
+ Source/WebCore/webaudio/AudioDestinationNode.h \
+ Source/WebCore/webaudio/AudioGain.h \
+ Source/WebCore/webaudio/AudioGainNode.cpp \
+ Source/WebCore/webaudio/AudioGainNode.h \
+ Source/WebCore/webaudio/AudioListener.cpp \
+ Source/WebCore/webaudio/AudioListener.h \
+ Source/WebCore/webaudio/AudioNode.cpp \
+ Source/WebCore/webaudio/AudioNode.h \
+ Source/WebCore/webaudio/AudioNodeInput.cpp \
+ Source/WebCore/webaudio/AudioNodeInput.h \
+ Source/WebCore/webaudio/AudioNodeOutput.cpp \
+ Source/WebCore/webaudio/AudioNodeOutput.h \
+ Source/WebCore/webaudio/AudioPannerNode.cpp \
+ Source/WebCore/webaudio/AudioPannerNode.h \
+ Source/WebCore/webaudio/AudioParam.cpp \
+ Source/WebCore/webaudio/AudioParam.h \
+ Source/WebCore/webaudio/AudioProcessingEvent.cpp \
+ Source/WebCore/webaudio/AudioProcessingEvent.h \
+ Source/WebCore/webaudio/AudioSourceNode.h \
+ Source/WebCore/webaudio/BiquadDSPKernel.cpp \
+ Source/WebCore/webaudio/BiquadDSPKernel.h \
+ Source/WebCore/webaudio/BiquadProcessor.cpp \
+ Source/WebCore/webaudio/BiquadProcessor.h \
+ Source/WebCore/webaudio/ConvolverNode.cpp \
+ Source/WebCore/webaudio/ConvolverNode.h \
+ Source/WebCore/webaudio/DelayDSPKernel.cpp \
+ Source/WebCore/webaudio/DelayDSPKernel.h \
+ Source/WebCore/webaudio/DelayNode.cpp \
+ Source/WebCore/webaudio/DelayNode.h \
+ Source/WebCore/webaudio/DelayProcessor.cpp \
+ Source/WebCore/webaudio/DelayProcessor.h \
+ Source/WebCore/webaudio/HighPass2FilterNode.cpp \
+ Source/WebCore/webaudio/HighPass2FilterNode.h \
+ Source/WebCore/webaudio/JavaScriptAudioNode.cpp \
+ Source/WebCore/webaudio/JavaScriptAudioNode.h \
+ Source/WebCore/webaudio/LowPass2FilterNode.cpp \
+ Source/WebCore/webaudio/LowPass2FilterNode.h \
+ Source/WebCore/webaudio/RealtimeAnalyser.cpp \
+ Source/WebCore/webaudio/RealtimeAnalyser.h \
+ Source/WebCore/webaudio/RealtimeAnalyserNode.cpp \
+ Source/WebCore/webaudio/RealtimeAnalyserNode.h
+webcore_built_sources += \
+ DerivedSources/WebCore/JSAudioBuffer.cpp \
+ DerivedSources/WebCore/JSAudioBuffer.h \
+ DerivedSources/WebCore/JSAudioBufferSourceNode.cpp \
+ DerivedSources/WebCore/JSAudioBufferSourceNode.h \
+ DerivedSources/WebCore/JSAudioChannelMerger.cpp \
+ DerivedSources/WebCore/JSAudioChannelMerger.h \
+ DerivedSources/WebCore/JSAudioChannelSplitter.cpp \
+ DerivedSources/WebCore/JSAudioChannelSplitter.h \
+ DerivedSources/WebCore/JSAudioContext.cpp \
+ DerivedSources/WebCore/JSAudioContext.h \
+ DerivedSources/WebCore/JSAudioDestinationNode.cpp \
+ DerivedSources/WebCore/JSAudioDestinationNode.h \
+ DerivedSources/WebCore/JSAudioGain.cpp \
+ DerivedSources/WebCore/JSAudioGain.h \
+ DerivedSources/WebCore/JSAudioGainNode.cpp \
+ DerivedSources/WebCore/JSAudioGainNode.h \
+ DerivedSources/WebCore/JSAudioListener.cpp \
+ DerivedSources/WebCore/JSAudioListener.h \
+ DerivedSources/WebCore/JSAudioNode.cpp \
+ DerivedSources/WebCore/JSAudioNode.h \
+ DerivedSources/WebCore/JSAudioPannerNode.cpp \
+ DerivedSources/WebCore/JSAudioPannerNode.h \
+ DerivedSources/WebCore/JSAudioParam.cpp \
+ DerivedSources/WebCore/JSAudioParam.h \
+ DerivedSources/WebCore/JSAudioProcessingEvent.cpp \
+ DerivedSources/WebCore/JSAudioProcessingEvent.h \
+ DerivedSources/WebCore/JSAudioSourceNode.cpp \
+ DerivedSources/WebCore/JSAudioSourceNode.h \
+ DerivedSources/WebCore/JSConvolverNode.cpp \
+ DerivedSources/WebCore/JSConvolverNode.h \
+ DerivedSources/WebCore/JSDelayNode.cpp \
+ DerivedSources/WebCore/JSDelayNode.h \
+ DerivedSources/WebCore/JSHighPass2FilterNode.cpp \
+ DerivedSources/WebCore/JSHighPass2FilterNode.h \
+ DerivedSources/WebCore/JSJavaScriptAudioNode.cpp \
+ DerivedSources/WebCore/JSJavaScriptAudioNode.h \
+ DerivedSources/WebCore/JSLowPass2FilterNode.cpp \
+ DerivedSources/WebCore/JSLowPass2FilterNode.h \
+ DerivedSources/WebCore/JSRealtimeAnalyserNode.cpp \
+ DerivedSources/WebCore/JSRealtimeAnalyserNode.h
endif
# ----
@@ -542,6 +4781,9 @@
if ENABLE_WEB_SOCKETS
FEATURE_DEFINES += ENABLE_WEB_SOCKETS=1
webcore_cppflags += -DENABLE_WEB_SOCKETS=1
+webcore_built_sources += \
+ DerivedSources/WebCore/JSWebSocket.cpp \
+ DerivedSources/WebCore/JSWebSocket.h
else
webcore_cppflags += -DENABLE_WEB_SOCKETS=0
endif # END ENABLE_WEB_SOCKETS
@@ -560,9 +4802,44 @@
if ENABLE_WEBGL
FEATURE_DEFINES += ENABLE_WEBGL=1
webcore_cppflags += -DENABLE_WEBGL=1
+webcore_sources += \
+ Source/WebCore/html/canvas/WebGLActiveInfo.h \
+ Source/WebCore/html/canvas/WebGLBuffer.cpp \
+ Source/WebCore/html/canvas/WebGLBuffer.h \
+ Source/WebCore/html/canvas/WebGLContextAttributes.cpp \
+ Source/WebCore/html/canvas/WebGLContextAttributes.h \
+ Source/WebCore/html/canvas/WebGLContextEvent.cpp \
+ Source/WebCore/html/canvas/WebGLContextEvent.h \
+ Source/WebCore/html/canvas/WebGLFramebuffer.cpp \
+ Source/WebCore/html/canvas/WebGLFramebuffer.h \
+ Source/WebCore/html/canvas/WebGLGetInfo.cpp \
+ Source/WebCore/html/canvas/WebGLGetInfo.h \
+ Source/WebCore/html/canvas/WebGLObject.cpp \
+ Source/WebCore/html/canvas/WebGLObject.h \
+ Source/WebCore/html/canvas/WebGLProgram.cpp \
+ Source/WebCore/html/canvas/WebGLProgram.h \
+ Source/WebCore/html/canvas/WebGLRenderbuffer.cpp \
+ Source/WebCore/html/canvas/WebGLRenderbuffer.h \
+ Source/WebCore/html/canvas/WebGLRenderingContext.cpp \
+ Source/WebCore/html/canvas/WebGLRenderingContext.h \
+ Source/WebCore/html/canvas/WebGLShader.cpp \
+ Source/WebCore/html/canvas/WebGLShader.h \
+ Source/WebCore/html/canvas/WebGLTexture.cpp \
+ Source/WebCore/html/canvas/WebGLTexture.h \
+ Source/WebCore/html/canvas/WebGLUniformLocation.cpp \
+ Source/WebCore/html/canvas/WebGLUniformLocation.h \
+ Source/WebCore/html/canvas/WebGLVertexArrayObjectOES.cpp \
+ Source/WebCore/html/canvas/WebGLVertexArrayObjectOES.h \
+ Source/WebCore/html/canvas/OESStandardDerivatives.cpp \
+ Source/WebCore/html/canvas/OESStandardDerivatives.h \
+ Source/WebCore/html/canvas/OESTextureFloat.cpp \
+ Source/WebCore/html/canvas/OESTextureFloat.h \
+ Source/WebCore/html/canvas/OESVertexArrayObject.cpp \
+ Source/WebCore/html/canvas/OESVertexArrayObject.h \
+ Source/WebCore/html/canvas/WebKitLoseContext.cpp \
+ Source/WebCore/html/canvas/WebKitLoseContext.h
endif # END ENABLE_WEBGL
-
DerivedSources/WebCore/CSSPropertyNames.cpp: DerivedSources/WebCore/CSSPropertyNames.h
DerivedSources/WebCore/CSSPropertyNames.h: $(WEBCORE_CSS_PROPERTY_NAMES) $(WebCore)/css/makeprop.pl
if sort $(WEBCORE_CSS_PROPERTY_NAMES) | uniq -d | grep -E '^[^#]'; then echo 'Duplicate value!'; exit 1; fi
@@ -583,13 +4860,9 @@
DerivedSources/WebCore/DocTypeStrings.cpp: $(WebCore)/html/DocTypeStrings.gperf $(WebCore)/make-hash-tools.pl
$(PERL) $(WebCore)/make-hash-tools.pl $(GENSOURCES_WEBCORE) $(WebCore)/html/DocTypeStrings.gperf
-# XML Viewer CSS
-DerivedSources/WebCore/XMLViewerCSS.h: $(WebCore)/xml/XMLViewer.css
- $(PERL) $(WebCore)/inspector/xxd.pl XMLViewer_css $(WebCore)/xml/XMLViewer.css $(GENSOURCES_WEBCORE)/XMLViewerCSS.h
-
-# XML Viewer JS
-DerivedSources/WebCore/XMLViewerJS.h: $(WebCore)/xml/XMLViewer.js
- $(PERL) $(WebCore)/inspector/xxd.pl XMLViewer_js $(WebCore)/xml/XMLViewer.js $(GENSOURCES_WEBCORE)/XMLViewerJS.h
+# XML Viewer XSL
+DerivedSources/WebCore/XMLViewerXSL.h: $(WebCore)/xml/XMLViewer.xsl
+ $(PERL) $(WebCore)/inspector/xxd.pl XMLViewer_xsl $(WebCore)/xml/XMLViewer.xsl $(GENSOURCES_WEBCORE)/XMLViewerXSL.h
# HTML entity names
DerivedSources/WebCore/HTMLEntityTable.cpp: $(WebCore)/html/parser/HTMLEntityNames.in $(WebCore)/html/parser/create-html-entity-table
@@ -662,10 +4935,7 @@
$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --attrs $(WebCore)/xml/xmlattrs.in --outputDir "$(GENSOURCES_WEBCORE)"
# All Web Inspector generated files are created with this one call to CodeGeneratorInspector.pm
-DerivedSources/WebCore/Inspector.idl : $(WebCore)/inspector/Inspector.json $(WebCore)/inspector/generate-inspector-idl
- $(PYTHON) $(WebCore)/inspector/generate-inspector-idl -o $(GENSOURCES_WEBCORE)/Inspector.idl $(WebCore)/inspector/Inspector.json
-
-DerivedSources/WebCore/InspectorBackendDispatcher.cpp: DerivedSources/WebCore/Inspector.idl $(SCRIPTS_BINDINGS) $(WebCore)/inspector/CodeGeneratorInspector.pm
+DerivedSources/WebCore/InspectorBackendDispatcher.cpp: $(WebCore)/inspector/Inspector.idl $(SCRIPTS_BINDINGS) $(WebCore)/inspector/CodeGeneratorInspector.pm
$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts -I$(WebCore)/inspector $(WebCore)/bindings/scripts/generate-bindings.pl $(IDL_PATH:%=--include "%") --outputDir "$(GENSOURCES_WEBCORE)" --defines "LANGUAGE_JAVASCRIPT=1 $(FEATURE_DEFINES)" --generator Inspector $<
DerivedSources/WebCore/InspectorFrontend.h: DerivedSources/WebCore/InspectorFrontend.cpp
DerivedSources/WebCore/InspectorFrontend.cpp: DerivedSources/WebCore/InspectorBackendStub.js
@@ -674,14 +4944,6 @@
DerivedSources/WebCore/InjectedScriptSource.h: $(WebCore)/inspector/InjectedScriptSource.js
perl $(WebCore)/inspector/xxd.pl InjectedScriptSource_js $(WebCore)/inspector/InjectedScriptSource.js $(GENSOURCES_WEBCORE)/InjectedScriptSource.h
-# ANGLE tokenizer & parser
-DerivedSources/ANGLE/glslang.cpp: Source/ThirdParty/ANGLE/src/compiler/glslang.l
- $(AM_V_GEN)$(FLEX) --noline --nounistd --outfile="$@" "$<"
-
-DerivedSources/ANGLE/glslang_tab.cpp: Source/ThirdParty/ANGLE/src/compiler/glslang.y
- $(AM_V_GEN)$(BISON) --no-lines --defines="DerivedSources/ANGLE/glslang_tab.h" --skeleton=yacc.c --output="$@" $<
-DerivedSources/ANGLE/glslang_tab.h: DerivedSources/ANGLE/glslang_tab.cpp
-
IDL_PATH := \
$(WebCore)/bindings/js \
$(WebCore)/css \
@@ -752,7 +5014,6 @@
$(LIBXSLT_CFLAGS) \
$(SQLITE3_CFLAGS) \
$(UNICODE_CFLAGS) \
- $(XRENDER_CFLAGS) \
$(XT_CFLAGS)
EXTRA_DIST += \
@@ -810,8 +5071,6 @@
Source/WebCore/icu/LICENSE \
Source/WebCore/inspector/CodeGeneratorInspector.pm \
Source/WebCore/inspector/InjectedScriptSource.js \
- Source/WebCore/inspector/Inspector.json \
- Source/WebCore/inspector/generate-inspector-idl \
Source/WebCore/inspector/xxd.pl \
Source/WebCore/LICENSE-APPLE \
Source/WebCore/LICENSE-LGPL-2 \
@@ -826,8 +5085,6 @@
Source/WebCore/svg/xlinkattrs.in \
Source/WebCore/xml/xmlattrs.in \
Source/WebCore/xml/xmlnsattrs.in \
- Source/WebCore/xml/XMLViewer.css \
- Source/WebCore/xml/XMLViewer.js \
Source/WebCore/xml/XPathGrammar.y
# Installing web inspector files
@@ -839,10 +5096,6 @@
$(shell ls $(WebCore)/inspector/front-end/*.html) \
$(shell ls $(WebCore)/inspector/front-end/*.css)
-webinspectoruglifyjsdir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/webinspector/UglifyJS
-dist_webinspectoruglifyjs_DATA = \
- $(shell ls $(WebCore)/inspector/front-end/UglifyJS/*.js)
-
webinspectorimagesdir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/webinspector/Images
dist_webinspectorimages_DATA = \
$(shell ls $(WebCore)/inspector/front-end/Images/*.gif) \
@@ -853,15 +5106,12 @@
noinst_DATA = ${GENSOURCES_INSPECTOR}/inspector.html
${GENSOURCES_INSPECTOR}/inspector.html: $(WebCore)/inspector/front-end/*.html \
$(WebCore)/inspector/front-end/*.js \
- $(WebCore)/inspector/front-end/UglifyJS/*.js \
$(WebCore)/inspector/front-end/*.css \
$(WebCore)/inspector/front-end/Images/* \
DerivedSources/WebCore/InspectorBackendStub.js \
$(WebCore)/English.lproj/localizedStrings.js
- $(AM_V_GEN)mkdir -p ${GENSOURCES_INSPECTOR}/UglifyJS
$(AM_V_GEN)mkdir -p ${GENSOURCES_INSPECTOR}/images
$(AM_V_at)cp ${dist_webinspector_DATA} ${GENSOURCES_INSPECTOR}
- $(AM_V_at)cp ${dist_webinspectoruglifyjs_DATA} ${GENSOURCES_INSPECTOR}/UglifyJS
$(AM_V_at)cp ${dist_webinspectorimages_DATA} ${GENSOURCES_INSPECTOR}/images
webresourcesdir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/images
diff --git a/Source/WebCore/WebCore.gypi b/Source/WebCore/WebCore.gypi
index 3a5cea5..4f144c8 100644
--- a/Source/WebCore/WebCore.gypi
+++ b/Source/WebCore/WebCore.gypi
@@ -2293,6 +2293,7 @@
'css/CSSMediaRule.cpp',
'css/CSSMediaRule.h',
'css/CSSMutableStyleDeclaration.cpp',
+ 'css/CSSMutableStyleDeclaration.h',
'css/CSSNamespace.h',
'css/CSSOMUtils.cpp',
'css/CSSOMUtils.h',
diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj
index 8475a91..469664e 100644
--- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj
+++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj
@@ -189,7 +189,6 @@
0897D97A0F007A4600411BB3 /* WMLMetaElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0897D9780F007A4600411BB3 /* WMLMetaElement.cpp */; };
0897D97B0F007A4600411BB3 /* WMLMetaElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 0897D9790F007A4600411BB3 /* WMLMetaElement.h */; };
089A8E07128D8B3D00E7A534 /* SVGAnimatedPathSegListPropertyTearOff.h in Headers */ = {isa = PBXBuildFile; fileRef = 089A8E06128D8B3D00E7A534 /* SVGAnimatedPathSegListPropertyTearOff.h */; };
- 089F0D511316CE93005877AD /* CSSMutableValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 089F0D501316CE93005877AD /* CSSMutableValue.h */; settings = {ATTRIBUTES = (Private, ); }; };
08A484770E5272C500C3FE76 /* ScriptElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 08A484750E5272C500C3FE76 /* ScriptElement.cpp */; };
08A484780E5272C500C3FE76 /* ScriptElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 08A484760E5272C500C3FE76 /* ScriptElement.h */; };
08A48A6E0E86CF6D00E225DD /* JSSVGElementInstanceCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 08A48A6D0E86CF6D00E225DD /* JSSVGElementInstanceCustom.cpp */; };
@@ -6610,7 +6609,6 @@
0897D9780F007A4600411BB3 /* WMLMetaElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WMLMetaElement.cpp; sourceTree = "<group>"; };
0897D9790F007A4600411BB3 /* WMLMetaElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WMLMetaElement.h; sourceTree = "<group>"; };
089A8E06128D8B3D00E7A534 /* SVGAnimatedPathSegListPropertyTearOff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGAnimatedPathSegListPropertyTearOff.h; sourceTree = "<group>"; };
- 089F0D501316CE93005877AD /* CSSMutableValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSSMutableValue.h; sourceTree = "<group>"; };
08A484750E5272C500C3FE76 /* ScriptElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptElement.cpp; sourceTree = "<group>"; };
08A484760E5272C500C3FE76 /* ScriptElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptElement.h; sourceTree = "<group>"; };
08A48A6D0E86CF6D00E225DD /* JSSVGElementInstanceCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGElementInstanceCustom.cpp; sourceTree = "<group>"; };
@@ -18975,7 +18973,6 @@
85C56CA20AA89C1000D95755 /* CSSMediaRule.idl */,
A80E6DF90A199067007FB8C5 /* CSSMutableStyleDeclaration.cpp */,
A80E6DFA0A199067007FB8C5 /* CSSMutableStyleDeclaration.h */,
- 089F0D501316CE93005877AD /* CSSMutableValue.h */,
A80E73470A199C77007FB8C5 /* CSSNamespace.h */,
F98FFF4211A2676200F548E8 /* CSSOMUtils.cpp */,
F98FFF4311A2676200F548E8 /* CSSOMUtils.h */,
diff --git a/Source/WebCore/css/CSSComputedStyleDeclaration.h b/Source/WebCore/css/CSSComputedStyleDeclaration.h
index 4bf5a03..718eb2d 100644
--- a/Source/WebCore/css/CSSComputedStyleDeclaration.h
+++ b/Source/WebCore/css/CSSComputedStyleDeclaration.h
@@ -22,9 +22,9 @@
#define CSSComputedStyleDeclaration_h
#include "CSSStyleDeclaration.h"
+#include "PlatformString.h"
#include "RenderStyleConstants.h"
#include <wtf/RefPtr.h>
-#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -34,7 +34,6 @@
class Node;
class RenderStyle;
class ShadowData;
-class SVGPaint;
enum EUpdateLayout { DoNotUpdateLayout = false, UpdateLayout = true };
@@ -77,10 +76,7 @@
PassRefPtr<CSSValue> valueForShadow(const ShadowData*, int, RenderStyle*) const;
PassRefPtr<CSSPrimitiveValue> currentColorOrValidColor(RenderStyle*, const Color&) const;
-#if ENABLE(SVG)
- PassRefPtr<SVGPaint> adjustSVGPaintForCurrentColor(PassRefPtr<SVGPaint>, RenderStyle*) const;
-#endif
-
+
RefPtr<Node> m_node;
PseudoId m_pseudoElementSpecifier;
bool m_allowVisitedStyle;
diff --git a/Source/WebCore/css/CSSMutableStyleDeclaration.cpp b/Source/WebCore/css/CSSMutableStyleDeclaration.cpp
index 8c8d5ba..ba3332d 100644
--- a/Source/WebCore/css/CSSMutableStyleDeclaration.cpp
+++ b/Source/WebCore/css/CSSMutableStyleDeclaration.cpp
@@ -23,7 +23,6 @@
#include "CSSMutableStyleDeclaration.h"
#include "CSSImageValue.h"
-#include "CSSMutableValue.h"
#include "CSSParser.h"
#include "CSSPropertyLonghand.h"
#include "CSSPropertyNames.h"
@@ -97,17 +96,6 @@
}
}
-CSSMutableStyleDeclaration::~CSSMutableStyleDeclaration()
-{
- const CSSMutableStyleDeclarationConstIterator end = this->end();
- for (CSSMutableStyleDeclarationConstIterator it = begin(); it != end; ++it) {
- CSSValue* value = it->value();
- if (!value || !value->isMutableValue())
- continue;
- static_cast<CSSMutableValue*>(value)->setNode(0);
- }
-}
-
CSSMutableStyleDeclaration& CSSMutableStyleDeclaration::operator=(const CSSMutableStyleDeclaration& other)
{
ASSERT(!m_iteratorCount);
diff --git a/Source/WebCore/css/CSSMutableStyleDeclaration.h b/Source/WebCore/css/CSSMutableStyleDeclaration.h
index ea8ab3f..fb1e792 100644
--- a/Source/WebCore/css/CSSMutableStyleDeclaration.h
+++ b/Source/WebCore/css/CSSMutableStyleDeclaration.h
@@ -57,8 +57,6 @@
class CSSMutableStyleDeclaration : public CSSStyleDeclaration {
public:
- virtual ~CSSMutableStyleDeclaration();
-
static PassRefPtr<CSSMutableStyleDeclaration> create()
{
return adoptRef(new CSSMutableStyleDeclaration);
diff --git a/Source/WebCore/css/CSSMutableValue.h b/Source/WebCore/css/CSSMutableValue.h
deleted file mode 100644
index 8a3aa72..0000000
--- a/Source/WebCore/css/CSSMutableValue.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) Research In Motion Limited 2011. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef CSSMutableValue_h
-#define CSSMutableValue_h
-
-#include "CSSValue.h"
-#include "Node.h"
-
-namespace WebCore {
-
-class CSSMutableValue : public CSSValue {
-public:
- CSSMutableValue()
- : m_node(0)
- {
- }
-
- virtual ~CSSMutableValue() { }
- virtual bool isMutableValue() const { return true; }
-
- Node* node() const { return m_node; }
- void setNode(Node* node) { m_node = node; }
-
- void setNeedsStyleRecalc()
- {
- if (!m_node)
- return;
- m_node->setNeedsStyleRecalc(FullStyleChange);
- }
-
-private:
- Node* m_node;
-};
-
-} // namespace WebCore
-
-#endif // CSSMutableValue_h
diff --git a/Source/WebCore/css/CSSParser.cpp b/Source/WebCore/css/CSSParser.cpp
index b7030b2..7db8389 100644
--- a/Source/WebCore/css/CSSParser.cpp
+++ b/Source/WebCore/css/CSSParser.cpp
@@ -4252,6 +4252,9 @@
localValue = newValue;
}
+ if (current == end)
+ return false;
+
if (expect == CSSPrimitiveValue::CSS_NUMBER && (*current == '.' || *current == '%'))
return false;
@@ -6429,9 +6432,11 @@
if ((id == CSSPropertyFontWeight || id == CSSPropertyFontStyle || id == CSSPropertyFontVariant) && property->value()->isPrimitiveValue()) {
RefPtr<CSSValue> value = property->m_value.release();
property->m_value = CSSValueList::createCommaSeparated();
- static_cast<CSSValueList*>(property->m_value.get())->append(value.release());
- } else if (id == CSSPropertyFontFamily && static_cast<CSSValueList*>(property->m_value.get())->length() != 1) {
- // Unlike font-family property, font-family descriptor in @font-face rule can take only one family name.
+ static_cast<CSSValueList*>(property->value())->append(value.release());
+ } else if (id == CSSPropertyFontFamily && (!property->value()->isValueList() || static_cast<CSSValueList*>(property->value())->length() != 1)) {
+ // Unlike font-family property, font-family descriptor in @font-face rule
+ // has to be a value list with exactly one family name. It cannot have a
+ // have 'initial' value and cannot 'inherit' from parent.
// See http://dev.w3.org/csswg/css3-fonts/#font-family-desc
clearProperties();
return 0;
diff --git a/Source/WebCore/css/CSSStyleDeclaration.cpp b/Source/WebCore/css/CSSStyleDeclaration.cpp
index 67dc6e0..1c465e5 100644
--- a/Source/WebCore/css/CSSStyleDeclaration.cpp
+++ b/Source/WebCore/css/CSSStyleDeclaration.cpp
@@ -22,13 +22,10 @@
#include "CSSStyleDeclaration.h"
#include "CSSMutableStyleDeclaration.h"
-#include "CSSMutableValue.h"
#include "CSSParser.h"
#include "CSSProperty.h"
#include "CSSPropertyNames.h"
#include "CSSRule.h"
-#include "Node.h"
-#include "SVGElement.h"
#include <wtf/ASCIICType.h>
using namespace WTF;
@@ -45,28 +42,7 @@
int propID = cssPropertyID(propertyName);
if (!propID)
return 0;
-
- // Short-cut, not involving any change to the refcount.
- if (!isMutableStyleDeclaration())
- return getPropertyCSSValue(propID);
-
- // Slow path.
- RefPtr<CSSValue> value = getPropertyCSSValue(propID);
- if (!value || !value->isMutableValue())
- return value.release();
-
- Node* node = static_cast<CSSMutableStyleDeclaration*>(this)->node();
- if (!node || !node->isStyledElement())
- return value.release();
-
- Node* associatedNode = static_cast<CSSMutableValue*>(value.get())->node();
- if (associatedNode) {
- ASSERT(associatedNode == node);
- return value.release();
- }
-
- static_cast<CSSMutableValue*>(value.get())->setNode(node);
- return value.release();
+ return getPropertyCSSValue(propID);
}
String CSSStyleDeclaration::getPropertyValue(const String &propertyName)
diff --git a/Source/WebCore/css/CSSValue.h b/Source/WebCore/css/CSSValue.h
index de46ff9..da2c582 100644
--- a/Source/WebCore/css/CSSValue.h
+++ b/Source/WebCore/css/CSSValue.h
@@ -50,8 +50,6 @@
virtual String cssText() const = 0;
void setCssText(const String&, ExceptionCode&) { } // FIXME: Not implemented.
- virtual bool isMutableValue() const { return false; }
-
virtual bool isBorderImageValue() const { return false; }
virtual bool isCursorImageValue() const { return false; }
virtual bool isFontFamilyValue() const { return false; }
diff --git a/Source/WebCore/css/SVGCSSComputedStyleDeclaration.cpp b/Source/WebCore/css/SVGCSSComputedStyleDeclaration.cpp
index 5dfe03e..0cf6181 100644
--- a/Source/WebCore/css/SVGCSSComputedStyleDeclaration.cpp
+++ b/Source/WebCore/css/SVGCSSComputedStyleDeclaration.cpp
@@ -27,7 +27,6 @@
#include "CSSPropertyNames.h"
#include "Document.h"
#include "RenderStyle.h"
-#include "SVGPaint.h"
namespace WebCore {
@@ -60,14 +59,6 @@
return list.release();
}
-PassRefPtr<SVGPaint> CSSComputedStyleDeclaration::adjustSVGPaintForCurrentColor(PassRefPtr<SVGPaint> newPaint, RenderStyle* style) const
-{
- RefPtr<SVGPaint> paint = newPaint;
- if (paint->paintType() == SVGPaint::SVG_PAINTTYPE_CURRENTCOLOR || paint->paintType() == SVGPaint::SVG_PAINTTYPE_URI_CURRENTCOLOR)
- paint->setColor(style->color());
- return paint.release();
-}
-
PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getSVGPropertyCSSValue(int propertyID, EUpdateLayout updateLayout) const
{
Node* node = m_node.get();
@@ -136,13 +127,13 @@
return CSSPrimitiveValue::create(svgStyle->filterResource(), CSSPrimitiveValue::CSS_URI);
return CSSPrimitiveValue::createIdentifier(CSSValueNone);
case CSSPropertyFloodColor:
- return currentColorOrValidColor(style, svgStyle->floodColor());
+ return CSSPrimitiveValue::createColor(svgStyle->floodColor().rgb());
case CSSPropertyLightingColor:
- return currentColorOrValidColor(style, svgStyle->lightingColor());
+ return CSSPrimitiveValue::createColor(svgStyle->lightingColor().rgb());
case CSSPropertyStopColor:
- return currentColorOrValidColor(style, svgStyle->stopColor());
+ return CSSPrimitiveValue::createColor(svgStyle->stopColor().rgb());
case CSSPropertyFill:
- return adjustSVGPaintForCurrentColor(SVGPaint::create(svgStyle->fillPaintType(), svgStyle->fillPaintUri(), svgStyle->fillPaintColor()), style);
+ return svgStyle->fillPaint();
case CSSPropertyKerning:
return SVGLength::toCSSPrimitiveValue(svgStyle->kerning());
case CSSPropertyMarkerEnd:
@@ -158,7 +149,7 @@
return CSSPrimitiveValue::create(svgStyle->markerStartResource(), CSSPrimitiveValue::CSS_URI);
return CSSPrimitiveValue::createIdentifier(CSSValueNone);
case CSSPropertyStroke:
- return adjustSVGPaintForCurrentColor(SVGPaint::create(svgStyle->strokePaintType(), svgStyle->strokePaintUri(), svgStyle->strokePaintColor()), style);
+ return svgStyle->strokePaint();
case CSSPropertyStrokeDasharray:
return strokeDashArrayToCSSValueList(svgStyle->strokeDashArray());
case CSSPropertyStrokeDashoffset:
diff --git a/Source/WebCore/css/SVGCSSStyleSelector.cpp b/Source/WebCore/css/SVGCSSStyleSelector.cpp
index 47e3fc3..64665d4 100644
--- a/Source/WebCore/css/SVGCSSStyleSelector.cpp
+++ b/Source/WebCore/css/SVGCSSStyleSelector.cpp
@@ -231,36 +231,17 @@
// end of ident only properties
case CSSPropertyFill:
{
- if (isInherit) {
- const SVGRenderStyle* svgParentStyle = m_parentStyle->svgStyle();
- svgstyle->setFillPaint(svgParentStyle->fillPaintType(), svgParentStyle->fillPaintColor(), svgParentStyle->fillPaintUri());
- return;
- }
- if (isInitial) {
- svgstyle->setFillPaint(SVGRenderStyle::initialFillPaintType(), SVGRenderStyle::initialFillPaintColor(), SVGRenderStyle::initialFillPaintUri());
- return;
- }
- if (value->isSVGPaint()) {
- SVGPaint* svgPaint = static_cast<SVGPaint*>(value);
- svgstyle->setFillPaint(svgPaint->paintType(), colorFromSVGColorCSSValue(svgPaint, m_style->color()), svgPaint->uri());
- }
+ HANDLE_INHERIT_AND_INITIAL(fillPaint, FillPaint)
+ if (value->isSVGPaint())
+ svgstyle->setFillPaint(static_cast<SVGPaint*>(value));
break;
}
case CSSPropertyStroke:
{
- if (isInherit) {
- const SVGRenderStyle* svgParentStyle = m_parentStyle->svgStyle();
- svgstyle->setStrokePaint(svgParentStyle->strokePaintType(), svgParentStyle->strokePaintColor(), svgParentStyle->strokePaintUri());
- return;
- }
- if (isInitial) {
- svgstyle->setStrokePaint(SVGRenderStyle::initialStrokePaintType(), SVGRenderStyle::initialStrokePaintColor(), SVGRenderStyle::initialStrokePaintUri());
- return;
- }
- if (value->isSVGPaint()) {
- SVGPaint* svgPaint = static_cast<SVGPaint*>(value);
- svgstyle->setStrokePaint(svgPaint->paintType(), colorFromSVGColorCSSValue(svgPaint, m_style->color()), svgPaint->uri());
- }
+ HANDLE_INHERIT_AND_INITIAL(strokePaint, StrokePaint)
+ if (value->isSVGPaint())
+ svgstyle->setStrokePaint(static_cast<SVGPaint*>(value));
+
break;
}
case CSSPropertyStrokeWidth:
diff --git a/Source/WebCore/css/mediaControlsChromium.css b/Source/WebCore/css/mediaControlsChromium.css
index 60c7d62..9ba44ec 100644
--- a/Source/WebCore/css/mediaControlsChromium.css
+++ b/Source/WebCore/css/mediaControlsChromium.css
@@ -103,6 +103,10 @@
overflow: hidden;
cursor: default;
+ position: absolute;
+ top: 6px;
+ right: 0;
+
line-height: 21px;
height: 20px;
width: 58px;
@@ -156,8 +160,13 @@
box-sizing: border-box;
-webkit-box-flex: 1;
+ position: absolute;
+ top: 7px;
+ left: 6px;
+ right: 64px;
+
padding: 0px;
- margin: 0px 6px;
+ margin: 0px;
height: 18px;
border-color: rgba(255, 255, 255, 0.2);
diff --git a/Source/WebCore/dom/ContainerNode.cpp b/Source/WebCore/dom/ContainerNode.cpp
index 276df56..2d22fa9 100644
--- a/Source/WebCore/dom/ContainerNode.cpp
+++ b/Source/WebCore/dom/ContainerNode.cpp
@@ -534,21 +534,31 @@
m_firstChild = next;
if (n == m_lastChild)
m_lastChild = 0;
-
- if (n->attached())
- n->detach();
-
removedChildren.append(n.release());
}
- allowEventDispatch();
size_t removedChildrenCount = removedChildren.size();
+ size_t i;
+
+ // Detach the nodes only after properly removed from the tree because
+ // a. detaching requires a proper DOM tree (for counters and quotes for
+ // example) and during the previous loop the next sibling still points to
+ // the node being removed while the node being removed does not point back
+ // and does not point to the same parent as its next sibling.
+ // b. destroying Renderers of standalone nodes is sometimes faster.
+ for (i = 0; i < removedChildrenCount; ++i) {
+ Node* removedChild = removedChildren[i].get();
+ if (removedChild->attached())
+ removedChild->detach();
+ }
+
+ allowEventDispatch();
// Dispatch a single post-removal mutation event denoting a modified subtree.
childrenChanged(false, 0, 0, -static_cast<int>(removedChildrenCount));
dispatchSubtreeModifiedEvent();
- for (size_t i = 0; i < removedChildrenCount; ++i) {
+ for (i = 0; i < removedChildrenCount; ++i) {
Node* removedChild = removedChildren[i].get();
if (removedChild->inDocument())
removedChild->removedFromDocument();
diff --git a/Source/WebCore/dom/Document.cpp b/Source/WebCore/dom/Document.cpp
index 8c22da8..60d3af1 100644
--- a/Source/WebCore/dom/Document.cpp
+++ b/Source/WebCore/dom/Document.cpp
@@ -1527,6 +1527,8 @@
clearNeedsStyleRecalc();
clearChildNeedsStyleRecalc();
unscheduleStyleRecalc();
+
+ m_inStyleRecalc = false;
// Pseudo element removal and similar may only work with these flags still set. Reset them after the style recalc.
if (m_styleSelector) {
@@ -1542,7 +1544,6 @@
}
RenderWidget::resumeWidgetHierarchyUpdates();
resumePostAttachCallbacks();
- m_inStyleRecalc = false;
// If we wanted to call implicitClose() during recalcStyle, do so now that we're finished.
if (m_closeAfterStyleRecalc) {
diff --git a/Source/WebCore/dom/EventDispatcher.cpp b/Source/WebCore/dom/EventDispatcher.cpp
index ca2ed30..50d4997 100644
--- a/Source/WebCore/dom/EventDispatcher.cpp
+++ b/Source/WebCore/dom/EventDispatcher.cpp
@@ -99,6 +99,9 @@
void EventDispatcher::dispatchSimulatedClick(Node* node, PassRefPtr<Event> underlyingEvent, bool sendMouseEvents, bool showPressedLook)
{
+ if (node->disabled())
+ return;
+
EventDispatcher dispatcher(node);
if (!gNodesDispatchingSimulatedClicks)
@@ -160,8 +163,8 @@
}
if (!diverged) {
- // The relatedTarget is a parent or shadowHost of the target.
- if (isShadowRootOrSVGShadowRoot(m_node.get()))
+ // The relatedTarget is an ancestor or shadowHost of the target.
+ if (m_node->shadowHost() == relatedTarget.get())
lowestCommonBoundary = m_ancestors.begin();
} else if ((*firstDivergentBoundary) == m_node.get()) {
// Since ancestors does not contain target itself, we must account
diff --git a/Source/WebCore/dom/Node.h b/Source/WebCore/dom/Node.h
index c7bf90d..1fe30ad 100644
--- a/Source/WebCore/dom/Node.h
+++ b/Source/WebCore/dom/Node.h
@@ -206,6 +206,7 @@
#endif
virtual bool isMediaControlElement() const { return false; }
+ virtual bool isMediaControls() const { return false; }
bool isStyledElement() const { return getFlag(IsStyledElementFlag); }
virtual bool isFrameOwnerElement() const { return false; }
virtual bool isAttributeNode() const { return false; }
diff --git a/Source/WebCore/dom/XMLDocumentParser.cpp b/Source/WebCore/dom/XMLDocumentParser.cpp
index a5d3c08..67d90d9 100644
--- a/Source/WebCore/dom/XMLDocumentParser.cpp
+++ b/Source/WebCore/dom/XMLDocumentParser.cpp
@@ -294,7 +294,7 @@
// Create elements for display
ExceptionCode ec = 0;
Document* document = this->document();
- Element* documentElement = document->documentElement();
+ RefPtr<Element> documentElement = document->documentElement();
if (!documentElement) {
RefPtr<Element> rootElement = document->createElement(htmlTag, false);
document->appendChild(rootElement, ec);
diff --git a/Source/WebCore/dom/XMLDocumentParserLibxml2.cpp b/Source/WebCore/dom/XMLDocumentParserLibxml2.cpp
index 85cf285..d806456 100644
--- a/Source/WebCore/dom/XMLDocumentParserLibxml2.cpp
+++ b/Source/WebCore/dom/XMLDocumentParserLibxml2.cpp
@@ -847,12 +847,16 @@
return;
}
+ // JavaScript can detach the parser. Make sure this is not released
+ // before the end of this method.
+ RefPtr<XMLDocumentParser> protect(this);
+
exitText();
- Node* n = m_currentNode;
+ RefPtr<Node> n = m_currentNode;
n->finishParsingChildren();
- if (m_scriptingPermission == FragmentScriptingNotAllowed && n->isElementNode() && toScriptElement(static_cast<Element*>(n))) {
+ if (m_scriptingPermission == FragmentScriptingNotAllowed && n->isElementNode() && toScriptElement(static_cast<Element*>(n.get()))) {
popCurrentNode();
ExceptionCode ec;
n->remove(ec);
@@ -864,7 +868,7 @@
return;
}
- Element* element = static_cast<Element*>(n);
+ Element* element = static_cast<Element*>(n.get());
// The element's parent may have already been removed from document.
// Parsing continues in this case, but scripts aren't executed.
@@ -893,10 +897,6 @@
// FIXME: Script execution should be shared between
// the libxml2 and Qt XMLDocumentParser implementations.
- // JavaScript can detach the parser. Make sure this is not released
- // before the end of this method.
- RefPtr<XMLDocumentParser> protect(this);
-
if (scriptElement->readyToBeParserExecuted())
scriptElement->executeScript(ScriptSourceCode(scriptElement->scriptContent(), document()->url(), m_scriptStartPosition));
else if (scriptElement->willBeParserExecuted()) {
diff --git a/Source/WebCore/dom/XMLDocumentParserQt.cpp b/Source/WebCore/dom/XMLDocumentParserQt.cpp
index 6219bcd..dd9d504 100644
--- a/Source/WebCore/dom/XMLDocumentParserQt.cpp
+++ b/Source/WebCore/dom/XMLDocumentParserQt.cpp
@@ -556,10 +556,10 @@
{
exitText();
- Node* n = m_currentNode;
+ RefPtr<Node> n = m_currentNode;
n->finishParsingChildren();
- if (m_scriptingPermission == FragmentScriptingNotAllowed && n->isElementNode() && toScriptElement(static_cast<Element*>(n))) {
+ if (m_scriptingPermission == FragmentScriptingNotAllowed && n->isElementNode() && toScriptElement(static_cast<Element*>(n.get()))) {
popCurrentNode();
ExceptionCode ec;
n->remove(ec);
@@ -572,7 +572,7 @@
return;
}
- Element* element = static_cast<Element*>(n);
+ Element* element = static_cast<Element*>(n.get());
// The element's parent may have already been removed from document.
// Parsing continues in this case, but scripts aren't executed.
diff --git a/Source/WebCore/editing/Editor.cpp b/Source/WebCore/editing/Editor.cpp
index e7c5c1d..b72a546 100644
--- a/Source/WebCore/editing/Editor.cpp
+++ b/Source/WebCore/editing/Editor.cpp
@@ -916,7 +916,7 @@
return state;
}
-bool Editor::hasTransparentBackgroundColor(CSSStyleDeclaration* style)
+static bool hasTransparentBackgroundColor(CSSStyleDeclaration* style)
{
RefPtr<CSSValue> cssValue = style->getPropertyCSSValue(CSSPropertyBackgroundColor);
if (!cssValue)
@@ -1051,7 +1051,7 @@
// This is off by default, since most editors want this behavior (this matches IE but not FF).
, m_shouldStyleWithCSS(false)
, m_killRing(adoptPtr(new KillRing))
- , m_spellChecker(adoptPtr(new SpellChecker(frame, frame->page() ? frame->page()->editorClient()->textChecker() : 0)))
+ , m_spellChecker(adoptPtr(new SpellChecker(frame)))
, m_spellingCorrector(adoptPtr(new SpellingCorrectionController(frame)))
, m_areMarkedTextMatchesHighlighted(false)
{
diff --git a/Source/WebCore/editing/Editor.h b/Source/WebCore/editing/Editor.h
index 24d5c87..1105ce9 100644
--- a/Source/WebCore/editing/Editor.h
+++ b/Source/WebCore/editing/Editor.h
@@ -198,7 +198,6 @@
Command command(const String& commandName); // Command source is CommandFromMenuOrKeyBinding.
Command command(const String& commandName, EditorCommandSource);
static bool commandIsSupportedFromMenuOrKeyBinding(const String& commandName); // Works without a frame.
- static bool hasTransparentBackgroundColor(CSSStyleDeclaration*);
bool insertText(const String&, Event* triggeringEvent);
bool insertTextForConfirmedComposition(const String& text);
diff --git a/Source/WebCore/editing/SpellChecker.cpp b/Source/WebCore/editing/SpellChecker.cpp
index fedcc07..c6ca926 100644
--- a/Source/WebCore/editing/SpellChecker.cpp
+++ b/Source/WebCore/editing/SpellChecker.cpp
@@ -33,6 +33,7 @@
#include "HTMLInputElement.h"
#include "HTMLTextAreaElement.h"
#include "Node.h"
+#include "Page.h"
#include "PositionIterator.h"
#include "Range.h"
#include "RenderObject.h"
@@ -43,9 +44,8 @@
namespace WebCore {
-SpellChecker::SpellChecker(Frame* frame, TextCheckerClient* client)
+SpellChecker::SpellChecker(Frame* frame)
: m_frame(frame)
- , m_client(client)
, m_requestSequence(0)
{
}
@@ -54,6 +54,14 @@
{
}
+TextCheckerClient* SpellChecker::client() const
+{
+ Page* page = m_frame->page();
+ if (!page)
+ return 0;
+ return page->editorClient()->textChecker();
+}
+
bool SpellChecker::initRequest(Node* node)
{
ASSERT(canCheckAsynchronously(node));
@@ -82,7 +90,7 @@
bool SpellChecker::canCheckAsynchronously(Node* node) const
{
- return isCheckable(node) && isAsynchronousEnabled() && !isBusy();
+ return client() && isCheckable(node) && isAsynchronousEnabled() && !isBusy();
}
bool SpellChecker::isBusy() const
@@ -106,7 +114,7 @@
if (!initRequest(node))
return;
- m_client->requestCheckingOfString(this, m_requestSequence, mask, m_requestText);
+ client()->requestCheckingOfString(this, m_requestSequence, mask, m_requestText);
}
static bool forwardIterator(PositionIterator& iterator, int distance)
diff --git a/Source/WebCore/editing/SpellChecker.h b/Source/WebCore/editing/SpellChecker.h
index 4bcb89e..1ed9011 100644
--- a/Source/WebCore/editing/SpellChecker.h
+++ b/Source/WebCore/editing/SpellChecker.h
@@ -39,7 +39,7 @@
class SpellChecker {
WTF_MAKE_NONCOPYABLE(SpellChecker);
public:
- explicit SpellChecker(Frame*, TextCheckerClient*);
+ explicit SpellChecker(Frame*);
~SpellChecker();
bool isAsynchronousEnabled() const;
@@ -53,9 +53,9 @@
private:
bool initRequest(Node*);
void clearRequest();
+ TextCheckerClient* client() const;
Frame* m_frame;
- TextCheckerClient* m_client;
RefPtr<Node> m_requestNode;
String m_requestText;
diff --git a/Source/WebCore/editing/VisiblePosition.cpp b/Source/WebCore/editing/VisiblePosition.cpp
index c3c05fd..cfaec47 100644
--- a/Source/WebCore/editing/VisiblePosition.cpp
+++ b/Source/WebCore/editing/VisiblePosition.cpp
@@ -33,6 +33,7 @@
#include "InlineTextBox.h"
#include "Logging.h"
#include "Range.h"
+#include "RootInlineBox.h"
#include "Text.h"
#include "htmlediting.h"
#include "visible_units.h"
@@ -134,8 +135,18 @@
if (box->isLeftToRightDirection() ? offset < caretMinOffset : offset > caretMaxOffset) {
// Overshot to the left.
InlineBox* prevBox = box->prevLeafChild();
- if (!prevBox)
- return primaryDirection == LTR ? previousVisuallyDistinctCandidate(m_deepPosition) : nextVisuallyDistinctCandidate(m_deepPosition);
+ if (!prevBox) {
+ Position positionOnLeft = primaryDirection == LTR ? previousVisuallyDistinctCandidate(m_deepPosition) : nextVisuallyDistinctCandidate(m_deepPosition);
+ if (positionOnLeft.isNull())
+ return Position();
+
+ InlineBox* boxOnLeft;
+ int offsetOnLeft;
+ positionOnLeft.getInlineBoxAndOffset(m_affinity, primaryDirection, boxOnLeft, offsetOnLeft);
+ if (boxOnLeft && boxOnLeft->root() == box->root())
+ return Position();
+ return positionOnLeft;
+ }
// Reposition at the other logical position corresponding to our edge's visual position and go for another round.
box = prevBox;
@@ -150,7 +161,16 @@
InlineBox* prevBox = box->prevLeafChild();
if (box->direction() == primaryDirection) {
- if (!prevBox || prevBox->bidiLevel() >= level)
+ if (!prevBox) {
+ InlineBox* logicalStart = 0;
+ if (primaryDirection == LTR ? box->root()->getLogicalStartBoxWithNode(logicalStart) : box->root()->getLogicalEndBoxWithNode(logicalStart)) {
+ box = logicalStart;
+ renderer = box->renderer();
+ offset = primaryDirection == LTR ? box->caretMinOffset() : box->caretMaxOffset();
+ }
+ break;
+ }
+ if (prevBox->bidiLevel() >= level)
break;
level = prevBox->bidiLevel();
@@ -163,11 +183,7 @@
if (nextBox && nextBox->bidiLevel() == level)
break;
- while (InlineBox* prevBox = box->prevLeafChild()) {
- if (prevBox->bidiLevel() < level)
- break;
- box = prevBox;
- }
+ box = prevBox;
renderer = box->renderer();
offset = box->caretRightmostOffset();
if (box->direction() == primaryDirection)
@@ -270,8 +286,18 @@
if (box->isLeftToRightDirection() ? offset > caretMaxOffset : offset < caretMinOffset) {
// Overshot to the right.
InlineBox* nextBox = box->nextLeafChild();
- if (!nextBox)
- return primaryDirection == LTR ? nextVisuallyDistinctCandidate(m_deepPosition) : previousVisuallyDistinctCandidate(m_deepPosition);
+ if (!nextBox) {
+ Position positionOnRight = primaryDirection == LTR ? nextVisuallyDistinctCandidate(m_deepPosition) : previousVisuallyDistinctCandidate(m_deepPosition);
+ if (positionOnRight.isNull())
+ return Position();
+
+ InlineBox* boxOnRight;
+ int offsetOnRight;
+ positionOnRight.getInlineBoxAndOffset(m_affinity, primaryDirection, boxOnRight, offsetOnRight);
+ if (boxOnRight && boxOnRight->root() == box->root())
+ return Position();
+ return positionOnRight;
+ }
// Reposition at the other logical position corresponding to our edge's visual position and go for another round.
box = nextBox;
@@ -286,7 +312,16 @@
InlineBox* nextBox = box->nextLeafChild();
if (box->direction() == primaryDirection) {
- if (!nextBox || nextBox->bidiLevel() >= level)
+ if (!nextBox) {
+ InlineBox* logicalEnd = 0;
+ if (primaryDirection == LTR ? box->root()->getLogicalEndBoxWithNode(logicalEnd) : box->root()->getLogicalStartBoxWithNode(logicalEnd)) {
+ box = logicalEnd;
+ renderer = box->renderer();
+ offset = primaryDirection == LTR ? box->caretMaxOffset() : box->caretMinOffset();
+ }
+ break;
+ }
+ if (nextBox->bidiLevel() >= level)
break;
level = nextBox->bidiLevel();
@@ -299,12 +334,8 @@
if (prevBox && prevBox->bidiLevel() == level) // For example, abc FED 123 ^ CBA
break;
- // For example, abc 123 ^ CBA
- while (InlineBox* nextBox = box->nextLeafChild()) {
- if (nextBox->bidiLevel() < level)
- break;
- box = nextBox;
- }
+ // For example, abc 123 ^ CBA or 123 ^ CBA abc
+ box = nextBox;
renderer = box->renderer();
offset = box->caretLeftmostOffset();
if (box->direction() == primaryDirection)
diff --git a/Source/WebCore/editing/markup.cpp b/Source/WebCore/editing/markup.cpp
index b93a78e..5ef3d7d 100644
--- a/Source/WebCore/editing/markup.cpp
+++ b/Source/WebCore/editing/markup.cpp
@@ -465,7 +465,7 @@
RefPtr<CSSMutableStyleDeclaration> style = styleFromMatchedRulesAndInlineDecl(node);
if (!style)
return false;
- return !propertyMissingOrEqualToNone(style.get(), CSSPropertyTextDecoration) || !Editor::hasTransparentBackgroundColor(style.get());
+ return !propertyMissingOrEqualToNone(style.get(), CSSPropertyTextDecoration);
}
static bool shouldIncludeWrapperForFullySelectedRoot(Node* fullySelectedRoot, CSSMutableStyleDeclaration* style)
diff --git a/Source/WebCore/html/HTMLFormControlElement.cpp b/Source/WebCore/html/HTMLFormControlElement.cpp
index 87f4e4d..3d8812e 100644
--- a/Source/WebCore/html/HTMLFormControlElement.cpp
+++ b/Source/WebCore/html/HTMLFormControlElement.cpp
@@ -120,10 +120,45 @@
setNeedsWillValidateCheck();
}
+static bool shouldAutofocus(HTMLFormControlElement* element)
+{
+ if (!element->autofocus())
+ return false;
+ if (!element->renderer())
+ return false;
+ if (element->document()->ignoreAutofocus())
+ return false;
+ if (element->isReadOnlyFormControl())
+ return false;
+
+ // FIXME: Should this set of hasTagName checks be replaced by a
+ // virtual member function?
+ if (element->hasTagName(inputTag))
+ return !static_cast<HTMLInputElement*>(element)->isInputTypeHidden();
+ if (element->hasTagName(selectTag))
+ return true;
+ if (element->hasTagName(keygenTag))
+ return true;
+ if (element->hasTagName(buttonTag))
+ return true;
+ if (element->hasTagName(textareaTag))
+ return true;
+
+ return false;
+}
+
+static void focusPostAttach(Node* element)
+{
+ static_cast<Element*>(element)->focus();
+ element->deref();
+}
+
void HTMLFormControlElement::attach()
{
ASSERT(!attached());
+ suspendPostAttachCallbacks();
+
HTMLElement::attach();
// The call to updateFromElement() needs to go after the call through
@@ -132,17 +167,12 @@
if (renderer())
renderer()->updateFromElement();
- // Focus the element if it should honour its autofocus attribute.
- // We have to determine if the element is a TextArea/Input/Button/Select,
- // if input type hidden ignore autofocus. So if disabled or readonly.
- bool isInputTypeHidden = false;
- if (hasTagName(inputTag))
- isInputTypeHidden = static_cast<HTMLInputElement*>(this)->isInputTypeHidden();
+ if (shouldAutofocus(this)) {
+ ref();
+ queuePostAttachCallback(focusPostAttach, this);
+ }
- if (autofocus() && renderer() && !document()->ignoreAutofocus() && !isReadOnlyFormControl() &&
- ((hasTagName(inputTag) && !isInputTypeHidden) || hasTagName(selectTag) ||
- hasTagName(keygenTag) || hasTagName(buttonTag) || hasTagName(textareaTag)))
- focus();
+ resumePostAttachCallbacks();
}
void HTMLFormControlElement::willMoveToNewOwnerDocument()
diff --git a/Source/WebCore/html/HTMLInputElement.cpp b/Source/WebCore/html/HTMLInputElement.cpp
index d5d0aee..2b262e4 100644
--- a/Source/WebCore/html/HTMLInputElement.cpp
+++ b/Source/WebCore/html/HTMLInputElement.cpp
@@ -699,6 +699,8 @@
void HTMLInputElement::attach()
{
+ suspendPostAttachCallbacks();
+
if (!m_hasType)
updateType();
@@ -708,6 +710,8 @@
if (document()->focusedNode() == this)
document()->updateFocusAppearanceSoon(true /* restore selection */);
+
+ resumePostAttachCallbacks();
}
void HTMLInputElement::detach()
diff --git a/Source/WebCore/html/HTMLMediaElement.cpp b/Source/WebCore/html/HTMLMediaElement.cpp
index eb409af..a9f025f 100644
--- a/Source/WebCore/html/HTMLMediaElement.cpp
+++ b/Source/WebCore/html/HTMLMediaElement.cpp
@@ -1626,7 +1626,7 @@
scheduleTimeupdateEvent(true);
if (hasMediaControls()) {
- if (!m_mouseOver && controls())
+ if (!m_mouseOver && controls() && hasVideo())
mediaControls()->makeTransparent();
mediaControls()->playbackProgressed();
}
@@ -2671,17 +2671,16 @@
MediaControls* HTMLMediaElement::mediaControls()
{
- if (!shadowRoot())
- return 0;
-
- Node* node = shadowRoot()->firstChild();
- ASSERT(node->isHTMLElement());
- return static_cast<MediaControls*>(node);
+ return toMediaControls(shadowRoot()->firstChild());
}
bool HTMLMediaElement::hasMediaControls()
{
- return shadowRoot();
+ if (!shadowRoot())
+ return false;
+
+ Node* node = shadowRoot()->firstChild();
+ return node && node->isMediaControls();
}
void HTMLMediaElement::ensureMediaControls()
diff --git a/Source/WebCore/html/HTMLObjectElement.cpp b/Source/WebCore/html/HTMLObjectElement.cpp
index f5f0083..42064f8 100644
--- a/Source/WebCore/html/HTMLObjectElement.cpp
+++ b/Source/WebCore/html/HTMLObjectElement.cpp
@@ -378,8 +378,8 @@
if (m_imageLoader && m_imageLoader->image() && m_imageLoader->image()->status() != CachedResource::LoadError) {
m_serviceType = m_imageLoader->image()->response().mimeType();
if (!isImageType()) {
- // If we don't think we have an image type anymore, then ditch the image loader.
- m_imageLoader.clear();
+ // If we don't think we have an image type anymore, then clear the image from the loader.
+ m_imageLoader->setImage(0);
detach();
attach();
return;
diff --git a/Source/WebCore/html/HTMLScriptElement.cpp b/Source/WebCore/html/HTMLScriptElement.cpp
index b56b375..f49038b 100644
--- a/Source/WebCore/html/HTMLScriptElement.cpp
+++ b/Source/WebCore/html/HTMLScriptElement.cpp
@@ -29,6 +29,7 @@
#include "EventNames.h"
#include "HTMLNames.h"
#include "ScriptEventListener.h"
+#include "Settings.h"
#include "Text.h"
namespace WebCore {
@@ -81,8 +82,33 @@
HTMLElement::parseMappedAttribute(attr);
}
+static bool needsOldRequirejsQuirk(HTMLScriptElement* element)
+{
+ if (element->fastGetAttribute(typeAttr) != "script/cache")
+ return false;
+
+ Document* document = element->document();
+
+ const KURL& url = document->url();
+ if (!equalIgnoringCase(url.host(), "www.zipcar.com"))
+ return false;
+
+ Settings* settings = document->settings();
+ if (!settings)
+ return false;
+ if (!settings->needsSiteSpecificQuirks())
+ return false;
+
+ return true;
+}
+
void HTMLScriptElement::insertedIntoDocument()
{
+ if (needsOldRequirejsQuirk(this)) {
+ if (!asyncAttributeValue())
+ handleAsyncAttribute(); // Clear forceAsync, so this script loads in parallel, but executes in order.
+ setAttribute(typeAttr, "text/javascript");
+ }
HTMLElement::insertedIntoDocument();
ScriptElement::insertedIntoDocument();
}
diff --git a/Source/WebCore/html/parser/XSSFilter.cpp b/Source/WebCore/html/parser/XSSFilter.cpp
index ddc3318..27bff31 100644
--- a/Source/WebCore/html/parser/XSSFilter.cpp
+++ b/Source/WebCore/html/parser/XSSFilter.cpp
@@ -43,9 +43,7 @@
using namespace HTMLNames;
-namespace {
-
-bool isNonCanonicalCharacter(UChar c)
+static bool isNonCanonicalCharacter(UChar c)
{
// We remove all non-ASCII characters, including non-printable ASCII characters.
//
@@ -57,22 +55,22 @@
return (c == '\\' || c == '0' || c == '\0' || c >= 127);
}
-String canonicalize(const String& string)
+static String canonicalize(const String& string)
{
return string.removeCharacters(&isNonCanonicalCharacter);
}
-bool isRequiredForInjection(UChar c)
+static bool isRequiredForInjection(UChar c)
{
return (c == '\'' || c == '"' || c == '<' || c == '>');
}
-bool hasName(const HTMLToken& token, const QualifiedName& name)
+static bool hasName(const HTMLToken& token, const QualifiedName& name)
{
return equalIgnoringNullity(token.name(), static_cast<const String&>(name.localName()));
}
-bool findAttributeWithName(const HTMLToken& token, const QualifiedName& name, size_t& indexOfMatchingAttribute)
+static bool findAttributeWithName(const HTMLToken& token, const QualifiedName& name, size_t& indexOfMatchingAttribute)
{
for (size_t i = 0; i < token.attributes().size(); ++i) {
if (equalIgnoringNullity(token.attributes().at(i).m_name, name.localName())) {
@@ -83,7 +81,7 @@
return false;
}
-bool isNameOfInlineEventHandler(const Vector<UChar, 32>& name)
+static bool isNameOfInlineEventHandler(const Vector<UChar, 32>& name)
{
const size_t lengthOfShortestInlineEventHandlerName = 5; // To wit: oncut.
if (name.size() < lengthOfShortestInlineEventHandlerName)
@@ -91,7 +89,13 @@
return name[0] == 'o' && name[1] == 'n';
}
-bool containsJavaScriptURL(const Vector<UChar, 32>& value)
+static bool isDangerousHTTPEquiv(const String& value)
+{
+ String equiv = value.stripWhiteSpace();
+ return equalIgnoringCase(equiv, "refresh") || equalIgnoringCase(equiv, "set-cookie");
+}
+
+static bool containsJavaScriptURL(const Vector<UChar, 32>& value)
{
static const char javaScriptScheme[] = "javascript:";
static const size_t lengthOfJavaScriptScheme = sizeof(javaScriptScheme) - 1;
@@ -108,7 +112,7 @@
return equalIgnoringCase(value.data() + i, javaScriptScheme, lengthOfJavaScriptScheme);
}
-String decodeURL(const String& string, const TextEncoding& encoding)
+static String decodeURL(const String& string, const TextEncoding& encoding)
{
String workingString = string;
workingString.replace('+', ' ');
@@ -121,8 +125,6 @@
return canonicalize(decodedString);
}
-}
-
XSSFilter::XSSFilter(HTMLDocumentParser* parser)
: m_parser(parser)
, m_isEnabled(false)
@@ -420,6 +422,8 @@
if (isContainedInRequest(snippetForAttribute(token, attribute))) {
if (attributeName == srcAttr && isSameOriginResource(String(attribute.m_value.data(), attribute.m_value.size())))
return false;
+ if (attributeName == http_equivAttr && !isDangerousHTTPEquiv(String(attribute.m_value.data(), attribute.m_value.size())))
+ return false;
token.eraseValueOfAttribute(indexOfAttribute);
if (!replacementValue.isEmpty())
token.appendToAttributeValue(indexOfAttribute, replacementValue);
diff --git a/Source/WebCore/html/shadow/MediaControls.h b/Source/WebCore/html/shadow/MediaControls.h
index dc88ebb..edbbe21 100644
--- a/Source/WebCore/html/shadow/MediaControls.h
+++ b/Source/WebCore/html/shadow/MediaControls.h
@@ -73,8 +73,19 @@
private:
MediaControls();
+
+ virtual bool isMediaControls() const { return true; }
};
+inline MediaControls* toMediaControls(Node* node)
+{
+ ASSERT(!node || node->isMediaControls());
+ return static_cast<MediaControls*>(node);
+}
+
+// This will catch anyone doing an unneccessary cast.
+void toMediaControls(const Node*);
+
}
#endif
diff --git a/Source/WebCore/inspector/CodeGeneratorInspector.pm b/Source/WebCore/inspector/CodeGeneratorInspector.pm
index de8e1db..32a4b47 100644
--- a/Source/WebCore/inspector/CodeGeneratorInspector.pm
+++ b/Source/WebCore/inspector/CodeGeneratorInspector.pm
@@ -93,6 +93,9 @@
$typeTransform{"PassRefPtr"} = {
"forwardHeader" => "wtf/PassRefPtr.h",
};
+$typeTransform{"RefCounted"} = {
+ "forwardHeader" => "wtf/RefCounted.h",
+};
$typeTransform{"InspectorFrontendChannel"} = {
"forward" => "InspectorFrontendChannel",
"header" => "InspectorFrontendChannel.h",
@@ -213,6 +216,7 @@
my $namespace;
my $backendClassName;
+my $backendClassDeclaration;
my $backendJSStubName;
my %backendTypes;
my @backendMethods;
@@ -273,10 +277,12 @@
$frontendTypes{"PassRefPtr"} = 1;
$backendClassName = "InspectorBackendDispatcher";
+ $backendClassDeclaration = "InspectorBackendDispatcher: public RefCounted<InspectorBackendDispatcher>";
$backendJSStubName = "InspectorBackendStub";
$backendTypes{"Inspector"} = 1;
$backendTypes{"InspectorFrontendChannel"} = 1;
$backendTypes{"PassRefPtr"} = 1;
+ $backendTypes{"RefCounted"} = 1;
$backendTypes{"Object"} = 1;
}
@@ -384,7 +390,8 @@
}
push(@function, " ${functionName}Message->setObject(\"params\", paramsObject);");
}
- push(@function, " m_inspectorFrontendChannel->sendMessageToFrontend(${functionName}Message->toJSONString());");
+ push(@function, " if (m_inspectorFrontendChannel)");
+ push(@function, " m_inspectorFrontendChannel->sendMessageToFrontend(${functionName}Message->toJSONString());");
push(@function, "}");
push(@function, "");
push(@frontendMethodsImpl, @function);
@@ -489,7 +496,8 @@
push(@function, " responseMessage->setObject(\"result\", result);");
push(@function, "");
push(@function, " responseMessage->setNumber(\"id\", callId);");
- push(@function, " m_inspectorFrontendChannel->sendMessageToFrontend(responseMessage->toJSONString());");
+ push(@function, " if (m_inspectorFrontendChannel)");
+ push(@function, " m_inspectorFrontendChannel->sendMessageToFrontend(responseMessage->toJSONString());");
push(@function, "}");
push(@function, "");
push(@backendMethodsImpl, @function);
@@ -530,7 +538,8 @@
message->setNumber("id", *callId);
else
message->setValue("id", InspectorValue::null());
- m_inspectorFrontendChannel->sendMessageToFrontend(message->toJSONString());
+ if (m_inspectorFrontendChannel)
+ m_inspectorFrontendChannel->sendMessageToFrontend(message->toJSONString());
}
EOF
return split("\n", $reportProtocolError);
@@ -581,6 +590,7 @@
my $backendDispatcherBody = << "EOF";
void ${backendClassName}::dispatch(const String& message)
{
+ RefPtr<${backendClassName}> protect = this;
typedef void (${backendClassName}::*CallHandler)(long callId, InspectorObject* messageObject);
typedef HashMap<String, CallHandler> DispatchMap;
DEFINE_STATIC_LOCAL(DispatchMap, dispatchMap, );
@@ -880,6 +890,7 @@
sub generateHeader
{
my $className = shift;
+ my $classDeclaration = shift;
my $types = shift;
my $constructor = shift;
my $constants = shift;
@@ -906,7 +917,7 @@
typedef String ErrorString;
-class $className {
+class $classDeclaration {
public:
$constructor
@@ -993,6 +1004,8 @@
push(@backendHead, @fieldInitializers);
push(@backendHead, " { }");
push(@backendHead, "");
+ push(@backendHead, " void clearFrontend() { m_inspectorFrontendChannel = 0; }");
+ push(@backendHead, "");
push(@backendHead, " enum CommonErrorCode {");
push(@backendHead, " ParseError = 0,");
push(@backendHead, " InvalidRequest,");
@@ -1024,7 +1037,7 @@
undef($SOURCE);
open(my $HEADER, ">$outputHeadersDir/$frontendClassName.h") || die "Couldn't open file $outputHeadersDir/$frontendClassName.h";
- print $HEADER generateHeader($frontendClassName, \%frontendTypes, $frontendConstructor, \@frontendConstantDeclarations, \@frontendMethods, join("\n", @frontendFooter));
+ print $HEADER generateHeader($frontendClassName, $frontendClassName, \%frontendTypes, $frontendConstructor, \@frontendConstantDeclarations, \@frontendMethods, join("\n", @frontendFooter));
close($HEADER);
undef($HEADER);
@@ -1050,7 +1063,7 @@
undef($SOURCE);
open($HEADER, ">$outputHeadersDir/$backendClassName.h") || die "Couldn't open file $outputHeadersDir/$backendClassName.h";
- print $HEADER join("\n", generateHeader($backendClassName, \%backendTypes, $backendConstructor, \@backendConstantDeclarations, \@backendMethods, join("\n", @backendFooter)));
+ print $HEADER join("\n", generateHeader($backendClassName, $backendClassDeclaration, \%backendTypes, $backendConstructor, \@backendConstantDeclarations, \@backendMethods, join("\n", @backendFooter)));
close($HEADER);
undef($HEADER);
diff --git a/Source/WebCore/inspector/InspectorController.cpp b/Source/WebCore/inspector/InspectorController.cpp
index d9b9773..89b3be5 100644
--- a/Source/WebCore/inspector/InspectorController.cpp
+++ b/Source/WebCore/inspector/InspectorController.cpp
@@ -112,7 +112,7 @@
InspectorInstrumentation::frontendCreated();
ASSERT(m_inspectorClient);
- m_inspectorBackendDispatcher = new InspectorBackendDispatcher(
+ m_inspectorBackendDispatcher = adoptRef(new InspectorBackendDispatcher(
m_inspectorClient,
#if ENABLE(OFFLINE_WEB_APPLICATIONS)
m_inspectorAgent->applicationCacheAgent(),
@@ -138,7 +138,7 @@
m_inspectorAgent->profilerAgent(),
#endif
m_inspectorAgent->runtimeAgent(),
- m_inspectorAgent->timelineAgent());
+ m_inspectorAgent->timelineAgent()));
if (m_startUserInitiatedDebuggingWhenFrontedIsConnected) {
m_inspectorFrontend->inspector()->startUserInitiatedDebugging();
@@ -150,6 +150,7 @@
{
if (!m_inspectorFrontend)
return;
+ m_inspectorBackendDispatcher->clearFrontend();
m_inspectorBackendDispatcher.clear();
m_inspectorAgent->disconnectFrontend();
diff --git a/Source/WebCore/inspector/InspectorController.h b/Source/WebCore/inspector/InspectorController.h
index b97373e..a60b672 100644
--- a/Source/WebCore/inspector/InspectorController.h
+++ b/Source/WebCore/inspector/InspectorController.h
@@ -106,7 +106,7 @@
OwnPtr<InjectedScriptManager> m_injectedScriptManager;
OwnPtr<InspectorAgent> m_inspectorAgent;
- OwnPtr<InspectorBackendDispatcher> m_inspectorBackendDispatcher;
+ RefPtr<InspectorBackendDispatcher> m_inspectorBackendDispatcher;
OwnPtr<InspectorFrontendClient> m_inspectorFrontendClient;
OwnPtr<InspectorFrontend> m_inspectorFrontend;
InspectorClient* m_inspectorClient;
diff --git a/Source/WebCore/inspector/InspectorDOMAgent.cpp b/Source/WebCore/inspector/InspectorDOMAgent.cpp
index cb761d0..9f7cdda 100644
--- a/Source/WebCore/inspector/InspectorDOMAgent.cpp
+++ b/Source/WebCore/inspector/InspectorDOMAgent.cpp
@@ -346,7 +346,11 @@
m_document = doc;
- if (!doc && m_inspectorState->getBoolean(DOMAgentState::documentRequested))
+ if (!m_inspectorState->getBoolean(DOMAgentState::documentRequested))
+ return;
+
+ // Immediately communicate 0 document or document that has finished loading.
+ if (!doc || !doc->parsing())
m_frontend->documentUpdated();
}
diff --git a/Source/WebCore/inspector/InspectorFrontendHost.cpp b/Source/WebCore/inspector/InspectorFrontendHost.cpp
index 7450d35..0a84988 100644
--- a/Source/WebCore/inspector/InspectorFrontendHost.cpp
+++ b/Source/WebCore/inspector/InspectorFrontendHost.cpp
@@ -236,7 +236,8 @@
void InspectorFrontendHost::sendMessageToBackend(const String& message)
{
- m_client->sendMessageToBackend(message);
+ if (m_client)
+ m_client->sendMessageToBackend(message);
}
#if ENABLE(CONTEXT_MENUS)
diff --git a/Source/WebCore/inspector/front-end/AuditRules.js b/Source/WebCore/inspector/front-end/AuditRules.js
index 19a2c24..dc273f9 100644
--- a/Source/WebCore/inspector/front-end/AuditRules.js
+++ b/Source/WebCore/inspector/front-end/AuditRules.js
@@ -763,6 +763,11 @@
function externalStylesheetsReceived(root, inlineStyleNodeIds, nodeIds)
{
+ if (!nodeIds) {
+ callback(null);
+ return;
+ }
+
var externalStylesheetNodeIds = nodeIds;
var result = null;
if (inlineStyleNodeIds.length || externalStylesheetNodeIds.length) {
@@ -781,6 +786,11 @@
function inlineStylesReceived(root, nodeIds)
{
+ if (!nodeIds) {
+ callback(null);
+ return;
+ }
+
WebInspector.domAgent.querySelectorAll(root.id, "body link[rel~='stylesheet'][href]", externalStylesheetsReceived.bind(null, root, nodeIds));
}
@@ -825,6 +835,11 @@
function cssBeforeInlineReceived(lateStyleIds, nodeIds)
{
+ if (!nodeIds) {
+ callback(null);
+ return;
+ }
+
var cssBeforeInlineCount = nodeIds.length;
var result = null;
if (lateStyleIds.length || cssBeforeInlineCount) {
@@ -842,6 +857,11 @@
function lateStylesReceived(root, nodeIds)
{
+ if (!nodeIds) {
+ callback(null);
+ return;
+ }
+
WebInspector.domAgent.querySelectorAll(root.id, "head link[rel~='stylesheet'][href] ~ script:not([src])", cssBeforeInlineReceived.bind(null, nodeIds));
}
diff --git a/Source/WebCore/inspector/front-end/CSSStyleModel.js b/Source/WebCore/inspector/front-end/CSSStyleModel.js
index 7596bc4..ec91752 100644
--- a/Source/WebCore/inspector/front-end/CSSStyleModel.js
+++ b/Source/WebCore/inspector/front-end/CSSStyleModel.js
@@ -122,9 +122,9 @@
setRuleSelector: function(ruleId, nodeId, newSelector, successCallback, failureCallback)
{
- function checkAffectsCallback(nodeId, successCallback, rulePayload, error, selectedNodeIds)
+ function checkAffectsCallback(nodeId, successCallback, rulePayload, selectedNodeIds)
{
- if (error)
+ if (!selectedNodeIds)
return;
var doesAffectSelectedNode = (selectedNodeIds.indexOf(nodeId) >= 0);
var rule = WebInspector.CSSRule.parsePayload(rulePayload);
@@ -137,8 +137,13 @@
// FIXME: looks like rulePayload is always null.
if (error)
failureCallback();
- else
- WebInspector.domAgent.querySelectorAll(nodeId, newSelector, checkAffectsCallback.bind(this, nodeId, successCallback, rulePayload));
+ else {
+ var documentElementId = this._documentElementId(nodeId);
+ if (documentElementId)
+ WebInspector.domAgent.querySelectorAll(documentElementId, newSelector, checkAffectsCallback.bind(this, nodeId, successCallback, rulePayload));
+ else
+ failureCallback();
+ }
}
CSSAgent.setRuleSelector(ruleId, newSelector, callback.bind(this, nodeId, successCallback, failureCallback, newSelector));
@@ -146,8 +151,10 @@
addRule: function(nodeId, selector, successCallback, failureCallback)
{
- function checkAffectsCallback(nodeId, successCallback, rulePayload, error, selectedNodeIds)
+ function checkAffectsCallback(nodeId, successCallback, rulePayload, selectedNodeIds)
{
+ if (!selectedNodeIds)
+ return;
var doesAffectSelectedNode = (selectedNodeIds.indexOf(nodeId) >= 0);
var rule = WebInspector.CSSRule.parsePayload(rulePayload);
successCallback(rule, doesAffectSelectedNode);
@@ -159,13 +166,26 @@
if (error) {
// Invalid syntax for a selector
failureCallback();
- } else
- WebInspector.domAgent.querySelectorAll(nodeId, selector, checkAffectsCallback.bind(this, nodeId, successCallback, rulePayload));
+ } else {
+ var documentElementId = this._documentElementId(nodeId);
+ if (documentElementId)
+ WebInspector.domAgent.querySelectorAll(documentElementId, selector, checkAffectsCallback.bind(this, nodeId, successCallback, rulePayload));
+ else
+ failureCallback();
+ }
}
CSSAgent.addRule(nodeId, selector, callback.bind(this, successCallback, failureCallback, selector));
},
+ _documentElementId: function(nodeId)
+ {
+ var node = WebInspector.domAgent.nodeForId(nodeId);
+ if (!node)
+ return null;
+ return node.ownerDocumentElement().id;
+ },
+
_fireStyleSheetChanged: function(styleSheetId, majorChange, callback)
{
callback = callback || function() {};
diff --git a/Source/WebCore/inspector/front-end/ConsoleView.js b/Source/WebCore/inspector/front-end/ConsoleView.js
index 4ab16d9e..514767b 100644
--- a/Source/WebCore/inspector/front-end/ConsoleView.js
+++ b/Source/WebCore/inspector/front-end/ConsoleView.js
@@ -344,6 +344,12 @@
// Pass less stop characters to rangeOfWord so the range will be a more complete expression.
var expressionRange = wordRange.startContainer.rangeOfWord(wordRange.startOffset, ExpressionStopCharacters, this.promptElement, "backward");
var expressionString = expressionRange.toString();
+ var prefix = wordRange.toString();
+ this._completions(expressionString, prefix, bestMatchOnly, completionsReadyCallback);
+ },
+
+ _completions: function(expressionString, prefix, bestMatchOnly, completionsReadyCallback)
+ {
var lastIndex = expressionString.length - 1;
var dotNotation = (expressionString[lastIndex] === ".");
@@ -352,11 +358,13 @@
if (dotNotation || bracketNotation)
expressionString = expressionString.substr(0, lastIndex);
- var prefix = wordRange.toString();
if (!expressionString && !prefix)
return;
- this.evalInInspectedWindow(expressionString, "completion", true, evaluated.bind(this));
+ if (!expressionString && WebInspector.panels.scripts.paused)
+ WebInspector.panels.scripts.getSelectedCallFrameVariables(reportCompletions.bind(this));
+ else
+ this.evalInInspectedWindow(expressionString, "completion", true, evaluated.bind(this));
function evaluated(result)
{
@@ -368,14 +376,22 @@
function evaluatedProperties(properties)
{
RuntimeAgent.releaseObjectGroup("completion");
- var propertyNames = [];
+ var propertyNames = {};
for (var i = 0; properties && i < properties.length; ++i)
- propertyNames.push(properties[i].name);
+ propertyNames[properties[i].name] = true;
+ reportCompletions.call(this, propertyNames);
+ }
+ function reportCompletions(propertyNames)
+ {
var includeCommandLineAPI = (!dotNotation && !bracketNotation);
- if (includeCommandLineAPI)
- propertyNames.splice(0, 0, "dir", "dirxml", "keys", "values", "profile", "profileEnd", "monitorEvents", "unmonitorEvents", "inspect", "copy", "clear");
- this._reportCompletions(bestMatchOnly, completionsReadyCallback, dotNotation, bracketNotation, prefix, propertyNames);
+ if (includeCommandLineAPI) {
+ const commandLineAPI = ["dir", "dirxml", "keys", "values", "profile", "profileEnd", "monitorEvents", "unmonitorEvents", "inspect", "copy", "clear"];
+ for (var i = 0; i < commandLineAPI.length; ++i)
+ propertyNames[commandLineAPI[i]] = true;
+ }
+
+ this._reportCompletions(bestMatchOnly, completionsReadyCallback, dotNotation, bracketNotation, prefix, Object.keys(propertyNames));
}
},
diff --git a/Source/WebCore/inspector/front-end/DOMAgent.js b/Source/WebCore/inspector/front-end/DOMAgent.js
index 5889320..4210e42 100644
--- a/Source/WebCore/inspector/front-end/DOMAgent.js
+++ b/Source/WebCore/inspector/front-end/DOMAgent.js
@@ -312,6 +312,16 @@
};
this._attributesMap[name] = attr;
this._attributes.push(attr);
+ },
+
+ ownerDocumentElement: function()
+ {
+ // document element is the child of the document / frame owner node that has documentURL property.
+ // FIXME: return document nodes as a part of the DOM tree structure.
+ var node = this;
+ while (node.parentNode && !node.parentNode.documentURL)
+ node = node.parentNode;
+ return node;
}
}
@@ -387,6 +397,8 @@
return;
return function(error, result)
{
+ if (error)
+ console.error("Error during DOMAgent operation: " + error);
callback(error ? null : result);
}
},
diff --git a/Source/WebCore/inspector/front-end/DebuggerPresentationModel.js b/Source/WebCore/inspector/front-end/DebuggerPresentationModel.js
index 106d62f..08701b6 100644
--- a/Source/WebCore/inspector/front-end/DebuggerPresentationModel.js
+++ b/Source/WebCore/inspector/front-end/DebuggerPresentationModel.js
@@ -63,7 +63,10 @@
WebInspector.DebuggerPresentationModel.prototype = {
_debuggerWasEnabled: function()
{
+ if (this._breakpointsRestored)
+ return;
this._restoreBreakpointsFromSettings();
+ this._breakpointsRestored = true;
},
sourceFile: function(sourceFileId)
@@ -497,8 +500,15 @@
serializedBreakpoints = serializedBreakpoints.concat(this._breakpointsWithoutSourceFile[sourceFileId]);
// Sanitize debugger ids.
- for (var i = 0; i < serializedBreakpoints.length; ++i)
- delete serializedBreakpoints[i].debuggerId;
+ for (var i = 0; i < serializedBreakpoints.length; ++i) {
+ var breakpoint = serializedBreakpoints[i];
+ var breakpointCopy = {};
+ for (var property in breakpoint) {
+ if (property !== "debuggerId")
+ breakpointCopy[property] = breakpoint[property];
+ }
+ serializedBreakpoints[i] = breakpointCopy;
+ }
WebInspector.settings.breakpoints = serializedBreakpoints;
},
diff --git a/Source/WebCore/inspector/front-end/NetworkManager.js b/Source/WebCore/inspector/front-end/NetworkManager.js
index b6d413f..13ab3a9 100644
--- a/Source/WebCore/inspector/front-end/NetworkManager.js
+++ b/Source/WebCore/inspector/front-end/NetworkManager.js
@@ -115,10 +115,18 @@
this._updateResourceWithResponse(resource, cachedResource.response);
},
+ _isNull: function(response)
+ {
+ return response && !response.status && !response.mimeType && !Object.keys(response.headers).length;
+ },
+
requestWillBeSent: function(identifier, frameId, loaderId, documentURL, request, time, stackTrace, redirectResponse)
{
var resource = this._inflightResourcesById[identifier];
if (resource) {
+ // FIXME: move this check to the backend.
+ if (this._isNull(redirectResponse))
+ return;
this.responseReceived(identifier, time, "Other", redirectResponse);
resource = this._appendRedirect(identifier, time, request.url);
} else
@@ -141,6 +149,10 @@
responseReceived: function(identifier, time, resourceType, response)
{
+ // FIXME: move this check to the backend.
+ if (this._isNull(response))
+ return;
+
var resource = this._inflightResourcesById[identifier];
if (!resource)
return;
diff --git a/Source/WebCore/inspector/front-end/ProfilesPanel.js b/Source/WebCore/inspector/front-end/ProfilesPanel.js
index d9a1178..c0749d6 100644
--- a/Source/WebCore/inspector/front-end/ProfilesPanel.js
+++ b/Source/WebCore/inspector/front-end/ProfilesPanel.js
@@ -263,14 +263,14 @@
if (buttonPos > -1) {
var container = document.createDocumentFragment();
var part1 = document.createElement("span");
- part1.innerHTML = message.substr(0, buttonPos);
+ part1.textContent = message.substr(0, buttonPos);
container.appendChild(part1);
var button = new WebInspector.StatusBarButton(profileType.buttonTooltip, profileType.buttonStyle, profileType.buttonCaption);
container.appendChild(button.element);
var part2 = document.createElement("span");
- part2.innerHTML = message.substr(buttonPos + 2);
+ part2.textContent = message.substr(buttonPos + 2);
container.appendChild(part2);
this.welcomeView.addMessage(container);
} else
diff --git a/Source/WebCore/inspector/front-end/RemoteObject.js b/Source/WebCore/inspector/front-end/RemoteObject.js
index b6038ca..eba1e27 100644
--- a/Source/WebCore/inspector/front-end/RemoteObject.js
+++ b/Source/WebCore/inspector/front-end/RemoteObject.js
@@ -125,8 +125,10 @@
}
function remoteObjectBinder(error, properties)
{
- if (error)
+ if (error) {
+ callback(null);
return;
+ }
for (var i = 0; properties && i < properties.length; ++i)
properties[i].value = WebInspector.RemoteObject.fromPayload(properties[i].value);
callback(properties);
diff --git a/Source/WebCore/inspector/front-end/ScriptsPanel.js b/Source/WebCore/inspector/front-end/ScriptsPanel.js
index 8a6c58e..086ad31 100644
--- a/Source/WebCore/inspector/front-end/ScriptsPanel.js
+++ b/Source/WebCore/inspector/front-end/ScriptsPanel.js
@@ -358,6 +358,32 @@
selectedCallFrame.evaluate(code, objectGroup, includeCommandLineAPI, callback);
},
+ getSelectedCallFrameVariables: function(callback)
+ {
+ var result = { this: true };
+
+ var selectedCallFrame = this._presentationModel.selectedCallFrame;
+ if (!selectedCallFrame)
+ callback(result);
+
+ var pendingRequests = 0;
+
+ function propertiesCollected(properties)
+ {
+ for (var i = 0; properties && i < properties.length; ++i)
+ result[properties[i].name] = true;
+ if (--pendingRequests == 0)
+ callback(result);
+ }
+
+ for (var i = 0; i < selectedCallFrame.scopeChain.length; ++i) {
+ var scope = selectedCallFrame.scopeChain[i];
+ var object = WebInspector.RemoteObject.fromPayload(scope.object);
+ pendingRequests++;
+ object.getAllProperties(propertiesCollected);
+ }
+ },
+
_debuggerPaused: function(event)
{
var callFrames = event.data.callFrames;
diff --git a/Source/WebCore/inspector/front-end/Settings.js b/Source/WebCore/inspector/front-end/Settings.js
index 856153a..404b4df 100644
--- a/Source/WebCore/inspector/front-end/Settings.js
+++ b/Source/WebCore/inspector/front-end/Settings.js
@@ -63,7 +63,7 @@
this.installApplicationSetting("lastActivePanel", "elements");
this.installApplicationSetting("lastViewedScriptFile", "application");
this.installApplicationSetting("monitoringXHREnabled", false);
- this.installApplicationSetting("pauseOnExceptionState", WebInspector.ScriptsPanel.PauseOnExceptionsState.DontPauseOnExceptions);
+ this.installApplicationSetting("pauseOnExceptionStateString", WebInspector.ScriptsPanel.PauseOnExceptionsState.DontPauseOnExceptions);
this.installApplicationSetting("resourcesLargeRows", true);
this.installApplicationSetting("resourcesSortOptions", {timeOption: "responseTime", sizeOption: "transferSize"});
this.installApplicationSetting("resourceViewTab", "content");
diff --git a/Source/WebCore/inspector/front-end/StylesSidebarPane.js b/Source/WebCore/inspector/front-end/StylesSidebarPane.js
index a662008..2aefb68 100644
--- a/Source/WebCore/inspector/front-end/StylesSidebarPane.js
+++ b/Source/WebCore/inspector/front-end/StylesSidebarPane.js
@@ -498,6 +498,7 @@
_createNewRule: function(event)
{
+ this.expanded = true;
this.addBlankSection().startEditingSelector();
},
diff --git a/Source/WebCore/inspector/front-end/TextViewer.js b/Source/WebCore/inspector/front-end/TextViewer.js
index 1b40b3e..0c03a59 100644
--- a/Source/WebCore/inspector/front-end/TextViewer.js
+++ b/Source/WebCore/inspector/front-end/TextViewer.js
@@ -108,6 +108,9 @@
highlightLine: function(lineNumber)
{
+ if (typeof lineNumber !== "number" || lineNumber < 0)
+ return;
+
this._mainPanel.highlightLine(lineNumber);
},
@@ -406,6 +409,12 @@
{
var chunkNumber = this._chunkNumberForLine(lineNumber);
var oldChunk = this._textChunks[chunkNumber];
+
+ if (!oldChunk) {
+ console.error("No chunk for line number: " + lineNumber);
+ return;
+ }
+
if (oldChunk.linesCount === 1)
return oldChunk;
diff --git a/Source/WebCore/inspector/front-end/TimelinePanel.js b/Source/WebCore/inspector/front-end/TimelinePanel.js
index 2f30876..a3c2d3a 100644
--- a/Source/WebCore/inspector/front-end/TimelinePanel.js
+++ b/Source/WebCore/inspector/front-end/TimelinePanel.js
@@ -1030,10 +1030,10 @@
return record.data.width + "\u2009\u00d7\u2009" + record.data.height;
case WebInspector.TimelineAgent.RecordType.TimerInstall:
case WebInspector.TimelineAgent.RecordType.TimerRemove:
- return this.stackTrace ? WebInspector.linkifyResourceAsNode(this.stackTrace[0].scriptName, "scripts", this.stackTrace[0].lineNumber, "", "") : record.data.timerId;
+ return this.stackTrace ? WebInspector.linkifyResourceAsNode(this.stackTrace[0].url, "scripts", this.stackTrace[0].lineNumber, "", "") : record.data.timerId;
case WebInspector.TimelineAgent.RecordType.ParseHTML:
case WebInspector.TimelineAgent.RecordType.RecalculateStyles:
- return this.stackTrace ? WebInspector.linkifyResourceAsNode(this.stackTrace[0].scriptName, "scripts", this.stackTrace[0].lineNumber, "", "") : null;
+ return this.stackTrace ? WebInspector.linkifyResourceAsNode(this.stackTrace[0].url, "scripts", this.stackTrace[0].lineNumber, "", "") : null;
case WebInspector.TimelineAgent.RecordType.EvaluateScript:
return record.data.url ? WebInspector.linkifyResourceAsNode(record.data.url, "scripts", record.data.lineNumber, "", "") : null;
case WebInspector.TimelineAgent.RecordType.XHRReadyStateChange:
@@ -1133,7 +1133,7 @@
row.appendChild(this._createCell(stackFrame.functionName ? stackFrame.functionName : WebInspector.UIString("(anonymous function)"), "timeline-function-name"));
row.appendChild(this._createCell(" @ "));
var linkCell = document.createElement("td");
- linkCell.appendChild(WebInspector.linkifyResourceAsNode(stackFrame.scriptName, "scripts", stackFrame.lineNumber, "timeline-details"));
+ linkCell.appendChild(WebInspector.linkifyResourceAsNode(stackFrame.url, "scripts", stackFrame.lineNumber, "timeline-details"));
row.appendChild(linkCell);
framesTable.appendChild(row);
}
diff --git a/Source/WebCore/inspector/front-end/inspector.css b/Source/WebCore/inspector/front-end/inspector.css
index d6fef89..6848aaf 100644
--- a/Source/WebCore/inspector/front-end/inspector.css
+++ b/Source/WebCore/inspector/front-end/inspector.css
@@ -163,6 +163,8 @@
#toolbar-dropdown .toolbar-label {
display: inline-block;
margin-left: 3px;
+ position: relative;
+ top: 2px;
}
body.attached #search-toolbar-label {
@@ -380,6 +382,10 @@
display: none;
}
+.toolbar-item.close-left {
+ margin-top: 5px;
+}
+
#main {
position: absolute;
z-index: 1;
diff --git a/Source/WebCore/loader/DocumentThreadableLoader.cpp b/Source/WebCore/loader/DocumentThreadableLoader.cpp
index f02994a..2fbf324 100644
--- a/Source/WebCore/loader/DocumentThreadableLoader.cpp
+++ b/Source/WebCore/loader/DocumentThreadableLoader.cpp
@@ -346,11 +346,13 @@
// Don't sniff content or send load callbacks for the preflight request.
bool sendLoadCallbacks = m_options.sendLoadCallbacks && !m_actualRequest;
bool sniffContent = m_options.sniffContent && !m_actualRequest;
+ // Keep buffering the data for the preflight request.
+ bool shouldBufferData = m_options.shouldBufferData || m_actualRequest;
// Clear the loader so that any callbacks from SubresourceLoader::create will not have the old loader.
m_loader = 0;
m_loader = resourceLoadScheduler()->scheduleSubresourceLoad(m_document->frame(), this, request, ResourceLoadPriorityMedium, securityCheck, sendLoadCallbacks,
- sniffContent, m_optionalOutgoingReferrer);
+ sniffContent, m_optionalOutgoingReferrer, shouldBufferData);
return;
}
diff --git a/Source/WebCore/loader/EmptyClients.h b/Source/WebCore/loader/EmptyClients.h
index f082317..45df6ec 100644
--- a/Source/WebCore/loader/EmptyClients.h
+++ b/Source/WebCore/loader/EmptyClients.h
@@ -89,6 +89,7 @@
virtual ~EmptyChromeClient() { }
virtual void chromeDestroyed() { }
+ virtual void* webView() const { return 0; }
virtual void setWindowRect(const FloatRect&) { }
virtual FloatRect windowRect() { return FloatRect(); }
diff --git a/Source/WebCore/loader/HistoryController.cpp b/Source/WebCore/loader/HistoryController.cpp
index f9d85bc..1abe30d 100644
--- a/Source/WebCore/loader/HistoryController.cpp
+++ b/Source/WebCore/loader/HistoryController.cpp
@@ -78,8 +78,12 @@
{
if (!item || !m_frame->view())
return;
-
- item->setScrollPoint(m_frame->view()->cachedScrollPosition());
+
+ if (m_frame->document()->inPageCache())
+ item->setScrollPoint(m_frame->view()->cachedScrollPosition());
+ else
+ item->setScrollPoint(m_frame->view()->scrollPosition());
+
item->setPageScaleFactor(m_frame->pageScaleFactor());
// FIXME: It would be great to work out a way to put this code in WebCore instead of calling through to the client.
diff --git a/Source/WebCore/loader/ResourceLoadScheduler.cpp b/Source/WebCore/loader/ResourceLoadScheduler.cpp
index 0c0abb1..7b6cba4 100644
--- a/Source/WebCore/loader/ResourceLoadScheduler.cpp
+++ b/Source/WebCore/loader/ResourceLoadScheduler.cpp
@@ -84,9 +84,9 @@
}
PassRefPtr<SubresourceLoader> ResourceLoadScheduler::scheduleSubresourceLoad(Frame* frame, SubresourceLoaderClient* client, const ResourceRequest& request, ResourceLoadPriority priority, SecurityCheckPolicy securityCheck,
- bool sendResourceLoadCallbacks, bool shouldContentSniff, const String& optionalOutgoingReferrer)
+ bool sendResourceLoadCallbacks, bool shouldContentSniff, const String& optionalOutgoingReferrer, bool shouldBufferData)
{
- RefPtr<SubresourceLoader> loader = SubresourceLoader::create(frame, client, request, securityCheck, sendResourceLoadCallbacks, shouldContentSniff, optionalOutgoingReferrer);
+ RefPtr<SubresourceLoader> loader = SubresourceLoader::create(frame, client, request, securityCheck, sendResourceLoadCallbacks, shouldContentSniff, optionalOutgoingReferrer, shouldBufferData);
if (loader)
scheduleLoad(loader.get(), priority);
return loader.release();
diff --git a/Source/WebCore/loader/ResourceLoadScheduler.h b/Source/WebCore/loader/ResourceLoadScheduler.h
index a32b307..a97d1d1 100644
--- a/Source/WebCore/loader/ResourceLoadScheduler.h
+++ b/Source/WebCore/loader/ResourceLoadScheduler.h
@@ -50,7 +50,7 @@
public:
friend ResourceLoadScheduler* resourceLoadScheduler();
- PassRefPtr<SubresourceLoader> scheduleSubresourceLoad(Frame*, SubresourceLoaderClient*, const ResourceRequest&, ResourceLoadPriority = ResourceLoadPriorityLow, SecurityCheckPolicy = DoSecurityCheck, bool sendResourceLoadCallbacks = true, bool shouldContentSniff = true, const String& optionalOutgoingReferrer = String());
+ PassRefPtr<SubresourceLoader> scheduleSubresourceLoad(Frame*, SubresourceLoaderClient*, const ResourceRequest&, ResourceLoadPriority = ResourceLoadPriorityLow, SecurityCheckPolicy = DoSecurityCheck, bool sendResourceLoadCallbacks = true, bool shouldContentSniff = true, const String& optionalOutgoingReferrer = String(), bool shouldBufferData = true);
PassRefPtr<NetscapePlugInStreamLoader> schedulePluginStreamLoad(Frame*, NetscapePlugInStreamLoaderClient*, const ResourceRequest&);
void addMainResourceLoad(ResourceLoader*);
void remove(ResourceLoader*);
diff --git a/Source/WebCore/loader/SubresourceLoader.cpp b/Source/WebCore/loader/SubresourceLoader.cpp
index 3e37c1c..acadfcd 100644
--- a/Source/WebCore/loader/SubresourceLoader.cpp
+++ b/Source/WebCore/loader/SubresourceLoader.cpp
@@ -60,7 +60,7 @@
#endif
}
-PassRefPtr<SubresourceLoader> SubresourceLoader::create(Frame* frame, SubresourceLoaderClient* client, const ResourceRequest& request, SecurityCheckPolicy securityCheck, bool sendResourceLoadCallbacks, bool shouldContentSniff, const String& optionalOutgoingReferrer)
+PassRefPtr<SubresourceLoader> SubresourceLoader::create(Frame* frame, SubresourceLoaderClient* client, const ResourceRequest& request, SecurityCheckPolicy securityCheck, bool sendResourceLoadCallbacks, bool shouldContentSniff, const String& optionalOutgoingReferrer, bool shouldBufferData)
{
if (!frame)
return 0;
@@ -95,6 +95,7 @@
fl->addExtraFieldsToSubresourceRequest(newRequest);
RefPtr<SubresourceLoader> subloader(adoptRef(new SubresourceLoader(frame, client, sendResourceLoadCallbacks, shouldContentSniff)));
+ subloader->setShouldBufferData(shouldBufferData);
subloader->documentLoader()->addSubresourceLoader(subloader.get());
if (!subloader->init(newRequest))
return 0;
diff --git a/Source/WebCore/loader/SubresourceLoader.h b/Source/WebCore/loader/SubresourceLoader.h
index a33b166..c45c9b8 100644
--- a/Source/WebCore/loader/SubresourceLoader.h
+++ b/Source/WebCore/loader/SubresourceLoader.h
@@ -41,7 +41,7 @@
class SubresourceLoader : public ResourceLoader {
public:
- static PassRefPtr<SubresourceLoader> create(Frame*, SubresourceLoaderClient*, const ResourceRequest&, SecurityCheckPolicy = DoSecurityCheck, bool sendResourceLoadCallbacks = true, bool shouldContentSniff = true, const String& optionalOutgoingReferrer = String());
+ static PassRefPtr<SubresourceLoader> create(Frame*, SubresourceLoaderClient*, const ResourceRequest&, SecurityCheckPolicy = DoSecurityCheck, bool sendResourceLoadCallbacks = true, bool shouldContentSniff = true, const String& optionalOutgoingReferrer = String(), bool shouldBufferData = true);
void clearClient() { m_client = 0; }
diff --git a/Source/WebCore/loader/ThreadableLoader.h b/Source/WebCore/loader/ThreadableLoader.h
index f574c94..b01f3ee 100644
--- a/Source/WebCore/loader/ThreadableLoader.h
+++ b/Source/WebCore/loader/ThreadableLoader.h
@@ -55,12 +55,13 @@
};
struct ThreadableLoaderOptions {
- ThreadableLoaderOptions() : sendLoadCallbacks(false), sniffContent(false), allowCredentials(false), forcePreflight(false), crossOriginRequestPolicy(DenyCrossOriginRequests) { }
+ ThreadableLoaderOptions() : sendLoadCallbacks(false), sniffContent(false), allowCredentials(false), forcePreflight(false), crossOriginRequestPolicy(DenyCrossOriginRequests), shouldBufferData(true) { }
bool sendLoadCallbacks;
bool sniffContent;
bool allowCredentials; // Whether HTTP credentials and cookies are sent with the request.
bool forcePreflight; // If AccessControl is used, whether to force a preflight.
CrossOriginRequestPolicy crossOriginRequestPolicy;
+ bool shouldBufferData;
};
// Useful for doing loader operations from any thread (not threadsafe,
diff --git a/Source/WebCore/page/ChromeClient.h b/Source/WebCore/page/ChromeClient.h
index ce664ac..91511ac 100644
--- a/Source/WebCore/page/ChromeClient.h
+++ b/Source/WebCore/page/ChromeClient.h
@@ -132,6 +132,8 @@
virtual bool shouldInterruptJavaScript() = 0;
virtual KeyboardUIMode keyboardUIMode() = 0;
+ virtual void* webView() const = 0;
+
#if ENABLE(REGISTER_PROTOCOL_HANDLER)
virtual void registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title) = 0;
#endif
diff --git a/Source/WebCore/page/DOMWindow.cpp b/Source/WebCore/page/DOMWindow.cpp
index fda46df..c7f162a 100644
--- a/Source/WebCore/page/DOMWindow.cpp
+++ b/Source/WebCore/page/DOMWindow.cpp
@@ -1742,14 +1742,21 @@
if (!protocolIsJavaScript(urlString))
return false;
- // FIXME: Is there some way to eliminate the need for a separate "activeWindow == this" check?
- if (activeWindow == this)
- return false;
+ // If m_frame->domWindow() != this, then |this| isn't the DOMWindow that's
+ // currently active in the frame and there's no way we should allow the
+ // access.
+ // FIXME: Remove this check if we're able to disconnect DOMWindow from
+ // Frame on navigation: https://bugs.webkit.org/show_bug.cgi?id=62054
+ if (m_frame->domWindow() == this) {
+ // FIXME: Is there some way to eliminate the need for a separate "activeWindow == this" check?
+ if (activeWindow == this)
+ return false;
- // FIXME: The name canAccess seems to be a roundabout way to ask "can execute script".
- // Can we name the SecurityOrigin function better to make this more clear?
- if (activeWindow->securityOrigin()->canAccess(securityOrigin()))
- return false;
+ // FIXME: The name canAccess seems to be a roundabout way to ask "can execute script".
+ // Can we name the SecurityOrigin function better to make this more clear?
+ if (activeWindow->securityOrigin()->canAccess(securityOrigin()))
+ return false;
+ }
printErrorMessage(crossDomainAccessErrorMessage(activeWindow));
return true;
diff --git a/Source/WebCore/page/History.cpp b/Source/WebCore/page/History.cpp
index 1d1e77a..f8ec7d0 100644
--- a/Source/WebCore/page/History.cpp
+++ b/Source/WebCore/page/History.cpp
@@ -120,8 +120,7 @@
return;
KURL fullURL = urlForState(urlString);
- RefPtr<SecurityOrigin> origin = SecurityOrigin::create(fullURL);
- if (!fullURL.isValid() || !m_frame->document()->securityOrigin()->isSameSchemeHostPort(origin.get())) {
+ if (!fullURL.isValid() || !m_frame->document()->securityOrigin()->canRequest(fullURL)) {
ec = SECURITY_ERR;
return;
}
diff --git a/Source/WebCore/page/Settings.cpp b/Source/WebCore/page/Settings.cpp
index 1136371..e2312a9 100644
--- a/Source/WebCore/page/Settings.cpp
+++ b/Source/WebCore/page/Settings.cpp
@@ -164,7 +164,7 @@
, m_loadDeferringEnabled(true)
, m_tiledBackingStoreEnabled(false)
, m_paginateDuringLayoutEnabled(false)
- , m_dnsPrefetchingEnabled(false)
+ , m_dnsPrefetchingEnabled(true)
#if ENABLE(FULLSCREEN_API)
, m_fullScreenAPIEnabled(false)
#endif
diff --git a/Source/WebCore/page/animation/CompositeAnimation.cpp b/Source/WebCore/page/animation/CompositeAnimation.cpp
index 29b32eb..07e5584 100644
--- a/Source/WebCore/page/animation/CompositeAnimation.cpp
+++ b/Source/WebCore/page/animation/CompositeAnimation.cpp
@@ -151,6 +151,7 @@
implAnim->blendPropertyValueInStyle(prop, modifiedCurrentStyle.get());
}
#endif
+ animationController()->animationWillBeRemoved(implAnim);
m_transitions.remove(prop);
equal = false;
}
diff --git a/Source/WebCore/page/brew/ChromeClientBrew.h b/Source/WebCore/page/brew/ChromeClientBrew.h
index d1fac2d..2d27a73 100644
--- a/Source/WebCore/page/brew/ChromeClientBrew.h
+++ b/Source/WebCore/page/brew/ChromeClientBrew.h
@@ -42,6 +42,7 @@
// things here that don't make sense for other ports.
class ChromeClientBrew : public ChromeClient {
public:
+ virtual void* webView() const { return 0; }
virtual void createSelectPopup(PopupMenuClient*, int selected, const IntRect& rect) = 0;
virtual bool destroySelectPopup() = 0;
};
diff --git a/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp b/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp
index aff2981..98244b9 100644
--- a/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp
+++ b/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp
@@ -100,7 +100,11 @@
IntRect layerRect = visibleLayerRect(targetSurfaceRect);
if (layerRect.isEmpty())
return;
- m_tiler->invalidateRect(enclosingIntRect(m_dirtyRect));
+
+ IntRect dirty = enclosingIntRect(m_dirtyRect);
+ dirty.intersect(layerBounds());
+ m_tiler->invalidateRect(dirty);
+
m_tiler->update(painter, layerRect);
m_dirtyRect = FloatRect();
}
@@ -182,7 +186,6 @@
IntRect layerRect = visibleLayerRect(targetSurfaceRect);
if (!layerRect.isEmpty())
m_tiler->draw(layerRect, transform, ccLayerImpl()->drawOpacity());
- m_tiler->unreserveTextures();
}
void ContentLayerChromium::createTilerIfNeeded()
@@ -215,11 +218,6 @@
texture->bindTexture();
}
-void ContentLayerChromium::unreserveContentsTexture()
-{
- m_tiler->unreserveTextures();
-}
-
void ContentLayerChromium::setIsMask(bool isMask)
{
setTilingOption(isMask ? NeverTile : AutoTile);
diff --git a/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h b/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h
index c0cf582..ab5485f 100644
--- a/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h
+++ b/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h
@@ -55,7 +55,6 @@
virtual void paintContentsIfDirty(const IntRect& targetSurfaceRect);
virtual void updateCompositorResources();
virtual void setIsMask(bool);
- virtual void unreserveContentsTexture();
virtual void bindContentsTexture();
virtual void draw(const IntRect& targetSurfaceRect);
diff --git a/Source/WebCore/platform/graphics/chromium/FontChromiumWin.cpp b/Source/WebCore/platform/graphics/chromium/FontChromiumWin.cpp
index ac1e1af..5ca1414 100644
--- a/Source/WebCore/platform/graphics/chromium/FontChromiumWin.cpp
+++ b/Source/WebCore/platform/graphics/chromium/FontChromiumWin.cpp
@@ -454,25 +454,8 @@
// Skip 100% transparent text; no need to draw anything.
if (!alpha && graphicsContext->platformContext()->getStrokeStyle() == NoStroke && !graphicsContext->hasShadow())
return;
- if (!alpha || windowsCanHandleDrawTextShadow(graphicsContext) || !windowsCanHandleTextDrawingWithoutShadow(graphicsContext)) {
- drawGlyphsWin(graphicsContext, font, glyphBuffer, from, numGlyphs, point);
- return;
- }
- // Draw in two passes: skia for the shadow, GDI for foreground text
- // pass1: shadow (will use skia)
- graphicsContext->save();
- graphicsContext->setFillColor(Color::transparent, graphicsContext->fillColorSpace());
+
drawGlyphsWin(graphicsContext, font, glyphBuffer, from, numGlyphs, point);
- graphicsContext->restore();
- // pass2: foreground text (will use GDI)
- FloatSize shadowOffset;
- float shadowBlur;
- Color shadowColor;
- ColorSpace shadowColorSpace;
- graphicsContext->getShadow(shadowOffset, shadowBlur, shadowColor, shadowColorSpace);
- graphicsContext->setShadow(shadowOffset, shadowBlur, Color::transparent, shadowColorSpace);
- drawGlyphsWin(graphicsContext, font, glyphBuffer, from, numGlyphs, point);
- graphicsContext->setShadow(shadowOffset, shadowBlur, shadowColor, shadowColorSpace);
}
FloatRect Font::selectionRectForComplexText(const TextRun& run,
diff --git a/Source/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp b/Source/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp
index d72fb1e..b0b7053 100644
--- a/Source/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp
+++ b/Source/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp
@@ -74,19 +74,19 @@
if (!m_dirtyRect.isEmpty()) {
m_decodedImage.updateFromImage(m_contents->nativeImageForCurrentFrame());
+ updateLayerSize(m_decodedImage.size());
+ IntRect paintRect(IntPoint(0, 0), m_decodedImage.size());
+ if (!m_dirtyRect.isEmpty()) {
+ m_tiler->invalidateRect(paintRect);
+ m_dirtyRect = IntRect();
+ }
}
}
void ImageLayerChromium::updateCompositorResources()
{
- updateLayerSize(m_decodedImage.size());
-
IntRect paintRect(IntPoint(0, 0), m_decodedImage.size());
- if (!m_dirtyRect.isEmpty()) {
- m_tiler->invalidateRect(paintRect);
- m_dirtyRect = IntRect();
- }
- m_tiler->updateFromPixels(paintRect, m_decodedImage.pixels());
+ m_tiler->updateFromPixels(paintRect, paintRect, m_decodedImage.pixels());
}
IntRect ImageLayerChromium::layerBounds() const
diff --git a/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp b/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp
index 27a67e9..e62b674 100644
--- a/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp
+++ b/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp
@@ -171,7 +171,6 @@
m_rootLayerContentTiler->uploadCanvas();
m_rootLayerContentTiler->draw(m_viewportVisibleRect, scroll, 1.0f);
- m_rootLayerContentTiler->unreserveTextures();
}
void LayerRendererChromium::setViewport(const IntRect& visibleRect, const IntRect& contentRect, const IntPoint& scrollPosition)
@@ -235,6 +234,8 @@
drawLayers(renderSurfaceLayerList);
+ m_textureManager->unprotectAllTextures();
+
// After drawLayers:
if (hardwareCompositing() && m_contextSupportsLatch) {
Extensions3DChromium* parentExt = static_cast<Extensions3DChromium*>(m_context->getExtensions());
@@ -282,7 +283,7 @@
// concept of a large content layer.
updatePropertiesAndRenderSurfaces(m_rootLayer.get(), identityMatrix, renderSurfaceLayerList, m_defaultRenderSurface->m_layerList);
- paintContentsRecursive(m_rootLayer.get());
+ paintLayerContents(renderSurfaceLayerList);
// FIXME: Before updateCompositorResourcesRecursive, when the compositor runs in
// its own thread, and when the copyTexImage2D bug is fixed, insert
@@ -328,6 +329,46 @@
}
}
+void LayerRendererChromium::paintLayerContents(const LayerList& renderSurfaceLayerList)
+{
+ for (int surfaceIndex = renderSurfaceLayerList.size() - 1; surfaceIndex >= 0 ; --surfaceIndex) {
+ CCLayerImpl* renderSurfaceLayer = renderSurfaceLayerList[surfaceIndex].get();
+ RenderSurfaceChromium* renderSurface = renderSurfaceLayer->renderSurface();
+ ASSERT(renderSurface);
+
+ // Render surfaces whose drawable area has zero width or height
+ // will have no layers associated with them and should be skipped.
+ if (!renderSurface->m_layerList.size())
+ continue;
+
+ LayerList& layerList = renderSurface->m_layerList;
+ ASSERT(layerList.size());
+ for (unsigned layerIndex = 0; layerIndex < layerList.size(); ++layerIndex) {
+ CCLayerImpl* ccLayerImpl = layerList[layerIndex].get();
+
+ // Layers that start a new render surface will be painted when the render
+ // surface's list is processed.
+ if (ccLayerImpl->renderSurface() && ccLayerImpl->renderSurface() != renderSurface)
+ continue;
+
+ LayerChromium* layer = ccLayerImpl->owner();
+ if (layer->bounds().isEmpty())
+ continue;
+
+ const IntRect targetSurfaceRect = layer->ccLayerImpl()->scissorRect();
+
+ if (layer->drawsContent())
+ layer->paintContentsIfDirty(targetSurfaceRect);
+ if (layer->maskLayer() && layer->maskLayer()->drawsContent())
+ layer->maskLayer()->paintContentsIfDirty(targetSurfaceRect);
+ if (layer->replicaLayer() && layer->replicaLayer()->drawsContent())
+ layer->replicaLayer()->paintContentsIfDirty(targetSurfaceRect);
+ if (layer->replicaLayer() && layer->replicaLayer()->maskLayer() && layer->replicaLayer()->maskLayer()->drawsContent())
+ layer->replicaLayer()->maskLayer()->paintContentsIfDirty(targetSurfaceRect);
+ }
+ }
+}
+
void LayerRendererChromium::drawLayers(const LayerList& renderSurfaceLayerList)
{
TRACE_EVENT("LayerRendererChromium::drawLayers", this, 0);
@@ -761,27 +802,6 @@
std::stable_sort(&descendants.at(thisLayerIndex), descendants.end(), compareLayerZ);
}
-void LayerRendererChromium::paintContentsRecursive(LayerChromium* layer)
-{
- const Vector<RefPtr<LayerChromium> >& sublayers = layer->getSublayers();
- for (size_t i = 0; i < sublayers.size(); ++i)
- paintContentsRecursive(sublayers[i].get());
-
- if (layer->bounds().isEmpty())
- return;
-
- const IntRect targetSurfaceRect = layer->ccLayerImpl()->scissorRect();
-
- if (layer->drawsContent())
- layer->paintContentsIfDirty(targetSurfaceRect);
- if (layer->maskLayer() && layer->maskLayer()->drawsContent())
- layer->maskLayer()->paintContentsIfDirty(targetSurfaceRect);
- if (layer->replicaLayer() && layer->replicaLayer()->drawsContent())
- layer->replicaLayer()->paintContentsIfDirty(targetSurfaceRect);
- if (layer->replicaLayer() && layer->replicaLayer()->maskLayer() && layer->replicaLayer()->maskLayer()->drawsContent())
- layer->replicaLayer()->maskLayer()->paintContentsIfDirty(targetSurfaceRect);
-}
-
void LayerRendererChromium::updateCompositorResourcesRecursive(LayerChromium* layer)
{
const Vector<RefPtr<LayerChromium> >& sublayers = layer->getSublayers();
@@ -985,6 +1005,7 @@
m_sharedGeometry = adoptPtr(new GeometryBinding(m_context.get()));
m_borderProgram = adoptPtr(new LayerChromium::BorderProgram(m_context.get()));
+ m_headsUpDisplayProgram = adoptPtr(new CCHeadsUpDisplay::Program(m_context.get()));
m_canvasLayerProgram = adoptPtr(new CCCanvasLayerImpl::Program(m_context.get()));
m_videoLayerRGBAProgram = adoptPtr(new CCVideoLayerImpl::RGBAProgram(m_context.get()));
m_videoLayerYUVProgram = adoptPtr(new CCVideoLayerImpl::YUVProgram(m_context.get()));
@@ -995,6 +1016,7 @@
if (!m_sharedGeometry->initialized() || !m_borderProgram->initialized()
|| !m_canvasLayerProgram->initialized()
+ || !m_headsUpDisplayProgram->initialized()
|| !m_videoLayerRGBAProgram->initialized() || !m_videoLayerYUVProgram->initialized()
|| !m_pluginLayerProgram->initialized() || !m_renderSurfaceProgram->initialized()
|| !m_renderSurfaceMaskProgram->initialized() || !m_tilerProgram->initialized()) {
@@ -1014,6 +1036,7 @@
m_sharedGeometry.clear();
m_borderProgram.clear();
m_canvasLayerProgram.clear();
+ m_headsUpDisplayProgram.clear();
m_videoLayerRGBAProgram.clear();
m_videoLayerYUVProgram.clear();
m_pluginLayerProgram.clear();
diff --git a/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h b/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h
index 813eb46..b373c59 100644
--- a/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h
+++ b/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h
@@ -110,6 +110,7 @@
const GeometryBinding* sharedGeometry() const { return m_sharedGeometry.get(); }
const LayerChromium::BorderProgram* borderProgram() const { return m_borderProgram.get(); }
+ const CCHeadsUpDisplay::Program* headsUpDisplayProgram() const { return m_headsUpDisplayProgram.get(); }
const RenderSurfaceChromium::Program* renderSurfaceProgram() const { return m_renderSurfaceProgram.get(); }
const RenderSurfaceChromium::MaskProgram* renderSurfaceMaskProgram() const { return m_renderSurfaceMaskProgram.get(); }
const LayerTilerChromium::Program* tilerProgram() const { return m_tilerProgram.get(); }
@@ -143,7 +144,7 @@
void updateRootLayerContents();
void updatePropertiesAndRenderSurfaces(LayerChromium*, const TransformationMatrix& parentMatrix, LayerList& renderSurfaceLayerList, LayerList& layers);
- void paintContentsRecursive(LayerChromium*);
+ void paintLayerContents(const LayerList&);
void updateCompositorResourcesRecursive(LayerChromium*);
void drawLayers(const LayerList& renderSurfaceLayerList);
@@ -205,6 +206,7 @@
// we cannot store these values in static variables.
OwnPtr<GeometryBinding> m_sharedGeometry;
OwnPtr<LayerChromium::BorderProgram> m_borderProgram;
+ OwnPtr<CCHeadsUpDisplay::Program> m_headsUpDisplayProgram;
OwnPtr<RenderSurfaceChromium::Program> m_renderSurfaceProgram;
OwnPtr<RenderSurfaceChromium::MaskProgram> m_renderSurfaceMaskProgram;
OwnPtr<LayerTilerChromium::Program> m_tilerProgram;
diff --git a/Source/WebCore/platform/graphics/chromium/LayerTexture.cpp b/Source/WebCore/platform/graphics/chromium/LayerTexture.cpp
index 23cb4b3..39402f6 100644
--- a/Source/WebCore/platform/graphics/chromium/LayerTexture.cpp
+++ b/Source/WebCore/platform/graphics/chromium/LayerTexture.cpp
@@ -71,12 +71,6 @@
return m_textureId;
}
-void LayerTexture::unreserve()
-{
- if (m_token)
- m_textureManager->unprotectTexture(m_token);
-}
-
void LayerTexture::bindTexture()
{
ASSERT(m_textureManager->hasTexture(m_token));
diff --git a/Source/WebCore/platform/graphics/chromium/LayerTexture.h b/Source/WebCore/platform/graphics/chromium/LayerTexture.h
index b60dff2..2d43b34 100644
--- a/Source/WebCore/platform/graphics/chromium/LayerTexture.h
+++ b/Source/WebCore/platform/graphics/chromium/LayerTexture.h
@@ -49,7 +49,6 @@
bool isValid(const IntSize&, unsigned format);
bool reserve(const IntSize&, unsigned format);
- void unreserve();
bool isReserved()
{
ASSERT(m_textureManager);
diff --git a/Source/WebCore/platform/graphics/chromium/LayerTilerChromium.cpp b/Source/WebCore/platform/graphics/chromium/LayerTilerChromium.cpp
index 54c6ac2..5c2375e 100644
--- a/Source/WebCore/platform/graphics/chromium/LayerTilerChromium.cpp
+++ b/Source/WebCore/platform/graphics/chromium/LayerTilerChromium.cpp
@@ -60,6 +60,13 @@
setTileSize(tileSize);
}
+void LayerTilerChromium::setLayerRenderer(LayerRendererChromium* layerRenderer)
+{
+ if (m_layerRenderer != layerRenderer)
+ reset();
+ m_layerRenderer = layerRenderer;
+}
+
LayerTilerChromium::~LayerTilerChromium()
{
reset();
@@ -252,10 +259,14 @@
}
}
- if (dirtyLayerRect.isEmpty())
- return;
+ // Due to borders, when the paint rect is extended to tile boundaries, it
+ // may end up overlapping more tiles than the original content rect. Record
+ // that original rect so we don't upload more tiles than necessary.
+ m_updateRect = contentRect;
m_paintRect = layerRectToContentRect(dirtyLayerRect);
+ if (dirtyLayerRect.isEmpty())
+ return;
m_canvas.resize(m_paintRect.size());
@@ -276,11 +287,11 @@
PlatformCanvas::AutoLocker locker(&m_canvas);
{
TRACE_EVENT("LayerTilerChromium::updateFromPixels", this, 0);
- updateFromPixels(m_paintRect, locker.pixels());
+ updateFromPixels(m_updateRect, m_paintRect, locker.pixels());
}
}
-void LayerTilerChromium::updateFromPixels(const IntRect& paintRect, const uint8_t* paintPixels)
+void LayerTilerChromium::updateFromPixels(const IntRect& contentRect, const IntRect& paintRect, const uint8_t* paintPixels)
{
// Painting could cause compositing to get turned off, which may cause the tiler to become invalidated mid-update.
if (!m_tilingData.totalSizeX() || !m_tilingData.totalSizeY())
@@ -289,7 +300,7 @@
GraphicsContext3D* context = layerRendererContext();
int left, top, right, bottom;
- contentRectToTileIndices(paintRect, left, top, right, bottom);
+ contentRectToTileIndices(contentRect, left, top, right, bottom);
for (int j = top; j <= bottom; ++j) {
for (int i = left; i <= right; ++i) {
Tile* tile = tileAt(i, j);
@@ -407,16 +418,6 @@
}
}
-void LayerTilerChromium::unreserveTextures()
-{
- for (TileMap::iterator iter = m_tiles.begin(); iter != m_tiles.end(); ++iter) {
- Tile* tile = iter->second.get();
- if (!tile)
- continue;
- tile->texture()->unreserve();
- }
-}
-
void LayerTilerChromium::growLayerToContain(const IntRect& contentRect)
{
// Grow the tile array to contain this content rect.
diff --git a/Source/WebCore/platform/graphics/chromium/LayerTilerChromium.h b/Source/WebCore/platform/graphics/chromium/LayerTilerChromium.h
index 111dd7e..1650c86 100644
--- a/Source/WebCore/platform/graphics/chromium/LayerTilerChromium.h
+++ b/Source/WebCore/platform/graphics/chromium/LayerTilerChromium.h
@@ -68,20 +68,16 @@
void uploadCanvas();
// Reserve and upload tile textures from an externally painted buffer.
- void updateFromPixels(const IntRect& paintRect, const uint8_t* pixels);
+ void updateFromPixels(const IntRect& contentRect, const IntRect& paintRect, const uint8_t* pixels);
// Draw all tiles that intersect with the content rect.
void draw(const IntRect& contentRect, const TransformationMatrix&, float opacity);
- // If uploadCanvas/updateFromPixels is called, this must be called after
- // draw() to unreserve any textures that were reserved prior to uploading.
- void unreserveTextures();
-
// Set position of this tiled layer in content space.
void setLayerPosition(const IntPoint& position);
// Change the tile size. This may invalidate all the existing tiles.
void setTileSize(const IntSize& size);
- void setLayerRenderer(LayerRendererChromium* layerRenderer) { m_layerRenderer = layerRenderer; }
+ void setLayerRenderer(LayerRendererChromium*);
bool skipsDraw() const { return m_skipsDraw; }
@@ -161,7 +157,9 @@
// Tightly packed set of unused tiles.
Vector<RefPtr<Tile> > m_unusedTiles;
+ // State held between update and uploadCanvas.
IntRect m_paintRect;
+ IntRect m_updateRect;
PlatformCanvas m_canvas;
// Cache a tile-sized pixel buffer to draw into.
diff --git a/Source/WebCore/platform/graphics/chromium/RenderSurfaceChromium.cpp b/Source/WebCore/platform/graphics/chromium/RenderSurfaceChromium.cpp
index c93ef3f..31249ae 100644
--- a/Source/WebCore/platform/graphics/chromium/RenderSurfaceChromium.cpp
+++ b/Source/WebCore/platform/graphics/chromium/RenderSurfaceChromium.cpp
@@ -136,11 +136,6 @@
LayerChromium::drawTexturedQuad(layerRenderer()->context(), layerRenderer()->projectionMatrix(), drawTransform,
m_contentRect.width(), m_contentRect.height(), m_drawOpacity,
shaderMatrixLocation, shaderAlphaLocation);
-
- m_contentsTexture->unreserve();
-
- if (maskLayer)
- maskLayer->unreserveContentsTexture();
}
void RenderSurfaceChromium::draw(const IntRect&)
diff --git a/Source/WebCore/platform/graphics/chromium/TextureManager.cpp b/Source/WebCore/platform/graphics/chromium/TextureManager.cpp
index 13cdb89..e98a701 100644
--- a/Source/WebCore/platform/graphics/chromium/TextureManager.cpp
+++ b/Source/WebCore/platform/graphics/chromium/TextureManager.cpp
@@ -84,17 +84,10 @@
m_textures.add(token, info);
}
-void TextureManager::unprotectTexture(TextureToken token)
+void TextureManager::unprotectAllTextures()
{
- TextureMap::iterator it = m_textures.find(token);
- if (it != m_textures.end()) {
- TextureInfo info = it->second;
- if (info.isProtected) {
- info.isProtected = false;
- m_textures.remove(it);
- m_textures.add(token, info);
- }
- }
+ for (TextureMap::iterator it = m_textures.begin(); it != m_textures.end(); ++it)
+ it->second.isProtected = false;
}
bool TextureManager::reduceMemoryToLimit(size_t limit)
diff --git a/Source/WebCore/platform/graphics/chromium/TextureManager.h b/Source/WebCore/platform/graphics/chromium/TextureManager.h
index 83104a9..a90b8b2 100644
--- a/Source/WebCore/platform/graphics/chromium/TextureManager.h
+++ b/Source/WebCore/platform/graphics/chromium/TextureManager.h
@@ -52,7 +52,7 @@
unsigned requestTexture(TextureToken, IntSize, unsigned textureFormat, bool* newTexture = 0);
void protectTexture(TextureToken);
- void unprotectTexture(TextureToken);
+ void unprotectAllTextures();
bool isProtected(TextureToken);
private:
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp
index d22b098..cb2874d 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp
@@ -32,6 +32,7 @@
#include "FontDescription.h"
#include "GraphicsContext3D.h"
#include "LayerChromium.h"
+#include "LayerRendererChromium.h"
#include "LayerTexture.h"
#include "TextRun.h"
#include "TextStream.h"
@@ -109,7 +110,7 @@
}
// Draw the HUD onto the default render surface.
- const LayerTilerChromium::Program* program = m_layerRenderer->tilerProgram();
+ const Program* program = m_layerRenderer->headsUpDisplayProgram();
ASSERT(program && program->initialized());
GLC(context, context->activeTexture(GraphicsContext3D::TEXTURE0));
m_hudTexture->bindTexture();
@@ -122,8 +123,6 @@
matrix, hudSize.width(), hudSize.height(),
1.0f, program->vertexShader().matrixLocation(),
program->fragmentShader().alphaLocation());
-
- m_hudTexture->unreserve();
}
void CCHeadsUpDisplay::drawHudContents(GraphicsContext* ctx, const IntSize& hudSize)
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplay.h b/Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplay.h
index 09f198a..fc68f1d 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplay.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplay.h
@@ -28,13 +28,15 @@
#if USE(ACCELERATED_COMPOSITING)
#include "Font.h"
-#include "LayerRendererChromium.h"
-
+#include "ProgramBinding.h"
+#include "ShaderChromium.h"
namespace WebCore {
class GeometryBinding;
class GraphicsContext3D;
+class LayerRendererChromium;
+class LayerTexture;
// Class that handles drawing of composited render layers using GL.
class CCHeadsUpDisplay {
@@ -58,6 +60,8 @@
bool enabled() const { return m_showPlatformLayerTree || m_showFPSCounter; }
void draw();
+ typedef ProgramBinding<VertexShaderPosTex, FragmentShaderBGRATexAlpha> Program;
+
private:
explicit CCHeadsUpDisplay(LayerRendererChromium* owner);
void drawHudContents(GraphicsContext*, const IntSize& hudSize);
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h b/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h
index 649f4dd..9b6bc42 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h
@@ -51,6 +51,7 @@
// When this class gets subclasses, remember to add 'virtual' here.
virtual ~CCLayerImpl();
void resetOwner() { m_owner = 0; }
+ LayerChromium* owner() const { return m_owner; }
#ifndef NDEBUG
int debugID() const { return m_debugID; }
diff --git a/Source/WebCore/platform/graphics/filters/FEComposite.cpp b/Source/WebCore/platform/graphics/filters/FEComposite.cpp
index eead000..5afbb43 100644
--- a/Source/WebCore/platform/graphics/filters/FEComposite.cpp
+++ b/Source/WebCore/platform/graphics/filters/FEComposite.cpp
@@ -187,7 +187,7 @@
case FECOMPOSITE_OPERATOR_ARITHMETIC:
// Arithmetic may influnce the compele filter primitive region. So we can't
// optimize the paint region here.
- setAbsolutePaintRect(maxEffectRect());
+ setAbsolutePaintRect(enclosingIntRect(maxEffectRect()));
return;
default:
// Take the union of both input effects.
diff --git a/Source/WebCore/platform/graphics/filters/FEConvolveMatrix.h b/Source/WebCore/platform/graphics/filters/FEConvolveMatrix.h
index 5dc8873..940aa92 100644
--- a/Source/WebCore/platform/graphics/filters/FEConvolveMatrix.h
+++ b/Source/WebCore/platform/graphics/filters/FEConvolveMatrix.h
@@ -75,7 +75,7 @@
virtual void apply();
virtual void dump();
- virtual void determineAbsolutePaintRect() { setAbsolutePaintRect(maxEffectRect()); }
+ virtual void determineAbsolutePaintRect() { setAbsolutePaintRect(enclosingIntRect(maxEffectRect())); }
virtual TextStream& externalRepresentation(TextStream&, int indention) const;
diff --git a/Source/WebCore/platform/graphics/filters/FEDisplacementMap.h b/Source/WebCore/platform/graphics/filters/FEDisplacementMap.h
index 9b7dda8..fd80458 100644
--- a/Source/WebCore/platform/graphics/filters/FEDisplacementMap.h
+++ b/Source/WebCore/platform/graphics/filters/FEDisplacementMap.h
@@ -53,7 +53,7 @@
virtual void apply();
virtual void dump();
- virtual void determineAbsolutePaintRect() { setAbsolutePaintRect(maxEffectRect()); }
+ virtual void determineAbsolutePaintRect() { setAbsolutePaintRect(enclosingIntRect(maxEffectRect())); }
virtual TextStream& externalRepresentation(TextStream&, int indention) const;
diff --git a/Source/WebCore/platform/graphics/filters/FEFlood.h b/Source/WebCore/platform/graphics/filters/FEFlood.h
index cac4153..497ca24 100644
--- a/Source/WebCore/platform/graphics/filters/FEFlood.h
+++ b/Source/WebCore/platform/graphics/filters/FEFlood.h
@@ -42,7 +42,7 @@
virtual void apply();
virtual void dump();
- virtual void determineAbsolutePaintRect() { setAbsolutePaintRect(maxEffectRect()); }
+ virtual void determineAbsolutePaintRect() { setAbsolutePaintRect(enclosingIntRect(maxEffectRect())); }
virtual TextStream& externalRepresentation(TextStream&, int indention) const;
diff --git a/Source/WebCore/platform/graphics/filters/FELighting.h b/Source/WebCore/platform/graphics/filters/FELighting.h
index 3dc46e9..501339c 100644
--- a/Source/WebCore/platform/graphics/filters/FELighting.h
+++ b/Source/WebCore/platform/graphics/filters/FELighting.h
@@ -43,7 +43,7 @@
public:
virtual void apply();
- virtual void determineAbsolutePaintRect() { setAbsolutePaintRect(maxEffectRect()); }
+ virtual void determineAbsolutePaintRect() { setAbsolutePaintRect(enclosingIntRect(maxEffectRect())); }
protected:
enum LightingType {
diff --git a/Source/WebCore/platform/graphics/filters/FETile.h b/Source/WebCore/platform/graphics/filters/FETile.h
index 9b02b4c..72e7e60 100644
--- a/Source/WebCore/platform/graphics/filters/FETile.h
+++ b/Source/WebCore/platform/graphics/filters/FETile.h
@@ -35,7 +35,7 @@
virtual void apply();
virtual void dump();
- virtual void determineAbsolutePaintRect() { setAbsolutePaintRect(maxEffectRect()); }
+ virtual void determineAbsolutePaintRect() { setAbsolutePaintRect(enclosingIntRect(maxEffectRect())); }
virtual FilterEffectType filterEffectType() const { return FilterEffectTypeTile; }
diff --git a/Source/WebCore/platform/graphics/filters/FETurbulence.h b/Source/WebCore/platform/graphics/filters/FETurbulence.h
index dfeb220..f03afc4 100644
--- a/Source/WebCore/platform/graphics/filters/FETurbulence.h
+++ b/Source/WebCore/platform/graphics/filters/FETurbulence.h
@@ -61,7 +61,7 @@
virtual void apply();
virtual void dump();
- virtual void determineAbsolutePaintRect() { setAbsolutePaintRect(maxEffectRect()); }
+ virtual void determineAbsolutePaintRect() { setAbsolutePaintRect(enclosingIntRect(maxEffectRect())); }
virtual TextStream& externalRepresentation(TextStream&, int indention) const;
diff --git a/Source/WebCore/platform/graphics/filters/FilterEffect.cpp b/Source/WebCore/platform/graphics/filters/FilterEffect.cpp
index f07d00c..6e5422e 100644
--- a/Source/WebCore/platform/graphics/filters/FilterEffect.cpp
+++ b/Source/WebCore/platform/graphics/filters/FilterEffect.cpp
@@ -46,6 +46,14 @@
{
}
+inline bool isFilterSizeValid(IntRect rect)
+{
+ if (rect.width() < 0 || rect.width() > kMaxFilterSize
+ || rect.height() < 0 || rect.height() > kMaxFilterSize)
+ return false;
+ return true;
+}
+
void FilterEffect::determineAbsolutePaintRect()
{
m_absolutePaintRect = IntRect();
@@ -54,7 +62,7 @@
m_absolutePaintRect.unite(m_inputEffects.at(i)->absolutePaintRect());
// SVG specification wants us to clip to primitive subregion.
- m_absolutePaintRect.intersect(m_maxEffectRect);
+ m_absolutePaintRect.intersect(enclosingIntRect(m_maxEffectRect));
}
IntRect FilterEffect::requestedRegionOfInputImageData(const IntRect& effectRect) const
@@ -104,6 +112,7 @@
PassRefPtr<ByteArray> FilterEffect::asUnmultipliedImage(const IntRect& rect)
{
+ ASSERT(isFilterSizeValid(rect));
RefPtr<ByteArray> imageData = ByteArray::create(rect.width() * rect.height() * 4);
copyUnmultipliedImage(imageData.get(), rect);
return imageData.release();
@@ -111,6 +120,7 @@
PassRefPtr<ByteArray> FilterEffect::asPremultipliedImage(const IntRect& rect)
{
+ ASSERT(isFilterSizeValid(rect));
RefPtr<ByteArray> imageData = ByteArray::create(rect.width() * rect.height() * 4);
copyPremultipliedImage(imageData.get(), rect);
return imageData.release();
@@ -118,10 +128,14 @@
inline void FilterEffect::copyImageBytes(ByteArray* source, ByteArray* destination, const IntRect& rect)
{
- // Copy the necessary lines.
- if (rect.x() < 0 || rect.y() < 0 || rect.maxY() > m_absolutePaintRect.width() || rect.maxY() > m_absolutePaintRect.height())
+ // Initialize the destination to transparent black, if not entirely covered by the source.
+ if (rect.x() < 0 || rect.y() < 0 || rect.maxX() > m_absolutePaintRect.width() || rect.maxY() > m_absolutePaintRect.height())
memset(destination->data(), 0, destination->length());
+ // Early return if the rect does not intersect with the source.
+ if (rect.maxX() <= 0 || rect.maxY() <= 0 || rect.x() >= m_absolutePaintRect.width() || rect.y() >= m_absolutePaintRect.height())
+ return;
+
int xOrigin = rect.x();
int xDest = 0;
if (xOrigin < 0) {
@@ -165,6 +179,7 @@
if (m_imageBufferResult)
m_unmultipliedImageResult = m_imageBufferResult->getUnmultipliedImageData(IntRect(IntPoint(), m_absolutePaintRect.size()));
else {
+ ASSERT(isFilterSizeValid(m_absolutePaintRect));
m_unmultipliedImageResult = ByteArray::create(m_absolutePaintRect.width() * m_absolutePaintRect.height() * 4);
unsigned char* sourceComponent = m_premultipliedImageResult->data();
unsigned char* destinationComponent = m_unmultipliedImageResult->data();
@@ -198,6 +213,7 @@
if (m_imageBufferResult)
m_premultipliedImageResult = m_imageBufferResult->getPremultipliedImageData(IntRect(IntPoint(), m_absolutePaintRect.size()));
else {
+ ASSERT(isFilterSizeValid(m_absolutePaintRect));
m_premultipliedImageResult = ByteArray::create(m_absolutePaintRect.width() * m_absolutePaintRect.height() * 4);
unsigned char* sourceComponent = m_unmultipliedImageResult->data();
unsigned char* destinationComponent = m_premultipliedImageResult->data();
@@ -234,6 +250,8 @@
{
// Only one result type is allowed.
ASSERT(!hasResult());
+ ASSERT(isFilterSizeValid(m_absolutePaintRect));
+
determineAbsolutePaintRect();
if (m_absolutePaintRect.isEmpty())
return 0;
@@ -245,6 +263,8 @@
{
// Only one result type is allowed.
ASSERT(!hasResult());
+ ASSERT(isFilterSizeValid(m_absolutePaintRect));
+
determineAbsolutePaintRect();
if (m_absolutePaintRect.isEmpty())
return 0;
diff --git a/Source/WebCore/platform/graphics/filters/FilterEffect.h b/Source/WebCore/platform/graphics/filters/FilterEffect.h
index 2de8ac5..74fdc29 100644
--- a/Source/WebCore/platform/graphics/filters/FilterEffect.h
+++ b/Source/WebCore/platform/graphics/filters/FilterEffect.h
@@ -32,6 +32,8 @@
#include <wtf/RefPtr.h>
#include <wtf/Vector.h>
+static const float kMaxFilterSize = 5000.0f;
+
namespace WebCore {
class Filter;
@@ -74,8 +76,8 @@
IntRect absolutePaintRect() const { return m_absolutePaintRect; }
void setAbsolutePaintRect(const IntRect& absolutePaintRect) { m_absolutePaintRect = absolutePaintRect; }
- IntRect maxEffectRect() const { return m_maxEffectRect; }
- void setMaxEffectRect(const IntRect& maxEffectRect) { m_maxEffectRect = maxEffectRect; }
+ FloatRect maxEffectRect() const { return m_maxEffectRect; }
+ void setMaxEffectRect(const FloatRect& maxEffectRect) { m_maxEffectRect = maxEffectRect; }
virtual void apply() = 0;
virtual void dump() = 0;
@@ -128,7 +130,7 @@
// The maximum size of a filter primitive. In SVG this is the primitive subregion in absolute coordinate space.
// The absolute paint rect should never be bigger than m_maxEffectRect.
- IntRect m_maxEffectRect;
+ FloatRect m_maxEffectRect;
Filter* m_filter;
private:
diff --git a/Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp b/Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp
index f285c9b..d967791 100644
--- a/Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp
+++ b/Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp
@@ -1047,6 +1047,7 @@
double blur = blurFloat;
uint32_t mfFlags = SkBlurMaskFilter::kHighQuality_BlurFlag;
+ SkXfermode::Mode colorMode = SkXfermode::kSrc_Mode;
if (m_state.shadowsIgnoreTransforms) {
// Currently only the GraphicsContext associated with the
@@ -1055,6 +1056,12 @@
// with a CanvasRenderingContext.
mfFlags |= SkBlurMaskFilter::kIgnoreTransform_BlurFlag;
+ // CSS wants us to ignore the original's alpha, but Canvas wants us to
+ // modulate with it. Using shadowsIgnoreTransforms to tell us that we're
+ // in a Canvas, we change the colormode to kDst_Mode, so we don't overwrite
+ // it with our layer's (default opaque-black) color.
+ colorMode = SkXfermode::kDst_Mode;
+
// CG uses natural orientation for Y axis, but the HTML5 canvas spec
// does not.
// So we now flip the height since it was flipped in
@@ -1082,7 +1089,7 @@
info.fPaintBits |= SkLayerDrawLooper::kMaskFilter_Bit; // our blur
info.fPaintBits |= SkLayerDrawLooper::kColorFilter_Bit;
- info.fColorMode = SkXfermode::kDst_Mode;
+ info.fColorMode = colorMode;
info.fOffset.set(width, height);
info.fPostTranslate = m_state.shadowsIgnoreTransforms;
diff --git a/Source/WebCore/rendering/AutoTableLayout.cpp b/Source/WebCore/rendering/AutoTableLayout.cpp
index 4eef95f..f5311c2 100644
--- a/Source/WebCore/rendering/AutoTableLayout.cpp
+++ b/Source/WebCore/rendering/AutoTableLayout.cpp
@@ -265,11 +265,10 @@
if (tableLogicalWidth.isFixed() && tableLogicalWidth.value() > 0) {
minWidth = max(minWidth, tableLogicalWidth.value());
maxWidth = minWidth;
- }
-
- // if there was no remaining percent, maxWidth is invalid.
- if (!remainingPercent && maxNonPercent)
+ } else if (!remainingPercent && maxNonPercent) {
+ // if there was no remaining percent, maxWidth is invalid.
maxWidth = intMaxForLength;
+ }
}
/*
diff --git a/Source/WebCore/rendering/InlineFlowBox.cpp b/Source/WebCore/rendering/InlineFlowBox.cpp
index 045edff..392b0bf 100644
--- a/Source/WebCore/rendering/InlineFlowBox.cpp
+++ b/Source/WebCore/rendering/InlineFlowBox.cpp
@@ -539,7 +539,7 @@
int boxHeight = ascent + descent;
if (curr->verticalAlign() == TOP) {
- if (maxPositionTop < ascent)
+ if (maxPositionTop < boxHeight)
maxPositionTop = boxHeight;
} else if (curr->verticalAlign() == BOTTOM) {
if (maxPositionBottom < boxHeight)
diff --git a/Source/WebCore/rendering/RenderBlock.cpp b/Source/WebCore/rendering/RenderBlock.cpp
index de3af60..22d3b3c 100644
--- a/Source/WebCore/rendering/RenderBlock.cpp
+++ b/Source/WebCore/rendering/RenderBlock.cpp
@@ -81,6 +81,8 @@
static int gDelayUpdateScrollInfo = 0;
static DelayedUpdateScrollInfoSet* gDelayedUpdateScrollInfoSet = 0;
+bool RenderBlock::s_canPropagateFloatIntoSibling = false;
+
// Our MarginInfo state used when laying out block children.
RenderBlock::MarginInfo::MarginInfo(RenderBlock* block, int beforeBorderPadding, int afterBorderPadding)
: m_atBeforeSideOfBlock(true)
@@ -200,6 +202,8 @@
void RenderBlock::styleWillChange(StyleDifference diff, const RenderStyle* newStyle)
{
+ s_canPropagateFloatIntoSibling = style() ? !isFloatingOrPositioned() && !avoidsFloats() : false;
+
setReplaced(newStyle->isDisplayInlineType());
if (style() && parent() && diff == StyleDifferenceLayout && style()->position() != newStyle->position()) {
@@ -263,6 +267,15 @@
updateBeforeAfterContent(BEFORE);
updateBeforeAfterContent(AFTER);
}
+
+ // After our style changed, if we lose our ability to propagate floats into next sibling
+ // blocks, then we need to mark our descendants with floats for layout and clear all floats
+ // from next sibling blocks that exist in our floating objects list. See bug 56299.
+ bool canPropagateFloatIntoSibling = !isFloatingOrPositioned() && !avoidsFloats();
+ if (diff == StyleDifferenceLayout && s_canPropagateFloatIntoSibling && !canPropagateFloatIntoSibling && hasOverhangingFloats()) {
+ markAllDescendantsWithFloatsForLayout();
+ markSiblingsWithFloatsForLayout();
+ }
}
void RenderBlock::updateBeforeAfterContent(PseudoId pseudoId)
@@ -2221,30 +2234,26 @@
void RenderBlock::repaintOverhangingFloats(bool paintAllDescendants)
{
// Repaint any overhanging floats (if we know we're the one to paint them).
- if (hasOverhangingFloats()) {
- // We think that we must be in a bad state if m_floatingObjects is nil at this point, so
- // we assert on Debug builds and nil-check Release builds.
- ASSERT(m_floatingObjects);
- if (!m_floatingObjects)
- return;
+ // Otherwise, bail out.
+ if (!hasOverhangingFloats())
+ return;
- // FIXME: Avoid disabling LayoutState. At the very least, don't disable it for floats originating
- // in this block. Better yet would be to push extra state for the containers of other floats.
- view()->disableLayoutState();
- FloatingObjectSet& floatingObjectSet = m_floatingObjects->set();
- FloatingObjectSetIterator end = floatingObjectSet.end();
- for (FloatingObjectSetIterator it = floatingObjectSet.begin(); it != end; ++it) {
- FloatingObject* r = *it;
- // Only repaint the object if it is overhanging, is not in its own layer, and
- // is our responsibility to paint (m_shouldPaint is set). When paintAllDescendants is true, the latter
- // condition is replaced with being a descendant of us.
- if (logicalBottomForFloat(r) > logicalHeight() && ((paintAllDescendants && r->m_renderer->isDescendantOf(this)) || r->m_shouldPaint) && !r->m_renderer->hasSelfPaintingLayer()) {
- r->m_renderer->repaint();
- r->m_renderer->repaintOverhangingFloats();
- }
+ // FIXME: Avoid disabling LayoutState. At the very least, don't disable it for floats originating
+ // in this block. Better yet would be to push extra state for the containers of other floats.
+ view()->disableLayoutState();
+ FloatingObjectSet& floatingObjectSet = m_floatingObjects->set();
+ FloatingObjectSetIterator end = floatingObjectSet.end();
+ for (FloatingObjectSetIterator it = floatingObjectSet.begin(); it != end; ++it) {
+ FloatingObject* r = *it;
+ // Only repaint the object if it is overhanging, is not in its own layer, and
+ // is our responsibility to paint (m_shouldPaint is set). When paintAllDescendants is true, the latter
+ // condition is replaced with being a descendant of us.
+ if (logicalBottomForFloat(r) > logicalHeight() && ((paintAllDescendants && r->m_renderer->isDescendantOf(this)) || r->m_shouldPaint) && !r->m_renderer->hasSelfPaintingLayer()) {
+ r->m_renderer->repaint();
+ r->m_renderer->repaintOverhangingFloats();
}
- view()->enableLayoutState();
}
+ view()->enableLayoutState();
}
void RenderBlock::paint(PaintInfo& paintInfo, int tx, int ty)
@@ -3181,10 +3190,18 @@
// accomplished by pretending they have a height of 1.
logicalBottom = max(logicalBottom, logicalTop + 1);
}
+ if (r->m_originatingLine) {
+ ASSERT(r->m_originatingLine->renderer() == this);
+ r->m_originatingLine->markDirty();
+#if !ASSERT_DISABLED
+ r->m_originatingLine = 0;
+#endif
+ }
markLinesDirtyInBlockRange(0, logicalBottom);
}
m_floatingObjects->decreaseObjectsCount(r->type());
floatingObjectSet.remove(it);
+ ASSERT(!r->m_originatingLine);
delete r;
}
}
@@ -3200,6 +3217,7 @@
while (curr != lastFloat && (!curr->isPlaced() || logicalTopForFloat(curr) >= logicalOffset)) {
m_floatingObjects->decreaseObjectsCount(curr->type());
floatingObjectSet.removeLast();
+ ASSERT(!curr->m_originatingLine);
delete curr;
curr = floatingObjectSet.last();
}
@@ -3637,6 +3655,10 @@
}
floatMap.remove(f->m_renderer);
+ if (oldFloatingObject->m_originatingLine) {
+ ASSERT(oldFloatingObject->m_originatingLine->renderer() == this);
+ oldFloatingObject->m_originatingLine->markDirty();
+ }
delete oldFloatingObject;
} else {
changeLogicalTop = 0;
@@ -3800,6 +3822,30 @@
}
}
+void RenderBlock::markSiblingsWithFloatsForLayout()
+{
+ FloatingObjectSet& floatingObjectSet = m_floatingObjects->set();
+ FloatingObjectSetIterator end = floatingObjectSet.end();
+ for (FloatingObjectSetIterator it = floatingObjectSet.begin(); it != end; ++it) {
+ if (logicalBottomForFloat(*it) > logicalHeight()) {
+ RenderBox* floatingBox = (*it)->renderer();
+
+ RenderObject* next = nextSibling();
+ while (next) {
+ if (next->isRenderBlock() && !next->isFloatingOrPositioned() && !toRenderBlock(next)->avoidsFloats()) {
+ RenderBlock* nextBlock = toRenderBlock(next);
+ if (nextBlock->containsFloat(floatingBox))
+ nextBlock->markAllDescendantsWithFloatsForLayout(floatingBox);
+ else
+ break;
+ }
+
+ next = next->nextSibling();
+ }
+ }
+ }
+}
+
int RenderBlock::getClearDelta(RenderBox* child, int yPos)
{
// There is no need to compute clearance if we have no floats.
diff --git a/Source/WebCore/rendering/RenderBlock.h b/Source/WebCore/rendering/RenderBlock.h
index 75d93e9..d45ab66 100644
--- a/Source/WebCore/rendering/RenderBlock.h
+++ b/Source/WebCore/rendering/RenderBlock.h
@@ -95,6 +95,7 @@
bool generatesLineBoxesForInlineChild(RenderObject*, bool isLineEmpty = true, bool previousLineBrokeCleanly = true);
void markAllDescendantsWithFloatsForLayout(RenderBox* floatToRemove = 0, bool inLayout = true);
+ void markSiblingsWithFloatsForLayout();
void markPositionedObjectsForLayout();
virtual void markForPaginationRelayoutIfNeeded();
@@ -384,6 +385,7 @@
FloatingObject(Type type)
: m_renderer(0)
+ , m_originatingLine(0)
, m_paginationStrut(0)
, m_type(type)
, m_shouldPaint(true)
@@ -394,6 +396,7 @@
FloatingObject(Type type, const IntRect& frameRect)
: m_renderer(0)
+ , m_originatingLine(0)
, m_frameRect(frameRect)
, m_paginationStrut(0)
, m_type(type)
@@ -425,6 +428,7 @@
void setFrameRect(const IntRect& frameRect) { m_frameRect = frameRect; }
RenderBox* m_renderer;
+ RootInlineBox* m_originatingLine;
IntRect m_frameRect;
int m_paginationStrut;
unsigned m_type : 2; // Type (left or right aligned)
@@ -537,7 +541,7 @@
virtual bool avoidsFloats() const;
- bool hasOverhangingFloats() { return parent() && !hasColumns() && lowestFloatLogicalBottom() > logicalHeight(); }
+ bool hasOverhangingFloats() { return parent() && !hasColumns() && containsFloats() && lowestFloatLogicalBottom() > logicalHeight(); }
void addIntrudingFloats(RenderBlock* prev, int xoffset, int yoffset);
int addOverhangingFloats(RenderBlock* child, int xoffset, int yoffset, bool makeChildPaintOtherFloats);
@@ -787,6 +791,10 @@
// (calling moveChildTo, moveAllChildrenTo, and makeChildrenNonInline).
friend class RenderRubyBase;
friend class LineWidth; // Needs to know FloatingObject
+
+private:
+ // Used to store state between styleWillChange and styleDidChange
+ static bool s_canPropagateFloatIntoSibling;
};
inline RenderBlock* toRenderBlock(RenderObject* object)
diff --git a/Source/WebCore/rendering/RenderBlockLineLayout.cpp b/Source/WebCore/rendering/RenderBlockLineLayout.cpp
index 06cbf90..a5716ed 100644
--- a/Source/WebCore/rendering/RenderBlockLineLayout.cpp
+++ b/Source/WebCore/rendering/RenderBlockLineLayout.cpp
@@ -724,12 +724,8 @@
void RenderBlock::appendFloatingObjectToLastLine(FloatingObject* floatingObject)
{
- // Ensure that the float touches the line.
- if (RootInlineBox* previousLine = lastRootBox()->prevRootBox()) {
- if (logicalBottomForFloat(floatingObject) < previousLine->blockLogicalHeight())
- setLogicalHeightForFloat(floatingObject, previousLine->blockLogicalHeight() - logicalTopForFloat(floatingObject));
- }
-
+ ASSERT(!floatingObject->m_originatingLine);
+ floatingObject->m_originatingLine = lastRootBox();
lastRootBox()->appendFloat(floatingObject->renderer());
}
@@ -1161,7 +1157,9 @@
if (Vector<RenderBox*>* cleanLineFloats = line->floatsPtr()) {
Vector<RenderBox*>::iterator end = cleanLineFloats->end();
for (Vector<RenderBox*>::iterator f = cleanLineFloats->begin(); f != end; ++f) {
- insertFloatingObject(*f);
+ FloatingObject* floatingObject = insertFloatingObject(*f);
+ ASSERT(!floatingObject->m_originatingLine);
+ floatingObject->m_originatingLine = line;
setLogicalHeight(logicalTopForChild(*f) - marginBeforeForChild(*f) + delta);
positionNewFloats();
}
@@ -1364,7 +1362,9 @@
if (Vector<RenderBox*>* cleanLineFloats = line->floatsPtr()) {
Vector<RenderBox*>::iterator end = cleanLineFloats->end();
for (Vector<RenderBox*>::iterator f = cleanLineFloats->begin(); f != end; ++f) {
- insertFloatingObject(*f);
+ FloatingObject* floatingObject = insertFloatingObject(*f);
+ ASSERT(!floatingObject->m_originatingLine);
+ floatingObject->m_originatingLine = line;
setLogicalHeight(logicalTopForChild(*f) - marginBeforeForChild(*f));
positionNewFloats();
ASSERT(floats[numCleanFloats].object == *f);
diff --git a/Source/WebCore/rendering/RenderBox.cpp b/Source/WebCore/rendering/RenderBox.cpp
index 11c0306..80d5699 100644
--- a/Source/WebCore/rendering/RenderBox.cpp
+++ b/Source/WebCore/rendering/RenderBox.cpp
@@ -234,7 +234,7 @@
for (RenderObject* curr = parent(); curr && !curr->isRenderView(); curr = curr->parent()) {
if (curr->isRenderBlock()) {
RenderBlock* currBlock = toRenderBlock(curr);
- if (currBlock->containsFloat(this))
+ if (!parentBlock || currBlock->containsFloat(this))
parentBlock = currBlock;
}
}
diff --git a/Source/WebCore/rendering/RenderCounter.cpp b/Source/WebCore/rendering/RenderCounter.cpp
index 9b8c493..2a2506c 100644
--- a/Source/WebCore/rendering/RenderCounter.cpp
+++ b/Source/WebCore/rendering/RenderCounter.cpp
@@ -575,6 +575,19 @@
// map associated with a renderer, so there is no risk in leaking the map.
}
+void RenderCounter::rendererRemovedFromTree(RenderObject* removedRenderer)
+{
+ RenderObject* currentRenderer = removedRenderer->lastLeafChild();
+ if (!currentRenderer)
+ currentRenderer = removedRenderer;
+ while (true) {
+ destroyCounterNodes(currentRenderer);
+ if (currentRenderer == removedRenderer)
+ break;
+ currentRenderer = currentRenderer->previousInPreOrder();
+ }
+}
+
static void updateCounters(RenderObject* renderer)
{
ASSERT(renderer->style());
diff --git a/Source/WebCore/rendering/RenderCounter.h b/Source/WebCore/rendering/RenderCounter.h
index 9557ae3..b4449dd 100644
--- a/Source/WebCore/rendering/RenderCounter.h
+++ b/Source/WebCore/rendering/RenderCounter.h
@@ -37,6 +37,7 @@
static void destroyCounterNodes(RenderObject*);
static void destroyCounterNode(RenderObject*, const AtomicString& identifier);
static void rendererSubtreeAttached(RenderObject*);
+ static void rendererRemovedFromTree(RenderObject*);
static void rendererStyleChanged(RenderObject*, const RenderStyle* oldStyle, const RenderStyle* newStyle);
private:
diff --git a/Source/WebCore/rendering/RenderLayer.cpp b/Source/WebCore/rendering/RenderLayer.cpp
index 4676c91..6aff65c 100644
--- a/Source/WebCore/rendering/RenderLayer.cpp
+++ b/Source/WebCore/rendering/RenderLayer.cpp
@@ -217,6 +217,9 @@
destroyScrollbar(HorizontalScrollbar);
destroyScrollbar(VerticalScrollbar);
+ if (m_reflection)
+ removeReflection();
+
// Child layers will be deleted by their corresponding render objects, so
// we don't need to delete them ourselves.
@@ -232,9 +235,6 @@
// Make sure we have no lingering clip rects.
ASSERT(!m_clipRects);
- if (m_reflection)
- removeReflection();
-
if (m_scrollCorner)
m_scrollCorner->destroy();
if (m_resizer)
diff --git a/Source/WebCore/rendering/RenderObject.h b/Source/WebCore/rendering/RenderObject.h
index cf4d61b..14a40e9 100644
--- a/Source/WebCore/rendering/RenderObject.h
+++ b/Source/WebCore/rendering/RenderObject.h
@@ -1007,7 +1007,9 @@
if (!container && !o->isRenderView())
return;
if (!last->isText() && (last->style()->position() == FixedPosition || last->style()->position() == AbsolutePosition)) {
- if (o->m_posChildNeedsLayout)
+ while (o && !o->isRenderBlock()) // Skip relatively positioned inlines and get to the enclosing RenderBlock.
+ o = o->container();
+ if (!o || o->m_posChildNeedsLayout)
return;
o->m_posChildNeedsLayout = true;
simplifiedNormalFlowLayout = true;
diff --git a/Source/WebCore/rendering/RenderObjectChildList.cpp b/Source/WebCore/rendering/RenderObjectChildList.cpp
index e26f221..ff9ff15 100644
--- a/Source/WebCore/rendering/RenderObjectChildList.cpp
+++ b/Source/WebCore/rendering/RenderObjectChildList.cpp
@@ -129,8 +129,7 @@
oldChild->setNextSibling(0);
oldChild->setParent(0);
- if (oldChild->m_hasCounterNodeMap)
- RenderCounter::destroyCounterNodes(oldChild);
+ RenderCounter::rendererRemovedFromTree(oldChild);
RenderQuote::rendererRemovedFromTree(oldChild);
if (AXObjectCache::accessibilityEnabled())
diff --git a/Source/WebCore/rendering/RenderTable.cpp b/Source/WebCore/rendering/RenderTable.cpp
index 187ffd7..e9db5ad 100644
--- a/Source/WebCore/rendering/RenderTable.cpp
+++ b/Source/WebCore/rendering/RenderTable.cpp
@@ -122,11 +122,15 @@
RenderObject* o = beforeChild->previousSibling();
while (o && o != m_caption)
o = o->previousSibling();
- if (!o)
+ if (!o) {
m_caption = 0;
+ setNeedsSectionRecalc();
+ }
}
if (!m_caption)
m_caption = toRenderBlock(child);
+ else
+ setNeedsSectionRecalc();
wrapInAnonymousSection = false;
} else if (child->isTableCol()) {
m_hasColElements = true;
@@ -204,6 +208,9 @@
void RenderTable::removeChild(RenderObject* oldChild)
{
RenderBox::removeChild(oldChild);
+
+ if (m_caption && oldChild == m_caption && node())
+ node()->setNeedsStyleRecalc();
setNeedsSectionRecalc();
}
@@ -747,6 +754,21 @@
return 0;
}
+void RenderTable::recalcCaption(RenderBlock* caption) const
+{
+ if (!m_caption) {
+ m_caption = caption;
+ m_caption->setNeedsLayout(true);
+ } else {
+ // Make sure to null out the child's renderer.
+ if (Node* node = caption->node())
+ node->setRenderer(0);
+
+ // Destroy the child now.
+ caption->destroy();
+ }
+}
+
void RenderTable::recalcSections() const
{
m_caption = 0;
@@ -756,13 +778,13 @@
m_hasColElements = false;
// We need to get valid pointers to caption, head, foot and first body again
- for (RenderObject* child = firstChild(); child; child = child->nextSibling()) {
+ RenderObject* nextSibling;
+ for (RenderObject* child = firstChild(); child; child = nextSibling) {
+ nextSibling = child->nextSibling();
switch (child->style()->display()) {
case TABLE_CAPTION:
- if (!m_caption && child->isRenderBlock()) {
- m_caption = toRenderBlock(child);
- m_caption->setNeedsLayout(true);
- }
+ if (child->isRenderBlock())
+ recalcCaption(toRenderBlock(child));
break;
case TABLE_COLUMN:
case TABLE_COLUMN_GROUP:
diff --git a/Source/WebCore/rendering/RenderTable.h b/Source/WebCore/rendering/RenderTable.h
index d781e95..c2ae053 100644
--- a/Source/WebCore/rendering/RenderTable.h
+++ b/Source/WebCore/rendering/RenderTable.h
@@ -242,6 +242,7 @@
void subtractCaptionRect(IntRect&) const;
+ void recalcCaption(RenderBlock*) const;
void recalcSections() const;
void adjustLogicalHeightForCaption();
diff --git a/Source/WebCore/rendering/style/SVGRenderStyle.cpp b/Source/WebCore/rendering/style/SVGRenderStyle.cpp
index 1ee1f36..28f80f2 100644
--- a/Source/WebCore/rendering/style/SVGRenderStyle.cpp
+++ b/Source/WebCore/rendering/style/SVGRenderStyle.cpp
@@ -169,9 +169,7 @@
// Some stroke properties, requires relayouts, as the cached stroke boundaries need to be recalculated.
if (stroke != other->stroke) {
if (stroke->width != other->stroke->width
- || stroke->paintType != other->stroke->paintType
- || stroke->paintColor != other->stroke->paintColor
- || stroke->paintUri != other->stroke->paintUri
+ || stroke->paint != other->stroke->paint
|| stroke->miterLimit != other->stroke->miterLimit
|| stroke->dashArray != other->stroke->dashArray
|| stroke->dashOffset != other->stroke->dashOffset)
@@ -193,7 +191,7 @@
}
// If fill changes, we just need to repaint. Fill boundaries are not influenced by this, only by the Path, that RenderSVGPath contains.
- if (fill->paintType != other->fill->paintType || fill->paintColor != other->fill->paintColor || fill->paintUri != other->fill->paintUri)
+ if (fill != other->fill)
return StyleDifferenceRepaint;
// If gradient stops change, we just need to repaint. Style updates are already handled through RenderSVGGradientSTop.
diff --git a/Source/WebCore/rendering/style/SVGRenderStyle.h b/Source/WebCore/rendering/style/SVGRenderStyle.h
index 88a48df..7f032e7 100644
--- a/Source/WebCore/rendering/style/SVGRenderStyle.h
+++ b/Source/WebCore/rendering/style/SVGRenderStyle.h
@@ -70,19 +70,15 @@
static SVGWritingMode initialWritingMode() { return WM_LRTB; }
static EGlyphOrientation initialGlyphOrientationHorizontal() { return GO_0DEG; }
static EGlyphOrientation initialGlyphOrientationVertical() { return GO_AUTO; }
- static float initialFillOpacity() { return 1; }
- static SVGPaint::SVGPaintType initialFillPaintType() { return SVGPaint::SVG_PAINTTYPE_RGBCOLOR; }
- static Color initialFillPaintColor() { return Color::black; }
- static String initialFillPaintUri() { return String(); }
- static float initialStrokeOpacity() { return 1; }
- static SVGPaint::SVGPaintType initialStrokePaintType() { return SVGPaint::SVG_PAINTTYPE_NONE; }
- static Color initialStrokePaintColor() { return Color(); }
- static String initialStrokePaintUri() { return String(); }
+ static float initialFillOpacity() { return 1.0f; }
+ static SVGPaint* initialFillPaint() { return SVGPaint::defaultFill(); }
+ static float initialStrokeOpacity() { return 1.0f; }
+ static SVGPaint* initialStrokePaint() { return SVGPaint::defaultStroke(); }
static Vector<SVGLength> initialStrokeDashArray() { return Vector<SVGLength>(); }
- static float initialStrokeMiterLimit() { return 4; }
- static float initialStopOpacity() { return 1; }
+ static float initialStrokeMiterLimit() { return 4.0f; }
+ static float initialStopOpacity() { return 1.0f; }
static Color initialStopColor() { return Color(0, 0, 0); }
- static float initialFloodOpacity() { return 1; }
+ static float initialFloodOpacity() { return 1.0f; }
static Color initialFloodColor() { return Color(0, 0, 0); }
static Color initialLightingColor() { return Color(255, 255, 255); }
static ShadowData* initialShadow() { return 0; }
@@ -154,14 +150,10 @@
fill.access()->opacity = obj;
}
- void setFillPaint(SVGPaint::SVGPaintType type, const Color& color, const String& uri)
+ void setFillPaint(PassRefPtr<SVGPaint> obj)
{
- if (!(fill->paintType == type))
- fill.access()->paintType = type;
- if (!(fill->paintColor == color))
- fill.access()->paintColor = color;
- if (!(fill->paintUri == uri))
- fill.access()->paintUri = uri;
+ if (!(fill->paint == obj))
+ fill.access()->paint = obj;
}
void setStrokeOpacity(float obj)
@@ -170,14 +162,10 @@
stroke.access()->opacity = obj;
}
- void setStrokePaint(SVGPaint::SVGPaintType type, const Color& color, const String& uri)
+ void setStrokePaint(PassRefPtr<SVGPaint> obj)
{
- if (!(stroke->paintType == type))
- stroke.access()->paintType = type;
- if (!(stroke->paintColor == color))
- stroke.access()->paintColor = color;
- if (!(stroke->paintUri == uri))
- stroke.access()->paintUri = uri;
+ if (!(stroke->paint == obj))
+ stroke.access()->paint = obj;
}
void setStrokeDashArray(const Vector<SVGLength>& obj)
@@ -305,13 +293,9 @@
EGlyphOrientation glyphOrientationHorizontal() const { return (EGlyphOrientation) svg_inherited_flags._glyphOrientationHorizontal; }
EGlyphOrientation glyphOrientationVertical() const { return (EGlyphOrientation) svg_inherited_flags._glyphOrientationVertical; }
float fillOpacity() const { return fill->opacity; }
- const SVGPaint::SVGPaintType& fillPaintType() const { return fill->paintType; }
- const Color& fillPaintColor() const { return fill->paintColor; }
- const String& fillPaintUri() const { return fill->paintUri; }
+ SVGPaint* fillPaint() const { return fill->paint.get(); }
float strokeOpacity() const { return stroke->opacity; }
- const SVGPaint::SVGPaintType& strokePaintType() const { return stroke->paintType; }
- const Color& strokePaintColor() const { return stroke->paintColor; }
- const String& strokePaintUri() const { return stroke->paintUri; }
+ SVGPaint* strokePaint() const { return stroke->paint.get(); }
Vector<SVGLength> strokeDashArray() const { return stroke->dashArray; }
float strokeMiterLimit() const { return stroke->miterLimit; }
SVGLength strokeWidth() const { return stroke->width; }
@@ -336,8 +320,8 @@
bool hasMasker() const { return !maskerResource().isEmpty(); }
bool hasFilter() const { return !filterResource().isEmpty(); }
bool hasMarkers() const { return !markerStartResource().isEmpty() || !markerMidResource().isEmpty() || !markerEndResource().isEmpty(); }
- bool hasStroke() const { return strokePaintType() != SVGPaint::SVG_PAINTTYPE_NONE; }
- bool hasFill() const { return fillPaintType() != SVGPaint::SVG_PAINTTYPE_NONE; }
+ bool hasStroke() const { return strokePaint()->paintType() != SVGPaint::SVG_PAINTTYPE_NONE; }
+ bool hasFill() const { return fillPaint()->paintType() != SVGPaint::SVG_PAINTTYPE_NONE; }
bool isVerticalWritingMode() const { return writingMode() == WM_TBRL || writingMode() == WM_TB; }
protected:
diff --git a/Source/WebCore/rendering/style/SVGRenderStyleDefs.cpp b/Source/WebCore/rendering/style/SVGRenderStyleDefs.cpp
index fb23e14..c30ae6d 100644
--- a/Source/WebCore/rendering/style/SVGRenderStyleDefs.cpp
+++ b/Source/WebCore/rendering/style/SVGRenderStyleDefs.cpp
@@ -37,27 +37,35 @@
StyleFillData::StyleFillData()
: opacity(SVGRenderStyle::initialFillOpacity())
- , paintType(SVGRenderStyle::initialFillPaintType())
- , paintColor(SVGRenderStyle::initialFillPaintColor())
- , paintUri(SVGRenderStyle::initialFillPaintUri())
+ , paint(SVGRenderStyle::initialFillPaint())
{
}
StyleFillData::StyleFillData(const StyleFillData& other)
: RefCounted<StyleFillData>()
, opacity(other.opacity)
- , paintType(other.paintType)
- , paintColor(other.paintColor)
- , paintUri(other.paintUri)
+ , paint(other.paint)
{
}
bool StyleFillData::operator==(const StyleFillData& other) const
{
- return opacity == other.opacity
- && paintType == other.paintType
- && paintColor == other.paintColor
- && paintUri == other.paintUri;
+ if (opacity != other.opacity)
+ return false;
+
+ if (!paint || !other.paint)
+ return paint == other.paint;
+
+ if (paint->paintType() != other.paint->paintType())
+ return false;
+
+ if (paint->paintType() == SVGPaint::SVG_PAINTTYPE_URI)
+ return paint->uri() == other.paint->uri();
+
+ if (paint->paintType() == SVGPaint::SVG_PAINTTYPE_RGBCOLOR)
+ return paint->color() == other.paint->color();
+
+ return paint == other.paint;
}
StyleStrokeData::StyleStrokeData()
@@ -66,9 +74,7 @@
, width(SVGRenderStyle::initialStrokeWidth())
, dashOffset(SVGRenderStyle::initialStrokeDashOffset())
, dashArray(SVGRenderStyle::initialStrokeDashArray())
- , paintType(SVGRenderStyle::initialStrokePaintType())
- , paintColor(SVGRenderStyle::initialStrokePaintColor())
- , paintUri(SVGRenderStyle::initialStrokePaintUri())
+ , paint(SVGRenderStyle::initialStrokePaint())
{
}
@@ -79,22 +85,18 @@
, width(other.width)
, dashOffset(other.dashOffset)
, dashArray(other.dashArray)
- , paintType(other.paintType)
- , paintColor(other.paintColor)
- , paintUri(other.paintUri)
+ , paint(other.paint)
{
}
bool StyleStrokeData::operator==(const StyleStrokeData& other) const
{
- return width == other.width
+ return paint == other.paint
+ && width == other.width
&& opacity == other.opacity
&& miterLimit == other.miterLimit
&& dashOffset == other.dashOffset
- && dashArray == other.dashArray
- && paintType == other.paintType
- && paintColor == other.paintColor
- && paintUri == other.paintUri;
+ && dashArray == other.dashArray;
}
StyleStopData::StyleStopData()
diff --git a/Source/WebCore/rendering/style/SVGRenderStyleDefs.h b/Source/WebCore/rendering/style/SVGRenderStyleDefs.h
index 00358a0..de058a2 100644
--- a/Source/WebCore/rendering/style/SVGRenderStyleDefs.h
+++ b/Source/WebCore/rendering/style/SVGRenderStyleDefs.h
@@ -29,8 +29,9 @@
#define SVGRenderStyleDefs_h
#if ENABLE(SVG)
+#include "Color.h"
+#include "PlatformString.h"
#include "SVGLength.h"
-#include "SVGPaint.h"
#include "ShadowData.h"
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
@@ -97,7 +98,7 @@
public:
static PassRefPtr<StyleFillData> create() { return adoptRef(new StyleFillData); }
PassRefPtr<StyleFillData> copy() const { return adoptRef(new StyleFillData(*this)); }
-
+
bool operator==(const StyleFillData&) const;
bool operator!=(const StyleFillData& other) const
{
@@ -105,9 +106,7 @@
}
float opacity;
- SVGPaint::SVGPaintType paintType;
- Color paintColor;
- String paintUri;
+ RefPtr<SVGPaint> paint;
private:
StyleFillData();
@@ -132,9 +131,7 @@
SVGLength dashOffset;
Vector<SVGLength> dashArray;
- SVGPaint::SVGPaintType paintType;
- Color paintColor;
- String paintUri;
+ RefPtr<SVGPaint> paint;
private:
StyleStrokeData();
@@ -265,4 +262,5 @@
} // namespace WebCore
#endif // ENABLE(SVG)
+
#endif // SVGRenderStyleDefs_h
diff --git a/Source/WebCore/rendering/svg/RenderSVGInlineText.cpp b/Source/WebCore/rendering/svg/RenderSVGInlineText.cpp
index c8539c6..5760bed 100644
--- a/Source/WebCore/rendering/svg/RenderSVGInlineText.cpp
+++ b/Source/WebCore/rendering/svg/RenderSVGInlineText.cpp
@@ -70,6 +70,14 @@
{
}
+void RenderSVGInlineText::destroy()
+{
+ if (RenderSVGText* textRenderer = RenderSVGText::locateRenderSVGTextAncestor(this))
+ textRenderer->setNeedsPositioningValuesUpdate();
+
+ RenderText::destroy();
+}
+
void RenderSVGInlineText::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
{
RenderText::styleDidChange(diff, oldStyle);
diff --git a/Source/WebCore/rendering/svg/RenderSVGInlineText.h b/Source/WebCore/rendering/svg/RenderSVGInlineText.h
index 9eed8cd..5d1cd54 100644
--- a/Source/WebCore/rendering/svg/RenderSVGInlineText.h
+++ b/Source/WebCore/rendering/svg/RenderSVGInlineText.h
@@ -48,6 +48,7 @@
private:
virtual const char* renderName() const { return "RenderSVGInlineText"; }
+ virtual void destroy();
virtual void styleDidChange(StyleDifference, const RenderStyle*);
// FIXME: We need objectBoundingBox for DRT results and filters at the moment.
diff --git a/Source/WebCore/rendering/svg/RenderSVGResource.cpp b/Source/WebCore/rendering/svg/RenderSVGResource.cpp
index 12ed53a..c0b16c5 100644
--- a/Source/WebCore/rendering/svg/RenderSVGResource.cpp
+++ b/Source/WebCore/rendering/svg/RenderSVGResource.cpp
@@ -51,36 +51,33 @@
return 0;
}
- bool applyToFill = mode == ApplyToFillMode;
- SVGPaint::SVGPaintType paintType = applyToFill ? svgStyle->fillPaintType() : svgStyle->strokePaintType();
+ SVGPaint* paint = mode == ApplyToFillMode ? svgStyle->fillPaint() : svgStyle->strokePaint();
+ ASSERT(paint);
+
+ SVGPaint::SVGPaintType paintType = paint->paintType();
if (paintType == SVGPaint::SVG_PAINTTYPE_NONE)
return 0;
Color color;
- switch (paintType) {
- case SVGPaint::SVG_PAINTTYPE_CURRENTCOLOR:
- case SVGPaint::SVG_PAINTTYPE_RGBCOLOR:
- case SVGPaint::SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR:
- case SVGPaint::SVG_PAINTTYPE_URI_CURRENTCOLOR:
- case SVGPaint::SVG_PAINTTYPE_URI_RGBCOLOR:
- case SVGPaint::SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR:
- color = applyToFill ? svgStyle->fillPaintColor() : svgStyle->strokePaintColor();
- default:
- break;
- }
+ if (paintType == SVGPaint::SVG_PAINTTYPE_RGBCOLOR
+ || paintType == SVGPaint::SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR
+ || paintType == SVGPaint::SVG_PAINTTYPE_URI_RGBCOLOR
+ || paintType == SVGPaint::SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR)
+ color = paint->color();
+ else if (paintType == SVGPaint::SVG_PAINTTYPE_CURRENTCOLOR || paintType == SVGPaint::SVG_PAINTTYPE_URI_CURRENTCOLOR)
+ color = style->visitedDependentColor(CSSPropertyColor);
if (style->insideLink() == InsideVisitedLink) {
RenderStyle* visitedStyle = style->getCachedPseudoStyle(VISITED_LINK);
ASSERT(visitedStyle);
- const SVGRenderStyle* svgVisitedStyle = visitedStyle->svgStyle();
- SVGPaint::SVGPaintType visitedPaintType = applyToFill ? svgVisitedStyle->fillPaintType() : svgVisitedStyle->strokePaintType();
-
- // For SVG_PAINTTYPE_CURRENTCOLOR, 'color' already contains the 'visitedColor'.
- if (visitedPaintType < SVGPaint::SVG_PAINTTYPE_URI_NONE && visitedPaintType != SVGPaint::SVG_PAINTTYPE_CURRENTCOLOR) {
- const Color& visitedColor = applyToFill ? svgVisitedStyle->fillPaintColor() : svgVisitedStyle->strokePaintColor();
- if (visitedColor.isValid())
- color = Color(visitedColor.red(), visitedColor.green(), visitedColor.blue(), color.alpha());
+ if (SVGPaint* visitedPaint = mode == ApplyToFillMode ? visitedStyle->svgStyle()->fillPaint() : visitedStyle->svgStyle()->strokePaint()) {
+ // For SVG_PAINTTYPE_CURRENTCOLOR, 'color' already contains the 'visitedColor'.
+ if (visitedPaint->paintType() < SVGPaint::SVG_PAINTTYPE_URI_NONE && visitedPaint->paintType() != SVGPaint::SVG_PAINTTYPE_CURRENTCOLOR) {
+ const Color& visitedColor = visitedPaint->color();
+ if (visitedColor.isValid())
+ color = Color(visitedColor.red(), visitedColor.green(), visitedColor.blue(), color.alpha());
+ }
}
}
diff --git a/Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp b/Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp
index 245a859..c57f8b0 100644
--- a/Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp
+++ b/Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp
@@ -254,8 +254,8 @@
RefPtr<RenderStyle> oldRenderStyle = renderer->style();
RefPtr<RenderStyle> newRenderStyle = RenderStyle::clone(oldRenderStyle.get());
SVGRenderStyle* svgStyle = newRenderStyle.get()->accessSVGStyle();
- svgStyle->setFillPaint(SVGRenderStyle::initialFillPaintType(), SVGRenderStyle::initialFillPaintColor(), SVGRenderStyle::initialFillPaintUri());
- svgStyle->setStrokePaint(SVGRenderStyle::initialStrokePaintType(), SVGRenderStyle::initialStrokePaintColor(), SVGRenderStyle::initialStrokePaintUri());
+ svgStyle->setFillPaint(SVGPaint::defaultFill());
+ svgStyle->setStrokePaint(SVGPaint::defaultStroke());
svgStyle->setFillRule(newClipRule);
newRenderStyle.get()->setOpacity(1.0f);
svgStyle->setFillOpacity(1.0f);
diff --git a/Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp b/Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp
index 09195f5..d6776cf 100644
--- a/Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp
+++ b/Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp
@@ -27,6 +27,7 @@
#include "RenderSVGResourceFilter.h"
#include "AffineTransform.h"
+#include "FilterEffect.h"
#include "FloatPoint.h"
#include "FloatRect.h"
#include "GraphicsContext.h"
@@ -48,8 +49,6 @@
#include <wtf/UnusedParam.h>
#include <wtf/Vector.h>
-static const float kMaxFilterSize = 5000.0f;
-
using namespace std;
namespace WebCore {
@@ -84,8 +83,12 @@
{
ASSERT(client);
- if (m_filter.contains(client))
- delete m_filter.take(client);
+ if (FilterData* filterData = m_filter.get(client)) {
+ if (filterData->savedContext)
+ filterData->markedForRemoval = true;
+ else
+ delete m_filter.take(client);
+ }
markClientForInvalidation(client, markForInvalidation ? BoundariesInvalidation : ParentOnlyInvalidation);
}
@@ -266,10 +269,15 @@
UNUSED_PARAM(resourceMode);
#endif
- if (!m_filter.contains(object))
+ FilterData* filterData = m_filter.get(object);
+ if (!filterData)
return;
- FilterData* filterData = m_filter.get(object);
+ if (filterData->markedForRemoval) {
+ delete m_filter.take(object);
+ return;
+ }
+
if (!filterData->builded) {
if (!filterData->savedContext) {
removeClientFromCache(object);
diff --git a/Source/WebCore/rendering/svg/RenderSVGResourceFilter.h b/Source/WebCore/rendering/svg/RenderSVGResourceFilter.h
index c809f23..45aff5c 100644
--- a/Source/WebCore/rendering/svg/RenderSVGResourceFilter.h
+++ b/Source/WebCore/rendering/svg/RenderSVGResourceFilter.h
@@ -43,6 +43,7 @@
FilterData()
: savedContext(0)
, builded(false)
+ , markedForRemoval(false)
{
}
@@ -53,7 +54,8 @@
AffineTransform shearFreeAbsoluteTransform;
FloatRect boundaries;
FloatSize scale;
- bool builded;
+ bool builded : 1;
+ bool markedForRemoval : 1;
};
class GraphicsContext;
diff --git a/Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.cpp b/Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.cpp
index f077bfd..b74122e 100644
--- a/Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.cpp
+++ b/Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.cpp
@@ -128,7 +128,7 @@
absoluteScaledFilterRegion.scale(filterResolution.width(), filterResolution.height());
absoluteSubregion.intersect(absoluteScaledFilterRegion);
- effect->setMaxEffectRect(enclosingIntRect(absoluteSubregion));
+ effect->setMaxEffectRect(absoluteSubregion);
return subregion;
}
diff --git a/Source/WebCore/rendering/svg/SVGResources.cpp b/Source/WebCore/rendering/svg/SVGResources.cpp
index d3cd184..9a2c999 100644
--- a/Source/WebCore/rendering/svg/SVGResources.cpp
+++ b/Source/WebCore/rendering/svg/SVGResources.cpp
@@ -152,12 +152,15 @@
return SVGURIReference::getTarget(target);
}
-static inline RenderSVGResourceContainer* paintingResourceFromSVGPaint(Document* document, const SVGPaint::SVGPaintType& paintType, const String& paintUri, AtomicString& id, bool& hasPendingResource)
+static inline RenderSVGResourceContainer* paintingResourceFromSVGPaint(Document* document, SVGPaint* paint, AtomicString& id, bool& hasPendingResource)
{
+ ASSERT(paint);
+
+ SVGPaint::SVGPaintType paintType = paint->paintType();
if (paintType != SVGPaint::SVG_PAINTTYPE_URI && paintType != SVGPaint::SVG_PAINTTYPE_URI_RGBCOLOR)
return 0;
- id = SVGURIReference::getTarget(paintUri);
+ id = SVGURIReference::getTarget(paint->uri());
RenderSVGResourceContainer* container = getRenderSVGResourceContainerById(document, id);
if (!container) {
hasPendingResource = true;
@@ -256,7 +259,7 @@
if (style->hasFill()) {
bool hasPendingResource = false;
AtomicString id;
- if (setFill(paintingResourceFromSVGPaint(document, style->fillPaintType(), style->fillPaintUri(), id, hasPendingResource)))
+ if (setFill(paintingResourceFromSVGPaint(document, style->fillPaint(), id, hasPendingResource)))
foundResources = true;
else if (hasPendingResource)
registerPendingResource(extensions, id, element);
@@ -265,7 +268,7 @@
if (style->hasStroke()) {
bool hasPendingResource = false;
AtomicString id;
- if (setStroke(paintingResourceFromSVGPaint(document, style->strokePaintType(), style->strokePaintUri(), id, hasPendingResource)))
+ if (setStroke(paintingResourceFromSVGPaint(document, style->strokePaint(), id, hasPendingResource)))
foundResources = true;
else if (hasPendingResource)
registerPendingResource(extensions, id, element);
diff --git a/Source/WebCore/storage/IDBObjectStoreBackendImpl.cpp b/Source/WebCore/storage/IDBObjectStoreBackendImpl.cpp
index cb6b0da..db7cb7d 100644
--- a/Source/WebCore/storage/IDBObjectStoreBackendImpl.cpp
+++ b/Source/WebCore/storage/IDBObjectStoreBackendImpl.cpp
@@ -341,6 +341,8 @@
RefPtr<SerializedScriptValue> objectValue = SerializedScriptValue::createFromWire(value);
RefPtr<IDBKey> indexKey = fetchKeyFromKeyPath(objectValue.get(), m_indexKeyPath);
+ if (!indexKey)
+ return true;
if (!m_backingStore.putIndexDataForRecord(m_databaseId, m_objectStoreId, m_indexId, *indexKey, recordIdentifier))
return false;
diff --git a/Source/WebCore/svg/SVGColor.cpp b/Source/WebCore/svg/SVGColor.cpp
index 911d02f..b2f14a3 100644
--- a/Source/WebCore/svg/SVGColor.cpp
+++ b/Source/WebCore/svg/SVGColor.cpp
@@ -50,7 +50,7 @@
m_color = color;
m_colorType = SVG_COLORTYPE_RGBCOLOR;
- setNeedsStyleRecalc();
+ // FIXME: A follow up patch will call valueChanged() here.
}
Color SVGColor::colorFromRGBColorString(const String& colorString)
@@ -75,7 +75,7 @@
return;
m_colorType = SVG_COLORTYPE_RGBCOLOR_ICCCOLOR;
- setNeedsStyleRecalc();
+ // FIXME: A follow up patch will call valueChanged() here.
}
void SVGColor::setColor(unsigned short colorType, const String& rgbColor, const String& iccColor, ExceptionCode& ec)
@@ -115,7 +115,7 @@
return;
}
- setNeedsStyleRecalc();
+ // FIXME: A follow up patch will call valueChanged() here.
m_colorType = type;
if (!requiresRGBColor) {
ASSERT(!requiresICCColor);
diff --git a/Source/WebCore/svg/SVGColor.h b/Source/WebCore/svg/SVGColor.h
index 58dc704..9ca3c14 100644
--- a/Source/WebCore/svg/SVGColor.h
+++ b/Source/WebCore/svg/SVGColor.h
@@ -23,7 +23,7 @@
#define SVGColor_h
#if ENABLE(SVG)
-#include "CSSMutableValue.h"
+#include "CSSValue.h"
#include "Color.h"
#include <wtf/PassRefPtr.h>
@@ -31,7 +31,7 @@
class RGBColor;
-class SVGColor : public CSSMutableValue {
+class SVGColor : public CSSValue {
public:
enum SVGColorType {
SVG_COLORTYPE_UNKNOWN = 0,
diff --git a/Source/WebCore/svg/SVGPaint.cpp b/Source/WebCore/svg/SVGPaint.cpp
index c9e08db..e1a8137 100644
--- a/Source/WebCore/svg/SVGPaint.cpp
+++ b/Source/WebCore/svg/SVGPaint.cpp
@@ -67,7 +67,19 @@
m_paintType = SVG_PAINTTYPE_URI_NONE;
setColor(Color());
setColorType(colorTypeForPaintType(m_paintType));
- setNeedsStyleRecalc();
+ // FIXME: A follow up patch will call valueChanged() here.
+}
+
+SVGPaint* SVGPaint::defaultFill()
+{
+ static SVGPaint* staticDefaultFill = createColor(Color::black).releaseRef();
+ return staticDefaultFill;
+}
+
+SVGPaint* SVGPaint::defaultStroke()
+{
+ static SVGPaint* staticDefaultStroke = createNone().releaseRef();
+ return staticDefaultStroke;
}
void SVGPaint::setPaint(unsigned short paintType, const String& uri, const String& rgbColor, const String& iccColor, ExceptionCode& ec)
@@ -120,7 +132,7 @@
m_paintType = type;
m_uri = requiresURI ? uri : String();
- setNeedsStyleRecalc();
+ // FIXME: A follow up patch will call valueChanged() here.
}
String SVGPaint::cssText() const
diff --git a/Source/WebCore/svg/SVGPaint.h b/Source/WebCore/svg/SVGPaint.h
index 5cacf91..471942b 100644
--- a/Source/WebCore/svg/SVGPaint.h
+++ b/Source/WebCore/svg/SVGPaint.h
@@ -87,6 +87,9 @@
bool matchesTargetURI(const String& referenceId);
+ static SVGPaint* defaultFill();
+ static SVGPaint* defaultStroke();
+
private:
friend class CSSComputedStyleDeclaration;
diff --git a/Source/WebCore/svg/animation/SVGSMILElement.cpp b/Source/WebCore/svg/animation/SVGSMILElement.cpp
index 3bb5880..4e0caa6 100644
--- a/Source/WebCore/svg/animation/SVGSMILElement.cpp
+++ b/Source/WebCore/svg/animation/SVGSMILElement.cpp
@@ -141,6 +141,8 @@
disconnectConditions();
if (m_timeContainer)
m_timeContainer->unschedule(this);
+ if (m_targetElement)
+ document()->accessSVGExtensions()->removeAnimationElementFromTarget(this, m_targetElement);
}
static inline QualifiedName constructQualifiedName(const SVGElement* svgElement, const String& attributeName)
diff --git a/Source/WebCore/xml/XMLTreeViewer.cpp b/Source/WebCore/xml/XMLTreeViewer.cpp
index a2110db..874a8cf 100644
--- a/Source/WebCore/xml/XMLTreeViewer.cpp
+++ b/Source/WebCore/xml/XMLTreeViewer.cpp
@@ -70,6 +70,12 @@
void XMLTreeViewer::transformDocumentToTreeView()
{
+ // FIXME: Temporary hack to ensure that we still display some of the document (and don't crash)
+ // when script is disabled. See https://bugs.webkit.org/show_bug.cgi?id=59113 for work on a
+ // better solution.
+ if (!m_document->frame()->script()->canExecuteScripts(NotAboutToExecuteScript))
+ return;
+
String scriptString(reinterpret_cast<const char*>(XMLViewer_js), sizeof(XMLViewer_js));
m_document->frame()->script()->evaluate(ScriptSourceCode(scriptString));
String noStyleMessage("This XML file does not appear to have any style information associated with it. The document tree is shown below.");
diff --git a/Source/WebKit/chromium/ChangeLog b/Source/WebKit/chromium/ChangeLog
index dce7bf9..ae57f67 100644
--- a/Source/WebKit/chromium/ChangeLog
+++ b/Source/WebKit/chromium/ChangeLog
@@ -1,3 +1,1305 @@
+2011-05-11 Antoine Labour <piman@chromium.org>
+
+ Reviewed by David Levin.
+
+ Don't buffer data for resources loaded by AssociatedURLLoader.
+ https://bugs.webkit.org/show_bug.cgi?id=60656
+
+ * src/AssociatedURLLoader.cpp:
+ (WebKit::AssociatedURLLoader::loadAsynchronously): set shouldBufferData to false in ThreadableLoaderOptions
+
+2011-05-11 Nat Duca <nduca@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Make throttling of WebGL based on webgl frames, not compositor frames
+ https://bugs.webkit.org/show_bug.cgi?id=60508
+
+ Tell LayerRendererChromium when the requestAnimFrame-callbacks are running.
+
+ * public/WebGraphicsContext3D.h:
+ (WebKit::WebGraphicsContext3D::rateLimitOffscreenContextCHROMIUM):
+ * src/Extensions3DChromium.cpp:
+ (WebCore::Extensions3DChromium::rateLimitOffscreenContextCHROMIUM):
+ * src/GraphicsContext3DChromium.cpp:
+ * src/GraphicsContext3DInternal.h:
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::animate):
+
+2011-05-11 John Bauman <jbauman@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ Don't send zeros in TexImage if GL implementation handles that
+ https://bugs.webkit.org/show_bug.cgi?id=60581
+
+ Chromium already handles zeroing textures upon creation, so don't
+ bother zeroing them in WebKit, as that causes some unnecessary memcpys
+ of zeros.
+
+ * src/GraphicsContext3DChromium.cpp:
+ (WebCore::GraphicsContext3D::create):
+
+2011-05-10 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Hajime Morita.
+
+ [Chromium] Fix a bug of WebFrameImpl::forms()
+ https://bugs.webkit.org/show_bug.cgi?id=60606
+
+ If document()->forms() contained non-HTML element, the second for
+ loop didn't stop.
+
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::forms): Simplify the function by wtf::Vector().
+
+2011-05-10 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Unreviewed buildfix for strict OwnPtr patch.
+
+ * src/PlatformBridge.cpp:
+ (WebCore::PlatformBridge::loadPlatformAudioResource):
+ (WebCore::PlatformBridge::decodeAudioFileData):
+
+2011-05-06 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Use a File object to store the downloaded file reference rather than
+ just the path. This keeps the file and permissions in scope (using the
+ already-existing blob system) so the browser won't delete the file
+ when the load is complete. Instead, the file will be cleaned up when
+ the request objects are deleted.
+ https://bugs.webkit.org/show_bug.cgi?id=60281
+
+ * src/WebURLResponse.cpp:
+ (WebKit::WebURLResponse::downloadFilePath):
+ (WebKit::WebURLResponse::setDownloadFilePath):
+
+2011-05-10 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: [Chromium] Drop obsolete test code for the Profiles panel.
+ https://bugs.webkit.org/show_bug.cgi?id=60471
+
+ * src/js/Tests.js:
+
+2011-05-10 Adam Barth <abarth@webkit.org>
+
+ Attempt to fix the clang build.
+
+ * src/WebDevToolsAgentImpl.cpp:
+
+2011-05-09 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r86091.
+ http://trac.webkit.org/changeset/86091
+ https://bugs.webkit.org/show_bug.cgi?id=60510
+
+ Broke Chromium win release build. (Requested by dave_levin on
+ #webkit).
+
+ * WebKit.gyp:
+ * features.gypi:
+ * public/WebFrame.h:
+ * public/WebFrameClient.h:
+ (WebKit::WebFrameClient::didChangeIcons):
+ * public/WebIconURL.h: Removed.
+ * src/AssertMatchingEnums.cpp:
+ * src/FrameLoaderClientImpl.cpp:
+ (WebKit::FrameLoaderClientImpl::dispatchDidChangeIcons):
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::favIconURL):
+ * src/WebFrameImpl.h:
+
+2011-05-09 Tao Bai <michaelbai@chromium.org>
+
+ Reviewed by David Levin.
+
+ Handle the touch icon.
+ https://bugs.webkit.org/show_bug.cgi?id=60247
+
+ Added WebIconURL for the corresponding IconURL.
+ Added a parameter to favIconURL() to specify the type of icon need to
+ return.
+
+ * WebKit.gyp:
+ * features.gypi:
+ * public/WebFrame.h:
+ * public/WebFrameClient.h:
+ (WebKit::WebFrameClient::didChangeIcons):
+ * public/WebIconURL.h: Added.
+ (WebKit::WebIconURL::WebIconURL):
+ * src/AssertMatchingEnums.cpp:
+ * src/FrameLoaderClientImpl.cpp:
+ (WebKit::FrameLoaderClientImpl::dispatchDidChangeIcons):
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::favIconURL):
+ * src/WebFrameImpl.h:
+
+2011-05-09 Evan Martin <evan@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ [chromium] make DumpRenderTree build in components for linux
+ https://bugs.webkit.org/show_bug.cgi?id=60491
+
+ * WebKit.gyp: move some code that was in a Windows-only block to be used
+ on all platforms.
+
+2011-05-09 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Tony Gentilcore.
+
+ Make Chromium build with strict PassOwnPtr
+ https://bugs.webkit.org/show_bug.cgi?id=60461
+
+ Fixed many, many PassOwnPtr nits.
+
+ * src/EditorClientImpl.cpp:
+ (WebKit::EditorClientImpl::autofill):
+ * src/IDBDatabaseBackendProxy.cpp:
+ (WebKit::IDBDatabaseBackendProxy::createObjectStore):
+ (WebKit::IDBDatabaseBackendProxy::transaction):
+ * src/IDBObjectStoreBackendProxy.cpp:
+ (WebKit::IDBObjectStoreBackendProxy::createIndex):
+ (WebKit::IDBObjectStoreBackendProxy::index):
+ * src/IDBTransactionBackendProxy.cpp:
+ (WebKit::IDBTransactionBackendProxy::objectStore):
+ * src/PlatformMessagePortChannel.cpp:
+ (WebCore::MessagePortChannel::create):
+ (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
+ * src/SharedWorkerRepository.cpp:
+ (WebCore::SharedWorkerRepository::connect):
+ * src/SocketStreamHandle.cpp:
+ (WebCore::SocketStreamHandleInternal::create):
+ * src/WebDevToolsAgentImpl.cpp:
+ (WebKit::DebuggerTask::DebuggerTask):
+ (WebKit::DebuggerTask::~DebuggerTask):
+ (WebKit::DebuggerTask::run):
+ (WebKit::WebDevToolsAgent::interruptAndDispatch):
+ * src/WebDevToolsFrontendImpl.cpp:
+ (WebKit::WebDevToolsFrontendImpl::WebDevToolsFrontendImpl):
+ * src/WebIDBCallbacksImpl.cpp:
+ (WebKit::WebIDBCallbacksImpl::onSuccess):
+ * src/WebIDBCursorImpl.cpp:
+ (WebKit::WebIDBCursorImpl::update):
+ (WebKit::WebIDBCursorImpl::continueFunction):
+ (WebKit::WebIDBCursorImpl::deleteFunction):
+ * src/WebIDBDatabaseImpl.cpp:
+ (WebKit::WebIDBDatabaseImpl::setVersion):
+ (WebKit::WebIDBDatabaseImpl::open):
+ * src/WebIDBFactoryImpl.cpp:
+ (WebKit::WebIDBFactoryImpl::open):
+ * src/WebIDBIndexImpl.cpp:
+ (WebKit::WebIDBIndexImpl::openObjectCursor):
+ (WebKit::WebIDBIndexImpl::openKeyCursor):
+ (WebKit::WebIDBIndexImpl::getObject):
+ (WebKit::WebIDBIndexImpl::getKey):
+ * src/WebIDBObjectStoreImpl.cpp:
+ (WebKit::WebIDBObjectStoreImpl::get):
+ (WebKit::WebIDBObjectStoreImpl::put):
+ (WebKit::WebIDBObjectStoreImpl::deleteFunction):
+ (WebKit::WebIDBObjectStoreImpl::clear):
+ (WebKit::WebIDBObjectStoreImpl::openCursor):
+ * src/WebIDBTransactionImpl.cpp:
+ (WebKit::WebIDBTransactionImpl::setCallbacks):
+ * src/WebPluginContainerImpl.cpp:
+ (WebKit::WebPluginContainerImpl::loadFrameRequest):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::setDevToolsAgentClient):
+ * src/WebWorkerClientImpl.cpp:
+ (WebKit::WebWorkerClientImpl::postMessageToWorkerObject):
+ * src/WebWorkerImpl.cpp:
+ (WebKit::WebWorkerImpl::postMessageToWorkerContext):
+ * src/WorkerFileWriterCallbacksBridge.cpp:
+ (WebKit::WorkerFileWriterCallbacksBridge::initOnMainThread):
+ (WebKit::WorkerFileWriterCallbacksBridge::didWrite):
+ (WebKit::WorkerFileWriterCallbacksBridge::didFail):
+ (WebKit::WorkerFileWriterCallbacksBridge::didTruncate):
+
+2011-05-09 Shishir Agrawal <shishir@chromium.org>
+
+ Reviewed by Tony Gentilcore.
+
+ Implement Page Visibility API.
+ https://bugs.webkit.org/show_bug.cgi?id=54181
+
+ * WebKit.gyp:
+ * public/WebPageVisibilityState.h: Added.
+ * public/WebView.h:
+ (WebKit::WebView::setVisibilityState):
+ * public/WebViewClient.h:
+ (WebKit::WebViewClient::visibilityState):
+ * src/AssertMatchingEnums.cpp:
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::WebViewImpl):
+ (WebKit::WebViewImpl::setVisibilityState):
+ * src/WebViewImpl.h:
+
+2011-05-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r85974.
+ http://trac.webkit.org/changeset/85974
+ https://bugs.webkit.org/show_bug.cgi?id=60444
+
+ broke browser tests (Requested by inferno-sec on #webkit).
+
+ * src/WebURLResponse.cpp:
+ (WebKit::WebURLResponse::downloadFilePath):
+ (WebKit::WebURLResponse::setDownloadFilePath):
+
+2011-05-06 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Ryosuke Niwa.
+
+ Eliminate WebCore/dom/InputElement.{cpp,h}
+ https://bugs.webkit.org/show_bug.cgi?id=60262
+
+ * src/WebInputElement.cpp:
+ (WebKit::WebInputElement::defaultMaxLength):
+ Replace InputElement::s_maximumLength with HTMLInputElement::maximumLength.
+ (WebKit::toWebInputElement):
+ Follow the return type change of Node::toInputElement().
+
+2011-05-06 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [Chromium] Whitelist input events interpreted as user gestures
+ https://bugs.webkit.org/show_bug.cgi?id=60213
+
+ * public/WebInputEvent.h:
+ (WebKit::WebInputEvent::isUserGestureEventType):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::handleInputEvent):
+
+2011-05-06 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Use a File object to store the downloaded file reference rather than
+ just the path. This keeps the file and permissions in scope (using the
+ already-existing blob system) so the browser won't delete the file
+ when the load is complete. Instead, the file will be cleaned up when
+ the request objects are deleted.
+ https://bugs.webkit.org/show_bug.cgi?id=60281
+
+ * src/WebURLResponse.cpp:
+ (WebKit::WebURLResponse::downloadFilePath):
+ (WebKit::WebURLResponse::setDownloadFilePath):
+
+2011-05-06 John Abd-El-Malek <jam@chromium.org>
+
+ Reviewed by James Robinson.
+
+ [chromium]: Reland using WebPermissionClient for checking indexed db usage
+ https://bugs.webkit.org/show_bug.cgi?id=60386
+
+ * public/WebPermissionClient.h:
+ (WebKit::WebPermissionClient::allowIndexedDB):
+ * src/IDBFactoryBackendProxy.cpp:
+ (WebKit::IDBFactoryBackendProxy::open):
+
+2011-05-06 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r85919.
+ http://trac.webkit.org/changeset/85919
+ https://bugs.webkit.org/show_bug.cgi?id=60378
+
+ broke chromium database tests (Requested by inferno-sec on
+ #webkit).
+
+ * public/WebPermissionClient.h:
+ * src/IDBFactoryBackendProxy.cpp:
+ (WebKit::IDBFactoryBackendProxy::open):
+
+2011-05-04 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Implement LayoutTestController::pseudoShadowId()
+ https://bugs.webkit.org/show_bug.cgi?id=60034
+
+ * public/WebElement.h:
+ * src/WebElement.cpp:
+ (WebKit::WebElement::shadowPseudoId):
+
+2011-05-05 John Abd-El-Malek <jam@chromium.org>
+
+ Reviewed by James Robinson.
+
+ [chromium] Make IndexedDB code use WebPermissionClient API
+ https://bugs.webkit.org/show_bug.cgi?id=60340
+
+ * public/WebPermissionClient.h:
+ (WebKit::WebPermissionClient::allowIndexedDB):
+ * src/IDBFactoryBackendProxy.cpp:
+ (WebKit::IDBFactoryBackendProxy::open):
+
+2011-05-05 Adam Barth <abarth@webkit.org>
+
+ Roll Chromium DEPS.
+
+ * DEPS:
+
+2011-05-05 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Rename SelectionController to FrameSelection
+ https://bugs.webkit.org/show_bug.cgi?id=60234
+
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::selectWordAroundCaret):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::textInputType):
+ (WebKit::WebViewImpl::caretOrSelectionBounds):
+ (WebKit::WebViewImpl::caretOrSelectionRange):
+ (WebKit::WebViewImpl::clearFocusedNode):
+
+2011-05-03 Hans Wennborg <hans@chromium.org>
+
+ Reviewed by Steve Block.
+
+ IndexedDB: Unit tests for LevelDB key coding functions
+ https://bugs.webkit.org/show_bug.cgi?id=59692
+
+ Add unit tests for the basic key coding functions used by the LevelDB back-end.
+
+ * WebKit.gypi:
+ * tests/IDBLevelDBCodingTest.cpp: Added.
+ (IDBLevelDBCoding::TEST):
+
+2011-05-04 MORITA Hajime <morrita@google.com>
+
+ Unreviewed unit test skip (startPostAndWaitOnCondition)
+ which fails on Windows 7. See bug 60248 for tracking.
+
+ * tests/CCThreadTest.cpp:
+ (WebCore::TEST):
+
+2011-05-04 Cris Neckar <cdn@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Expose WebView directly through ChromeClient.
+ https://bugs.webkit.org/show_bug.cgi?id=49902
+
+ * src/AutoFillPopupMenuClient.cpp:
+ (WebKit::AutoFillPopupMenuClient::getWebView):
+ * src/ChromeClientImpl.cpp:
+ (WebKit::ChromeClientImpl::webView):
+ * src/ChromeClientImpl.h:
+ * src/GraphicsContext3DChromium.cpp:
+ (WebCore::GraphicsContext3DInternal::initialize):
+ * src/PlatformBridge.cpp:
+ (WebCore::toWebWidgetClient):
+ * src/StorageNamespaceProxy.cpp:
+ (WebCore::StorageNamespace::sessionStorageNamespace):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::fromPage):
+
+2011-05-04 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Mihai Parparita.
+
+ Ensure we don't overwrite user-specified scroll positions
+ on same document HistoryItem navigations.
+ https://bugs.webkit.org/show_bug.cgi?id=59877
+
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::loadHistoryItem):
+ (WebKit::WebFrameImpl::currentHistoryItem):
+ (WebKit::WebFrameImpl::WebFrameImpl):
+ * src/WebFrameImpl.h:
+
+2011-05-04 Tao Bai <michaelbai@chromium.org>
+
+ Reviewed by David Kilzer.
+
+ Populate touch-icon url to FrameLoaderClient
+ https://bugs.webkit.org/show_bug.cgi?id=59143
+
+ Respected the change of FrameLoaderClient.
+
+ * src/FrameLoaderClientImpl.cpp:
+ (WebKit::FrameLoaderClientImpl::dispatchDidChangeIcons):
+ * src/FrameLoaderClientImpl.h:
+
+2011-05-04 Jay Civelli <jcivelli@chromium.org>
+
+ Reviewed by Ojan Vafai.
+
+ Send the char events to the select popup if one is showing to fix
+ a bug were pressing a letter would not select the matching option.
+ https://bugs.webkit.org/show_bug.cgi?id=47769
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::keyEvent):
+ (WebKit::WebViewImpl::charEvent):
+ * src/WebViewImpl.h:
+
+2011-05-03 Justin Novosad <junov@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [Chromium] Make accelerated 2d canvas enabled by default with skia
+ https://bugs.webkit.org/show_bug.cgi?id=59929
+ Added new flag for enabling the legacy accelerated 2d canvas
+ The flag is not yet functional with this change.
+
+ * public/WebSettings.h:
+ * src/WebSettingsImpl.cpp:
+ (WebKit::WebSettingsImpl::setLegacyAccelerated2dCanvasEnabled):
+ * src/WebSettingsImpl.h:
+
+2011-05-03 Alpha Lam <hclam@chromium.org>
+
+ Not reviewed. Build fix.
+
+ More 0 to nullptr.
+
+ * src/FrameLoaderClientImpl.cpp:
+ (WebKit::FrameLoaderClientImpl::pluginLoadObserver):
+ * src/GraphicsContext3DChromium.cpp:
+ (WebCore::GraphicsContext3D::~GraphicsContext3D):
+ * src/WebAudioBus.cpp:
+ (WebKit::WebAudioBus::release):
+ * src/WebBlobData.cpp:
+ (WebKit::WebBlobData::reset):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebView::addUserScript):
+ (WebKit::WebView::addUserStyleSheet):
+
+2011-05-03 John Abd-El-Malek <jam@chromium.org>
+
+ Reviewed by James Robinson.
+
+ [chromium] Go through WebPermissionClient for local storage access. Also cleanup left over code from previous WebPermissionClient change.
+ https://bugs.webkit.org/show_bug.cgi?id=60066
+
+ * public/WebFrameClient.h:
+ * public/WebPermissionClient.h:
+ (WebKit::WebPermissionClient::allowLocalStorage):
+ * src/DatabaseObserver.cpp:
+ (WebCore::DatabaseObserver::canEstablishDatabase):
+ * src/FrameLoaderClientImpl.cpp:
+ (WebKit::FrameLoaderClientImpl::allowScriptExtension):
+ (WebKit::FrameLoaderClientImpl::allowJavaScript):
+ (WebKit::FrameLoaderClientImpl::allowPlugins):
+ (WebKit::FrameLoaderClientImpl::allowImages):
+ (WebKit::FrameLoaderClientImpl::didNotAllowScript):
+ (WebKit::FrameLoaderClientImpl::didNotAllowPlugins):
+ * src/StorageAreaProxy.cpp:
+ (WebCore::StorageAreaProxy::setItem):
+
+2011-05-03 Tony Chang <tony@chromium.org>
+
+ Unreviewed, rolling the version of chromium to r83922.
+
+ * DEPS:
+
+2011-05-03 Julien Chaffraix <jchaffraix@codeaurora.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Element:shadowRoot & Element::ensureShadowRoot should return ShadowRoot*
+ https://bugs.webkit.org/show_bug.cgi?id=58703
+
+ * src/WebElement.cpp: Added #include for ShadowRoot.h.
+
+2011-05-02 Adam Klein <adamk@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ Roll chromium DEPS to r83722, add new crypto directory to DEPS
+ https://bugs.webkit.org/show_bug.cgi?id=59992
+
+ * DEPS:
+
+2011-05-02 Adam Roben <aroben@apple.com>
+
+ Take advantage of implicit conversion from nullptr_t to PassOwnPtr
+
+ Fixes <http://webkit.org/b/59964> Implicit conversion from std::nullptr_t to PassOwnPtr
+ doesn't work, but should
+
+ Reviewed by Adam Barth.
+
+ * src/WebMediaPlayerClientImpl.cpp:
+
+2011-05-03 Pavel Feldman <pfeldman@google.com>
+
+ Not reviewed: re-applied r85589.
+
+ * src/js/DevTools.js:
+ (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
+
+2011-05-03 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: [remote debugging] use document.title to set window name.
+ https://bugs.webkit.org/show_bug.cgi?id=60012
+
+ * src/js/DevTools.js:
+ (WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
+
+2011-05-02 Alok Priyadarshi <alokp@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Chromium windows build is broken due to r85395
+ https://bugs.webkit.org/show_bug.cgi?id=59945
+
+ Include SecurityOrigin.h in IDBFactoryBackendProxy.cpp
+
+ * src/IDBFactoryBackendProxy.cpp:
+
+2011-04-30 Mihai Parparita <mihaip@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ V8Proxy.h shouldn't include SecurityOrigin.h
+ https://bugs.webkit.org/show_bug.cgi?id=59859
+
+ Add SecurityOrigin.h includes to places that were relying on transitive
+ includes.
+
+ * src/ApplicationCacheHost.cpp:
+ * src/WebGeolocationPermissionRequest.cpp:
+
+2011-04-29 Chris Evans <cevans@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add WebCore::Setting to block displaying and/or running insecure content on secure pages
+ https://bugs.webkit.org/show_bug.cgi?id=58378
+
+ * public/WebSettings.h:
+ * src/WebSettingsImpl.cpp:
+ (WebKit::WebSettingsImpl::setAllowDisplayOfInsecureContent):
+ (WebKit::WebSettingsImpl::setAllowRunningOfInsecureContent):
+ * src/WebSettingsImpl.h:
+ Simple plumbing for the new boolean settings.
+
+2011-04-29 Kenneth Russell <kbr@google.com>
+
+ Unreviewed build fix. Skip WebPageNewSerializerTest.cpp in Windows multi-DLL build.
+
+ * WebKit.gyp:
+
+2011-04-28 Evan Martin <evan@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ [chromium] support components build on Linux
+ https://bugs.webkit.org/show_bug.cgi?id=59748
+
+ * WebKit.gyp: adjust tests to not be Windows-specific.
+ * public/WebCommon.h: add #defines to support Linux.
+ * public/linux/WebFontRenderStyle.h: expose Linux-specific API.
+ * tests/RunAllTests.cpp: adjust ifdefs to not be Windows-specific.
+
+2011-04-29 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Chromium DevTools: Fix network panel timing/size/headers tests.
+ https://bugs.webkit.org/show_bug.cgi?id=59696
+
+ * src/js/Tests.js:
+ (.TestSuite.prototype.testNetworkSize.finishResource):
+ (.TestSuite.prototype.testNetworkSyncSize.finishResource):
+ (.TestSuite.prototype.testNetworkRawHeadersText.finishResource):
+ (.TestSuite.prototype.testNetworkTiming.finishResource):
+
+2011-04-29 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: add "open link in new tab" action into the network and resources panels.
+ https://bugs.webkit.org/show_bug.cgi?id=59788
+
+ This change also distinguishes context menu items case between platforms.
+
+ * src/js/DevTools.js:
+
+2011-04-28 Nat Duca <nduca@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Add swapBuffersCompleteCallback to Extensions3DChromium
+ https://bugs.webkit.org/show_bug.cgi?id=59626
+
+ * public/WebGraphicsContext3D.h:
+ (WebKit::WebGraphicsContext3D::WebGraphicsSwapBuffersCompleteCallbackCHROMIUM::~WebGraphicsSwapBuffersCompleteCallbackCHROMIUM):
+ (WebKit::WebGraphicsContext3D::setSwapBuffersCompleteCallbackCHROMIUM):
+ * src/Extensions3DChromium.cpp:
+ (WebCore::Extensions3DChromium::setSwapBuffersCompleteCallbackCHROMIUM):
+ * src/GraphicsContext3DChromium.cpp:
+ (WebCore::SwapBuffersCompleteCallbackAdapter::~SwapBuffersCompleteCallbackAdapter):
+ (WebCore::SwapBuffersCompleteCallbackAdapter::SwapBuffersCompleteCallbackAdapter):
+ (WebCore::SwapBuffersCompleteCallbackAdapter::onSwapBuffersComplete):
+ (WebCore::SwapBuffersCompleteCallbackAdapter::create):
+ (WebCore::GraphicsContext3DInternal::setSwapBuffersCompleteCallbackCHROMIUM):
+ * src/GraphicsContext3DInternal.h:
+ * src/WebViewImpl.cpp:
+
+2011-04-28 John Abd-El-Malek <jam@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ [chromium] Fix silly bug with WebPermissionClient
+ https://bugs.webkit.org/show_bug.cgi?id=59769
+
+ * src/FrameLoaderClientImpl.cpp:
+ (WebKit::FrameLoaderClientImpl::allowJavaScript):
+ (WebKit::FrameLoaderClientImpl::allowPlugins):
+ (WebKit::FrameLoaderClientImpl::allowImages):
+
+2011-04-28 Jay Civelli <jcivelli@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Introducing a new API to serialize a WebView back to HTML.
+ https://bugs.webkit.org/show_bug.cgi?id=58947
+
+ * WebKit.gyp:
+ * public/WebPageSerializer.h:
+ * src/WebPageSerializer.cpp:
+ (WebKit::WebPageSerializer::serialize):
+ * tests/WebPageNewSerializerTest.cpp: Added.
+ * tests/data/pageserializer: Added.
+ * tests/data/pageserializer/blank_frames.html: Added.
+ * tests/data/pageserializer/blue_background.png: Added.
+ * tests/data/pageserializer/css_test_page.html: Added.
+ * tests/data/pageserializer/green_background.png: Added.
+ * tests/data/pageserializer/iframe.html: Added.
+ * tests/data/pageserializer/iframe2.html: Added.
+ * tests/data/pageserializer/import_style_from_link.css: Added.
+ * tests/data/pageserializer/import_styles.css: Added.
+ * tests/data/pageserializer/link_styles.css: Added.
+ * tests/data/pageserializer/ol-dot.png: Added.
+ * tests/data/pageserializer/orange_background.png: Added.
+ * tests/data/pageserializer/purple_background.png: Added.
+ * tests/data/pageserializer/red_background.png: Added.
+ * tests/data/pageserializer/simple.xhtml: Added.
+ * tests/data/pageserializer/top_frame.html: Added.
+ * tests/data/pageserializer/ul-dot.png: Added.
+ * tests/data/pageserializer/yellow_background.png: Added.
+
+2011-04-28 John Abd-El-Malek <jam@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [chromium] Add a WebPermissionClient to be used for checking permissions of features
+ https://bugs.webkit.org/show_bug.cgi?id=59720
+
+ * public/WebFrameClient.h:
+ (WebKit::WebFrameClient::allowPlugins):
+ (WebKit::WebFrameClient::didNotAllowPlugins):
+ (WebKit::WebFrameClient::allowImages):
+ (WebKit::WebFrameClient::allowScript):
+ (WebKit::WebFrameClient::allowDatabase):
+ (WebKit::WebFrameClient::didNotAllowScript):
+ * public/WebPermissionClient.h: Added.
+ (WebKit::WebPermissionClient::allowDatabase):
+ (WebKit::WebPermissionClient::allowImages):
+ (WebKit::WebPermissionClient::allowPlugins):
+ (WebKit::WebPermissionClient::allowScript):
+ (WebKit::WebPermissionClient::allowScriptExtension):
+ (WebKit::WebPermissionClient::allowReadFromClipboard):
+ (WebKit::WebPermissionClient::allowWriteToClipboard):
+ (WebKit::WebPermissionClient::didNotAllowPlugins):
+ (WebKit::WebPermissionClient::didNotAllowScript):
+ (WebKit::WebPermissionClient::~WebPermissionClient):
+ * public/WebView.h:
+ * public/WebViewClient.h:
+ (WebKit::WebViewClient::didEndEditing):
+ * src/DatabaseObserver.cpp:
+ (WebCore::DatabaseObserver::canEstablishDatabase):
+ * src/EditorClientImpl.cpp:
+ (WebKit::EditorClientImpl::toggleContinuousSpellChecking):
+ (WebKit::EditorClientImpl::canCopyCut):
+ (WebKit::EditorClientImpl::canPaste):
+ * src/FrameLoaderClientImpl.cpp:
+ (WebKit::FrameLoaderClientImpl::allowScriptExtension):
+ (WebKit::FrameLoaderClientImpl::allowJavaScript):
+ (WebKit::FrameLoaderClientImpl::allowPlugins):
+ (WebKit::FrameLoaderClientImpl::allowImages):
+ (WebKit::FrameLoaderClientImpl::didNotAllowScript):
+ (WebKit::FrameLoaderClientImpl::didNotAllowPlugins):
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::enableContinuousSpellChecking):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::setAutoFillClient):
+ (WebKit::WebViewImpl::setPermissionClient):
+ (WebKit::WebViewImpl::WebViewImpl):
+ * src/WebViewImpl.h:
+ (WebKit::WebViewImpl::permissionClient):
+
+2011-04-28 Kenneth Russell <kbr@google.com>
+
+ Unreviewed fix for Windows multi-DLL build.
+
+ * WebKit.gyp:
+
+2011-04-27 Dmitry Lomov <dslomov@google.com>
+
+ Reviewed by David Levin.
+
+ CrossThreadCopier should not have a default specialization for raw pointers
+ https://bugs.webkit.org/show_bug.cgi?id=59234
+ Removed the ablity to pass raw pointers cross-thread
+ Added and applied annotations for doing that
+
+ * src/WebSharedWorkerImpl.cpp:
+ (WebKit::WebSharedWorkerImpl::connect):
+ (WebKit::WebSharedWorkerImpl::connectTask):
+ * src/WebSharedWorkerImpl.h:
+ * src/WebWorkerBase.cpp:
+ (WebKit::WebWorkerBase::postMessageToWorkerObject):
+ (WebKit::WebWorkerBase::postExceptionToWorkerObject):
+ (WebKit::WebWorkerBase::postConsoleMessageToWorkerObject):
+ (WebKit::WebWorkerBase::confirmMessageFromWorkerObject):
+ (WebKit::WebWorkerBase::reportPendingActivity):
+ (WebKit::WebWorkerBase::workerContextClosed):
+ (WebKit::WebWorkerBase::workerContextDestroyed):
+ * src/WebWorkerClientImpl.cpp:
+ (WebKit::WebWorkerClientImpl::startWorkerContext):
+ (WebKit::WebWorkerClientImpl::terminateWorkerContext):
+ (WebKit::WebWorkerClientImpl::postMessageToWorkerContext):
+ (WebKit::WebWorkerClientImpl::workerObjectDestroyed):
+ (WebKit::WebWorkerClientImpl::postMessageToWorkerObject):
+ (WebKit::WebWorkerClientImpl::postExceptionToWorkerObject):
+ (WebKit::WebWorkerClientImpl::postConsoleMessageToWorkerObject):
+ (WebKit::WebWorkerClientImpl::confirmMessageFromWorkerObject):
+ (WebKit::WebWorkerClientImpl::reportPendingActivity):
+ * src/WebWorkerImpl.cpp:
+ (WebKit::WebWorkerImpl::postMessageToWorkerContext):
+ * src/WorkerFileSystemCallbacksBridge.cpp:
+ (WebKit::WorkerFileSystemCallbacksBridge::postOpenFileSystemToMainThread):
+ (WebKit::WorkerFileSystemCallbacksBridge::postMoveToMainThread):
+ (WebKit::WorkerFileSystemCallbacksBridge::postCopyToMainThread):
+ (WebKit::WorkerFileSystemCallbacksBridge::postRemoveToMainThread):
+ (WebKit::WorkerFileSystemCallbacksBridge::postRemoveRecursivelyToMainThread):
+ (WebKit::WorkerFileSystemCallbacksBridge::postReadMetadataToMainThread):
+ (WebKit::WorkerFileSystemCallbacksBridge::postCreateFileToMainThread):
+ (WebKit::WorkerFileSystemCallbacksBridge::postCreateDirectoryToMainThread):
+ (WebKit::WorkerFileSystemCallbacksBridge::postFileExistsToMainThread):
+ (WebKit::WorkerFileSystemCallbacksBridge::postDirectoryExistsToMainThread):
+ (WebKit::WorkerFileSystemCallbacksBridge::postReadDirectoryToMainThread):
+ (WebKit::WorkerFileSystemCallbacksBridge::didFailOnMainThread):
+ (WebKit::WorkerFileSystemCallbacksBridge::didOpenFileSystemOnMainThread):
+ (WebKit::WorkerFileSystemCallbacksBridge::didSucceedOnMainThread):
+ (WebKit::WorkerFileSystemCallbacksBridge::didReadMetadataOnMainThread):
+ (WebKit::WorkerFileSystemCallbacksBridge::didReadDirectoryOnMainThread):
+ * src/WorkerFileWriterCallbacksBridge.cpp:
+ (WebKit::WorkerFileWriterCallbacksBridge::postWriteToMainThread):
+ (WebKit::WorkerFileWriterCallbacksBridge::postTruncateToMainThread):
+ (WebKit::WorkerFileWriterCallbacksBridge::postAbortToMainThread):
+ (WebKit::WorkerFileWriterCallbacksBridge::didWrite):
+ (WebKit::WorkerFileWriterCallbacksBridge::didFail):
+ (WebKit::WorkerFileWriterCallbacksBridge::didTruncate):
+ (WebKit::WorkerFileWriterCallbacksBridge::postInitToMainThread):
+ (WebKit::WorkerFileWriterCallbacksBridge::dispatchTaskToMainThread):
+ (WebKit::WorkerFileWriterCallbacksBridge::dispatchTaskToWorkerThread):
+ * tests/CCThreadTest.cpp:
+ (WebCore::TEST):
+
+2011-04-27 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Ensure compositing layers are up to date before entering doComposite
+ https://bugs.webkit.org/show_bug.cgi?id=59159
+
+ Explicitly update and sync the compositing layer data structures for all frames in the tree before entering the
+ composite operation so that lazily updated state doesn't mutate the GraphicsLayer tree while compositing.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::composite):
+
+2011-04-27 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Fix OwnPtr strict issues in chromium linux build
+ https://bugs.webkit.org/show_bug.cgi?id=59664
+
+ * src/WebImageDecoder.cpp:
+ (WebKit::WebImageDecoder::getFrameAtIndex):
+ * src/WebImageSkia.cpp:
+ (WebKit::WebImage::fromData):
+
+2011-04-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ Make GraphicsContext3DChromium play nice with strict OwnPtrs
+ https://bugs.webkit.org/show_bug.cgi?id=59659
+
+ Attempt #2. Hopefully this time I won't make everything crash.
+
+ * src/GraphicsContext3DChromium.cpp:
+ (WebCore::GraphicsContext3DInternal::initialize):
+
+2011-04-27 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ remove unneeded TestWebWidget class
+ https://bugs.webkit.org/show_bug.cgi?id=59573
+
+ * tests/PopupMenuTest.cpp:
+
+2011-04-27 Tony Chang <tony@chromium.org>
+
+ Reviewed by Ojan Vafai.
+
+ [chromium] add a build target to make a zip file with the inspector debug files
+ https://bugs.webkit.org/show_bug.cgi?id=56656
+
+ * WebKit.gyp: Add target
+ * scripts/concatenate_css_files.py: Pass in a string of html rather
+ than a filename
+ * scripts/concatenate_js_files.py: Same as above
+ * scripts/generate_devtools_html.py: Refactor main into a helper function
+ * scripts/generate_devtools_zip.py: Added.
+
+2011-04-27 Mihai Parparita <mihaip@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Frame.h shouldn't include Document.h
+ https://bugs.webkit.org/show_bug.cgi?id=59560
+
+ Add Document.h #includes for files that were relying on transitive
+ #includes via Frame.h.
+
+ * src/LocalFileSystemChromium.cpp:
+ * src/StorageEventDispatcherImpl.cpp:
+ * src/WebFrameImpl.h:
+ * src/WebWorkerBase.cpp:
+
+2011-04-26 Jay Civelli <jcivelli@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Typedefing the shared timer function.
+ https://bugs.webkit.org/show_bug.cgi?id=59564
+
+ * public/WebKitClient.h:
+ (WebKit::WebKitClient::setSharedTimerFiredFunction):
+
+2011-04-26 Dirk Pranke <dpranke@chromium.org>
+
+ Unreviewed, rolling out r84982.
+ http://trac.webkit.org/changeset/84982
+ https://bugs.webkit.org/show_bug.cgi?id=59558
+
+ re-land r84951
+
+ * WebKit.gyp:
+ * public/WebFrame.h:
+ * public/WebWidget.h:
+ * public/mac/WebSubstringUtil.h: Added.
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::firstRectForCharacterRange):
+ (WebKit::WebFrameImpl::characterIndexForPoint):
+ * src/WebFrameImpl.h:
+ * src/WebPopupMenuImpl.cpp:
+ (WebKit::WebPopupMenuImpl::compositionRange):
+ (WebKit::WebPopupMenuImpl::caretOrSelectionRange):
+ * src/WebPopupMenuImpl.h:
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::compositionRange):
+ (WebKit::WebViewImpl::caretOrSelectionRange):
+ * src/WebViewImpl.h:
+ * src/mac/WebSubstringUtil.mm: Added.
+ (WebKit::WebSubstringUtil::attributedSubstringInRange):
+
+2011-04-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by David Hyatt.
+
+ Remove Datagrid from the tree
+ https://bugs.webkit.org/show_bug.cgi?id=59543
+
+ * features.gypi:
+ Remove feature.
+
+2011-04-26 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r84951.
+ http://trac.webkit.org/changeset/84951
+ https://bugs.webkit.org/show_bug.cgi?id=59558
+
+ "breaks chromium compile" (Requested by dpranke on #webkit).
+
+ * WebKit.gyp:
+ * public/WebFrame.h:
+ * public/WebWidget.h:
+ * public/mac/WebSubstringUtil.h: Removed.
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::firstRectForCharacterRange):
+ * src/WebFrameImpl.h:
+ * src/WebPopupMenuImpl.cpp:
+ * src/WebPopupMenuImpl.h:
+ * src/WebViewImpl.cpp:
+ * src/WebViewImpl.h:
+ * src/mac/WebSubstringUtil.mm: Removed.
+
+2011-04-26 Daniel Cheng <dcheng@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [chromium] Implement EditorClient::canCopyCut and EditorClient::canPaste
+ https://bugs.webkit.org/show_bug.cgi?id=59264
+
+ * public/WebViewClient.h:
+ (WebKit::WebViewClient::canTriggerClipboardRead):
+ (WebKit::WebViewClient::canTriggerClipboardWrite):
+ * src/EditorClientImpl.cpp:
+ (WebKit::EditorClientImpl::canCopyCut):
+ (WebKit::EditorClientImpl::canPaste):
+
+2011-04-26 Evan Martin <evan@chromium.org>
+
+ Unreviewed, Chrome/Mac build fix.
+
+ * WebKit.gypi: Remove extra file. (I removed a subtraction, but
+ forgot to remove the corresponding addition that the subtraction
+ was counteracting.)
+
+2011-04-26 Evan Martin <evan@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ [chromium] refactor duplicated list of test source files
+ https://bugs.webkit.org/show_bug.cgi?id=59478
+
+ The platform-specific unit test files were listed twice in
+ WebKit.gyp: once for the components build, once for the normal
+ build. Refactor this into the unified webkit_unittest_files
+ variable. (It appears the omission of WebPageSerializerTest
+ in one instance was an oversight.)
+
+ * WebKit.gyp:
+ * WebKit.gypi:
+
+2011-04-26 Robert Sesek <rsesek@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [Chromium] Implement WebKit methods to assist with Cocoa NSTextInput implementation
+ https://bugs.webkit.org/show_bug.cgi?id=54969
+
+ * WebKit.gyp:
+ * public/WebFrame.h:
+ * public/WebWidget.h:
+ * public/mac/WebSubstringUtil.h: Added.
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::firstRectForCharacterRange): Return the result rect in window coordinates
+ (WebKit::WebFrameImpl::characterIndexForPoint): New method on WebFrame
+ * src/WebFrameImpl.h:
+ * src/WebPopupMenuImpl.cpp:
+ (WebKit::WebPopupMenuImpl::compositionRange): New method on WebWidget; empty impl
+ (WebKit::WebPopupMenuImpl::caretOrSelectionRange): New method on WebWidget; empty impl
+ * src/WebPopupMenuImpl.h:
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::compositionRange): New method on WebWidget
+ (WebKit::WebViewImpl::caretOrSelectionRange): New method on WebWidget
+ * src/WebViewImpl.h:
+ * src/mac/WebSubstringUtil.mm: Added.
+ (WebKit::WebSubstringUtil::attributedSubstringInRange):
+
+2011-04-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ Moar strict OwnPtr fixes for WebKit/chromium
+ https://bugs.webkit.org/show_bug.cgi?id=59437
+
+ This patch fixes all but two strict OwnPtr issues in WebKit/chromium.
+
+ * src/WebDataSourceImpl.cpp:
+ (WebKit::WebDataSourceImpl::setExtraData):
+ (WebKit::WebDataSourceImpl::setNextPluginLoadObserver):
+ (WebKit::WebDataSourceImpl::WebDataSourceImpl):
+ * src/WebDataSourceImpl.h:
+ * src/WebDevToolsAgentImpl.cpp:
+ (WebKit::WebDevToolsAgentImpl::attach):
+ (WebKit::WebDevToolsAgentImpl::detach):
+ (WebKit::WebDevToolsAgent::interruptAndDispatch):
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::printBegin):
+ * src/WebMediaPlayerClientImpl.cpp:
+ (WebKit::createWebMediaPlayer):
+ (WebKit::WebMediaPlayerClientImpl::loadInternal):
+ * src/WebSpeechInputControllerMockImpl.cpp:
+ (WebKit::WebSpeechInputControllerMockImpl::WebSpeechInputControllerMockImpl):
+ * src/WebStorageEventDispatcherImpl.cpp:
+ (WebKit::WebStorageEventDispatcherImpl::WebStorageEventDispatcherImpl):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::WebViewImpl):
+ (WebKit::WebViewImpl::settings):
+ (WebKit::WebViewImpl::applyAutoFillSuggestions):
+ (WebKit::WebView::addUserScript):
+ (WebKit::WebView::addUserStyleSheet):
+
+2011-04-26 Ruben <chromium@hybridsource.org>
+
+ Reviewed by Tony Chang.
+
+ Change linux ifdefs for Chromium to Unix instead, allowing
+ new Unix ports to be enabled by default
+ https://bugs.webkit.org/show_bug.cgi?id=59297
+
+ * src/PlatformBridge.cpp:
+ * src/WebFrameImpl.cpp:
+ * src/WebViewImpl.cpp:
+
+2011-04-26 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ Partial revert of http://trac.webkit.org/changeset/84893, since it
+ triggered a large number of layout test failures.
+ https://bugs.webkit.org/show_bug.cgi?id=59459
+
+ * src/GraphicsContext3DChromium.cpp:
+ (WebCore::GraphicsContext3DInternal::initialize):
+
+2011-04-26 Hans Wennborg <hans@chromium.org>
+
+ Reviewed by Tony Gentilcore.
+
+ IndexedDB: Enable compile-time flag for LevelDB
+ https://bugs.webkit.org/show_bug.cgi?id=59457
+
+ Set ENABLE_LEVELDB=1 in features.gypi.
+
+ * features.gypi:
+
+2011-04-26 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Chromium DevTools: recognize WebP as a valid mimetype in the Chromium port.
+ https://bugs.webkit.org/show_bug.cgi?id=59332
+
+ * src/js/DevTools.js:
+
+2011-04-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ WebKit/chromium should play nice with strict OwnPtrs
+ https://bugs.webkit.org/show_bug.cgi?id=59434
+
+ This fixes about half the issues.
+
+ * src/ApplicationCacheHost.cpp:
+ (WebCore::ApplicationCacheHost::maybeLoadMainResource):
+ * src/ApplicationCacheHostInternal.h:
+ (WebCore::ApplicationCacheHostInternal::ApplicationCacheHostInternal):
+ * src/AutoFillPopupMenuClient.cpp:
+ (WebKit::AutoFillPopupMenuClient::initialize):
+ * src/GraphicsContext3DChromium.cpp:
+ (WebCore::GraphicsContext3DInternal::initialize):
+ * src/ResourceHandle.cpp:
+ (WebCore::ResourceHandleInternal::start):
+ (WebCore::ResourceHandle::ResourceHandle):
+ (WebCore::ResourceHandle::loadResourceSynchronously):
+ * src/SocketStreamHandle.cpp:
+ (WebCore::SocketStreamHandleInternal::connect):
+
+2011-04-25 Dirk Pranke <dpranke@chromium.org>
+
+ Unreviewed, build fix.
+
+ Change FAILS_ to DISABLED_ in r84813.
+
+ * tests/TransparencyWinTest.cpp:
+ (WebCore::TEST):
+
+2011-04-25 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by James Robinson.
+
+ Suppress test failure in Chromium webkit_unit_tests.
+ https://bugs.webkit.org/show_bug.cgi?id=59358
+
+ Looks like this started failing after
+ http://trac.webkit.org/changeset/84631.
+
+ * tests/TransparencyWinTest.cpp:
+ (WebCore::TEST):
+
+2011-04-22 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [Chromium] Move detailed heap snapshots storage and processing into workers.
+ https://bugs.webkit.org/show_bug.cgi?id=59094
+
+ * WebKit.gyp:
+
+2011-04-22 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [Extensions API] misc API cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=59194
+
+ * src/js/DevTools.js:
+ (WebInspector.platformExtensionAPI):
+
+2011-04-21 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ AX: order AccessibilityRole alphabetically
+ https://bugs.webkit.org/show_bug.cgi?id=31524
+
+ * public/WebAccessibilityRole.h:
+
+2011-04-21 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a feature define to allow <details> and <summary> to be disabled
+ https://bugs.webkit.org/show_bug.cgi?id=59118
+ <rdar://problem/9257045>
+
+ * features.gypi:
+
+2011-04-21 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ Add Frame* to the argument lists of canCopyCut and canPaste
+ https://bugs.webkit.org/show_bug.cgi?id=59153
+
+ * src/EditorClientImpl.cpp:
+ (WebKit::EditorClientImpl::canCopyCut):
+ (WebKit::EditorClientImpl::canPaste):
+ * src/EditorClientImpl.h:
+
+2011-04-21 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Bug 58704 - Decide on node type for ShadowRoot
+ https://bugs.webkit.org/show_bug.cgi?id=58704
+
+ Add a new enum entry to WebNode::NodeType for shadow roots.
+ Adapt calling sites for new SHADOW_ROOT_NODE node type.
+
+ * public/WebNode.h:
+ * src/WebPageSerializerImpl.cpp:
+ (WebKit::WebPageSerializerImpl::buildContentForNode):
+
+2011-04-20 Dominic Cooney <dominicc@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ layoutTestController can create and destroy shadow DOM
+ https://bugs.webkit.org/show_bug.cgi?id=59058
+
+ Chromium DRT relies on the Chromium WebKit API
+
+ * public/WebElement.h:
+ * src/WebElement.cpp:
+ (WebKit::WebElement::shadowRoot): don't steal a zero refcount
+ (WebKit::WebElement::ensureShadowRoot): added
+ (WebKit::WebElement::removeShadowRoot): added
+
+2011-04-20 Alexey Marinichev <amarinichev@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ Check for null m_context in WebGLLayerChromium and add resetting platform layer's context in the destructor of GraphicsContext3D.
+ https://bugs.webkit.org/show_bug.cgi?id=59045
+
+ * src/GraphicsContext3DChromium.cpp:
+ (WebCore::GraphicsContext3D::~GraphicsContext3D): call into platform
+ layer and unregister itself.
+
+2011-04-20 Yuzhu Shen <yzshen@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ [chromium] linux chromium doesn't set click count for mouse up events.
+ https://bugs.webkit.org/show_bug.cgi?id=58921
+
+ The reason why we need such a fix is that the Pepper API passes this information to plugins,
+ and some consumers (e.g., Flash) need it to detect double-clicks.
+
+ * src/gtk/WebInputEventFactory.cpp: set click count for mouse up events.
+ * tests/WebInputEventFactoryTestGtk.cpp: added test case MouseUpClickCount.
+2011-04-20 Evan Martin <evan@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ [chromium] expose title text direction on WebDataSource
+ https://bugs.webkit.org/show_bug.cgi?id=59010
+
+ * public/WebDataSource.h:
+ * src/WebDataSourceImpl.cpp:
+ (WebKit::WebDataSourceImpl::pageTitle):
+ (WebKit::WebDataSourceImpl::pageTitleDirection):
+ * src/WebDataSourceImpl.h:
+
+2011-04-20 Pavel Feldman <pfeldman@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: add saveAs into the InspectorFrontendHost binding.
+ https://bugs.webkit.org/show_bug.cgi?id=58979
+
+ * public/WebDevToolsFrontendClient.h:
+ (WebKit::WebDevToolsFrontendClient::saveAs):
+ * src/InspectorFrontendClientImpl.cpp:
+ (WebKit::InspectorFrontendClientImpl::saveAs):
+ * src/InspectorFrontendClientImpl.h:
+ * src/js/DevTools.js:
+
+2011-04-19 Naoki Takano <takano.naoki@gmail.com>
+
+ Reviewed by Kent Tamura.
+
+ [Chromium]UI polishes and tweaks to Autofill dropdown menu.
+ https://bugs.webkit.org/show_bug.cgi?id=58505
+
+ * src/AutoFillPopupMenuClient.cpp:
+ (WebKit::AutoFillPopupMenuClient::initialize): Set AutofillPopup for menuStyle.
+
+2011-04-19 Dirk Pranke <dpranke@chromium.org>
+
+ Unreviewed, attempting build fix.
+
+ Disable leveldb to work around
+ http://code.google.com/p/leveldb/issues/detail?id=1.
+
+ * features.gypi:
+
+2011-04-19 Dominic Cooney <dominicc@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Check the type of the wrapper when unwrapping NPObjects to native
+ Ranges and Elements
+ https://bugs.webkit.org/show_bug.cgi?id=58957
+
+ * src/WebBindings.cpp:
+ (WebKit::getRangeImpl): check HasInstance
+ (WebKit::getElementImpl): check HasInstance
+
2011-04-19 Evan Martin <evan@chromium.org>
Reviewed by Darin Fisher.
diff --git a/Source/WebKit/chromium/public/WebInputEvent.h b/Source/WebKit/chromium/public/WebInputEvent.h
index 581e76c..d329604 100644
--- a/Source/WebKit/chromium/public/WebInputEvent.h
+++ b/Source/WebKit/chromium/public/WebInputEvent.h
@@ -165,6 +165,16 @@
|| type == TouchEnd
|| type == TouchCancel;
}
+
+ // Returns true if the WebInputEvent |type| should be handled as user gesture.
+ static bool isUserGestureEventType(int type)
+ {
+ return isKeyboardEventType(type)
+ || type == MouseDown
+ || type == MouseUp
+ || type == TouchStart
+ || type == TouchEnd;
+ }
};
// WebKeyboardEvent -----------------------------------------------------------
diff --git a/Source/WebKit/chromium/src/AssociatedURLLoader.cpp b/Source/WebKit/chromium/src/AssociatedURLLoader.cpp
index acb7687..0fd4067 100644
--- a/Source/WebKit/chromium/src/AssociatedURLLoader.cpp
+++ b/Source/WebKit/chromium/src/AssociatedURLLoader.cpp
@@ -210,6 +210,7 @@
options.allowCredentials = m_options.allowCredentials;
options.forcePreflight = m_options.forcePreflight;
options.crossOriginRequestPolicy = static_cast<WebCore::CrossOriginRequestPolicy>(m_options.crossOriginRequestPolicy);
+ options.shouldBufferData = false;
const ResourceRequest& webcoreRequest = request.toResourceRequest();
Document* webcoreDocument = m_frameImpl->frame()->document();
diff --git a/Source/WebKit/chromium/src/AutoFillPopupMenuClient.cpp b/Source/WebKit/chromium/src/AutoFillPopupMenuClient.cpp
index d04c57c..d94d583 100644
--- a/Source/WebKit/chromium/src/AutoFillPopupMenuClient.cpp
+++ b/Source/WebKit/chromium/src/AutoFillPopupMenuClient.cpp
@@ -358,7 +358,7 @@
if (!page)
return 0;
- return static_cast<ChromeClientImpl*>(page->chrome()->client())->webView();
+ return static_cast<WebViewImpl*>(page->chrome()->client()->webView());
}
RenderStyle* AutoFillPopupMenuClient::textFieldStyle() const
diff --git a/Source/WebKit/chromium/src/ChromeClientImpl.cpp b/Source/WebKit/chromium/src/ChromeClientImpl.cpp
index f12bf03..eee6934 100644
--- a/Source/WebKit/chromium/src/ChromeClientImpl.cpp
+++ b/Source/WebKit/chromium/src/ChromeClientImpl.cpp
@@ -162,6 +162,11 @@
{
}
+void* ChromeClientImpl::webView() const
+{
+ return static_cast<void*>(m_webView);
+}
+
void ChromeClientImpl::chromeDestroyed()
{
// Our lifetime is bound to the WebViewImpl.
diff --git a/Source/WebKit/chromium/src/ChromeClientImpl.h b/Source/WebKit/chromium/src/ChromeClientImpl.h
index 6a65522..1fd545b 100644
--- a/Source/WebKit/chromium/src/ChromeClientImpl.h
+++ b/Source/WebKit/chromium/src/ChromeClientImpl.h
@@ -58,7 +58,7 @@
explicit ChromeClientImpl(WebViewImpl* webView);
virtual ~ChromeClientImpl();
- WebViewImpl* webView() const { return m_webView; }
+ virtual void* webView() const;
// ChromeClient methods:
virtual void chromeDestroyed();
diff --git a/Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp b/Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp
index 611103c..a2b1d35 100644
--- a/Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp
+++ b/Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp
@@ -114,9 +114,7 @@
return false;
Chrome* chrome = static_cast<Chrome*>(hostWindow);
- WebKit::ChromeClientImpl* chromeClientImpl = static_cast<WebKit::ChromeClientImpl*>(chrome->client());
-
- m_webViewImpl = chromeClientImpl->webView();
+ m_webViewImpl = static_cast<WebKit::WebViewImpl*>(chrome->client()->webView());
if (!m_webViewImpl)
return false;
diff --git a/Source/WebKit/chromium/src/PlatformBridge.cpp b/Source/WebKit/chromium/src/PlatformBridge.cpp
index bbed1ba..a71e7d6 100644
--- a/Source/WebKit/chromium/src/PlatformBridge.cpp
+++ b/Source/WebKit/chromium/src/PlatformBridge.cpp
@@ -104,7 +104,7 @@
namespace WebCore {
-static ChromeClientImpl* toChromeClientImpl(Widget* widget)
+static WebWidgetClient* toWebWidgetClient(Widget* widget)
{
if (!widget)
return 0;
@@ -121,15 +121,11 @@
if (!page)
return 0;
- return static_cast<ChromeClientImpl*>(page->chrome()->client());
-}
-
-static WebWidgetClient* toWebWidgetClient(Widget* widget)
-{
- ChromeClientImpl* chromeClientImpl = toChromeClientImpl(widget);
- if (!chromeClientImpl || !chromeClientImpl->webView())
+ void* webView = page->chrome()->client()->webView();
+ if (!webView)
return 0;
- return chromeClientImpl->webView()->client();
+
+ return static_cast<WebViewImpl*>(webView)->client();
}
static WebCookieJar* getCookieJar(const Document* document)
diff --git a/Source/WebKit/chromium/src/StorageNamespaceProxy.cpp b/Source/WebKit/chromium/src/StorageNamespaceProxy.cpp
index ef19b2f..bd2a2c2 100644
--- a/Source/WebKit/chromium/src/StorageNamespaceProxy.cpp
+++ b/Source/WebKit/chromium/src/StorageNamespaceProxy.cpp
@@ -49,8 +49,7 @@
PassRefPtr<StorageNamespace> StorageNamespace::sessionStorageNamespace(Page* page, unsigned quota)
{
- WebKit::ChromeClientImpl* chromeClientImpl = static_cast<WebKit::ChromeClientImpl*>(page->chrome()->client());
- WebKit::WebViewClient* webViewClient = chromeClientImpl->webView()->client();
+ WebKit::WebViewClient* webViewClient = static_cast<WebKit::WebViewImpl*>(page->chrome()->client()->webView())->client();
return adoptRef(new StorageNamespaceProxy(webViewClient->createSessionStorageNamespace(quota), SessionStorage));
}
diff --git a/Source/WebKit/chromium/src/WebFrameImpl.cpp b/Source/WebKit/chromium/src/WebFrameImpl.cpp
index c06087d..b55246b 100644
--- a/Source/WebKit/chromium/src/WebFrameImpl.cpp
+++ b/Source/WebKit/chromium/src/WebFrameImpl.cpp
@@ -705,23 +705,16 @@
return;
RefPtr<HTMLCollection> forms = m_frame->document()->forms();
- size_t formCount = 0;
- for (size_t i = 0; i < forms->length(); ++i) {
+ size_t sourceLength = forms->length();
+ Vector<WebFormElement> temp;
+ temp.reserveCapacity(sourceLength);
+ for (size_t i = 0; i < sourceLength; ++i) {
Node* node = forms->item(i);
+ // Strange but true, sometimes node can be 0.
if (node && node->isHTMLElement())
- ++formCount;
+ temp.append(WebFormElement(static_cast<HTMLFormElement*>(node)));
}
-
- WebVector<WebFormElement> temp(formCount);
- size_t j = 0;
- for (size_t sourceIndex = 0; j < forms->length(); ++sourceIndex) {
- Node* node = forms->item(sourceIndex);
- // Strange but true, sometimes item can be 0.
- if (node && node->isHTMLElement())
- temp[j++] = static_cast<HTMLFormElement*>(node);
- }
- ASSERT(j == formCount);
- results.swap(temp);
+ results.assign(temp);
}
WebAnimationController* WebFrameImpl::animationController()
@@ -944,8 +937,10 @@
m_frame->page()->backForward()->setCurrentItem(currentItem.get());
}
+ m_inSameDocumentHistoryLoad = currentItem->shouldDoSameDocumentNavigationTo(historyItem.get());
m_frame->page()->goToItem(historyItem.get(),
FrameLoadTypeIndexedBackForward);
+ m_inSameDocumentHistoryLoad = false;
}
void WebFrameImpl::loadData(const WebData& data,
@@ -1039,8 +1034,10 @@
// If we are still loading, then we don't want to clobber the current
// history item as this could cause us to lose the scroll position and
// document state. However, it is OK for new navigations.
- if (m_frame->loader()->loadType() == FrameLoadTypeStandard
- || !m_frame->loader()->activeDocumentLoader()->isLoadingInAPISense())
+ // FIXME: Can we make this a plain old getter, instead of worrying about
+ // clobbering here?
+ if (!m_inSameDocumentHistoryLoad && (m_frame->loader()->loadType() == FrameLoadTypeStandard
+ || !m_frame->loader()->activeDocumentLoader()->isLoadingInAPISense()))
m_frame->loader()->history()->saveDocumentAndScrollState();
return WebHistoryItem(m_frame->page()->backForward()->currentItem());
@@ -1911,6 +1908,7 @@
, m_nextInvalidateAfter(0)
, m_animationController(this)
, m_identifier(generateFrameIdentifier())
+ , m_inSameDocumentHistoryLoad(false)
{
PlatformBridge::incrementStatsCounter(webFrameActiveCount);
frameCount++;
diff --git a/Source/WebKit/chromium/src/WebFrameImpl.h b/Source/WebKit/chromium/src/WebFrameImpl.h
index 572408a..45f915d 100644
--- a/Source/WebKit/chromium/src/WebFrameImpl.h
+++ b/Source/WebKit/chromium/src/WebFrameImpl.h
@@ -410,6 +410,10 @@
// The identifier of this frame.
long long m_identifier;
+
+ // Ensure we don't overwrite valid history data during same document loads
+ // from HistoryItems
+ bool m_inSameDocumentHistoryLoad;
};
} // namespace WebKit
diff --git a/Source/WebKit/chromium/src/WebViewImpl.cpp b/Source/WebKit/chromium/src/WebViewImpl.cpp
index 2438a94..9447b18 100644
--- a/Source/WebKit/chromium/src/WebViewImpl.cpp
+++ b/Source/WebKit/chromium/src/WebViewImpl.cpp
@@ -931,7 +931,8 @@
if (!page)
return 0;
- return static_cast<ChromeClientImpl*>(page->chrome()->client())->webView();
+ ChromeClientImpl* chromeClient = static_cast<ChromeClientImpl*>(page->chrome()->client());
+ return static_cast<WebViewImpl*>(chromeClient->webView());
}
// WebWidget ------------------------------------------------------------------
@@ -1134,7 +1135,7 @@
bool WebViewImpl::handleInputEvent(const WebInputEvent& inputEvent)
{
- UserGestureIndicator gestureIndicator(DefinitelyProcessingUserGesture);
+ UserGestureIndicator gestureIndicator(WebInputEvent::isUserGestureEventType(inputEvent.type) ? DefinitelyProcessingUserGesture : PossiblyProcessingUserGesture);
// If we've started a drag and drop operation, ignore input events until
// we're done.
@@ -1147,49 +1148,36 @@
m_currentInputEvent = &inputEvent;
if (m_mouseCaptureNode.get() && WebInputEvent::isMouseEventType(inputEvent.type)) {
- const int mouseButtonModifierMask = WebInputEvent::LeftButtonDown | WebInputEvent::MiddleButtonDown | WebInputEvent::RightButtonDown;
- if (inputEvent.type == WebInputEvent::MouseDown ||
- (inputEvent.modifiers & mouseButtonModifierMask) == 0) {
- // It's possible the mouse was released and we didn't get the "up"
- // message. This can happen if a dialog pops up while the mouse is
- // held, for example. This will leave us "stuck" in capture mode.
- // If we get a new mouse down message or any other mouse message
- // where no "down" flags are set, we know the user is no longer
- // dragging and we can release the capture and fall through to the
- // regular event processing.
+ // Save m_mouseCaptureNode since mouseCaptureLost() will clear it.
+ RefPtr<Node> node = m_mouseCaptureNode;
+
+ // Not all platforms call mouseCaptureLost() directly.
+ if (inputEvent.type == WebInputEvent::MouseUp)
mouseCaptureLost();
- } else {
- // Save m_mouseCaptureNode since mouseCaptureLost() will clear it.
- RefPtr<Node> node = m_mouseCaptureNode;
- // Not all platforms call mouseCaptureLost() directly.
- if (inputEvent.type == WebInputEvent::MouseUp)
- mouseCaptureLost();
-
- AtomicString eventType;
- switch (inputEvent.type) {
- case WebInputEvent::MouseMove:
- eventType = eventNames().mousemoveEvent;
- break;
- case WebInputEvent::MouseLeave:
- eventType = eventNames().mouseoutEvent;
- break;
- case WebInputEvent::MouseDown:
- eventType = eventNames().mousedownEvent;
- break;
- case WebInputEvent::MouseUp:
- eventType = eventNames().mouseupEvent;
- break;
- default:
- ASSERT_NOT_REACHED();
- }
-
- node->dispatchMouseEvent(
- PlatformMouseEventBuilder(mainFrameImpl()->frameView(), *static_cast<const WebMouseEvent*>(&inputEvent)),
- eventType, static_cast<const WebMouseEvent*>(&inputEvent)->clickCount);
- m_currentInputEvent = 0;
- return true;
+ AtomicString eventType;
+ switch (inputEvent.type) {
+ case WebInputEvent::MouseMove:
+ eventType = eventNames().mousemoveEvent;
+ break;
+ case WebInputEvent::MouseLeave:
+ eventType = eventNames().mouseoutEvent;
+ break;
+ case WebInputEvent::MouseDown:
+ eventType = eventNames().mousedownEvent;
+ break;
+ case WebInputEvent::MouseUp:
+ eventType = eventNames().mouseupEvent;
+ break;
+ default:
+ ASSERT_NOT_REACHED();
}
+
+ node->dispatchMouseEvent(
+ PlatformMouseEventBuilder(mainFrameImpl()->frameView(), *static_cast<const WebMouseEvent*>(&inputEvent)),
+ eventType, static_cast<const WebMouseEvent*>(&inputEvent)->clickCount);
+ m_currentInputEvent = 0;
+ return true;
}
bool handled = true;
diff --git a/Source/WebKit/chromium/src/gtk/WebInputEventFactory.cpp b/Source/WebKit/chromium/src/gtk/WebInputEventFactory.cpp
index 71d1b39..4e355d2 100644
--- a/Source/WebKit/chromium/src/gtk/WebInputEventFactory.cpp
+++ b/Source/WebKit/chromium/src/gtk/WebInputEventFactory.cpp
@@ -45,15 +45,39 @@
namespace {
-bool countsAsDoubleClick(gint timeDiff, gint xDiff, gint yDiff)
+// For click count tracking.
+static int gNumClicks = 0;
+static GdkWindow* gLastClickEventWindow = 0;
+static gint gLastClickTime = 0;
+static gint gLastClickX = 0;
+static gint gLastClickY = 0;
+static WebKit::WebMouseEvent::Button gLastClickButton = WebKit::WebMouseEvent::ButtonNone;
+
+bool shouldForgetPreviousClick(GdkWindow* window, gint time, gint x, gint y)
{
static GtkSettings* settings = gtk_settings_get_default();
+
+ if (window != gLastClickEventWindow)
+ return true;
+
gint doubleClickTime = 250;
gint doubleClickDistance = 5;
g_object_get(G_OBJECT(settings),
"gtk-double-click-time", &doubleClickTime,
"gtk-double-click-distance", &doubleClickDistance, NULL);
- return timeDiff <= doubleClickTime && abs(xDiff) <= doubleClickDistance && abs(yDiff) <= doubleClickDistance;
+ return (time - gLastClickTime) > doubleClickTime
+ || abs(x - gLastClickX) > doubleClickDistance
+ || abs(y - gLastClickY) > doubleClickDistance;
+}
+
+void resetClickCountState()
+{
+ gNumClicks = 0;
+ gLastClickEventWindow = 0;
+ gLastClickTime = 0;
+ gLastClickX = 0;
+ gLastClickY = 0;
+ gLastClickButton = WebKit::WebMouseEvent::ButtonNone;
}
} // namespace
@@ -407,28 +431,6 @@
ASSERT_NOT_REACHED();
};
- if (GDK_BUTTON_PRESS == event->type) {
- static int numClicks = 0;
- static GdkWindow* eventWindow = 0;
- static gint lastLeftClickTime = 0;
- static gint lastLeftClickX = 0;
- static gint lastLeftClickY = 0;
-
- gint timeDiff = event->time - lastLeftClickTime;
- gint xDiff = event->x - lastLeftClickX;
- gint yDiff = event->y - lastLeftClickY;
- if (eventWindow == event->window && countsAsDoubleClick(timeDiff, xDiff, yDiff))
- numClicks++;
- else
- numClicks = 1;
-
- result.clickCount = numClicks;
- eventWindow = event->window;
- lastLeftClickTime = event->time;
- lastLeftClickX = event->x;
- lastLeftClickY = event->y;
- }
-
result.button = WebMouseEvent::ButtonNone;
if (event->button == 1)
result.button = WebMouseEvent::ButtonLeft;
@@ -437,6 +439,23 @@
else if (event->button == 3)
result.button = WebMouseEvent::ButtonRight;
+ if (result.type == WebInputEvent::MouseDown) {
+ bool forgetPreviousClick = shouldForgetPreviousClick(event->window, event->time, event->x, event->y);
+
+ if (!forgetPreviousClick && result.button == gLastClickButton)
+ ++gNumClicks;
+ else {
+ gNumClicks = 1;
+
+ gLastClickEventWindow = event->window;
+ gLastClickX = event->x;
+ gLastClickY = event->y;
+ gLastClickButton = result.button;
+ }
+ gLastClickTime = event->time;
+ }
+ result.clickCount = gNumClicks;
+
return result;
}
@@ -469,6 +488,9 @@
else if (event->state & GDK_BUTTON3_MASK)
result.button = WebMouseEvent::ButtonRight;
+ if (shouldForgetPreviousClick(event->window, event->time, event->x, event->y))
+ resetClickCountState();
+
return result;
}
@@ -505,6 +527,9 @@
else if (event->state & GDK_BUTTON3_MASK)
result.button = WebMouseEvent::ButtonRight;
+ if (shouldForgetPreviousClick(event->window, event->time, event->x, event->y))
+ resetClickCountState();
+
return result;
}
diff --git a/Source/WebKit/chromium/tests/WebInputEventFactoryTestGtk.cpp b/Source/WebKit/chromium/tests/WebInputEventFactoryTestGtk.cpp
index 7cd4837..64c63ea 100644
--- a/Source/WebKit/chromium/tests/WebInputEventFactoryTestGtk.cpp
+++ b/Source/WebKit/chromium/tests/WebInputEventFactoryTestGtk.cpp
@@ -109,4 +109,67 @@
EXPECT_EQ(1, secondClickEvent.clickCount);
}
+TEST(WebInputEventFactoryTest, MouseUpClickCount)
+{
+ GdkEventButton mouseDown;
+ memset(&mouseDown, 0, sizeof(mouseDown));
+ mouseDown.type = GDK_BUTTON_PRESS;
+ mouseDown.window = static_cast<GdkWindow*>(GINT_TO_POINTER(1));
+ mouseDown.x = mouseDown.y = mouseDown.x_root = mouseDown.y_root = 100;
+ mouseDown.time = 0;
+ mouseDown.button = 1;
+
+ // Properly set the last click time, so that the internal state won't be affected by previous tests.
+ WebInputEventFactory::mouseEvent(&mouseDown);
+
+ mouseDown.time += 10000;
+ GdkEventButton mouseUp = mouseDown;
+ mouseUp.type = GDK_BUTTON_RELEASE;
+ WebMouseEvent mouseDownEvent;
+ WebMouseEvent mouseUpEvent;
+
+ // Click for three times.
+ for (int i = 1; i < 4; ++i) {
+ mouseDown.time += 100;
+ mouseDownEvent = WebInputEventFactory::mouseEvent(&mouseDown);
+ EXPECT_EQ(i, mouseDownEvent.clickCount);
+
+ mouseUp.time = mouseDown.time + 50;
+ mouseUpEvent = WebInputEventFactory::mouseEvent(&mouseUp);
+ EXPECT_EQ(i, mouseUpEvent.clickCount);
+ }
+
+ // Reset the click count.
+ mouseDown.time += 10000;
+ mouseDownEvent = WebInputEventFactory::mouseEvent(&mouseDown);
+ EXPECT_EQ(1, mouseDownEvent.clickCount);
+
+ // Moving the cursor for a significant distance will reset the click count to 0.
+ GdkEventMotion mouseMove;
+ memset(&mouseMove, 0, sizeof(mouseMove));
+ mouseMove.type = GDK_MOTION_NOTIFY;
+ mouseMove.window = mouseDown.window;
+ mouseMove.time = mouseDown.time;
+ mouseMove.x = mouseMove.y = mouseMove.x_root = mouseMove.y_root = mouseDown.x + 100;
+ WebInputEventFactory::mouseEvent(&mouseMove);
+
+ mouseUp.time = mouseDown.time + 50;
+ mouseUpEvent = WebInputEventFactory::mouseEvent(&mouseUp);
+ EXPECT_EQ(0, mouseUpEvent.clickCount);
+
+ // Reset the click count.
+ mouseDown.time += 10000;
+ mouseDownEvent = WebInputEventFactory::mouseEvent(&mouseDown);
+ EXPECT_EQ(1, mouseDownEvent.clickCount);
+
+ // Moving the cursor with a significant delay will reset the click count to 0.
+ mouseMove.time = mouseDown.time + 1000;
+ mouseMove.x = mouseMove.y = mouseMove.x_root = mouseMove.y_root = mouseDown.x;
+ WebInputEventFactory::mouseEvent(&mouseMove);
+
+ mouseUp.time = mouseMove.time + 50;
+ mouseUpEvent = WebInputEventFactory::mouseEvent(&mouseUp);
+ EXPECT_EQ(0, mouseUpEvent.clickCount);
+}
+
} // anonymous namespace
diff --git a/Source/WebKit/mac/WebCoreSupport/WebChromeClient.h b/Source/WebKit/mac/WebCoreSupport/WebChromeClient.h
index 004d49b..0ecb9f2 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebChromeClient.h
+++ b/Source/WebKit/mac/WebCoreSupport/WebChromeClient.h
@@ -35,8 +35,8 @@
class WebChromeClient : public WebCore::ChromeClient {
public:
- WebChromeClient(WebView *webView);
- WebView *webView() const { return m_webView; }
+ WebChromeClient(WebView*);
+ virtual void* webView() const { return static_cast<void*>(m_webView); }
virtual void chromeDestroyed();
diff --git a/Source/WebKit/mac/WebView/WebFrame.mm b/Source/WebKit/mac/WebView/WebFrame.mm
index ab8c34d..a20a674 100644
--- a/Source/WebKit/mac/WebView/WebFrame.mm
+++ b/Source/WebKit/mac/WebView/WebFrame.mm
@@ -246,7 +246,7 @@
WebView *kit(Page* page)
{
- return page ? static_cast<WebChromeClient*>(page->chrome()->client())->webView() : nil;
+ return page ? static_cast<WebView*>(page->chrome()->client()->webView()) : nil;
}
WebView *getWebView(WebFrame *webFrame)
diff --git a/Source/WebKit/win/WebCoreSupport/WebChromeClient.h b/Source/WebKit/win/WebCoreSupport/WebChromeClient.h
index adfc869..2e92635 100644
--- a/Source/WebKit/win/WebCoreSupport/WebChromeClient.h
+++ b/Source/WebKit/win/WebCoreSupport/WebChromeClient.h
@@ -43,6 +43,7 @@
virtual void chromeDestroyed();
+ virtual void* webView() const { return 0; }
virtual void setWindowRect(const WebCore::FloatRect&);
virtual WebCore::FloatRect windowRect();
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h b/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h
index 57e98c5..1abe34c 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h
@@ -47,6 +47,8 @@
WebPage* page() const { return m_page; }
+ virtual void* webView() const { return 0; }
+
private:
virtual void chromeDestroyed();