ChangeLog-2012-10-02   [plain text]


2012-10-02  Simon Fraser  <simon.fraser@apple.com>

        Make TiledBacking slightly less aware of scrolling
        https://bugs.webkit.org/show_bug.cgi?id=98216

        Reviewed by Anders Carlsson.

        TiledBacking shouldn't really care about there being scrollbars;
        recast this in terms of "tile coverage", described by a bitfield
        that has flags for coverage optimized for horizontal and vertical
        scrolling. This allows for additional tile coverage behaviors later.

        * page/FrameView.cpp:
        (WebCore::FrameView::performPostLayoutTasks):
        * platform/graphics/TiledBacking.h:
        * platform/graphics/ca/mac/TileCache.h:
        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::TileCache): Initialize m_isInWindow to false to
        be more conservative. It gets explicitly set by the only caller now, so this is
        not a behavior change.
        (WebCore::TileCache::setIsInWindow):
        (WebCore::TileCache::setTileCoverage):
        (WebCore::TileCache::tileCoverageRect):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::RenderLayerBacking):

2012-10-02  Dean Jackson  <dino@apple.com>

        Expose some GPU Information
        https://bugs.webkit.org/show_bug.cgi?id=97813

        Reviewed by Sam Weinig, Ken Russell and Tim Horton.

        Currently there are a few places in the WebGL code (and elsewhere, like CSS filters)
        where we do some feature detection by examining the GPU vendor and its capabilities.
        This patch puts this detection into our shared Extensions3D object.

        Covered by existing tests. No new functionality.

        * platform/graphics/Extensions3D.h: Adds the new methods for detecting vendor and features.
        * platform/graphics/GraphicsContext3D.h:
        (GraphicsContext3D): No longer needs function to detect multisampling on ATI.
        * platform/graphics/chromium/Extensions3DChromium.h: Stub implementations of all
        the new methods. Chromium does its detection elsewhere.
        (WebCore::Extensions3DChromium::isNVIDIA):
        (WebCore::Extensions3DChromium::isAMD):
        (WebCore::Extensions3DChromium::isIntel):
        (WebCore::Extensions3DChromium::vendor):
        (Extensions3DChromium):
        (WebCore::Extensions3DChromium::maySupportMultisampling):
        (WebCore::Extensions3DChromium::requiresBuiltInFunctionEmulation):
        * platform/graphics/filters/FECustomFilter.cpp:
        (WebCore::FECustomFilter::createMultisampleBuffer): Add test for system multisampling to
        custom filter code.
        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::create): Add test for system multisampling to drawing buffer's
        creation code.
        * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
        (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon): Detects all the features
        as the object is created.
        (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): Can now simply ask
        itself if it needs to turn on built-in function translation.
        * platform/graphics/opengl/Extensions3DOpenGLCommon.h:
        (Extensions3DOpenGLCommon):
        (WebCore::Extensions3DOpenGLCommon::isNVidia):
        (WebCore::Extensions3DOpenGLCommon::isAMD):
        (WebCore::Extensions3DOpenGLCommon::isIntel):
        (WebCore::Extensions3DOpenGLCommon::vendor):
        (WebCore::Extensions3DOpenGLCommon::maySupportMultisampling):
        (WebCore::Extensions3DOpenGLCommon::requiresBuiltInFunctionEmulation):
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::validateAttributes): Ask the extension object instead of
        testing directly.
        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
        (WebCore::GraphicsContext3D::validateDepthStencil): Ask the extension object instead
        of testing directly.

2012-10-02  Kenichi Ishibashi  <bashi@chromium.org>

        [Chromium] Introduce caches for HarfBuzzShaper
        https://bugs.webkit.org/show_bug.cgi?id=97993

        Reviewed by Tony Chang.

        - Implement canRenderCombiningCharacterSequence() for ports which use
        HarfBuzzShaper. This function caches the result and will improve the
        performance of HarfBuzzShaper::collectHarfBuzzRuns.
        - Add a HashMap to HarfBuzzNGFace. It is used as a cache that holds
        glyph indexes of codepoints. It reduces the number of
        SkPaint::textToGlyphs() calls.

        This patch makes the intl2 page cycler 4.4% faster on my machine.

        No new tests. No changes in behavior.

        * platform/graphics/SimpleFontData.h:
        (SimpleFontData): Enabled canRenderCombiningCharacterSequence() if USE(HARFBUZZ_NG) is enabled.
        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
        (WebCore):
        (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): Added.
        * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp:
        (WebCore):
        (FaceCacheEntry): Added.
        (WebCore::HarfBuzzNGFace::HarfBuzzNGFace):
        Lookup the cache entry in harfBuzzFaceCache. Create the entry if there is no entry in the cache.
        Increment the ref count of the entry and set cache entry values to member variables.
        (WebCore::HarfBuzzNGFace::~HarfBuzzNGFace):
        Decrement the ref count of the cache entry. Remove the entry if no one refers the cache.
        * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h:
        (HarfBuzzNGFace):
        * platform/graphics/harfbuzz/ng/HarfBuzzNGFaceSkia.cpp:
        (HarfBuzzFontData): Added. Used as |userData| of harfbuzz callback functions.
        (WebCore):
        (WebCore::SkiaGetGlyphWidthAndExtents):
        (WebCore::harfbuzzGetGlyph):
        Look up the glyphChache first. If the cache entry doesn't exist, call
        SkPaint::textToGlyphs() to get glyph index and store it to the cache.
        (WebCore::harfbuzzGetGlyphHorizontalAdvance):
        (WebCore::harfbuzzGetGlyphExtents):
        (WebCore::destroyHarfBuzzFontData): Added.
        (WebCore::HarfBuzzNGFace::createFont):
        Create HarfBuzzFontData and pass it to harfbuzz.
        * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
        (WebCore::HarfBuzzShaper::HarfBuzzRun::applyShapeResult):
        Don't initialize m_glyphToCharacterIndexes here.
        (WebCore::HarfBuzzShaper::collectHarfBuzzRuns):
        Use SimpleFontData::canRenderCombiningCharacterSequence() instead of
        fontDataForCombiningCharacterSequence().
        (WebCore::HarfBuzzShaper::setGlyphPositionsForHarfBuzzRun):
        Set glyphToCharacterIndexes of the current HarfBuzzRun.
        * platform/graphics/skia/SimpleFontDataSkia.cpp:
        (WebCore):
        (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): Added.

2012-10-02  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=98182
        REGRESSION (r130091): Scroll wheel no longer scrolls within div

        Reviewed by Simon Fraser.

        Forgot to initialize m_nonFastScrollableRegion in this copy 
        constructor.
        * page/scrolling/ScrollingStateScrollingNode.cpp:
        (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):

2012-10-02  Nate Chapin  <japhet@chromium.org>

        iframes with scrolling=no can't scroll to anchors
        https://bugs.webkit.org/show_bug.cgi?id=96539

        Reviewed by Antonio Gomes.

        This appears to have regressed in r106730. This patch matches Firefox's behavior.

        Test: fast/dom/HTMLAnchorElement/anchor-in-noscroll-iframe.html

        * page/EventHandler.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollRectToVisible): Currently scrolls are always forbidden
           if scrollbars are explicitly disabled. This adds an exception for scrolls that
           are not user-initiated and are not autoscrolls.

2012-10-02  Simon Fraser  <simon.fraser@apple.com>

        Restore the virtual purity of TileBacking
        https://bugs.webkit.org/show_bug.cgi?id=98208

        Reviewed by Anders Carlsson.

        Remove the data member on TileBacking, make the logging methods
        virtual, and move the implememtation to TileCache.

        * platform/graphics/TiledBacking.h:
        * platform/graphics/ca/mac/TileCache.h:
        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::TileCache):
        * platform/graphics/ca/mac/WebTileLayer.mm:
        (-[WebTileLayer drawInContext:]): Have to cast to call the public
        method on the base class.

2012-10-02  Ojan Vafai  <ojan@chromium.org>

        isMainThread() should only be called by NoEventDispatchAssertion in debug builds
        https://bugs.webkit.org/show_bug.cgi?id=98191

        This fixes a performance regression and matches the original code from
        before the refactor in http://trac.webkit.org/changeset/130077.

        * dom/ContainerNode.h:
        (WebCore::NoEventDispatchAssertion::NoEventDispatchAssertion):
        (WebCore::NoEventDispatchAssertion::~NoEventDispatchAssertion):

2012-10-02  Erik Arvidsson  <arv@chromium.org>

        createHTMLDocument() should not create a title element if the title argument is left out
        https://bugs.webkit.org/show_bug.cgi?id=96694

        Reviewed by Darin Adler.

        In case the argument is not passed to createHTMLDocument we use a null string and check
        for that before creating a title element.

        Test: fast/dom/DOMImplementation/createHTMLDocument-optional-title.html

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createHTMLDocument):
        * dom/DOMImplementation.idl:

2012-10-02  David Grogan  <dgrogan@chromium.org>

        IndexedDB: Don't wedge if page reloads with pending upgradeneeded
        https://bugs.webkit.org/show_bug.cgi?id=98091

        Reviewed by Tony Chang.

        Test: storage/indexeddb/dont-wedge.html

        * Modules/indexeddb/IDBOpenDBRequest.cpp:
        (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
        This got the same treatment as IDBRequest::onSuccess(Transaction).
        Explicitly tell the backend objects that they are going away so that
        m_runningVersionChangeTransaction is cleared and connectionCount()
        decreases.

2012-10-02  David Grogan  <dgrogan@chromium.org>

        http/tests/inspector/indexeddb/database-structure.html start to crash after r124675
        https://bugs.webkit.org/show_bug.cgi?id=93225

        Reviewed by Tony Chang.

        Tests - the disabled indexeddb inspector tests are re-enabled.

        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
        (WebCore::IDBDatabaseBackendImpl::close):
        Detect re-entrancy and bail.

        * Modules/indexeddb/IDBDatabaseBackendImpl.h:
        (IDBDatabaseBackendImpl):

2012-10-02  Michael Saboff  <msaboff@apple.com>

        HTMLConstructionSite::insertTextNode isn't optimized for 8 bit strings
        https://bugs.webkit.org/show_bug.cgi?id=97740

        Reviewed by Darin Adler.

        Changed parserAppendData to take a string instead of a UChar*.  Also added an optional offset
        argument to handle string+offset.  The actual string append now uses the appropriate string
        size.

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::parserAppendData):
        * dom/CharacterData.h:
        (CharacterData):
        * dom/Text.cpp:
        (WebCore::Text::createWithLengthLimit):
        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertTextNode):

2012-10-02  Ojan Vafai  <ojan@chromium.org>

        Unreviewed, rolling out r130103 and r130125.
        http://trac.webkit.org/changeset/130103
        http://trac.webkit.org/changeset/130125
        https://bugs.webkit.org/show_bug.cgi?id=97974

        Causes performance regressions on Dromaeo dom modify tests.

        * bindings/v8/IntrusiveDOMWrapperMap.h:
        (WebCore):
        (ChunkedTable):
        (WebCore::ChunkedTable::ChunkedTable):
        (WebCore::ChunkedTable::add):
        (WebCore::ChunkedTable::remove):
        (WebCore::ChunkedTable::clear):
        (WebCore::ChunkedTable::visit):
        (WebCore::ChunkedTable::reportMemoryUsage):
        (WebCore::ChunkedTable::Chunk::Chunk):
        (Chunk):
        (WebCore::ChunkedTable::clearEntries):
        (WebCore::ChunkedTable::visitEntries):
        (WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
        (WebCore::IntrusiveDOMWrapperMap::get):
        (WebCore::IntrusiveDOMWrapperMap::set):
        (WebCore::IntrusiveDOMWrapperMap::contains):
        (WebCore::IntrusiveDOMWrapperMap::visit):
        (WebCore::IntrusiveDOMWrapperMap::removeIfPresent):
        (IntrusiveDOMWrapperMap):
        (WebCore::IntrusiveDOMWrapperMap::clear):
        (ChunkedTableTraits):
        (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::move):
        (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear):
        (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit):
        * bindings/v8/ScriptWrappable.h:
        (WebCore::ScriptWrappable::ScriptWrappable):
        (WebCore::ScriptWrappable::wrapper):
        (WebCore::ScriptWrappable::setWrapper):
        (WebCore::ScriptWrappable::clearWrapper):
        (WebCore::ScriptWrappable::reportMemoryUsage):
        (ScriptWrappable):
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::getCachedWrapper):

2012-10-02  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: NMI: switch to non intrusive instrumentation of ParsedURL.
        https://bugs.webkit.org/show_bug.cgi?id=98150

        Reviewed by Yury Semikhatsky.

        Style changes.

        * platform/KURLWTFURLImpl.h:
        (WebCore::KURLWTFURLImpl::reportMemoryUsage):

2012-10-02  Anders Carlsson  <andersca@apple.com>

        Add new GraphicsLayer::create overload to all ports
        https://bugs.webkit.org/show_bug.cgi?id=98082

        Reviewed by Andreas Kling.

        Add the GraphicsLayer::create variant that takes a factory to all ports.

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore):
        (WebCore::GraphicsLayer::setGraphicsLayerFactory):
        * platform/graphics/GraphicsLayer.h:
        (GraphicsLayer):
        Rename the GraphicsLayerFactory function typedef to GraphicsLayerFactoryCallback to avoid collisions.

        * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
        (WebCore::GraphicsLayer::create):
        (WebCore):
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayer::create):
        (WebCore):
        * platform/graphics/clutter/GraphicsLayerClutter.cpp:
        (WebCore::GraphicsLayer::create):
        (WebCore):
        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
        (WebCore::GraphicsLayer::create):
        (WebCore):

2012-10-02  Takashi Sakamoto  <tasak@google.com>

        [Shadow] ShadowRoot should know whether <shadow> in its treescope
        https://bugs.webkit.org/show_bug.cgi?id=97184

        Reviewed by Dimitri Glazkov.

        To quickly know whether some shadow dom subtree has any shadow element
        or not, added hasShadowRootInsertionPoint, registerShadowElement and
        unregisterShadowElement to class ShadowRoot. The register method or
        unregister method is used when a shadow element is inserted into
        document or removed from document. hasShadowInsertionPoint returns true
        if any shadow element is still registered with the given shadow root.
        Otherwise returns false. To test hasShadowInsertionPoint, added
        hasShadowInsertionPoint to Internals.

        Test: fast/dom/shadow/has-shadow-insertion-point.html

        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::ShadowRoot):
        Initializes number of shadow elements.
        * dom/ShadowRoot.h:
        (WebCore::ShadowRoot::registerShadowElement):
        Increases number of shadow elements in shadow dom subtree by 1.
        (WebCore::ShadowRoot::unregisterShadowElement):
        Decreases number of shadow elements in shadow dom subtree by 1.
        (WebCore::ShadowRoot::hasShadowInsertionPoint):
        If number of shadow elements in shadow dom subtree is not equal to 0,
        returns true. Otherwise, returns false.
        * html/shadow/HTMLShadowElement.cpp:
        (WebCore::HTMLShadowElement::HTMLShadowElement):
        (WebCore::HTMLShadowElement::insertedInto):
        If a shadow element is inserted into document, register the shadow
        element with its shadow root.
        (WebCore::HTMLShadowElement::removedFrom):
         If a shadow element is removed from document, unregister the shadow
        element with its shadow root.
        * html/shadow/HTMLShadowElement.h:
        Added a new member variable which has information about whether
        this shadow element has been already registered with its shadow root
        or not.
        * testing/Internals.cpp:
        (WebCore::Internals::hasShadowInsertionPoint):
        Added a new testing method which returns whether the given shadow
        root has any shadow element or not.
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-10-02  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [Regression] DevToolsExtensionTest.TestContentScriptIsPresent fails
        https://bugs.webkit.org/show_bug.cgi?id=98161

        Reviewed by Pavel Feldman.

        Content scripts should be also added by NetworkUISourceCodeProvider. This patch fixes that.

        * inspector/front-end/NetworkUISourceCodeProvider.js:
        (WebInspector.NetworkUISourceCodeProvider.prototype._parsedScriptSource):

2012-10-02  Patrick Gansterer  <paroga@webkit.org>

        [WINCE] Remove FontPlatformData::averageCharWidth()
        https://bugs.webkit.org/show_bug.cgi?id=97883

        Reviewed by Andreas Kling.

        Use SimpleFontData::avgCharWidth() instead to remove duplicated code.

        * platform/graphics/wince/FontPlatformData.cpp:
        (WebCore::FixedSizeFontData::create):
        * platform/graphics/wince/FontPlatformData.h:
        (FontPlatformData):
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::drawText):

2012-10-02  Stephen Chenney  <schenney@chromium.org>

        Refactor WebCore::FontData handling to clarify pointer ownership
        https://bugs.webkit.org/show_bug.cgi?id=95866

        Reviewed by Eric Seidel.

        Re-commit for a rolled-out original, now with Chromium Windows build fix.

        This patch makes all FontData and derived classes ref-counted in all
        code paths that lead to caching or other retention of a
        pointer. The goal is to avert crashes and memory leaks, and to bring
        the code more in line with current WebKit practices.

        Specifically, this patch allows us to use ref pointers for all the
        FontData stored in FontFallbackList objects. The FontFallbackList can
        then own custom font data and manage its lifetime (forthcoming patch).
        Currently Document owns custom font data and does an end run around
        FontFallbackList in deleting glyph pages and custom font data, leaving
        FontFallbackList with invalid pointers.

        All FontData derived classes have been switched to use static create
        methods with private constructors.

        All caches that hold FontData now use RefPtrs.

        All methods that construct new font data now return PassRefPtr, with the
        exception of code only used to generate temporary data for text run layout.

        All methods that handle FontData in a call stack that passes through
        FontFallbackList::fontDataAt return PassRefPtr.

        Performance tested with both WebKit Perf-o-matic, which showed
        performance changes in the noise, and Chrome's page cycling tests with
        the acid3 benchmark set, which showed no performance difference at all.

        No new tests as this is refactoring code only and has no impact on functionality.

        * css/CSSFontFace.cpp:
        (WebCore::CSSFontFace::getFontData):
        * css/CSSFontFace.h:
        (CSSFontFace):
        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData):
        * css/CSSFontFaceSource.h:
        (CSSFontFaceSource):
        * css/CSSFontSelector.cpp:
        (WebCore::fontDataForGenericFamily):
        (WebCore::CSSFontSelector::getFontData):
        * css/CSSFontSelector.h:
        * css/CSSSegmentedFontFace.cpp:
        (WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading):
        (WebCore::CSSSegmentedFontFace::getFontData):
        * css/CSSSegmentedFontFace.h:
        (CSSSegmentedFontFace):
        * dom/Document.cpp:
        (WebCore::Document::registerCustomFont):
        * dom/Document.h:
        (Document):
        * platform/graphics/Font.h:
        (WebCore):
        * platform/graphics/FontCache.cpp:
        (WebCore):
        (WebCore::FontCache::getCachedFontData):
        (WebCore::FontCache::getNonRetainedLastResortFallbackFont):
        (WebCore::FontCache::releaseFontData):
        (WebCore::FontCache::purgeInactiveFontData):
        (WebCore::FontCache::getFontData):
        * platform/graphics/FontCache.h:
        (FontCache):
        * platform/graphics/FontData.h:
        * platform/graphics/FontFallbackList.cpp:
        (WebCore::FontFallbackList::releaseFontData):
        (WebCore::FontFallbackList::fontDataAt):
        (WebCore::FontFallbackList::setPlatformFont):
        * platform/graphics/FontFallbackList.h:
        (FontFallbackList):
        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::glyphDataAndPageForCharacter):
        * platform/graphics/FontSelector.h:
        (FontSelector):
        * platform/graphics/GlyphPageTreeNode.cpp:
        (WebCore::GlyphPageTreeNode::initializePage):
        * platform/graphics/SegmentedFontData.cpp:
        (WebCore::SegmentedFontData::fontDataForCharacter):
        * platform/graphics/SegmentedFontData.h:
        (WebCore::FontDataRange::FontDataRange):
        (WebCore::FontDataRange::fontData):
        (FontDataRange):
        (WebCore::SegmentedFontData::create):
        (SegmentedFontData):
        (WebCore::SegmentedFontData::SegmentedFontData):
        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::verticalRightOrientationFontData):
        (WebCore::SimpleFontData::uprightOrientationFontData):
        (WebCore::SimpleFontData::brokenIdeographFontData):
        * platform/graphics/SimpleFontData.h:
        (WebCore::SimpleFontData::create):
        (SimpleFontData):
        (WebCore::SimpleFontData::variantFontData):
        (DerivedFontData):
        * platform/graphics/chromium/FontCacheAndroid.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
        (GetLastResortFallbackFontProcData):
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/freetype/FontCacheFreeType.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/mac/ComplexTextControllerCoreText.mm:
        (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
        * platform/graphics/mac/FontCacheMac.mm:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/mac/FontComplexTextMac.cpp:
        (WebCore::Font::fontDataForCombiningCharacterSequence):
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformDestroy):
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/pango/FontCachePango.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/pango/SimpleFontDataPango.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/qt/FontCacheQt.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/qt/SimpleFontDataQt.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/skia/FontCacheSkia.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/skia/SimpleFontDataSkia.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/win/SimpleFontDataWin.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/wince/FontCacheWinCE.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/wince/SimpleFontDataWinCE.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/wx/FontCacheWx.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/wx/SimpleFontDataWx.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):

2012-10-02  Christophe Dumez  <christophe.dumez@intel.com>

        [XMLHttpRequest] overrideMimeType(mime) does not update the response's "Content-Type" header
        https://bugs.webkit.org/show_bug.cgi?id=98137

        Reviewed by Kentaro Hara.

        According to the XMLHttpRequest specification, overrideMimeType(mime) sets the
        "Content-Type" header for the response to mime. However, with the current
        implementation, calling overrideMimeType(mime) does not affect the value
        returned by client.getResponseHeader("Content-Type"). This patch makes sure
        the response's "Content-Type" header is properly updated with the override
        MIME type.

        Test: http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-content-type-header.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::didReceiveResponse):

2012-10-02  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Move UISourceCode creation out from ResourceScriptMapping.
        https://bugs.webkit.org/show_bug.cgi?id=97680

        Reviewed by Pavel Feldman.

        UISourceCodes for scripts having sourceURL are now created by NetworkUISourceCodeProvider.
        UISourceCodes for anonymous, dynamic and concatenated scripts are now created on demand only.
        All UISourceCodes created by ResourceScriptMapping are now "temporary".
        Temporary UISourceCodes are not stored in workspace and removed when a normal UISourceCode with the same url is available.
        UISourceCodeReplaced event was replaced with TemporaryUISourceCodeAdded/Removed events.

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager):
        (WebInspector.BreakpointManager.prototype._uiSourceCodeRemoved):
        (WebInspector.BreakpointManager.Breakpoint.prototype.remove):
        * inspector/front-end/NavigatorView.js:
        * inspector/front-end/NetworkUISourceCodeProvider.js:
        (WebInspector.NetworkUISourceCodeProvider):
        (WebInspector.NetworkUISourceCodeProvider.prototype._parsedScriptSource):
        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping):
        (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
        (WebInspector.ResourceScriptMapping.prototype._workspaceUISourceCodeForScript):
        (WebInspector.ResourceScriptMapping.prototype.uiLocationToRawLocation):
        (WebInspector.ResourceScriptMapping.prototype.addScript):
        (WebInspector.ResourceScriptMapping.prototype._deleteTemporaryUISourceCodeForScripts):
        (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
        (WebInspector.ResourceScriptMapping.prototype._isDynamicScript):
        (WebInspector.ResourceScriptMapping.prototype._getOrCreateTemporaryUISourceCode):
        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAddedToWorkspace):
        (WebInspector.ResourceScriptMapping.prototype._scriptsForUISourceCode):
        (WebInspector.ResourceScriptMapping.prototype._reset):
        * inspector/front-end/RevisionHistoryView.js:
        (WebInspector.RevisionHistoryView):
        * inspector/front-end/ScriptsNavigator.js:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        * inspector/front-end/TabbedEditorContainer.js:
        (WebInspector.TabbedEditorContainer.prototype.removeUISourceCode.get if):
        (WebInspector.TabbedEditorContainer.prototype.removeUISourceCode):
        * inspector/front-end/UISourceCode.js:
        * inspector/front-end/Workspace.js:
        (WebInspector.Project.prototype.addTemporaryUISourceCode):
        (WebInspector.Project.prototype.removeTemporaryUISourceCode):

2012-10-02  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: fix front-end compilation
        https://bugs.webkit.org/show_bug.cgi?id=98135

        Reviewed by Vsevolod Vlasov.

        Fixing front-end compilation errors.

        * inspector/InjectedScriptCanvasModuleSource.js:
        (.):
        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/front-end/DOMExtension.js:
        (Element.prototype.pruneEmptyTextNodes):
        * inspector/front-end/DatabaseQueryView.js:
        * inspector/front-end/ExtensionAPI.js:
        * inspector/front-end/JavaScriptSource.js:
        (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
        * inspector/front-end/RuntimeModel.js:
        * inspector/front-end/StylesSidebarPane.js:
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
        * inspector/front-end/treeoutline.js:
        (TreeElement.prototype.expandRecursively):

2012-10-02  Jochen Eisinger  <jochen@chromium.org>

        [chromium] ASSERT that the embedder has set a default locale
        https://bugs.webkit.org/show_bug.cgi?id=98001

        Reviewed by Adam Barth.

        The callsites assume that the default language is always defined, e.g.
        Document::getCachedLocalizer. Add an ASSERT() statement so an embedder
        doesn't have to guess what they did wrong.

        * platform/chromium/LanguageChromium.cpp:
        (WebCore::platformLanguage):

2012-10-02  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Fix JavaScriptSource error found by compiler
        https://bugs.webkit.org/show_bug.cgi?id=98143

        Reviewed by Pavel Feldman.

        * inspector/front-end/JavaScriptSource.js:
        (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):

2012-10-02  Mike West  <mkwst@chromium.org>

        Add call stacks to Content Security Policy checks when relevant.
        https://bugs.webkit.org/show_bug.cgi?id=94433

        Reviewed by Adam Barth.

        Previously, we generated stack traces only for eval-related CSP
        violations. As it turns out, we can call createScriptCallStack from
        practically anywhere. This patch takes advantage of that to generate
        stack traces whenever a warning is logged to the console. If we're in
        a JavaScript stack, brilliant: we get a detailed warning. If not, the
        stack trace is empty, and we don't pass it into the console logging
        method.

        This has the advantage of giving us good developer-facing logging for
        any and all violations that result from script-based injection of
        resources. Yay!

        Tests: http/tests/inspector/csp-injected-content-warning-contains-stacktrace.html
               http/tests/inspector/csp-inline-warning-contains-stacktrace.html
               http/tests/inspector/csp-setInterval-warning-contains-stacktrace.html
               http/tests/inspector/csp-setTimeout-warning-contains-stacktrace.html

        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::create):
            Replacing the generated stack trace with the current script state,
            which will enable us to generate the stack trace inside
            ContentSecurityPolicy::reportViolation if it's relevant.
        * bindings/v8/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStackForConsole):
        (WebCore):
        * bindings/v8/ScriptCallStackFactory.h:
        (WebCore):
            Adding a dummy interface to createScriptCallStackForConsole that
            allows ScriptState to be passed in, which matches JSC's interface.
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::WindowSetTimeoutImpl):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::SetTimeoutOrInterval):
            Dropping stack trace from call to ContentSecurityPolicy::allowEval.
        * page/ContentSecurityPolicy.cpp:
        (CSPDirectiveList):
        (WebCore::CSPDirectiveList::reportViolation):
        (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
        (WebCore::CSPDirectiveList::allowEval):
            Piping script state through from CSPDirectiveList::allowEval rather
            than a full stack trace.
        (WebCore):
        (WebCore::isAllowedByAll):
        (WebCore::isAllowedByAllWithState):
        (WebCore::ContentSecurityPolicy::allowEval):
        (WebCore::ContentSecurityPolicy::reportViolation):
        (WebCore::ContentSecurityPolicy::logToConsole):
            Piping script state through from ContentSecurityPolicy::allowEval
            rather than a full stack trace. Now, we can simply generate the
            stack trace just before logging it, and only pass it into
            addConsoleMessage if it's non-empty.
        * page/ContentSecurityPolicy.h:
        (JSC):
        (WebCore):
            Including 'ScriptState.h' to normalize V8 and JSC's JS state objects.

2012-10-02  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: migrate from WebInspector.Foo.prototype.__proto__ = to __proto__: syntax
        https://bugs.webkit.org/show_bug.cgi?id=98127

        Reviewed by Vsevolod Vlasov.

        Converted with the regex matcher.

        * inspector/InjectedScriptCanvasModuleSource.js:
        (.):
        * inspector/compile-front-end.py:
        * inspector/front-end/AdvancedSearchController.js:
        (WebInspector.SearchView.prototype._onAction):
        (WebInspector.FileBasedSearchResultsPane.prototype._createContentSpan):
        * inspector/front-end/ApplicationCacheItemsView.js:
        * inspector/front-end/ApplicationCacheModel.js:
        (WebInspector.ApplicationCacheModel.prototype._networkStateUpdated):
        * inspector/front-end/AuditCategories.js:
        (WebInspector.AuditCategories.PagePerformance.prototype.initialize):
        (WebInspector.AuditCategories.NetworkUtilization.prototype.initialize):
        * inspector/front-end/AuditLauncherView.js:
        (WebInspector.AuditLauncherView.prototype._updateButton):
        * inspector/front-end/AuditResultView.js:
        (WebInspector.AuditCategoryResultPane.prototype._appendResult):
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
        (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
        (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
        (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
        (WebInspector.AuditRules.CacheControlRule.prototype.isCacheableResource):
        (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneYearExpirationCheck):
        (WebInspector.AuditRules.ProxyCacheControlRule.prototype._setCookieCacheableCheck):
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
        (WebInspector.AuditRules.CSSRuleBase.prototype.visitProperty):
        (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitProperty):
        (WebInspector.AuditRules.CookieRuleBase.prototype._callbackForResourceCookiePairs):
        (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
        (WebInspector.AuditRules.StaticCookielessRule.prototype._collectorCallback):
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel.prototype._clearButtonClicked):
        (WebInspector.AuditsSidebarTreeElement.prototype.refresh):
        (WebInspector.AuditResultSidebarTreeElement.prototype.get selectable):
        * inspector/front-end/BottomUpProfileDataGridTree.js:
        (WebInspector.BottomUpProfileDataGridNode.prototype._willHaveChildren):
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype._uiLocationRemoved):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.reset):
        (WebInspector.XHRBreakpointsSidebarPane.prototype.set _restoreBreakpoints):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype.set _restoreBreakpoints):
        * inspector/front-end/CPUProfileView.js:
        (WebInspector.CPUProfileView.prototype._assignParentsInProfile):
        (WebInspector.CPUProfileType.prototype.createProfile):
        (WebInspector.CPUProfileHeader.prototype.createView):
        * inspector/front-end/CSSNamedFlowCollectionsView.js:
        (WebInspector.CSSNamedFlowCollectionsView.prototype.willHide):
        (WebInspector.FlowTreeElement.prototype.setOverset):
        * inspector/front-end/CSSNamedFlowView.js:
        (WebInspector.CSSNamedFlowView.prototype._update):
        * inspector/front-end/CSSSelectorProfileView.js:
        (WebInspector.CSSSelectorDataGridNode.prototype.createCell):
        (WebInspector.CSSSelectorProfileType.prototype.createTemporaryProfile):
        (WebInspector.CSSProfileHeader.prototype.createView):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype._rawLocationToUILocation):
        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane.prototype._keyDown):
        (WebInspector.CallStackSidebarPane.Placard.prototype._restartFrame):
        * inspector/front-end/CanvasProfileView.js:
        (WebInspector.CanvasProfileView.prototype._onTraceLogItemClick):
        (WebInspector.CanvasProfileType.prototype.createProfile):
        (WebInspector.CanvasProfileHeader.prototype.createView):
        * inspector/front-end/CodeMirrorTextEditor.js:
        (WebInspector.CodeMirrorTextEditor.prototype._toRange):
        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl.prototype.clone):
        * inspector/front-end/ConsoleModel.js:
        (WebInspector.ConsoleModel.prototype._messageRepeatCountUpdated):
        * inspector/front-end/ConsolePanel.js:
        (WebInspector.ConsolePanel.prototype._consoleCleared):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._dumpMemory):
        (WebInspector.ConsoleCommandResult.prototype.toMessageElement):
        * inspector/front-end/ContentProviders.js:
        (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
        (WebInspector.CompilerSourceMappingContentProvider.prototype.searchInContent):
        (WebInspector.StaticContentProvider.prototype.searchInContent):
        * inspector/front-end/ContextMenu.js:
        (WebInspector.ContextSubMenuItem.prototype._buildDescriptor):
        (WebInspector.ContextMenu.prototype.appendApplicableItems):
        * inspector/front-end/CookieItemsView.js:
        (WebInspector.CookieItemsView.prototype._contextMenu):
        (WebInspector.SimpleCookiesTable.prototype.setCookies):
        * inspector/front-end/CookiesTable.js:
        (WebInspector.CookiesTable.prototype._onDeleteFromGrid):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype.redo):
        * inspector/front-end/DOMBreakpointsSidebarPane.js:
        (WebInspector.DOMBreakpointsSidebarPane.prototype.set restoreBreakpoints):
        * inspector/front-end/DOMStorage.js:
        (WebInspector.DOMStorageModel.prototype.storages):
        * inspector/front-end/DOMStorageItemsView.js:
        (WebInspector.DOMStorageItemsView.prototype._deleteCallback):
        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGridNode.prototype.restorePosition):
        (WebInspector.CreationDataGridNode.prototype.makeNormal):
        * inspector/front-end/Database.js:
        (WebInspector.DatabaseModel.prototype._addDatabase):
        * inspector/front-end/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView.prototype._appendQueryResult):
        * inspector/front-end/DatabaseTableView.js:
        (WebInspector.DatabaseTableView.prototype._refreshButtonClicked):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype.callStackModified):
        * inspector/front-end/DefaultTextEditor.js:
        (WebInspector.DefaultTextEditor.prototype.willHide):
        (WebInspector.TextEditorGutterPanel.prototype.removeDecoration):
        (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
        * inspector/front-end/Dialog.js:
        (WebInspector.DialogDelegate.prototype.willHide):
        * inspector/front-end/DirectoryContentView.js:
        (WebInspector.DirectoryContentView.prototype._sort):
        (WebInspector.DirectoryContentView.Node.prototype._metadataReceived):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.appendApplicableItems):
        * inspector/front-end/ElementsPanelDescriptor.js:
        (WebInspector.ElementsPanelDescriptor.prototype.appendApplicableItems):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype._selectNodeAfterEdit):
        (WebInspector.ElementsTreeOutline.PseudoStateDecorator.prototype.decorateAncestor):
        * inspector/front-end/EmptyView.js:
        * inspector/front-end/EventListenersSidebarPane.js:
        (WebInspector.EventListenersSidebarPane.prototype):
        * inspector/front-end/ExtensionAPI.js:
        (injectedExtensionAPI.PanelWithSidebarImpl.prototype.createSidebarPane):
        (injectedExtensionAPI.ExtensionPanelImpl.prototype.show):
        * inspector/front-end/ExtensionPanel.js:
        (WebInspector.ExtensionPanel.prototype.jumpToPreviousSearchResult):
        (WebInspector.ExtensionSidebarPane.prototype._setObject):
        * inspector/front-end/ExtensionView.js:
        (WebInspector.ExtensionView.prototype._onLoad):
        (WebInspector.ExtensionNotifierView.prototype.willHide):
        * inspector/front-end/FileContentView.js:
        (WebInspector.FileContentView.prototype.refresh):
        * inspector/front-end/FileManager.js:
        (WebInspector.FileManager.prototype.appendedToURL):
        * inspector/front-end/FileSystemModel.js:
        (WebInspector.FileSystemModel.prototype._removeFileSystem):
        (WebInspector.FileSystemModel.Directory.prototype.requestDirectoryContent):
        (WebInspector.FileSystemModel.File.prototype.requestFileContent):
        * inspector/front-end/FileSystemView.js:
        (WebInspector.FileSystemView.prototype._delete):
        (WebInspector.FileSystemView.EntryTreeElement.prototype._deletionCompleted):
        * inspector/front-end/FilteredItemSelectionDialog.js:
        (WebInspector.FilteredItemSelectionDialog.prototype._itemElementInViewport):
        (WebInspector.JavaScriptOutlineDialog.prototype.rewriteQuery):
        (WebInspector.OpenResourceDialog.prototype.rewriteQuery):
        * inspector/front-end/FontView.js:
        (WebInspector.FontView.prototype.updateFontPreviewSize):
        * inspector/front-end/GoToLineDialog.js:
        (WebInspector.GoToLineDialog.prototype.onEnter):
        * inspector/front-end/HandlerRegistry.js:
        (WebInspector.HandlerRegistry.prototype._appendHrefItems):
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotEdgesProvider.prototype.sort):
        (WebInspector.HeapSnapshotNodesProvider.prototype.sort):
        * inspector/front-end/HeapSnapshotDataGrids.js:
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
        (WebInspector.HeapSnapshotViewportDataGrid.prototype._onScroll):
        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
        (WebInspector.HeapSnapshotDiffDataGrid.prototype._populateChildren):
        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.highlightObjectByHeapSnapshotId):
        * inspector/front-end/HeapSnapshotGridNodes.js:
        (WebInspector.HeapSnapshotGridNode.prototype.sort):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
        (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
        (WebInspector.HeapSnapshotInstanceNode.prototype.get isDeletedNode):
        (WebInspector.HeapSnapshotConstructorNode.prototype.get _shallowSizePercent):
        (WebInspector.HeapSnapshotDiffNode.prototype.get data):
        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._emptyData):
        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotWorkerWrapper.prototype.terminate):
        (WebInspector.HeapSnapshotRealWorker.prototype.terminate):
        (WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker):
        (WebInspector.HeapSnapshotWorker.prototype._postMessage):
        (WebInspector.HeapSnapshotLoaderProxy.prototype.close):
        (WebInspector.HeapSnapshotProxy.prototype.get uid):
        (WebInspector.HeapSnapshotProviderProxy.prototype.sortAndRewind):
        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotView.prototype._updateFilterOptions):
        (WebInspector.HeapSnapshotProfileType.prototype.createProfile):
        (WebInspector.HeapProfileHeader.prototype._createFileReader):
        * inspector/front-end/HelpScreen.js:
        (WebInspector.HelpScreen.prototype._onBlur):
        * inspector/front-end/ImageView.js:
        (WebInspector.ImageView.prototype._openInNewTab):
        * inspector/front-end/IndexedDBModel.js:
        (WebInspector.IndexedDBModel.prototype._requestData):
        * inspector/front-end/IndexedDBViews.js:
        (WebInspector.IDBDataView.prototype.clear):
        (WebInspector.IDBDataGridNode.prototype._formatValue):
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.ClipboardAccessDeniedScreen):
        * inspector/front-end/InspectorView.js:
        (WebInspector.InspectorView.prototype.showPanelForAnchorNavigation):
        * inspector/front-end/JavaScriptSource.js:
        (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype._continueToLine):
        * inspector/front-end/Linkifier.js:
        (WebInspector.Linkifier.DefaultFormatter.prototype.formatLiveAnchor):
        * inspector/front-end/MemoryStatistics.js:
        (WebInspector.SwatchCheckbox.prototype._toggleCheckbox):
        * inspector/front-end/MetricsSidebarPane.js:
        (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
        * inspector/front-end/NativeBreakpointsSidebarPane.js:
        (WebInspector.NativeBreakpointsSidebarPane.prototype._reset):
        * inspector/front-end/NativeMemorySnapshotView.js:
        (WebInspector.NativeMemorySnapshotView.prototype.get profile):
        (WebInspector.NativeMemoryProfileType.prototype.createProfile):
        (WebInspector.NativeMemoryProfileHeader.prototype.createView):
        (WebInspector.NativeMemoryPieChart.prototype._clear):
        (WebInspector.NativeMemoryBarChart.prototype._updateView):
        * inspector/front-end/NavigatorView.js:
        (WebInspector.NavigatorView.prototype.handleContextMenu):
        (WebInspector.NavigatorTreeOutline.prototype.searchFinished):
        (WebInspector.BaseNavigatorTreeElement.prototype.matchesSearchText):
        (WebInspector.NavigatorFolderTreeElement.prototype.onattach):
        (WebInspector.NavigatorSourceTreeElement.prototype._handleContextMenuEvent):
        * inspector/front-end/NetworkItemView.js:
        (WebInspector.NetworkItemView.prototype.set request):
        (WebInspector.RequestContentView.prototype.highlightLine):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype._userAgentSettingChanged):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._highlightNode):
        (WebInspector.NetworkPanel.prototype.appendApplicableItems):
        (WebInspector.NetworkTimeCalculator.prototype._upperBound):
        (WebInspector.NetworkTransferTimeCalculator.prototype._upperBound):
        (WebInspector.NetworkTransferDurationCalculator.prototype._upperBound):
        (WebInspector.NetworkDataGridNode.prototype._refreshLabelPositions):
        (WebInspector.NetworkDataGridNode.RequestPropertyComparator):
        * inspector/front-end/NetworkPanelDescriptor.js:
        (WebInspector.NetworkPanelDescriptor.prototype.appendApplicableItems):
        * inspector/front-end/NetworkRequest.js:
        (WebInspector.NetworkRequest.prototype._pushFrame):
        * inspector/front-end/ObjectPopoverHelper.js:
        (WebInspector.ObjectPopoverHelper.prototype._updateHTMLId):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
        (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
        (WebInspector.FunctionScopeMainTreeElement.prototype.onpopulate):
        (WebInspector.ScopeTreeElement.prototype.onpopulate):
        (WebInspector.ArrayGroupingTreeElement.prototype.onattach):
        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.unregisterShortcut):
        * inspector/front-end/PanelEnablerView.js:
        (WebInspector.PanelEnablerView.prototype.get alwaysEnabled):
        * inspector/front-end/ProfileDataGridTree.js:
        (WebInspector.ProfileDataGridNode.prototype._merge):
        * inspector/front-end/ProfileLauncherView.js:
        (WebInspector.ProfileLauncherView.prototype.profileFinished):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.appendApplicableItems):
        (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
        (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
        (WebInspector.ProfilesSidebarTreeElement.prototype.get selectable):
        * inspector/front-end/ProgressIndicator.js:
        (WebInspector.ProgressIndicator.prototype.worked):
        * inspector/front-end/PropertiesSection.js:
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update):
        * inspector/front-end/RequestCookiesView.js:
        (WebInspector.RequestCookiesView.prototype._refreshCookies):
        * inspector/front-end/RequestHTMLView.js:
        (WebInspector.RequestHTMLView.prototype._createIFrame):
        * inspector/front-end/RequestHeadersView.js:
        (WebInspector.RequestHeadersView.prototype._createHeadersToggleButton):
        * inspector/front-end/RequestJSONView.js:
        (WebInspector.RequestJSONView.parseJSON.WebInspector.RequestJSONView.prototype._initialize):
        * inspector/front-end/RequestPreviewView.js:
        (WebInspector.RequestPreviewView.prototype._createPreviewView):
        * inspector/front-end/RequestResponseView.js:
        (WebInspector.RequestResponseView.prototype.contentLoaded):
        * inspector/front-end/RequestTimingView.js:
        (WebInspector.RequestTimingView.prototype._refresh):
        (WebInspector.RequestTimingView.createTimingTable):
        * inspector/front-end/RequestView.js:
        (WebInspector.RequestView.prototype.hasContent):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.isHidden):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel.prototype._createResourceFromFramePayload):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype.hasContent):
        (WebInspector.ResourceSourceFrame.prototype.populateTextAreaContextMenu):
        * inspector/front-end/ResourceWebSocketFrameView.js:
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._onmouseout):
        (WebInspector.BaseStorageTreeElement.prototype.get searchMatchesCount):
        (WebInspector.StorageCategoryTreeElement.prototype.set oncollapse):
        (WebInspector.FrameTreeElement.prototype._insertInPresentationOrder):
        (WebInspector.FrameResourceTreeElement.prototype.sourceView):
        (WebInspector.DatabaseTreeElement.prototype._updateChildren):
        (WebInspector.DatabaseTableTreeElement.prototype.onselect):
        (WebInspector.IndexedDBTreeElement.prototype._idbDatabaseTreeElement):
        (WebInspector.FileSystemListTreeElement.prototype._refreshFileSystem):
        (WebInspector.IDBDatabaseTreeElement.prototype.clear):
        (WebInspector.IDBObjectStoreTreeElement.prototype.clear):
        (WebInspector.IDBIndexTreeElement.prototype.clear):
        (WebInspector.DOMStorageTreeElement.prototype.onselect):
        (WebInspector.CookieTreeElement.prototype.onselect):
        (WebInspector.ApplicationCacheManifestTreeElement.prototype.onselect):
        (WebInspector.ApplicationCacheFrameTreeElement.prototype.onselect):
        (WebInspector.FileSystemTreeElement.prototype.clear):
        (WebInspector.StorageCategoryView.prototype.setText):
        * inspector/front-end/RevisionHistoryView.js:
        (WebInspector.RevisionHistoryView.prototype._reset):
        (WebInspector.RevisionHistoryTreeElement.prototype.allowRevert):
        * inspector/front-end/RuntimeModel.js:
        (WebInspector.RuntimeModel.prototype._reportCompletions):
        (WebInspector.FrameExecutionContextList.prototype.get displayName):
        * inspector/front-end/ScopeChainSidebarPane.js:
        (WebInspector.ScopeChainSidebarPane.prototype.update):
        (WebInspector.ScopeVariableTreeElement.prototype.get propertyPath):
        * inspector/front-end/Script.js:
        (WebInspector.Script.Location.prototype.dispose):
        * inspector/front-end/ScriptFormatterWorker.js:
        (HTMLScriptFormatter.prototype.styleSheetEnded):
        * inspector/front-end/ScriptSnippetModel.js:
        (WebInspector.ScriptSnippetModel.prototype._projectDidReset):
        (WebInspector.SnippetJavaScriptSource.prototype.workingCopyChanged):
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.ScriptsNavigator.prototype.reset):
        (WebInspector.SnippetsNavigatorView.prototype._snippetCreationRequested):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
        * inspector/front-end/ScriptsPanelDescriptor.js:
        (WebInspector.ScriptsPanelDescriptor.prototype.appendApplicableItems):
        * inspector/front-end/ScriptsSearchScope.js:
        (WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes):
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen.prototype.willHide):
        (WebInspector.SettingsTab.prototype._createCustomSetting):
        (WebInspector.GenericSettingsTab.prototype._javaScriptDisabledChanged):
        (WebInspector.UserAgentSettingsTab.prototype._createDeviceOrientationOverrideElement):
        (WebInspector.ExperimentsSettingsTab.prototype._createExperimentCheckbox):
        * inspector/front-end/ShowMoreDataGridNode.js:
        (WebInspector.ShowMoreDataGridNode.prototype.dispose):
        * inspector/front-end/SidebarPane.js:
        (WebInspector.SidebarPane.prototype._onTitleKeyDown):
        * inspector/front-end/SidebarTreeElement.js:
        (WebInspector.SidebarSectionTreeElement.prototype.onreveal):
        (WebInspector.SidebarTreeElement.prototype.onreveal):
        * inspector/front-end/SnippetJavaScriptSourceFrame.js:
        (WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked):
        * inspector/front-end/SnippetStorage.js:
        (WebInspector.Snippet.prototype.serializeToObject):
        * inspector/front-end/SourceCSSTokenizer.js:
        (WebInspector.SourceCSSTokenizer.prototype.nextToken):
        * inspector/front-end/SourceCSSTokenizer.re2js:
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._commitEditing):
        (WebInspector.TextEditorDelegateForSourceFrame.prototype.createLink):
        * inspector/front-end/SourceHTMLTokenizer.js:
        (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
        * inspector/front-end/SourceHTMLTokenizer.re2js:
        * inspector/front-end/SourceJavaScriptTokenizer.js:
        (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
        * inspector/front-end/SourceJavaScriptTokenizer.re2js:
        * inspector/front-end/Spectrum.js:
        (WebInspector.Spectrum.prototype._onKeyDown):
        * inspector/front-end/SplitView.js:
        (WebInspector.SplitView.prototype.set elementsToRestoreScrollPositionsFor):
        * inspector/front-end/StatusBarButton.js:
        (WebInspector.StatusBarButton.prototype._showOptions):
        * inspector/front-end/StyleSheetOutlineDialog.js:
        (WebInspector.StyleSheetOutlineDialog.prototype.rewriteQuery):
        * inspector/front-end/StyleSource.js:
        (WebInspector.StyleSource.prototype._clearIncrementalUpdateTimer):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.willHide):
        (WebInspector.ComputedStyleSidebarPane.prototype.expand):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
        (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
        (WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/TabbedEditorContainer.js:
        (WebInspector.TabbedEditorContainer.prototype.currentFile):
        (WebInspector.TabbedEditorContainer.HistoryItem.prototype.serializeToObject):
        (WebInspector.TabbedEditorContainer.History.prototype.set _serializeToObject):
        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane.prototype._insertBefore):
        * inspector/front-end/TextEditorModel.js:
        (WebInspector.TextEditorModel.endsWithBracketRegex.):
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
        * inspector/front-end/TimelineManager.js:
        (WebInspector.TimelineManager.prototype._stopped):
        * inspector/front-end/TimelineModel.js:
        (WebInspector.TimelineModel.prototype.recordOffsetInSeconds):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane.prototype._scheduleRefresh):
        (WebInspector.TimelineOverviewWindow.prototype._zoom):
        (WebInspector.TimelineFrameOverview.prototype.getWindowTimes):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype.performSearch):
        * inspector/front-end/TimelinePresentationModel.js:
        (WebInspector.TimelinePresentationModel.prototype.isVisible):
        (WebInspector.TimelineCategory.prototype.set hidden):
        * inspector/front-end/TopDownProfileDataGridTree.js:
        (WebInspector.TopDownProfileDataGridNode.prototype._exclude):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype.setSourceMapping):
        * inspector/front-end/UISourceCodeFrame.js:
        (WebInspector.UISourceCodeFrame.prototype.populateTextAreaContextMenu):
        * inspector/front-end/View.js:
        (WebInspector.View.prototype.focus):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSidebarPane.prototype._refreshButtonClicked):
        (WebInspector.WatchExpressionsSection.prototype._updateHoveredElement):
        (WebInspector.WatchExpressionTreeElement.prototype.applyExpression):
        * inspector/front-end/WorkerManager.js:
        (WebInspector.WorkerManager.prototype._disconnectedFromWorker):
        (WebInspector.WorkerTerminatedScreen.prototype.willHide):
        * inspector/front-end/WorkersSidebarPane.js:
        (WebInspector.WorkersSidebarPane.prototype._autoattachToWorkersClicked):
        * inspector/front-end/Workspace.js:
        (WebInspector.Workspace.prototype.uiSourceCodes):

2012-10-02  Vsevolod Vlasov  <vsevik@chromium.org>

        Unreviewed r130146 follow-up, added method was not called.

        * inspector/front-end/JavaScriptSource.js:
        (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):

2012-10-02  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Multiple fields datetime/datetime-local input UI
        https://bugs.webkit.org/show_bug.cgi?id=97997

        Reviewed by Kent Tamura.

        This patch introduces multiple fields "datetime" and "datetime-local"
        input UI in DRT. We'll enable these features once we add tests.

        No new tests. To reduce size of this patch, other patches add tests
        for multiple fields datetime/datetime-local input UI.

        Note: Actual outputs of four tests
          - fast/forms/datetime/datetime-input-visible-string.html
          - fast/forms/datetime/datetime-stepup-stepdown-from-renderer.html
          - fast/forms/datetimelocal/datetimelocal-input-visible-string.html
          - fast/forms/datetimelocal/datetimelocal-stepup-stepdown-from-renderer.html
        are different.

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore):
        * css/html.css:
        (input::-webkit-datetime-edit-day-field): Added for field appearance.
        (input::-webkit-datetime-edit-day-field:focus):  Added to remove focus ring.
        * html/DateTimeInputType.cpp:
        (WebCore::DateTimeInputType::formatDateTimeFieldsState): Added to format numeric value to string value as specified in HTML5 specification.
        (WebCore::DateTimeInputType::setupLayoutParameters): Added to set layout of multiple fields.
        * html/DateTimeInputType.h: Changed to include BaseMultipleFieldsDateAndTimeInputType.h and introduce BaseDateTimeInputType typedef.
        (WebCore::DateTimeInputType::DateTimeInputType): Changed base class name to BaseDateTimeInputType.
        (DateTimeInputType): Changed to add declarations for formatDateTimeFieldsState() and setupLayoutParameters().
        * html/DateTimeLocalInputType.cpp:
        (WebCore::DateTimeLocalInputType::formatDateTimeFieldsState): Added to format numeric value to string value as specified in HTML5 specification.
        (WebCore::DateTimeLocalInputType::setupLayoutParameters):  Added to set layout of multiple fields.
        * html/DateTimeLocalInputType.h: Changed to include BaseMultipleFieldsDateAndTimeInputType.h and introduce BaseDateTimeLocalInputType typedef.
        (WebCore::DateTimeLocalInputType::DateTimeLocalInputType): Changed base class name to BaseDateTimeLocalInputType.
        (DateTimeLocalInputType): Changed to add declarations for formatDateTimeFieldsState() and setupLayoutParameters().
        * html/shadow/DateTimeEditElement.cpp:
        (DateTimeEditBuilder): Changed to add member variable m_placeholderForDay.
        (WebCore::DateTimeEditBuilder::DateTimeEditBuilder): Changed to initialize m_placeholderForDay.
        (WebCore::DateTimeEditBuilder::visitField): Changed to support week field.
        * html/shadow/DateTimeEditElement.h:
        (LayoutParameters): Changed to add placeholderForDay member variable.

2012-10-02  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [Regression] Breakpoints restored from storage are not set in debugger.
        https://bugs.webkit.org/show_bug.cgi?id=98132

        Reviewed by Pavel Feldman.

        Added hasDivergedFromVM attribute to UISourceCode for breakpoint
        manager to know if breakpoints should be set in the debugger.

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.hasDivergedFromVM):
        (WebInspector.BreakpointManager.Breakpoint.prototype._updateBreakpoint):
        * inspector/front-end/JavaScriptSource.js:
        (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
        * inspector/front-end/ScriptSnippetModel.js:
        (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):

2012-09-29  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: NMI make String* instrumentation non intrusive
        https://bugs.webkit.org/show_bug.cgi?id=97964

        Reviewed by Yury Semikhatsky.

        MemoryInstrumentationString.h include was added.

        * dom/WebCoreMemoryInstrumentation.h:

2012-10-02  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: inspector/debugger/script-snippet-model.html fails
        https://bugs.webkit.org/show_bug.cgi?id=98129

        Reviewed by Pavel Feldman.

        * inspector/front-end/ScriptSnippetModel.js:
        (WebInspector.ScriptSnippetModel.prototype._runScript):
        (WebInspector.ScriptSnippetModel.prototype._printRunScriptResult):

2012-10-02  Yury Semikhatsky  <yurys@chromium.org>

        Remove anonymous namespace from StyleBuilder.cpp for better debugging experience
        https://bugs.webkit.org/show_bug.cgi?id=98124

        Reviewed by Alexander Pavlov.

        * css/StyleBuilder.cpp: removed anonymous namespace.
        (WebCore):

2012-10-02  Nikita Vasilyev  <me@elv1s.ru>

        Web Inspector: CSS property names autocomplete: Suggest most used rather than alphabeticaly first
        https://bugs.webkit.org/show_bug.cgi?id=96763

        Reviewed by Alexander Pavlov.

        Implement selection of non-first item in WebInspector.TextPrompt.SuggestBox.

        * inspector/front-end/CSSCompletions.js:
        (WebInspector.CSSCompletions.Weight): Collect most used CSS property names. Rarely used properties are not presented.
        (WebInspector.CSSCompletions.prototype.firstStartsWith): Remove unused function.
        (WebInspector.CSSCompletions.prototype.mostUsedOf):
        * inspector/front-end/StylesSidebarPane.js:
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype._completionsReady):
        (WebInspector.TextPrompt.prototype.pageDownKeyPressed):
        (WebInspector.TextPrompt.SuggestBox): Introduce _length and _selectedIndex to remove unnecessary DOM traversals.
            Simplify canShowForSingleItem logic.
        (WebInspector.TextPrompt.SuggestBox.prototype._selectClosest): _onPreviousItem and _onNextItem had some logic 
            duplication so I replaced them with this method.
        (WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
        (WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
        (WebInspector.TextPrompt.SuggestBox.prototype._selectItem):
        (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
        (WebInspector.TextPrompt.SuggestBox.prototype.upKeyPressed):
        (WebInspector.TextPrompt.SuggestBox.prototype.downKeyPressed):
        (WebInspector.TextPrompt.SuggestBox.prototype.pageUpKeyPressed):
        (WebInspector.TextPrompt.SuggestBox.prototype.pageDownKeyPressed):

2012-10-02  Keishi Hattori  <keishi@webkit.org>

        Web Inspector: Modifications in a shadow tree don't update the Elements panel.
        https://bugs.webkit.org/show_bug.cgi?id=97056

        Reviewed by Pavel Feldman.

        Send characterDataModified event for shadow dom nodes too so they update the elements panel.

        Test: inspector/elements/shadow-dom-modify-chardata.html

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::dispatchModifiedEvent):

2012-09-20  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Provide a way to distinguish scripts having sourceURL from standalone scripts.
        https://bugs.webkit.org/show_bug.cgi?id=97231

        Reviewed by Pavel Feldman.

        DebuggerAgent now scans scripts for sourceURL comment and provides
        hasSourceURL flag for each non-inline script with such a comment.

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):
        * inspector/Inspector.json:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
        (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
        * inspector/front-end/Script.js:
        (WebInspector.Script):

2012-10-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r130129.
        http://trac.webkit.org/changeset/130129
        https://bugs.webkit.org/show_bug.cgi?id=98125

        broke 4 webkit_unit_tests
        (MemoryInstrumentationTest.hashMapWith*) (Requested by caseq
        on #webkit).

        * dom/WebCoreMemoryInstrumentation.h:
        * platform/KURL.cpp:
        * platform/KURLGoogle.cpp:
        * platform/PlatformMemoryInstrumentation.h:

2012-10-02  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: move runScript into the snippets model
        https://bugs.webkit.org/show_bug.cgi?id=98122

        Reviewed by Vsevolod Vlasov.

        - Moves runScript into the SnippetsModel
        - Drive-by: annotates more RuntimeModel methods
        - common, sdk, ui, components, elements, network, resources, network,
          scripts, console, timeline, workers, tests
          modules now compile with no errors in dedicated compilation mode.

        * inspector/compile-front-end.py:
        * inspector/front-end/ConsoleView.js:
        * inspector/front-end/DatabaseQueryView.js:
        * inspector/front-end/RuntimeModel.js:
        (WebInspector.RuntimeModel.prototype.completionsForTextPrompt):
        * inspector/front-end/ScriptSnippetModel.js:
        (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet.compileCallback):
        (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet):
        (WebInspector.ScriptSnippetModel.prototype._runScript):
        * inspector/front-end/StylesSidebarPane.js:
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype.complete):
        * inspector/front-end/externs.js:

2012-10-02  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Adding DateTimeDayFieldElement for multiple fields "date", "datetime", "datetime-local" input UI
        https://bugs.webkit.org/show_bug.cgi?id=97998

        Reviewed by Kent Tamura.

        This patch introduces DateTimeDayFieldElement class for implementing
        multiple fields "date", "datetime", and "datetime-local" input UI.

        No new tests. This patch doesn't change behavior.

        * html/shadow/DateTimeFieldElements.cpp:
        (WebCore::DateTimeDayFieldElement::DateTimeDayFieldElement): Added.
        (WebCore::DateTimeDayFieldElement::create): Added.
        (WebCore::DateTimeDayFieldElement::populateDateTimeFieldsState): Added.
        (WebCore::DateTimeDayFieldElement::setValueAsDate): Added.
        (WebCore::DateTimeDayFieldElement::setValueAsDateTimeFieldsState): Added.
        * html/shadow/DateTimeFieldElements.h:
        (DateTimeDayFieldElement): Added.

2012-10-02  Yoshifumi Inoue  <yosin@chromium.org>

        LocalzeNone::dateFormat() should have right date format.
        https://bugs.webkit.org/show_bug.cgi?id=98123

        Reviewed by Kent Tamura.

        This patch changes date format in LocaleNone for multiple fields
        date/datetime/datetime-local input UI.

        No new tests. Other patch for ports which use LocaleNone and multiple
        fields date/time input UI will have tests.

        * platform/text/LocaleNone.cpp:
        (WebCore::LocaleNone::dateFormat): Changed month specifier to "MM".

2012-10-02  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: move cookies model out of the items view (into sdk component).
        https://bugs.webkit.org/show_bug.cgi?id=98022

        Reviewed by Yury Semikhatsky.

        Otherwise Audits require code that belongs to the resources component.

        * inspector/front-end/CookieItemsView.js:
        * inspector/front-end/CookieParser.js:
        (WebInspector.Cookies.getCookiesAsync):
        (WebInspector.Cookies.buildCookiesFromString):
        (WebInspector.Cookies.cookieMatchesResourceURL):
        (WebInspector.Cookies.cookieDomainMatchesResourceDomain):

2012-09-29  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: NMI make String* instrumentation non intrusive
        https://bugs.webkit.org/show_bug.cgi?id=97964

        Reviewed by Yury Semikhatsky.

        MemoryInstrumentationString.h include was added.

        * dom/WebCoreMemoryInstrumentation.h:

2012-10-01  Brady Eidson  <beidson@apple.com>

        Remove the Safari 2 -> Safari 3 icon database import code.
        https://bugs.webkit.org/show_bug.cgi?id=98113

        Reviewed by Maciej Stachowiak.

        Remove notions of "importing an old database format" from the IconDatabase.

        No new tests - Feature removed, and no previous tests covered it.

        * loader/icon/IconDatabase.cpp:
        (DefaultIconDatabaseClient):
        (WebCore::IconDatabase::IconDatabase):
        (WebCore):
        (WebCore::IconDatabase::iconDatabaseSyncThread):
        * loader/icon/IconDatabase.h:
        (IconDatabase):
        * loader/icon/IconDatabaseBase.h:
        * loader/icon/IconDatabaseClient.h:
        * WebCore.exp.in:

2012-10-01  Yoshifumi Inoue  <yosin@chromium.org>

        Adding Localizer::dateFormat() for multiple fields date/datetime input UI
        https://bugs.webkit.org/show_bug.cgi?id=98109

        Reviewed by Kent Tamura.

        This patch introduces Localizer::dateFormat() function for multiple
        fields date/datetime/datetime-local input UI inside ENABLE_INPUT_MULTIPLE_FIELDS_UI.

        We'll have platform specific implementations in LocaleICU, LocaleMac,
        and LocaleWin.

        No new tests. Other patches will add tests for this change.

        * platform/text/LocaleICU.cpp:
        (WebCore::LocaleICU::dateFormat): Added a stub.
        * platform/text/LocaleICU.h:
        (LocaleICU):  Changed to add a declaration of dateFormat().
        * platform/text/LocaleNone.cpp:
        (LocaleNone):  Changed to add a declaration of dateFormat().
        (WebCore::LocaleNone::dateFormat): Added.
        * platform/text/LocaleWin.cpp:
        (WebCore::LocaleWin::dateFormat): Added.
        * platform/text/LocaleWin.h:
        (LocaleWin): Changed to add a declaration of dateFormat().
        * platform/text/Localizer.h: Updates Unicode TR35 URI in a comment.
        (Localizer): Changed to add a declaration of dateFormat().
        * platform/text/mac/LocaleMac.h:
        (LocaleMac): Changed to add a declaration of dateFormat().
        * platform/text/mac/LocaleMac.mm:
        (WebCore::LocaleMac::dateFormat): Added a stub.

2012-10-01  Adam Barth  <abarth@webkit.org>

        Unreviewed. Fix ASSERT introduced in
        http://trac.webkit.org/changeset/130103. It turns out this case can
        occur. This patch causes us to handle it the same way we did
        previously.

        * bindings/v8/IntrusiveDOMWrapperMap.h:
        (WebCore::IntrusiveDOMWrapperMap::removeIfPresent):

2012-10-01  Shinya Kawanaka  <shinyak@chromium.org>

        [Refactoring] DOMSelection should not use shadowAncestorNode
        https://bugs.webkit.org/show_bug.cgi?id=97872

        Reviewed by Ryosuke Niwa.

        Since Node::shadowAncestorNode is deprecated, it should not be used.
        Here, we should use TreeScope::ancestorInThisScope instead.

        No new tests, covered by existing test.

        * page/DOMSelection.cpp:
        (WebCore::selectionShadowAncestor):

2012-10-01  Tim Horton  <timothy_horton@apple.com>

        ScrollView::setScrollPosition is overridden by FrameView, but is not virtual
        https://bugs.webkit.org/show_bug.cgi?id=98064

        Reviewed by Simon Fraser.

        Virtualize ScrollView::setScrollPosition, and override it in FrameView.

        No new tests, this causes subtle behavior differences in currently-untestable code.

        * page/FrameView.h:
        (FrameView):
        * platform/ScrollView.h:
        (ScrollView):

2012-10-01  David Barton  <dbarton@mathscribe.com>

        Restore WebCore/ChangeLog lines deleted in r130097
        https://bugs.webkit.org/show_bug.cgi?id=98112

        Reviewed by Eric Seidel.

2012-10-01  Shinya Kawanaka  <shinyak@chromium.org>

        TreeScope should not use node->shadowAncetorNode()
        https://bugs.webkit.org/show_bug.cgi?id=97869

        Reviewed by Ryosuke Niwa.

        TreeScope uses shadowAncestorNode(), but we should use shadowHost() here. shadowAncestorNode() is deprecated.

        No new tests, simple refactoring.

        * dom/TreeScope.cpp:
        (WebCore::TreeScope::ancestorInThisScope):

2012-10-01  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: move completions calculation into RuntimeModel (part 1)
        https://bugs.webkit.org/show_bug.cgi?id=98053

        Reviewed by Yury Semikhatsky.

        - moves current execution context state into runtime model
        - moves completionsForTextPrompt and its private helpers into runtime model
        - makes text prompt use generic expression stop characters by default

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._frameChanged):
        (WebInspector.ConsoleView.prototype._appendContextOption):
        (WebInspector.ConsoleView.prototype._contextChanged):
        * inspector/front-end/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyPrompt):
        * inspector/front-end/RuntimeModel.js:
        (WebInspector.RuntimeModel.prototype.setCurrentExecutionContext):
        (WebInspector.RuntimeModel.prototype.currentExecutionContext):
        (WebInspector.RuntimeModel.prototype._executionContextCreated):
        (WebInspector.RuntimeModel.prototype.evaluate.evalCallback):
        (WebInspector.RuntimeModel.prototype.evaluate):
        (WebInspector.RuntimeModel.prototype.completionsForTextPrompt):
        (WebInspector.RuntimeModel.prototype._completionsForExpression.evaluated.getCompletions):
        (WebInspector.RuntimeModel.prototype._completionsForExpression.evaluated):
        (WebInspector.RuntimeModel.prototype._completionsForExpression.receivedPropertyNamesFromEval):
        (WebInspector.RuntimeModel.prototype._completionsForExpression.receivedPropertyNames):
        (WebInspector.RuntimeModel.prototype._completionsForExpression):
        (WebInspector.RuntimeModel.prototype._reportCompletions):
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSection.prototype.update):

2012-10-01  Dongwoo Joshua Im  <dw.im@samsung.com>

        The static function 'deleteFileSystem' in the LocalFileSystem.cpp should have another name.
        https://bugs.webkit.org/show_bug.cgi?id=98106

        Reviewed by Yuta Kitamura.

        A build error occurs because there are two functions which have same name in the LocalFileSystem.cpp file.
        One is member function of the class, and the other is a static function which is called by the member function.
        So, I've tried to change the name of the static function from 'deleteFileSystem' to 'performDeleteFileSystem'.

        No new functionality, no new test.

        * Modules/filesystem/LocalFileSystem.cpp:
        (WebCore::performDeleteFileSystem): The name of function is changed from 'deleteFileSystem'.
        (WebCore::LocalFileSystem::requestFileSystem):
        (WebCore::LocalFileSystem::deleteFileSystem):

2012-10-01  Yoshifumi Inoue  <yosin@chromium.org>

        Week specifiers defined in DateTimeFormat class are wrong.
        https://bugs.webkit.org/show_bug.cgi?id=98104

        Reviewed by Kent Tamura.

        This patch changes week of year and week of month format specifiers
        defined in DateTimeFormat class to match with Unicode technical
        standard 35, LDML, Locale Data Markup Language, (http://www.unicode.org/reports/tr35/).

        No new tests. Following existing tests cover this change:
          - fast/forms/month-multiple-fields/month-multiple-fields-appearance-basic.html
          - fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-classes.html
          - fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements.html
          - fast/forms/month-multiple-fields/month-multiple-fields-appearance-style.html

        * html/WeekInputType.cpp:
        (WebCore::WeekInputType::setupLayoutParameters): Changed to use 'w' instead of 'W'.
        * platform/text/DateTimeFormat.cpp: Changed elements in lowerCaseToFieldTypeMap and upperCaseToFieldTypeMap.
        * platform/text/DateTimeFormat.h: Changed FieldTypeWeekOfMonth to 'W' and FieldTypeWeekOfYear to 'w'.

2012-10-01  Glenn Adams  <glenn@skynav.com>

        Add other <string> typed tokens to YYDEBUG token output
        https://bugs.webkit.org/show_bug.cgi?id=98102

        Reviewed by Simon Fraser.

        Add other <string> typed tokens to YYPRINT macro expansion. Minor cleanup of cast.

        No new tests. For CSS lexer/parser debug usage only.

        * css/CSSGrammar.y:
        Add other <string> typed tokens to YYPRINT macro expansion.
        Change C-type cast to function-call style cast (per darin).

2012-10-01  Keishi Hattori  <keishi@webkit.org>

        Calendar picker should use zero as default step base
        https://bugs.webkit.org/show_bug.cgi?id=97976

        Reviewed by Kent Tamura.

        Calendar picker should be using zero as default step base for input type=date.
        The spec says to use zero unless specified otherwise.
        Since input type=week has another default step base, I am adding step base
        to DateTimeChooserParameters.

        Test: fast/forms/date/calendar-picker-with-step.html

        * Resources/pagepopups/calendarPicker.js:
        (handleArgumentsTimeout):
        (CalendarPicker):
        (CalendarPicker.prototype.stepMismatch): Use the new this.stepBase.
        * html/shadow/PickerIndicatorElement.cpp:
        (WebCore::PickerIndicatorElement::openPopup): Gets step base from step range.
        * platform/DateTimeChooser.h:
        (DateTimeChooserParameters): Added stepBase.

2012-10-01  Tony Chang  <tony@chromium.org>

        flexbox does wrong baseline item alignment in columns
        https://bugs.webkit.org/show_bug.cgi?id=97948

        Reviewed by Ojan Vafai.

        For columns, baseline alignment should just be flex-start.  We were previously
        moving the logical left edge by the ascent.

        Test: css3/flexbox/align-baseline.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::alignmentForChild): Map baseline to flex-start for orthogonal children.
        (WebCore::RenderFlexibleBox::alignChildren): Add FIXME for bug in baseline alignment.
        * rendering/RenderFlexibleBox.h:

2012-10-01  Keishi Hattori  <keishi@webkit.org>

        Rename CalendarPickerElement to PickerIndicatorElement
        https://bugs.webkit.org/show_bug.cgi?id=98096

        Reviewed by Kent Tamura.

        Renaming CalendarPickerElement to PickerIndicatorElement because we want to use it for other input types like time, week, month, datetime.

        No new tests. Just a rename.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * html/DateInputType.cpp:
        (WebCore::DateInputType::createShadowSubtree):
        * html/DateInputType.h:
        (WebCore):
        (DateInputType):
        * html/shadow/PickerIndicatorElement.cpp: Renamed from Source/WebCore/html/shadow/CalendarPickerElement.cpp.
        (WebCore):
        (WebCore::PickerIndicatorElement::PickerIndicatorElement):
        (WebCore::PickerIndicatorElement::create):
        (WebCore::PickerIndicatorElement::~PickerIndicatorElement):
        (WebCore::PickerIndicatorElement::createRenderer):
        (WebCore::PickerIndicatorElement::hostInput):
        (WebCore::PickerIndicatorElement::defaultEventHandler):
        (WebCore::PickerIndicatorElement::willRespondToMouseClickEvents):
        (WebCore::PickerIndicatorElement::didChooseValue):
        (WebCore::PickerIndicatorElement::didEndChooser):
        (WebCore::PickerIndicatorElement::openPopup):
        (WebCore::PickerIndicatorElement::closePopup):
        (WebCore::PickerIndicatorElement::detach):
        * html/shadow/PickerIndicatorElement.h: Renamed from Source/WebCore/html/shadow/CalendarPickerElement.h.
        (WebCore):
        (PickerIndicatorElement):

2012-10-01  Ojan Vafai  <ojan@chromium.org>

        Unreviewed, rolling out r130079.
        http://trac.webkit.org/changeset/130079
        https://bugs.webkit.org/show_bug.cgi?id=95866

        Broke the chomium windows compile.

        * css/CSSFontFace.cpp:
        (WebCore::CSSFontFace::getFontData):
        * css/CSSFontFace.h:
        (CSSFontFace):
        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData):
        * css/CSSFontFaceSource.h:
        (CSSFontFaceSource):
        * css/CSSFontSelector.cpp:
        (WebCore::fontDataForGenericFamily):
        (WebCore::CSSFontSelector::getFontData):
        * css/CSSFontSelector.h:
        * css/CSSSegmentedFontFace.cpp:
        (WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading):
        (WebCore::CSSSegmentedFontFace::getFontData):
        * css/CSSSegmentedFontFace.h:
        (CSSSegmentedFontFace):
        * dom/Document.cpp:
        (WebCore::Document::registerCustomFont):
        * dom/Document.h:
        (Document):
        * platform/graphics/Font.h:
        (WebCore):
        * platform/graphics/FontCache.cpp:
        (WebCore):
        (WebCore::FontCache::getCachedFontData):
        (WebCore::FontCache::getNonRetainedLastResortFallbackFont):
        (WebCore::FontCache::releaseFontData):
        (WebCore::FontCache::purgeInactiveFontData):
        (WebCore::FontCache::getFontData):
        * platform/graphics/FontCache.h:
        (FontCache):
        * platform/graphics/FontData.h:
        * platform/graphics/FontFallbackList.cpp:
        (WebCore::FontFallbackList::releaseFontData):
        (WebCore::FontFallbackList::fontDataAt):
        (WebCore::FontFallbackList::setPlatformFont):
        * platform/graphics/FontFallbackList.h:
        (FontFallbackList):
        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::glyphDataAndPageForCharacter):
        * platform/graphics/FontSelector.h:
        (FontSelector):
        * platform/graphics/GlyphPageTreeNode.cpp:
        (WebCore::GlyphPageTreeNode::initializePage):
        * platform/graphics/SegmentedFontData.cpp:
        (WebCore::SegmentedFontData::fontDataForCharacter):
        * platform/graphics/SegmentedFontData.h:
        (WebCore::FontDataRange::FontDataRange):
        (WebCore::FontDataRange::fontData):
        (FontDataRange):
        (SegmentedFontData):
        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::verticalRightOrientationFontData):
        (WebCore::SimpleFontData::uprightOrientationFontData):
        (WebCore::SimpleFontData::brokenIdeographFontData):
        * platform/graphics/SimpleFontData.h:
        (SimpleFontData):
        (WebCore::SimpleFontData::variantFontData):
        (DerivedFontData):
        * platform/graphics/chromium/FontCacheAndroid.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
        (GetLastResortFallbackFontProcData):
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/freetype/FontCacheFreeType.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/mac/ComplexTextControllerCoreText.mm:
        (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
        * platform/graphics/mac/FontCacheMac.mm:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/mac/FontComplexTextMac.cpp:
        (WebCore::Font::fontDataForCombiningCharacterSequence):
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformDestroy):
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/pango/FontCachePango.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/pango/SimpleFontDataPango.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/qt/FontCacheQt.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/qt/SimpleFontDataQt.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/skia/FontCacheSkia.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/skia/SimpleFontDataSkia.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/win/SimpleFontDataWin.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/wince/FontCacheWinCE.cpp:
        * platform/graphics/wince/SimpleFontDataWinCE.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/wx/FontCacheWx.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/wx/SimpleFontDataWx.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):

2012-10-01  Beth Dakin  <bdakin@apple.com>

        Speculative GTK build fix after http://trac.webkit.org/changeset/130091

        * GNUmakefile.list.am:

2012-10-01  Adam Barth  <abarth@webkit.org>

        [V8] ScriptWrappable should hold the wrapper handle directly (Dromaeo/dom-traverse gets 4% faster)
        https://bugs.webkit.org/show_bug.cgi?id=97974

        Reviewed by Kentaro Hara.

        Previously, we stored a pointer to a handle to a wrapper in Node. That
        is an extra layer of indirection that slows down finding the wrapper
        for the node. A handle is just a pointer, so we might as we just store
        the handle in the Node directly. That speeds up dom-traverse by about 4%.

        We were using the extra layer of indirection in IntrusiveDOMWrapperMap
        to make removal more efficient. Rather than using a chunked table, we
        now use a HashSet, which also lets us remove elements quickly.

        * bindings/v8/IntrusiveDOMWrapperMap.h:
        (WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
        (WebCore::IntrusiveDOMWrapperMap::get):
        (WebCore::IntrusiveDOMWrapperMap::set):
        (WebCore::IntrusiveDOMWrapperMap::contains):
        (WebCore::IntrusiveDOMWrapperMap::visit):
        (WebCore::IntrusiveDOMWrapperMap::removeIfPresent):
        (WebCore::IntrusiveDOMWrapperMap::clear):
        * bindings/v8/ScriptWrappable.h:
        (WebCore::ScriptWrappable::ScriptWrappable):
        (WebCore::ScriptWrappable::wrapper):
        (WebCore::ScriptWrappable::setWrapper):
        (WebCore::ScriptWrappable::disposeWrapper):
        (WebCore::ScriptWrappable::reportMemoryUsage):
        (ScriptWrappable):
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::getCachedWrapper):

2012-10-01  Ojan Vafai  <ojan@chromium.org>

        Unreviewed, rolling out r130062.
        http://trac.webkit.org/changeset/130062
        https://bugs.webkit.org/show_bug.cgi?id=98001

        Causes a ton of gtest failures on the chromium bots.

        * platform/chromium/LanguageChromium.cpp:
        (WebCore::platformLanguage):

2012-10-01  David Barton  <dbarton@mathscribe.com>

        [MathML] Baseline wrong for fractions or munder/mover with padding
        https://bugs.webkit.org/show_bug.cgi?id=97990

        Reviewed by Eric Seidel.

        We include any border or padding in our baseline computation. We also take this opportunity
        to quit adding extra left & right padding to numerators and denominators, making our output
        tighter and also more compatible with Firefox and TeX, since we are rebaselining some
        fraction pixel tests now anyway.

        Tests added to LayoutTests/mathml/presentation/{over,row-alignment}.xhtml

        * rendering/mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::fixChildStyle):
        (WebCore::RenderMathMLFraction::paint):
        (WebCore::RenderMathMLFraction::firstLineBoxBaseline):
        * rendering/mathml/RenderMathMLUnderOver.cpp:
        (WebCore::RenderMathMLUnderOver::firstLineBoxBaseline):

2012-10-01  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Fire error rather than raising on request creation if transaction aborts asynchronously.
        https://bugs.webkit.org/show_bug.cgi?id=93054

        Reviewed by Tony Chang.

        All IDB data operations are asynchronous, producing IDBRequest objects. This was implemented
        by passing all data from the front-end to the back-end synchronously, and synchronously
        returning an exception code back if the request was invalid. Previous changes have moved
        request validation to the front-end except for the case of the back-end transaction having
        asynchronously aborted in the mean time.

        To eliminate that case (which would allow front-end to back-end communication to be
        asynchronous in multi-process ports), change from returning an exception code to relying on
        the front-end to abort the request when the abort event finally arrives.

        The difference would be noticeable in scripts - in a multi-process environment:

        var request1 = store.get(0);
        request1.onerror = errorHandler; // (A)
        // (B)
        var request2 = store.get(0); // (C)
        request2.onerror = errorHandler; // (D)

        If the transaction back-end were to asynchronously abort at exactly point (B), then prior to
        this patch an exception would be thrown at (C). With this patch, no exception but (D) would
        fire, same as (A).

        The back-end explicitly fires an error callback as well, as intermediate layers may rely on
        this to stop tracking the pending callback.

        No new layout tests - change is not observable in single-process ports.
        Added webkit_unit_test IDBRequestTest.AbortErrorAfterAbort to verify that IDBRequest
        is resilient to this pattern, but it was previous.

        * Modules/indexeddb/IDBCursor.cpp:
        (WebCore::IDBCursor::advance): Back end should never fail a request.
        (WebCore::IDBCursor::continueFunction): Ditto.
        (WebCore::IDBCursor::deleteFunction): Ditto, and also move "is key cursor" test
        here from back-end.
        * Modules/indexeddb/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::continueFunction): Change from EC to firing error.
        (WebCore::IDBCursorBackendImpl::advance): Ditto.
        (WebCore::IDBCursorBackendImpl::deleteFunction): Ditto, and remove test moved to FE.
        (WebCore::IDBCursorBackendImpl::prefetchContinue): Ditto.
        * Modules/indexeddb/IDBDatabaseError.cpp:
        (WebCore::IDBDatabaseError::create): Add overload that looks up message via code.
        (WebCore::IDBDatabaseError::IDBDatabaseError): Look up message via exception table.
        * Modules/indexeddb/IDBDatabaseException.h: Add getErrorDescription.
        * Modules/indexeddb/IDBDatabaseException.cpp: Implementation of getErrorDescription.
        * Modules/indexeddb/IDBIndex.cpp:
        (WebCore::IDBIndex::openCursor): Back end should never fail a request.
        (WebCore::IDBIndex::count): Ditto.
        (WebCore::IDBIndex::openKeyCursor): Ditto.
        (WebCore::IDBIndex::get): Ditto.
        (WebCore::IDBIndex::getKey): Ditto.
        * Modules/indexeddb/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::openCursor): Change from EC to firing error.
        (WebCore::IDBIndexBackendImpl::openKeyCursor): Ditto.
        (WebCore::IDBIndexBackendImpl::count): Ditto.
        (WebCore::IDBIndexBackendImpl::get): Ditto.
        (WebCore::IDBIndexBackendImpl::getKey): Ditto.
        * Modules/indexeddb/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::get): Back end should never fail a request.
        (WebCore::IDBObjectStore::put): Ditto.
        (WebCore::IDBObjectStore::deleteFunction): Ditto.
        (WebCore::IDBObjectStore::clear): Ditto.
        (WebCore): Ditto.
        (WebCore::IDBObjectStore::openCursor): Ditto.
        (WebCore::IDBObjectStore::count): Ditto.
        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::get): Change from EC to firing error.
        (WebCore::IDBObjectStoreBackendImpl::putWithIndexKeys): Ditto.
        (WebCore):
        (WebCore::IDBObjectStoreBackendImpl::deleteFunction): Ditto.
        (WebCore::IDBObjectStoreBackendImpl::clear): Ditto.
        (WebCore::IDBObjectStoreBackendImpl::openCursor): Ditto.
        (WebCore::IDBObjectStoreBackendImpl::count): Ditto.

2012-10-01  Ryosuke Niwa  <rniwa@webkit.org>

        Build fix. Clearly, these objects could be instantiated in worker threads.
        Not sure why my patch asserted that we're in the main thread.

        * dom/ContainerNode.h:
        (WebCore::NoEventDispatchAssertion::NoEventDispatchAssertion):
        (WebCore::NoEventDispatchAssertion::~NoEventDispatchAssertion):

2012-10-01  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=97365
        ScrollingTreeState needs to be a tree of nodes

        Reviewed by Simon Fraser.

        This patch should not change any behavior.

        Prior to this patch, ScrollingTreeState attempted to contain all of 
        the state information needed for the whole scrolling tree in one 
        object. But in the future when there are multiple nodes in the 
        scrolling tree, a single state object will not be sufficient. 
        ScrollingState should also be represented by a tree. This patch makes 
        scrolling state into a tree. The old ScrollingTreeState class has 
        become the ScrollingStateScrollingNode class since the majority of 
        the class represents scroll state that is specific to ScrollableAreas 
        and will not be applicable to fixed or sticky layers.

        Some new files and some moved files.
        * WebCore.xcodeproj/project.pbxproj:

        Everything that used to refer to the ScrollingTreeState should now 
        refer to the ScrollingStateTree instead. Right now, all of this code 
        continues to deal with only the root node of the tree. In the future, 
        it will have to deal with all of the nodes.
        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
        (WebCore::ScrollingCoordinator::pageDestroyed):
        (WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
        (WebCore::ScrollingCoordinator::setScrollLayer):
        (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
        (WebCore::ScrollingCoordinator::setScrollParameters):
        (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
        (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
        (WebCore::ScrollingCoordinator::scheduleTreeStateCommit):
        (WebCore::ScrollingCoordinator::scrollingStateTreeCommitterTimerFired):
        (WebCore::ScrollingCoordinator::commitTreeStateIfNeeded):
        (WebCore::ScrollingCoordinator::commitTreeState):
        * page/scrolling/ScrollingCoordinator.h:
        (WebCore):
        (ScrollingCoordinator):

        This is a new abstract base class for the nodes in the 
        ScrollingStateTree.
        * page/scrolling/ScrollingStateNode.cpp: Added.
        (WebCore):
        (WebCore::ScrollingStateNode::ScrollingStateNode):
        (WebCore::ScrollingStateNode::~ScrollingStateNode):
        (WebCore::ScrollingStateNode::appendChild):
        (WebCore::ScrollingStateNode::cloneChildNodes):
        (WebCore::ScrollingStateNode::traverseNext):
        * page/scrolling/ScrollingStateNode.h: Added.
        (WebCore):
        (ScrollingStateNode):
        (WebCore::ScrollingStateNode::scrollLayerDidChange):
        (WebCore::ScrollingStateNode::setScrollLayerDidChange):
        (WebCore::ScrollingStateNode::scrollingStateTree):
        (WebCore::ScrollingStateNode::parent):
        (WebCore::ScrollingStateNode::firstChild):
        (WebCore::ScrollingStateNode::nextSibling):
        (WebCore::ScrollingStateNode::setParent):
        (WebCore::ScrollingStateNode::setFirstChild):
        (WebCore::ScrollingStateNode::setNextSibling):
        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
        * page/scrolling/mac/ScrollingStateNodeMac.mm: Copied from page/scrolling/mac/ScrollingTreeStateMac.mm.
        (WebCore::ScrollingStateNode::platformScrollLayer):
        (WebCore::ScrollingStateNode::setScrollLayer):
        (WebCore):

        Right now, the ScrollingStateScrollingNode is the only type of 
        ScrollingStateNode. In the future there will be, for example, 
        ScrollingStateFixedNodes that will have a different set of state 
        information to keep track of.
        * page/scrolling/ScrollingStateScrollingNode.cpp: Copied from page/scrolling/ScrollingTreeState.cpp.
        (WebCore::ScrollingStateScrollingNode::create):
        (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
        (WebCore):
        (WebCore::ScrollingStateScrollingNode::~ScrollingStateScrollingNode):
        (WebCore::ScrollingStateScrollingNode::cloneNode):
        (WebCore::ScrollingStateScrollingNode::setViewportRect):
        (WebCore::ScrollingStateScrollingNode::setContentsSize):
        (WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion):
        (WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount):
        (WebCore::ScrollingStateScrollingNode::setShouldUpdateScrollLayerPositionOnMainThread):
        (WebCore::ScrollingStateScrollingNode::setHorizontalScrollElasticity):
        (WebCore::ScrollingStateScrollingNode::setVerticalScrollElasticity):
        (WebCore::ScrollingStateScrollingNode::setHasEnabledHorizontalScrollbar):
        (WebCore::ScrollingStateScrollingNode::setHasEnabledVerticalScrollbar):
        (WebCore::ScrollingStateScrollingNode::setHorizontalScrollbarMode):
        (WebCore::ScrollingStateScrollingNode::setVerticalScrollbarMode):
        (WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
        (WebCore::ScrollingStateScrollingNode::setScrollOrigin):
        * page/scrolling/ScrollingStateScrollingNode.h: Copied from page/scrolling/ScrollingTreeState.h.
        (ScrollingStateScrollingNode):
        * page/scrolling/ScrollingStateTree.cpp: Added.
        (WebCore):
        (WebCore::ScrollingStateTree::create):
        (WebCore::ScrollingStateTree::ScrollingStateTree):
        (WebCore::ScrollingStateTree::~ScrollingStateTree):
        (WebCore::ScrollingStateTree::commit):

        The ScrollingStateTree manages the nodes in the tree via the root 
        node. It is responsible for cloning the tree and sending it over to 
        the scrolling thread.
        * page/scrolling/ScrollingStateTree.h: Added.
        (WebCore):
        (ScrollingStateTree):
        (WebCore::ScrollingStateTree::rootStateNode):
        (WebCore::ScrollingStateTree::setHasChangedProperties):
        (WebCore::ScrollingStateTree::hasChangedProperties):
        (WebCore::ScrollingStateTree::setRootStateNode):

        Everything that used to refer to the ScrollingTreeState should now 
        refer to the ScrollingStateTree instead. Right now, all of this code 
        continues to deal with only the root node of the tree. In the future, 
        it will have to deal with all of the nodes.
        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::commitNewTreeState):
        * page/scrolling/ScrollingTree.h:
        (WebCore):
        * page/scrolling/ScrollingTreeNode.cpp:
        (WebCore::ScrollingTreeNode::update):
        * page/scrolling/ScrollingTreeNode.h:
        (WebCore):
        (ScrollingTreeNode):
        * page/scrolling/mac/ScrollingTreeNodeMac.h:
        (ScrollingTreeNodeMac):
        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
        (WebCore::ScrollingTreeNodeMac::update):

        ScrollingTreeState.cpp --> ScrollingStateScrollingNode.cpp
        * page/scrolling/ScrollingTreeState.cpp: Removed.

        ScrollingTreeState.h --> ScrollingStateScrollingNode.h
        * page/scrolling/ScrollingTreeState.h: Removed.

        ScrollingTreeStateMac.mm --> ScrollingStateNodeMac.mm
        * page/scrolling/mac/ScrollingTreeStateMac.mm: Removed.

2012-10-01  Dimitri Glazkov  <dglazkov@chromium.org>

        Kill transitive effects of SelectorChecker::checkOneSelector.
        https://bugs.webkit.org/show_bug.cgi?id=97953

        Reviewed by Eric Seidel.

        The dynamicPseudo/hasUnknownPseudoelements by-ref parameters that are passed into checkOneSelector make the logic harder to understand and aren't needed. Refactor the code to rid of them, replacing them instead with two flags in SelectorCheckingContext.

        No change in behavior, covered by existing tests.

        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkSelector): Rolled pseudo-element-checking code out of checkOneSelector into here, since that is where t
        (WebCore::SelectorChecker::checkOneSelector): Changed to use SelectorCheckingContext rather than transitive params.
        * css/SelectorChecker.h:
        (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext): Added two new flags.
        (SelectorCheckingContext): Ditto.


2012-10-01  Andreas Kling  <kling@webkit.org>

        349kB below SelectorDataList::initialize() on Membuster3.
        <http://webkit.org/b/98072>
        <rdar://problem/12408605>

        Reviewed by Anders Carlsson.

        Make a separate pass over the CSSSelectorList to figure out the capacity needed for SelectorDataList::m_selectors.
        Reduces memory consumption by 322kB on Membuster3.

        * dom/SelectorQuery.cpp:
        (WebCore::SelectorDataList::initialize):

2012-10-01  Anders Carlsson  <andersca@apple.com>

        Add a GraphicsLayerFactory getter to ChromeClient
        https://bugs.webkit.org/show_bug.cgi?id=98069

        Reviewed by Andreas Kling.

        * page/ChromeClient.h:
        (WebCore::ChromeClient::graphicsLayerFactory):
        New function that can be overridden by ports to customize the layer type created for a page.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::graphicsLayerFactory):
        * rendering/RenderLayerCompositor.h:
        Add helper getter that's unused for now but will be called by RenderLayerBacking when creating graphics layers.

2012-10-01  Ryosuke Niwa  <rniwa@webkit.org>

        Rename AssertNoEventDispatch to NoEventDispatchAssertion
        https://bugs.webkit.org/show_bug.cgi?id=98075

        Reviewed by Abhishek Arya.

        Renamed the class.

        * dom/ContainerNode.cpp:
        (WebCore):
        (WebCore::ContainerNode::insertBeforeCommon):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::removeBetween):
        (WebCore::ContainerNode::removeChildren):
        (WebCore::ContainerNode::appendChild):
        (WebCore::ContainerNode::parserAppendChild):
        (WebCore::dispatchChildInsertionEvents):
        (WebCore::dispatchChildRemovalEvents):
        * dom/ContainerNode.h:
        (WebCore::NoEventDispatchAssertion::NoEventDispatchAssertion):
        (WebCore::NoEventDispatchAssertion::~NoEventDispatchAssertion):
        * dom/ContainerNodeAlgorithms.h:
        (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
        (WebCore::ChildNodeInsertionNotifier::notify):
        (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):
        * dom/Document.cpp:
        (WebCore::Document::dispatchWindowEvent):
        (WebCore::Document::dispatchWindowLoadEvent):
        * dom/EventDispatcher.cpp:
        (WebCore::EventDispatcher::dispatchEvent):
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::fireEventListeners):
        * dom/Node.cpp:
        (WebCore::Node::dispatchSubtreeModifiedEvent):
        (WebCore::Node::dispatchFocusInEvent):
        (WebCore::Node::dispatchFocusOutEvent):
        (WebCore::Node::dispatchDOMActivateEvent):
        * dom/WebKitNamedFlow.cpp:
        (WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::loadInternal):

2012-10-01  Stephen Chenney  <schenney@chromium.org>

        Rename Font::m_fontList to avoid confusion
        https://bugs.webkit.org/show_bug.cgi?id=95867

        Reviewed by Eric Seidel.

       Renames Font::m_fontList to Font::m_fontFallbackList to avoid confusion
       with FontFallbackList::m_fontList.

        No new tests as behavior is absolutely not different.

        * platform/graphics/Font.cpp:
        (WebCore::Font::Font):
        (WebCore::Font::operator=):
        (WebCore::Font::operator==):
        (WebCore::Font::update):
        * platform/graphics/Font.h:
        (WebCore::Font::fontList):
        (WebCore::Font::loadingCustomFonts):
        (Font):
        (WebCore::Font::primaryFont):
        (WebCore::Font::fontDataAt):
        (WebCore::Font::isFixedPitch):
        (WebCore::Font::fontSelector):
        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::glyphDataAndPageForCharacter):

2012-10-01  Florin Malita  <fmalita@chromium.org>

        Refactor layer-related logic out of RenderBoxModelObject
        https://bugs.webkit.org/show_bug.cgi?id=86022

        Reviewed by David Hyatt.

        This patch extracts layer-related logic into a dedicated class
        (RenderLayerModelObject) and refactors dependent code to make use
        of the new type instead of RenderBoxModelObject. This is in preparation
        of adding non-RenderBoxModelObject layer supprt.

        All methods that were using RenderBoxModelObject for layer-related
        functionality are updated to work with RenderLayerModelObject
        instead (a RenderLayer's renderer() can no longer be assumed to be
        a RenderBoxModelObject).

        No new tests: refactoring with no behavior changes.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/LayoutRepainter.h:
        (WebCore):
        (LayoutRepainter):
        * rendering/RenderBR.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::selectionGapRectsForRepaint):
        (WebCore::RenderBlock::rectWithOutlineForRepaint):
        * rendering/RenderBlock.h:
        (RenderBlock):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::styleDidChange):
        (WebCore::RenderBox::updateFromStyle):
        (WebCore::RenderBox::outlineBoundsForRepaint):
        (WebCore::RenderBox::mapLocalToContainer):
        (WebCore::RenderBox::pushMappingToContainer):
        (WebCore::RenderBox::clippedOverflowRectForRepaint):
        (WebCore::RenderBox::computeRectForRepaint):
        (WebCore::RenderBox::enclosingFloatPaintingLayer):
        * rendering/RenderBox.h:
        (RenderBox):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore):
        (WebCore::RenderBoxModelObject::RenderBoxModelObject):
        (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
        (WebCore::RenderBoxModelObject::willBeDestroyed):
        (WebCore::RenderBoxModelObject::updateFromStyle):
        * rendering/RenderBoxModelObject.h:
        (RenderBoxModelObject):
        * rendering/RenderGeometryMap.cpp:
        (WebCore::RenderGeometryMap::pushMappingsToAncestor):
        (WebCore::RenderGeometryMap::popMappingsToAncestor):
        * rendering/RenderGeometryMap.h:
        (RenderGeometryMap):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::updateFromStyle):
        (WebCore::RenderInline::clippedOverflowRectForRepaint):
        (WebCore::RenderInline::rectWithOutlineForRepaint):
        (WebCore::RenderInline::computeRectForRepaint):
        (WebCore::RenderInline::mapLocalToContainer):
        (WebCore::RenderInline::pushMappingToContainer):
        * rendering/RenderInline.h:
        (RenderInline):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::updateLayerPositions):
        (WebCore::RenderLayer::computeRepaintRects):
        (WebCore::checkContainingBlockChainForPagination):
        (WebCore::RenderLayer::updateLayerPosition):
        (WebCore::isPositionedContainer):
        (WebCore::RenderLayer::hasAncestorWithFilterOutsets):
        (WebCore::RenderLayer::scrollTo):
        (WebCore::RenderLayer::repaintIncludingNonCompositingDescendants):
        * rendering/RenderLayer.h:
        (RenderLayer):
        (WebCore::RenderLayer::renderer):
        * rendering/RenderLayerBacking.h:
        (WebCore::RenderLayerBacking::renderer):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateBacking):
        (WebCore::RenderLayerCompositor::repaintOnCompositingChange):
        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
        (WebCore::RenderLayerCompositor::reasonForCompositing):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::selectionRectForRepaint):
        * rendering/RenderListMarker.h:
        (RenderListMarker):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addChild):
        (WebCore::addLayers):
        (WebCore::RenderObject::removeLayers):
        (WebCore::RenderObject::moveLayers):
        (WebCore::RenderObject::findNextLayer):
        (WebCore::RenderObject::enclosingLayer):
        (WebCore::RenderObject::setLayerNeedsFullRepaint):
        (WebCore::RenderObject::setLayerNeedsFullRepaintForPositionedMovementLayout):
        (WebCore::RenderObject::containerForRepaint):
        (WebCore::RenderObject::repaintUsingContainer):
        (WebCore::RenderObject::repaint):
        (WebCore::RenderObject::repaintRectangle):
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
        (WebCore::RenderObject::rectWithOutlineForRepaint):
        (WebCore::RenderObject::clippedOverflowRectForRepaint):
        (WebCore::RenderObject::computeRectForRepaint):
        (WebCore::RenderObject::computeFloatRectForRepaint):
        (WebCore::RenderObject::adjustStyleDifference):
        (WebCore::RenderObject::mapLocalToContainer):
        (WebCore::RenderObject::pushMappingToContainer):
        (WebCore::RenderObject::shouldUseTransformFromContainer):
        (WebCore::RenderObject::getTransformFromContainer):
        (WebCore::RenderObject::localToContainerQuad):
        (WebCore::RenderObject::localToContainerPoint):
        (WebCore::RenderObject::container):
        (WebCore::RenderObject::willBeDestroyed):
        (WebCore::RenderObject::isComposited):
        * rendering/RenderObject.h:
        (WebCore):
        (WebCore::RenderObject::isLayerModelObject):
        (RenderObject):
        (WebCore::RenderObject::selectionRectForRepaint):
        (WebCore::RenderObject::outlineBoundsForRepaint):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::selectionRectForRepaint):
        (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
        * rendering/RenderReplaced.h:
        (RenderReplaced):
        * rendering/RenderSelectionInfo.h:
        (WebCore::RenderSelectionInfoBase::repaintContainer):
        (RenderSelectionInfoBase):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
        (WebCore::RenderTableCell::computeRectForRepaint):
        * rendering/RenderTableCell.h:
        (RenderTableCell):
        * rendering/RenderTableCol.cpp:
        (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
        * rendering/RenderTableCol.h:
        (RenderTableCol):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
        * rendering/RenderTableRow.h:
        (RenderTableRow):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::clippedOverflowRectForRepaint):
        (WebCore::RenderText::selectionRectForRepaint):
        * rendering/RenderText.h:
        (RenderText):
        * rendering/RenderLayerModelObject.cpp: Added.
        (WebCore):
        (WebCore::RenderLayerModelObject::RenderLayerModelObject):
        (WebCore::RenderLayerModelObject::~RenderLayerModelObject):
        (WebCore::RenderLayerModelObject::destroyLayer):
        (WebCore::RenderLayerModelObject::ensureLayer):
        (WebCore::RenderLayerModelObject::hasSelfPaintingLayer):
        (WebCore::RenderLayerModelObject::willBeDestroyed):
        (WebCore::RenderLayerModelObject::styleWillChange):
        (WebCore::RenderLayerModelObject::styleDidChange):
        * rendering/RenderLayerModelObject.h: Added.
        (WebCore):
        (RenderLayerModelObject):
        (WebCore::RenderLayerModelObject::layer):
        (WebCore::RenderLayerModelObject::updateFromStyle):
        (WebCore::toRenderLayerModelObject):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::mapLocalToContainer):
        (WebCore::RenderView::pushMappingToContainer):
        (WebCore::isComposited):
        (WebCore::RenderView::computeRectForRepaint):
        (WebCore::RenderView::absoluteRects):
        (WebCore::RenderView::absoluteQuads):
        (WebCore::RenderView::selectionBounds):
        (WebCore::RenderView::setSelection):
        (WebCore::RenderView::clearSelection):
        * rendering/RenderView.h:
        (RenderView):
        * rendering/RenderingAllInOne.cpp:
        * rendering/svg/RenderSVGBlock.cpp:
        (WebCore::RenderSVGBlock::updateFromStyle):
        * rendering/svg/RenderSVGBlock.h:
        (RenderSVGBlock):
        * rendering/svg/RenderSVGForeignObject.cpp:
        (WebCore::RenderSVGForeignObject::clippedOverflowRectForRepaint):
        (WebCore::RenderSVGForeignObject::computeFloatRectForRepaint):
        (WebCore::RenderSVGForeignObject::mapLocalToContainer):
        (WebCore::RenderSVGForeignObject::pushMappingToContainer):
        * rendering/svg/RenderSVGForeignObject.h:
        (RenderSVGForeignObject):
        * rendering/svg/RenderSVGGradientStop.h:
        * rendering/svg/RenderSVGHiddenContainer.h:
        * rendering/svg/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::clippedOverflowRectForRepaint):
        (WebCore::RenderSVGInline::computeFloatRectForRepaint):
        (WebCore::RenderSVGInline::mapLocalToContainer):
        (WebCore::RenderSVGInline::pushMappingToContainer):
        * rendering/svg/RenderSVGInline.h:
        (RenderSVGInline):
        * rendering/svg/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
        (WebCore::RenderSVGModelObject::computeFloatRectForRepaint):
        (WebCore::RenderSVGModelObject::mapLocalToContainer):
        (WebCore::RenderSVGModelObject::pushMappingToContainer):
        (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
        * rendering/svg/RenderSVGModelObject.h:
        (RenderSVGModelObject):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
        (WebCore::RenderSVGRoot::computeFloatRectForRepaint):
        (WebCore::RenderSVGRoot::mapLocalToContainer):
        (WebCore::RenderSVGRoot::pushMappingToContainer):
        * rendering/svg/RenderSVGRoot.h:
        (RenderSVGRoot):
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
        (WebCore::RenderSVGText::computeRectForRepaint):
        (WebCore::RenderSVGText::computeFloatRectForRepaint):
        (WebCore::RenderSVGText::mapLocalToContainer):
        (WebCore::RenderSVGText::pushMappingToContainer):
        * rendering/svg/RenderSVGText.h:
        (RenderSVGText):
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
        (WebCore::SVGRenderSupport::computeFloatRectForRepaint):
        (WebCore::SVGRenderSupport::mapLocalToContainer):
        (WebCore::SVGRenderSupport::pushMappingToContainer):
        * rendering/svg/SVGRenderSupport.h:
        (WebCore):
        (SVGRenderSupport):

2012-10-01  Stephen Chenney  <schenney@chromium.org>

        Refactor WebCore::FontData handling to clarify pointer ownership
        https://bugs.webkit.org/show_bug.cgi?id=95866

        Reviewed by Eric Seidel.

        This patch makes all FontData and derived classes ref-counted in all
        code paths that lead to caching or other retention of a
        pointer. The goal is to avert crashes and memory leaks, and to bring
        the code more in line with current WebKit practices.

        Specifically, this patch allows us to use ref pointers for all the
        FontData stored in FontFallbackList objects. The FontFallbackList can
        then own custom font data and manage its lifetime (forthcoming patch).
        Currently Document owns custom font data and does an end run around
        FontFallbackList in deleting glyph pages and custom font data, leaving
        FontFallbackList with invalid pointers.

        All FontData derived classes have been switched to use static create
        methods with private constructors.

        All caches that hold FontData now use RefPtrs.

        All methods that construct new font data now return PassRefPtr, with the
        exception of code only used to generate temporary data for text run layout.

        All methods that handle FontData in a call stack that passes through
        FontFallbackList::fontDataAt return PassRefPtr.

        Performance tested with both WebKit Perf-o-matic, which showed
        performance changes in the noise, and Chrome's page cycling tests with
        the acid3 benchmark set, which showed no performance difference at all.

        No new tests as this is refactoring code only and has no impact on functionality.

        * css/CSSFontFace.cpp:
        (WebCore::CSSFontFace::getFontData):
        * css/CSSFontFace.h:
        (CSSFontFace):
        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData):
        * css/CSSFontFaceSource.h:
        (CSSFontFaceSource):
        * css/CSSFontSelector.cpp:
        (WebCore::fontDataForGenericFamily):
        (WebCore::CSSFontSelector::getFontData):
        * css/CSSFontSelector.h:
        * css/CSSSegmentedFontFace.cpp:
        (WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading):
        (WebCore::CSSSegmentedFontFace::getFontData):
        * css/CSSSegmentedFontFace.h:
        (CSSSegmentedFontFace):
        * dom/Document.cpp:
        (WebCore::Document::registerCustomFont):
        * dom/Document.h:
        (Document):
        * platform/graphics/Font.h:
        (WebCore):
        * platform/graphics/FontCache.cpp:
        (WebCore):
        (WebCore::FontCache::getCachedFontData):
        (WebCore::FontCache::getNonRetainedLastResortFallbackFont):
        (WebCore::FontCache::releaseFontData):
        (WebCore::FontCache::purgeInactiveFontData):
        (WebCore::FontCache::getFontData):
        * platform/graphics/FontCache.h:
        (FontCache):
        * platform/graphics/FontData.h:
        * platform/graphics/FontFallbackList.cpp:
        (WebCore::FontFallbackList::releaseFontData):
        (WebCore::FontFallbackList::fontDataAt):
        (WebCore::FontFallbackList::setPlatformFont):
        * platform/graphics/FontFallbackList.h:
        (FontFallbackList):
        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::glyphDataAndPageForCharacter):
        * platform/graphics/FontSelector.h:
        (FontSelector):
        * platform/graphics/GlyphPageTreeNode.cpp:
        (WebCore::GlyphPageTreeNode::initializePage):
        * platform/graphics/SegmentedFontData.cpp:
        (WebCore::SegmentedFontData::fontDataForCharacter):
        * platform/graphics/SegmentedFontData.h:
        (WebCore::FontDataRange::FontDataRange):
        (WebCore::FontDataRange::fontData):
        (FontDataRange):
        (WebCore::SegmentedFontData::create):
        (SegmentedFontData):
        (WebCore::SegmentedFontData::SegmentedFontData):
        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::verticalRightOrientationFontData):
        (WebCore::SimpleFontData::uprightOrientationFontData):
        (WebCore::SimpleFontData::brokenIdeographFontData):
        * platform/graphics/SimpleFontData.h:
        (WebCore::SimpleFontData::create):
        (SimpleFontData):
        (WebCore::SimpleFontData::variantFontData):
        (DerivedFontData):
        * platform/graphics/chromium/FontCacheAndroid.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
        (GetLastResortFallbackFontProcData):
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/freetype/FontCacheFreeType.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/mac/ComplexTextControllerCoreText.mm:
        (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
        * platform/graphics/mac/FontCacheMac.mm:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/mac/FontComplexTextMac.cpp:
        (WebCore::Font::fontDataForCombiningCharacterSequence):
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformDestroy):
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/pango/FontCachePango.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/pango/SimpleFontDataPango.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/qt/FontCacheQt.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/qt/SimpleFontDataQt.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/skia/FontCacheSkia.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/skia/SimpleFontDataSkia.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/win/SimpleFontDataWin.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/wince/FontCacheWinCE.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/wince/SimpleFontDataWinCE.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):
        * platform/graphics/wx/FontCacheWx.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/wx/SimpleFontDataWx.cpp:
        (WebCore::SimpleFontData::createScaledFontData):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::emphasisMarkFontData):

2012-10-01  Ryosuke Niwa  <rniwa@webkit.org>

        Turn forbidEventDispatch and allowEventDispatch into a RAII object
        https://bugs.webkit.org/show_bug.cgi?id=96717

        Reviewed by Abhishek Arya.

        Replaced forbidEventDispatch and allowEventDispatch by AssertNoEventDispatch.

        * dom/ContainerNode.cpp:
        (WebCore):
        (WebCore::ContainerNode::insertBeforeCommon):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::removeBetween):
        (WebCore::ContainerNode::removeChildren):
        (WebCore::ContainerNode::appendChild):
        (WebCore::ContainerNode::parserAddChild):
        (WebCore::dispatchChildInsertionEvents):
        (WebCore::dispatchChildRemovalEvents):
        * dom/ContainerNode.h:
        (AssertNoEventDispatch):
        (WebCore::AssertNoEventDispatch::AssertNoEventDispatch):
        (WebCore::AssertNoEventDispatch::~AssertNoEventDispatch):
        (WebCore::AssertNoEventDispatch::isEventDispatchForbidden):
        (WebCore):
        * dom/ContainerNodeAlgorithms.h:
        (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
        (WebCore::ChildNodeInsertionNotifier::notify):
        (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):
        * dom/Document.cpp:
        (WebCore::Document::dispatchWindowEvent):
        (WebCore::Document::dispatchWindowLoadEvent):
        * dom/EventDispatcher.cpp:
        (WebCore::EventDispatcher::dispatchEvent):
        * dom/EventTarget.cpp:
        (WebCore):
        (WebCore::EventTarget::fireEventListeners):
        * dom/EventTarget.h:
        (WebCore):
        * dom/Node.cpp:
        (WebCore::Node::dispatchSubtreeModifiedEvent):
        (WebCore::Node::dispatchFocusInEvent):
        (WebCore::Node::dispatchFocusOutEvent):
        (WebCore::Node::dispatchDOMActivateEvent):
        * dom/WebKitNamedFlow.cpp:
        (WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::loadInternal):

2012-10-01  Anders Carlsson  <andersca@apple.com>

        Would like a way to customize the type of GraphicsLayers created on a per page basis
        https://bugs.webkit.org/show_bug.cgi?id=98051

        Reviewed by Simon Fraser.

        Add a GraphicsLayerFactory abstract class and a new GraphicsLayer::create overload that takes
        a factory object. Eventually, all calls to the old GraphicsLayer::create will be replaced with
        the new version that takes an optional factory.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/GraphicsLayer.h:
        (WebCore):
        (GraphicsLayer):
        * platform/graphics/GraphicsLayerFactory.h: Added.
        (WebCore):
        (GraphicsLayerFactory):
        (WebCore::GraphicsLayerFactory::~GraphicsLayerFactory):
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayer::create):
        (WebCore):

2012-10-01  Adam Klein  <adamk@chromium.org>

        Consolidate more MutationObserverRegistration logic in Node
        https://bugs.webkit.org/show_bug.cgi?id=98058

        Reviewed by Ryosuke Niwa.

        One remaining oddity of Node's MutationObserver-related interface was
        that registerMutationObserver returned the resulting MutationObserverRegistration
        object.

        Instead, Node now internally handles resetting the observation
        if the registration already exists, and updating the Document's list of
        mutation observer types.

        No change in behavior, refactoring only.

        * dom/MutationObserver.cpp:
        (WebCore::MutationObserver::observe): Simplified to just call
        Node::registerMutationObserver; nothing else is needed.
        * dom/MutationObserverRegistration.cpp:
        (WebCore::MutationObserverRegistration::create): Take options and attributeFilter,
        avoiding an unnecessary call to resetObservation().
        (WebCore::MutationObserverRegistration::MutationObserverRegistration): ditto
        * dom/MutationObserverRegistration.h:
        (MutationObserverRegistration):
        * dom/Node.cpp:
        (WebCore::Node::registerMutationObserver): Handle observation
        resetting if that observer's already registered, and update the list
        of active MutationObserver types in the Document.
        * dom/Node.h:
        (Node):

2012-10-01  Glenn Adams  <glenn@skynav.com>

        YYDEBUG doesn't print token values
        https://bugs.webkit.org/show_bug.cgi?id=97896

        Reviewed by Simon Fraser.

        Define YYPRINT macro to print token values when YYDEBUG is set.

        No new tests. For CSS lexer/parser debug usage only.

        * css/CSSGrammar.y:
        Define YYPRINT macro to output IDENT and STRING typed tokens. Others can be added
        in the future.

2012-10-01  Jochen Eisinger  <jochen@chromium.org>

        [chromium] ASSERT that the embedder has set a default locale
        https://bugs.webkit.org/show_bug.cgi?id=98001

        Reviewed by Adam Barth.

        The callsites assume that the default language is always defined, e.g.
        Document::getCachedLocalizer. Add an ASSERT() statement so an embedder
        doesn't have to guess what they did wrong.

        * platform/chromium/LanguageChromium.cpp:
        (WebCore::platformLanguage):

2012-10-01  Christophe Dumez  <christophe.dumez@intel.com>

        Fix compilation warnings
        https://bugs.webkit.org/show_bug.cgi?id=98020

        Reviewed by Gyuyoung Kim.

        Fix compilation warnings in PluginView code.

        No new tests, no behavior change.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::newStream):
        (WebCore::PluginView::write):
        (WebCore::PluginView::getAuthenticationInfo):
        * plugins/efl/PluginViewEfl.cpp:
        (WebCore::PluginView::setNPWindowRect):
        (WebCore::PluginView::invalidateRegion):

2012-10-01  Arpita Bahuguna  <arpitabahuguna@gmail.com>

        RenderBlock incorrectly calculates pref width when a replaced object follows a RenderInline with width
        https://bugs.webkit.org/show_bug.cgi?id=84624

        Reviewed by Levi Weintraub.

        For the specific scenario, wherein an inline replaced element (image)
        follows an inline flow object within a render block, we should allow
        for that block to grow to accomodate the replaced element so as to
        avoid it's overflow.

        This quirk is handled well by other browsers.

        Test: fast/block/block-with-inline-replaced-child.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
        We should not cause our line to break for the scenario wherein an inline
        replaced element follows an inline flow object.

        For handling the same have introduced a flag: isPrevChildInlineFlow which
        shall be set for an inline flow element.
        Based on this, while handling the inline replaced elements, we either
        terminate the line (for minWidth calculation) or not depending upon
        this flag.

2012-10-01  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Chromium build fix.

        * bindings/v8/V8DOMMap.h: included Node.h as reportMemoryUsage now uses Node definition.

2012-10-01  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: provide memory instrumentation for HashMap
        https://bugs.webkit.org/show_bug.cgi?id=98005

        Reviewed by Pavel Feldman.

        Updated all call sites of MemoryInstrumentation::addHashMap to use generic
        method of reporting memory footprint instead. 

        * bindings/v8/ScopedDOMDataStore.cpp:
        * bindings/v8/V8Binding.cpp:
        (WebCore::StringCache::reportMemoryUsage):
        * bindings/v8/V8DOMMap.h:
        * bindings/v8/V8PerIsolateData.cpp:
        (WebCore::V8PerIsolateData::reportMemoryUsage):
        * css/CSSImageGeneratorValue.cpp:
        (WebCore::CSSImageGeneratorValue::reportBaseClassMemoryUsage):
        * css/PropertySetCSSStyleDeclaration.cpp:
        (WebCore::PropertySetCSSStyleDeclaration::reportMemoryUsage):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::collectMatchingRulesForList):
        * css/StyleSheetContents.cpp:
        (WebCore::StyleSheetContents::reportMemoryUsage):
        * dom/Document.cpp:
        (WebCore::Document::reportMemoryUsage):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::reportMemoryUsage):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::reportMemoryUsage):
        * loader/cache/MemoryCache.cpp:
        (WebCore::MemoryCache::reportMemoryUsage):
        * platform/network/ResourceRequestBase.cpp:
        (WebCore::ResourceRequestBase::reportMemoryUsage):
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::reportMemoryUsage):
        * rendering/style/StyleRareNonInheritedData.cpp:

2012-10-01  Yury Semikhatsky  <yurys@chromium.org>

        Put implementation details of StyleBuilder.cpp into anonymous namespace
        https://bugs.webkit.org/show_bug.cgi?id=98028

        Reviewed by Pavel Feldman.

        All types that are declared and used only inside StyleBuilder were moved
        into anonymous namespace to avoid name conflicts with the rest of WebCore.

        * css/StyleBuilder.cpp:
        (WebCore::StyleBuilder::StyleBuilder): renamed BorderImageType::Image into BorderImageType::BorderImage
        as otherwise there is an ambiguity at placess where setPropertyHandler is called.

2012-10-01  Andrei Bucur  <abucur@adobe.com>

        [CSS Regions] Remove the deprecated API Document.webkitGetFlowByName
        https://bugs.webkit.org/show_bug.cgi?id=97657

        Reviewed by Andreas Kling.

        The Document.getFlowByName() API has been deprecated in favor of the NamedFlowCollection.namedItem(DOMString).
        Link to spec: http://www.w3.org/TR/css3-regions/#the-namedflow-interface

        Tests: The old tests have been adapted to use the new API.

        * dom/Document.cpp:
        (WebCore):
        * dom/Document.h:
        (Document):
        * dom/Document.idl:

2012-09-27  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>

        Make sure that the history position is applied correctly when using delegatesScrolling
        https://bugs.webkit.org/show_bug.cgi?id=97778

        Reviewed by Kenneth Rohde Christiansen.

        The position is applied asynchronously and the UI process is the one holding the current
        state. For this reason we can't rely in WebCore on ScrollView::scrollPosition holding
        the current position in that case.

        * page/Page.cpp:
        (WebCore::Page::setPageScaleFactor):

2012-09-27  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>

        [Qt] Decide when to apply a scrolled position to the viewport based on the rect covered by the tiles
        https://bugs.webkit.org/show_bug.cgi?id=97777

        Reviewed by Kenneth Rohde Christiansen.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::createTiles):
        * platform/graphics/TiledBackingStore.h:
        (WebCore::TiledBackingStore::coverRect):
        (WebCore::TiledBackingStore::setCoverRect):
        (TiledBackingStore):

2012-10-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck.

        * GNUmakefile.list.am: ClipPathOperation.h was moved.

2012-10-01  Arko Saha  <arko@motorola.com>

        Microdata: names.item() must return null for out of range indexes.
        https://bugs.webkit.org/show_bug.cgi?id=97898

        Reviewed by Kentaro Hara.

        DOMStringList.item() must return null for an invalid index.
        Spec: http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList
        Removed [IsIndex] extended IDL attribute from item() method's index
        parameter in DOMStringList interface.
        Firefox and Opera's behavior is consistent with the spec. Both
        returns null for invalid index.

        Test: fast/dom/MicroData/names-item-out-of-range-index.html

        * dom/DOMStringList.idl:

2012-10-01  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Multiple fields week input UI
        https://bugs.webkit.org/show_bug.cgi?id=97877

        Reviewed by Kent Tamura.

        This patch introduces multiple fields "week" input UI in DRT. We'll
        enable this feature once we add tests.

        Note: This patch affects ports which enable both ENABLE_INPUT_TYPE_WEEK
        and ENABLE_INPUT_MULTIPLE_FIELDS_UI.

        No new tests. To reduce size of this patch, other patches add tests
        for multiple fields week input UI.

        Note: Actual outputs of two tests
          - fast/forms/week/week-input-visible-string.html
          - fast/forms/week/week-stepup-stepdown-from-renderer.html
        are different.

        * css/thml.css:
        (input::-webkit-datetime-edit-week-field): Added for field appearance.
        (input::-webkit-datetime-edit-week-field:focus): Added to remove focus ring.
        * html/WeekInputType.cpp:
        (WebCore::WeekInputType::formatDateTimeFieldsState): Added to format numeric value to string value as specified in HTML5 specification.
        (WebCore::WeekInputType::setupLayoutParameters):  Added to set layout of multiple fields.
        * html/WeekInputType.h: Changed to include BaseMultipleFieldsDateAndTimeInputType.h and introduce BaseWeekInputType typedef.
        (WebCore::WeekInputType::WeekInputType): Changed base class name to BaseWeekInputType.
        (WeekInputType): Changed to add declarations for formatDateTimeFieldsState() and setupLayoutParameters().
        * html/shadow/DateTimeEditElement.cpp:
        (WebCore::DateTimeEditBuilder::visitField): Changed to support week field.

2012-10-01  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: do not use InspectorInstrumentation::hasFrontends() check when collecting stacks
        https://bugs.webkit.org/show_bug.cgi?id=96730

        Reviewed by Vsevolod Vlasov.

        - Introduced InspectorInstrumentation::console|timeline|runtime|canvasAgentEnabled
        - Using it all over the place instead of the hasFrontend (the latter is now only used once to guard hot path)
        - Introduced explicit "enabled" state of the console and runtime agents

        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        (WebCore::JSHTMLCanvasElement::getContext):
        * bindings/js/JSMainThreadExecState.h:
        (WebCore::JSMainThreadExecState::instrumentFunctionCall):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::create):
        * bindings/js/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStackForConsole):
        * bindings/js/ScriptCallStackFactory.h:
        (WebCore):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateCallWith):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateCallWith):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
        (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
        (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
        (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
        (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackCallback):
        * bindings/v8/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStackForConsole):
        * bindings/v8/ScriptCallStackFactory.h:
        (WebCore):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::callFunctionWithInstrumentation):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):
        * bindings/v8/V8WorkerContextEventListener.cpp:
        (WebCore::V8WorkerContextEventListener::callListenerFunction):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::WindowSetTimeoutImpl):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::V8HTMLCanvasElement::getContextCallback):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::SetTimeoutOrInterval):
        * inspector/Inspector.json:
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore):
        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
        (WebCore::InspectorConsoleAgent::enable):
        (WebCore::InspectorConsoleAgent::disable):
        (WebCore::InspectorConsoleAgent::clearMessages):
        (WebCore::InspectorConsoleAgent::clearFrontend):
        (WebCore::InspectorConsoleAgent::addConsoleMessage):
        * inspector/InspectorConsoleAgent.h:
        (WebCore::InspectorConsoleAgent::enabled):
        (InspectorConsoleAgent):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore):
        (WebCore::InspectorInstrumentation::canvasAgentEnabled):
        (WebCore::InspectorInstrumentation::consoleAgentEnabled):
        (WebCore::InspectorInstrumentation::runtimeAgentEnabled):
        (WebCore::InspectorInstrumentation::timelineAgentEnabled):
        * inspector/InspectorInstrumentation.h:
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::canvasAgentEnabled):
        (WebCore::InspectorInstrumentation::consoleAgentEnabled):
        (WebCore::InspectorInstrumentation::runtimeAgentEnabled):
        (WebCore::InspectorInstrumentation::timelineAgentEnabled):
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
        * inspector/InspectorRuntimeAgent.h:
        (WebCore::InspectorRuntimeAgent::enabled):
        (WebCore::InspectorRuntimeAgent::enable):
        (WebCore::InspectorRuntimeAgent::disable):
        (InspectorRuntimeAgent):
        * inspector/PageRuntimeAgent.cpp:
        (PageRuntimeAgentState):
        (WebCore::PageRuntimeAgent::clearFrontend):
        (WebCore::PageRuntimeAgent::restore):
        (WebCore):
        (WebCore::PageRuntimeAgent::enable):
        (WebCore::PageRuntimeAgent::disable):
        (WebCore::PageRuntimeAgent::didClearWindowObject):
        (WebCore::PageRuntimeAgent::didCreateIsolatedContext):
        (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
        * inspector/PageRuntimeAgent.h:
        (PageRuntimeAgent):
        * inspector/WorkerRuntimeAgent.cpp:
        * inspector/WorkerRuntimeAgent.h:
        * inspector/front-end/RuntimeModel.js:
        (WebInspector.RuntimeModel.prototype._didLoadCachedResources):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::postMessage):

2012-10-01  Kenichi Ishibashi  <bashi@chromium.org>

        [WebSocket] Setting wrong value to binaryType should not raise exception
        https://bugs.webkit.org/show_bug.cgi?id=97999

        Reviewed by Yuta Kitamura.

        Don't raise exception when binaryType is the wrong value.
        Instead, show an error message to console.

        No new tests. Updated existing test.

        * Modules/websockets/WebSocket.cpp:
        (WebCore::WebSocket::setBinaryType): See the description.
        * Modules/websockets/WebSocket.h:
        (WebSocket): Removed ExceptionCode argument of setBinaryType().
        * Modules/websockets/WebSocket.idl:
        Removed "setter raises(DOMException)" and "[TreatReturnedNullStringAs=Undefined]".
        They are no longer needed.

2012-10-01  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Adding DateTimeWeekFieldElement for multiple fields "week" input UI
        https://bugs.webkit.org/show_bug.cgi?id=97992

        Reviewed by Kent Tamura.

        This patch introduces DateTimeWeekFieldElement class for implementing
        multiple fields "week" input UI.

        No new tests. This patch doesn't change behavior.

        * html/shadow/DateTimeFieldElements.cpp:
        (WebCore::DateTimeWeekFieldElement::DateTimeWeekFieldElement): Added.
        (WebCore::DateTimeWeekFieldElement::create): Added.
        (WebCore::DateTimeWeekFieldElement::populateDateTimeFieldsState): Added.
        (WebCore::DateTimeWeekFieldElement::setValueAsDate): Added.
        (WebCore::DateTimeWeekFieldElement::setValueAsDateTimeFieldsState): Added.
        * html/shadow/DateTimeFieldElements.h:
        (DateTimeWeekFieldElement): Added.
        * platform/DateComponents.h:
        (WebCore::DateComponents): Added declarations of static const member variables, DateComponents::maximumWeekNumber and minimumWeekNumber.
        * platform/DateComponents.cpp: Added definitions of DateComponents::maximumWeekNumber and minimumWeekNumber.
        (WebCore::DateComponents::maxWeekNumberInYear): Changed to use maximumWeekNumber.
        (WebCore::DateComponents::parseWeek): Changed to use minimumWeekNumber.

2012-09-30  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Separate CSSStyleModelResourceBinding into resource and content binding.
        https://bugs.webkit.org/show_bug.cgi?id=97994

        Reviewed by Pavel Feldman.

        Extracted StyleContentBinding from CSSStyleModelResourceBinding.
        Now CSSStyleModelResourceBinding is responsible for mapping between stylesheets and resources.
        StyleContentBinding is now responsible for synchronization between stylesheet content and uiSourceCode content.

        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModelResourceBinding):
        (WebInspector.CSSStyleModelResourceBinding.prototype.requestStyleSheetIdForResource):
        (WebInspector.CSSStyleModelResourceBinding.prototype.requestResourceURLForStyleSheetId):
        * inspector/front-end/StyleSource.js:
        (WebInspector.StyleSource.prototype._commitIncrementalEdit):
        * inspector/front-end/StylesSourceMapping.js:
        (WebInspector.StyleContentBinding):
        (WebInspector.StyleContentBinding.prototype.setStyleContent.callback):
        (WebInspector.StyleContentBinding.prototype.setStyleContent):
        (WebInspector.StyleContentBinding.prototype._innerSetContent.callback):
        (WebInspector.StyleContentBinding.prototype._innerSetContent):
        (WebInspector.StyleContentBinding.prototype._styleSheetChanged.callback):
        (WebInspector.StyleContentBinding.prototype._styleSheetChanged):
        (WebInspector.StyleContentBinding.prototype._innerStyleSheetChanged):
        * inspector/front-end/inspector.js:

2012-10-01  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Device Metrics] Remove the gutter overlay moving its functionality into the InspectorOverlay
        https://bugs.webkit.org/show_bug.cgi?id=97799

        Reviewed by Pavel Feldman.

        Re-applying r129746 with test flakiness fixed.

        In order to reduce the amount of port-specific code, the gutter overlay painted in the device metrics emulation mode
        has been replaced by the respective functionality in the HTML-based InspectorOverlay in WebCore. The InspectorOverlay
        now covers the entire WebView rather than the FrameView only.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::webViewResized):
        (WebCore):
        * inspector/InspectorController.h:
        (WebCore):
        (InspectorController):
        * inspector/InspectorOverlay.cpp:
        (WebCore::InspectorOverlay::InspectorOverlay):
        (WebCore::InspectorOverlay::paint):
        (WebCore::InspectorOverlay::resize):
        (WebCore):
        (WebCore::InspectorOverlay::update):
        (WebCore::InspectorOverlay::drawGutter):
        (WebCore::InspectorOverlay::reset):
        * inspector/InspectorOverlay.h:
        (InspectorOverlay):
        * inspector/InspectorOverlayPage.html: Introduce the gutter painting functionality previously found in the Chromium's
        DeviceMetricsSupport class, which used to implement WebPageOverlay.

2012-10-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix GTK+ build after r129908.

        * GNUmakefile.list.am: Add new files to compilation.

2012-10-01  Philip Rogers  <pdr@google.com>

        Remove overzealous assert in SVGElement::localAttributeToPropertyMap
        https://bugs.webkit.org/show_bug.cgi?id=97291

        Reviewed by Nikolas Zimmermann.

        This patch removes an assert where we did not expect
        SVGElement::localAttributeToPropertyMap where we did not to be called. This
        function turns out to be useful and this patch removes that assert.

        If we encounter a non-SVG tag during SVG parsing (e.g. <svg><price></svg>) we return a
        vanilla SVGElement instance from SVGElementFactory::createSVGElement. Previously,
        trying to animate this would ASSERT because it was not possible to determine the
        animated type. After this patch, an empty localAttributeToPropertyMap is used so
        that the animated type returned from SVGAnimateElement::determineAnimatedPropertyType
        is AnimatedUnknown.

        This patch simply removes an ASSERT so no test is provided.

        * svg/SVGElement.cpp:
        (WebCore::SVGElement::localAttributeToPropertyMap):

2012-10-01  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r130004.
        http://trac.webkit.org/changeset/130004
        https://bugs.webkit.org/show_bug.cgi?id=97996

        Test shadow-dom-modify-chardata.html is failing (Requested by
        keishi on #webkit).

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::dispatchModifiedEvent):

2012-10-01  Keishi Hattori  <keishi@webkit.org>

        REGRESSION(r127727): Calendar picker is ignoring step
        https://bugs.webkit.org/show_bug.cgi?id=97893

        Reviewed by Kent Tamura.

        There were two mistakes:
        - An if-statement to check step attribute validity was wrong, and
        - DateTiemChooserParameters.step was milleseconds when it should be number of days.
        This will be changing the DateTimeChooserParameters.step to milliseconds so we can handle steps for other input types in the future.

        Test: fast/forms/date/calendar-picker-appearance-with-step.html

        * Resources/pagepopups/calendarPicker.js:
        (CalendarPicker):
        * html/shadow/CalendarPickerElement.cpp:
        (WebCore::CalendarPickerElement::openPopup): If statement was wrong.

2012-09-30  Glenn Adams  <glenn@skynav.com>

        Sign in front of keyframe selector causes stylesheet parsing to abort
        https://bugs.webkit.org/show_bug.cgi?id=96844

        Reviewed by Simon Fraser.

        Allow optional unary operator (+|-) on PERCENTAGE in keyframe selector.

        Test: animations/keyframe-selector-negative-percentage.html

        * css/CSSGrammar.y:
        Add maybe_unary_operator to PERCENTAGE on keyframe selector. Negative keyframe
        selector value is already ignored in StyleKeyframe::parseKeyString.

2012-09-30  MORITA Hajime  <morrita@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=97988
        Crash on FrameTree::scopedChildCount()

        Reviewed by Kent Tamura.

        The series of crash reports says that there are some null pointer
        access in scopedChildCount(). This change added a null guard
        against Frame::document(), that can return null.

        No new tests. This is tied to some specific timing and is hard to reproduce.

        * page/FrameTree.cpp:
        (WebCore::FrameTree::scopedChildCount):
        (WebCore::FrameTree::scopedChild):
        (WebCore):

2012-09-30  Yoshifumi Inoue  <yosin@chromium.org>

        Make multiple fields date/time input UI related files to available all ports
        https://bugs.webkit.org/show_bug.cgi?id=97989

        Reviewed by Kent Tamura.

        This patch adds multiple fields date/time input UI related files for
        ports not using WebCore.gyp and simplifies include directive in
        MonthInputType.h and TimeInputType.h.

        Added files are:
          - html/BaseMultipleFieldsDateAndTimeInputType.{cpp,h}
          - html/shadow/DateTimeEditElement.{cpp,h}
          - html/shadow/DateTimeFieldElement.{cpp,h}
          - html/shadow/DateTimeFieldElements.{cpp,h}
          - html/shadow/DateTimeNumericFieldElement.{cpp,h}
          - html/shadow/DateTimeSymbolicFieldElement.{cpp,h}

        No new tests. This patch doesn't change behavior.

        * CMakeLists.txt: Changed to add multiple fields date/time input UI related files.
        * GNUmakefile.list.am: ditto
        * Target.pri: ditto
        * WebCore.vcproj/WebCore.vcproj: ditto
        * WebCore.xcodeproj/project.pbxproj: ditto
        * html/MonthInputType.h: Changed to simplify include directive for base class.
        * html/TimeInputType.h: ditto

2012-09-30  Keishi Hattori  <keishi@webkit.org>

        Web Inspector: Modifications in a shadow tree don't update the Elements panel.
        https://bugs.webkit.org/show_bug.cgi?id=97056

        Reviewed by Pavel Feldman.

        Send characterDataModified event for shadow dom nodes too so they update the elements panel.

        Test: inspector/elements/shadow-dom-modify-chardata.html

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::dispatchModifiedEvent):

2012-09-30  Andreas Kling  <kling@webkit.org>

        Split EventTargetData out of NodeRareData to reduce memory use.
        <http://webkit.org/b/97987>
        <rdar://problem/12403258>

        Reviewed by Anders Carlsson.

        Move EventTargetData to its own Node-flag/hashmap instead of piggybacking on NodeRareData.
        This reduces memory consumption by 1.06MB on Membuster3. Note that NodeRareData shrinks by
        one pointer as well.

        * dom/Node.cpp:
        (WebCore::Node::~Node):
        (WebCore::eventTargetDataMap):
        (WebCore::Node::eventTargetData):
        (WebCore::Node::ensureEventTargetData):
        (WebCore::Node::clearEventTargetData):
        (WebCore::Node::handleLocalEvents):
        * dom/Node.h:
        (WebCore::Node::hasEventTargetData):
        (WebCore::Node::setHasEventTargetData):
        * dom/NodeRareData.h:
        (NodeRareData):

2012-09-30  Andreas Kling  <kling@webkit.org>

        444kB below CSSParser::parseDeprecatedGradient() on Membuster3.
        <http://webkit.org/b/97981>
        <rdar://problem/12403058>

        Reviewed by Anders Carlsson.

        Slap an inline capacity of 2 on the Vector<CSSGradientColorStop> in CSSGradientValue.
        This covers the majority of gradient values, and reduces memory consumption by ~250kB on Membuster3.

        * css/CSSGradientValue.h:
        (WebCore::CSSGradientValue::stopCount):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseLinearGradient):
        (WebCore::CSSParser::parseGradientColorStops):

2012-09-30  Mike West  <mkwst@chromium.org>

        Remove FIXME comments refering to non-existent code in JSDOMBinding.cpp
        https://bugs.webkit.org/show_bug.cgi?id=97977

        Reviewed by Adam Barth.

        I did a quick grep through the code to determine where these FIXME
        comments were suggesting that code should be merged. So far as I can
        tell, 'immediatelyReportUnsafeAccessTo' only exists in these comments.

        Just cleanup, no functional change.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::shouldAllowAccessToFrame):
        (WebCore::shouldAllowAccessToDOMWindow):

2012-09-30  Martin Robinson  <mrobinson@igalia.com>

        [TextureMapper] [WebKit2] Crash in WebCore::BitmapTextureGL::updateContents
        https://bugs.webkit.org/show_bug.cgi?id=97394

        Reviewed by Noam Rosenthal.

        When a TextureMapper is destroyed, layers can still contain references
        to textures obtained from that TextureMapper's texture pool. Trying to
        access an unreffed TextureMapper in the BitmapTexture's destructor
        causes a crash.

        Instead of storing a raw pointer to a TextureMapper, we can simply store
        a reference to the underlying GraphicsContext3D. All TextureMapper
        implementations use the current GL context at this moment, so one GC3D
        referencing the current context is the same as any other.

        * platform/graphics/texmap/TextureMapper.h: Remove the clearTexturePool
        method. It's no longer used.
        (WebCore::BitmapTexture::applyFilters): Add a TextureMapper* argument.
        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::BitmapTextureGL::BitmapTextureGL): Keep a reference to the
        GraphicsContext3D instead of the TextureMapper.
        (WebCore::BitmapTextureGL::didReset): Use the GC3D reference.
        (WebCore::BitmapTextureGL::updateContents): Ditto.
        (WebCore::BitmapTextureGL::applyFilters): Accept the TextureMapper as an argument.
        (WebCore::BitmapTextureGL::initializeStencil): Use the GC3D reference.
        (WebCore::BitmapTextureGL::clearIfNeeded): Ditto.
        (WebCore::BitmapTextureGL::createFboIfNeeded): Ditto.
        (WebCore::BitmapTextureGL::bind): Accept the TextureMapper as an argument.
        (WebCore::BitmapTextureGL::~BitmapTextureGL): Use the GC3D reference.
        (WebCore::TextureMapperGL::~TextureMapperGL): Remove the call to clearTexturePool
        as it's no longer necessary.
        (WebCore::TextureMapperGL::bindSurface): Ditto.
        * platform/graphics/texmap/TextureMapperGL.h:
        (BitmapTextureGL): Keep a GC3D reference instead of a TextureMapper pointer.
        * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
        (WebCore::BitmapTextureImageBuffer::applyFilters): Add a TextureMapper argument.
        * platform/graphics/texmap/TextureMapperImageBuffer.h:
        (BitmapTextureImageBuffer):
        * platform/graphics/texmap/TextureMapperLayer.cpp:
        (WebCore::applyFilters): Ditto.

2012-09-29  Dongwoo Joshua Im  <dw.im@samsung.com>

        AsyncFileSystem::openFileSystem should have FileSystemType as a parameter.
        https://bugs.webkit.org/show_bug.cgi?id=97963

        Reviewed by Gyuyoung Kim.

        FileSystemType is an important information to maintain the file system,
        and AsyncFileSystem::openFileSystem need to get the type as a parameter.
        And, there are "FIXME" comments about that in WebCore source codes.

        No new functionality, no new tests.

        * Modules/filesystem/LocalFileSystem.cpp: Add FileSystemType as a parameter of AsyncFileSystem::openFileSystem.
        (WebCore::openFileSystem):
        (WebCore::LocalFileSystem::readFileSystem):
        (WebCore::LocalFileSystem::requestFileSystem):
        * platform/AsyncFileSystem.cpp: ditto.
        (WebCore::AsyncFileSystem::openFileSystem):
        * platform/AsyncFileSystem.h: ditto.
        (AsyncFileSystem):
        * platform/blackberry/AsyncFileSystemBlackBerry.cpp: ditto.
        (WebCore::AsyncFileSystem::openFileSystem):
        * platform/gtk/AsyncFileSystemGtk.cpp: ditto.
        (WebCore::AsyncFileSystem::openFileSystem):

2012-09-29  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r129965.
        http://trac.webkit.org/changeset/129965
        https://bugs.webkit.org/show_bug.cgi?id=97970

        Causes ASSERTs in workers (Requested by abarth on #webkit).

        * bindings/v8/DOMData.cpp:
        (WebCore::DOMData::getCurrentStore):
        * bindings/v8/ScopedPersistent.h:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::resetIsolatedWorlds):
        (WebCore::ScriptController::evaluateInIsolatedWorld):
        (WebCore::ScriptController::currentWorldContext):
        * bindings/v8/V8Binding.cpp:
        (WebCore::perContextDataForCurrentWorld):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::setIsolatedWorldField):
        (WebCore::V8DOMWindowShell::enteredIsolatedWorldContext):
        (WebCore::V8DOMWindowShell::destroyIsolatedShell):
        (WebCore):
        (WebCore::isolatedContextWeakCallback):
        (WebCore::V8DOMWindowShell::disposeContext):
        (WebCore::V8DOMWindowShell::initializeIfNeeded):
        (WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):
        * bindings/v8/V8DOMWindowShell.h:
        (V8DOMWindowShell):
        (WebCore::V8DOMWindowShell::getEntered):
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::getCachedWrapper):
        * bindings/v8/WorldContextHandle.cpp:
        (WebCore::WorldContextHandle::WorldContextHandle):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8SVGDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
        (WebCore::V8XMLHttpRequest::constructorCallback):

2012-09-29  Emil A Eklund  <eae@chromium.org>

        Unreviewed build fix for chromium/clank.

        * platform/FractionalLayoutUnit.h:
        (WebCore::FractionalLayoutUnit::FractionalLayoutUnit):

2012-09-29  Byungwoo Lee  <bw80.lee@samsung.com>

        Fix build warning : -Wparentheses.
        https://bugs.webkit.org/show_bug.cgi?id=97961

        Reviewed by Kentaro Hara.

        Explicit braces are added around the && statement to fix -Wparentheses warning.

        * mathml/MathMLElement.h:
        (WebCore::toMathMLElement):

2012-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Scroll offset of flex items lost during relayout
        https://bugs.webkit.org/show_bug.cgi?id=97706

        Reviewed by Tony Chang.

        Test: fast/flexbox/overflow-keep-scrollpos.html

        Flex box does a second pass layout of the flex children.

        We layout the child without scrollbars (to get the size
        used for flexing), then we relayout the child at its final size.

        We must not apply the scroll position during the first pass,
        as it will be clamped to 0 (no scrolling possible).

        * rendering/RenderBlock.h:
        (RenderBlock):

        Make updateScrollInfoAfterLayout public

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):

        Delay applying scroll info until we clamp the size of the child
        and get scrollbars back again. For this to work we use
        RenderBlock::updateScrollInfoAfterLayout instead of the non-guarded
        RenderLayer::updateScrollInfoAfterLayout.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateScrollInfoAfterLayout):

        Add workaround for now to keep passing css3/flexbox/child-overflow.html

        Basically do not postpone applying scroll changes for RenderBlocks
        with opposite writing mode, as they need to have their content
        overflow in the right direction.

2012-09-29  Dimitri Glazkov  <dglazkov@chromium.org>

        Slightly improve clarity of the patch in bug 78595.
        https://bugs.webkit.org/show_bug.cgi?id=97944

        Reviewed by Andreas Kling.

        Since all types of relations, except SubSelector are effectively ignoring the calculated value of pseudoId, make the code reflect that a bit more clearly. 

        No change in behavior, covered by test in bug 78595.

        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkSelector): Added ignoreDynamicPseudo value that's given to all callsites that should ignore the result.

2012-09-29  Kent Tamura  <tkent@chromium.org>

        Remove LocalizedDate*.*
        https://bugs.webkit.org/show_bug.cgi?id=97957

        Reviewed by Kentaro Hara.

        The functions declared in LocalizedDate.h are replaced with member
        functions of Localizer. LocalizedDate.h and its implementations
        are not needed any more.

        No new tests. This should not change any behavior.

        * GNUmakefile.list.am: Remove LocalizedDate.h and LocalizedDateNode.cpp
        * WebCore.vcproj/WebCore.vcproj: ditto.
        * WebCore.xcodeproj/project.pbxproj: ditto.
        * CMakeLists.txt: Remove LocalizedDateNone.cpp
        * Target.pri: ditto.
        * WebCore.gyp/WebCore.gyp: Remove LocalizedDate*.*. Update a comment.
        * WebCore.gypi: Remove LocalizedDate*.*.

        * html/BaseDateAndTimeInputType.cpp: Use Localizer functions.
        (WebCore::BaseDateAndTimeInputType::localizeValue):
        (WebCore::BaseDateAndTimeInputType::convertFromVisibleValue):
        * html/DateInputType.cpp: ditto.
        (WebCore::DateInputType::fixedPlaceholder):

        * platform/text/Localizer.h:
        (Localizer): Move comments from LocalziedDate.h.
        * platform/text/mac/LocaleMac.mm:
        Remove unnecessary include of LocalizedDate.h.

        * platform/text/LocalizedDate.h: Removed.
        * platform/text/LocalizedDateICU.cpp: Removed.
        * platform/text/LocalizedDateNone.cpp: Removed.
        * platform/text/LocalizedDateWin.cpp: Removed.
        * platform/text/mac/LocalizedDateMac.cpp: Removed.

2012-09-28  Adam Barth  <abarth@webkit.org>

        [V8] The concept of forceNewObject is unneeded (dom-traverse gets 3% faster)
        https://bugs.webkit.org/show_bug.cgi?id=97943

        Reviewed by Kentaro Hara.

        We don't need the concept of forceNewObject. It doesn't do anything
        useful and it makes the bindings slower.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateHeader):
        (GenerateToV8Converters):
        (NativeToJSValue):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLElementCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::toV8Slow):
        * bindings/v8/custom/V8SVGDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8SVGElementCustom.cpp:
        (WebCore::toV8):
        * dom/make_names.pl:
        (printWrapperFactoryCppFile):
        (printWrapperFactoryHeaderFile):

2012-09-28  Elliott Sprehn  <esprehn@chromium.org>

        Allow any kind of v8::Handle in invokeCallback instead of requiring a v8::Persistent.
        https://bugs.webkit.org/show_bug.cgi?id=97956

        Reviewed by Adam Barth.

        Use v8::Handle instead of v8::Persistent for the callback argument on invokeCallback.
        There doesn't seem to be any reason for requiring a Persistent, and it makes it harder
        to use this API.

        This is factored out of http://wkbug.com/93661

        No new tests, this is functionally equivalent.

        * bindings/v8/V8Callback.cpp:
        (WebCore::invokeCallback):
        * bindings/v8/V8Callback.h:
        (WebCore):

2012-09-28  Anders Carlsson  <andersca@apple.com>

        Remove support for method overloading from bridge code
        https://bugs.webkit.org/show_bug.cgi?id=97959

        Reviewed by Dan Bernstein.

        The method overloading handling was only in place for the (now removed) Java bridge. 
        Replace MethodList everywhere with a single Method pointer.

        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.exp.in:
        * bridge/c/c_class.cpp:
        (JSC::Bindings::CClass::methodNamed):
        * bridge/c/c_class.h:
        (CClass):
        * bridge/c/c_instance.cpp:
        (JSC::Bindings::CRuntimeMethod::create):
        (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
        (JSC::Bindings::CInstance::getMethod):
        (JSC::Bindings::CInstance::invokeMethod):
        * bridge/jsc/BridgeJSC.h:
        (Bindings):
        (Class):
        * bridge/objc/objc_class.h:
        (ObjcClass):
        * bridge/objc/objc_class.mm:
        (JSC::Bindings::ObjcClass::methodNamed):
        * bridge/objc/objc_instance.mm:
        (ObjCRuntimeMethod::create):
        (ObjCRuntimeMethod::ObjCRuntimeMethod):
        (ObjcInstance::invokeMethod):
        * bridge/qt/qt_class.cpp:
        (JSC::Bindings::QtClass::methodNamed):
        * bridge/qt/qt_class.h:
        (QtClass):
        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::getMethod):
        * bridge/runtime_method.cpp:
        (JSC::RuntimeMethod::RuntimeMethod):
        (JSC::RuntimeMethod::lengthGetter):
        (JSC::callRuntimeMethod):
        * bridge/runtime_method.h:
        (JSC::RuntimeMethod::create):
        (JSC::RuntimeMethod::method):
        (RuntimeMethod):
        * bridge/runtime_object.cpp:
        (JSC::Bindings::RuntimeObject::getOwnPropertySlot):
        (JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):

2012-09-28  Elliott Sprehn  <esprehn@chromium.org>

        Fix compilation of V8DependentRetained and JSDependentRetained.
        https://bugs.webkit.org/show_bug.cgi?id=97955

        Reviewed by Kentaro Hara.

        Fix bad usage of putDirect and removeDirect from JSDependentRetained and fix
        incorrect assumptions about how weak handles work in V8. This is refactored
        out of the patch on http://wkbug.com/93661

        No tests needed, this just fixes the compile and wrong usage of ScopedPersistent.

        * bindings/js/JSDependentRetained.h:
        (WebCore::JSDependentRetained::JSDependentRetained):
        (WebCore::JSDependentRetained::retain):
        (WebCore::JSDependentRetained::release):
        (JSDependentRetained):
        * bindings/v8/V8DependentRetained.h:
        (WebCore::V8DependentRetained::V8DependentRetained):
        (WebCore::V8DependentRetained::retain):
        (WebCore::V8DependentRetained::weakCallback):

2012-09-28  Ojan Vafai  <ojan@chromium.org>

        Fix chromium build after http://trac.webkit.org/changeset/129964.
        * WebCore.gypi:

2012-09-28  Simon Fraser  <simon.fraser@apple.com>

        Crash re-entering Document layout with frame flattening enabled
        https://bugs.webkit.org/show_bug.cgi?id=97841

        Reviewed by Brady Eidson.

        When creating a CachedFrame, clearTimers on the Frame later; it has to
        be done after documentWillSuspendForPageCache(), because the style
        changes that HTMLPlugInImageElement::documentWillSuspendForPageCache()
        do can schedule a layout on the FrameView, and we don't want this layout
        timer to fire while the page is in the page cache.

        Add an assertion in FrameView::layout() that the document is not in
        the page cache. Without the above change, this would assert in
        the plugins/frameset-with-plugin-frame.html test.

        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame):
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):

2012-09-28  Dan Carney  <dcarney@google.com>

        Remove V8DOMWindowShell::getEntered
        https://bugs.webkit.org/show_bug.cgi?id=96637

        Reviewed by Adam Barth.

        V8DOMWindowShell::getEntered was refactored so that the window shell
        no longer has to be kept alive by a v8 context but rather a smaller
        object.

        No new tests. No change in functionality.

        * bindings/v8/DOMData.cpp:
        (WebCore::DOMData::getCurrentStore):
        * bindings/v8/ScopedPersistent.h:
        (WebCore::ScopedPersistent::leakHandle):
        (ScopedPersistent):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::resetIsolatedWorlds):
        (WebCore::ScriptController::evaluateInIsolatedWorld):
        (WebCore::ScriptController::currentWorldContext):
        * bindings/v8/V8Binding.cpp:
        (WebCore::perContextDataForCurrentWorld):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::setIsolatedWorldField):
        (WebCore::V8DOMWindowShell::toIsolatedContextData):
        (WebCore::isolatedContextWeakCallback):
        (WebCore::V8DOMWindowShell::disposeContext):
        (WebCore::V8DOMWindowShell::clearIsolatedShell):
        (WebCore):
        (WebCore::V8DOMWindowShell::initializeIfNeeded):
        (WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):
        * bindings/v8/V8DOMWindowShell.h:
        (V8DOMWindowShell):
        (IsolatedContextData):
        (WebCore::V8DOMWindowShell::IsolatedContextData::create):
        (WebCore::V8DOMWindowShell::IsolatedContextData::world):
        (WebCore::V8DOMWindowShell::IsolatedContextData::perContextData):
        (WebCore::V8DOMWindowShell::IsolatedContextData::setSecurityOrigin):
        (WebCore::V8DOMWindowShell::IsolatedContextData::securityOrigin):
        (WebCore::V8DOMWindowShell::IsolatedContextData::IsolatedContextData):
        (WebCore::V8DOMWindowShell::enteredIsolatedContext):
        (WebCore::V8DOMWindowShell::enteredIsolatedContextData):
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::getCachedWrapper):
        * bindings/v8/WorldContextHandle.cpp:
        (WebCore::WorldContextHandle::WorldContextHandle):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8SVGDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
        (WebCore::V8XMLHttpRequest::constructorCallback):

2012-09-28  Anders Carlsson  <andersca@apple.com>

        Remove Java bridge
        https://bugs.webkit.org/show_bug.cgi?id=97954

        Reviewed by Sam Weinig.

        The Java bridge is not used by any port; Mac now has a NPAPI Java plug-in.

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        * bindings/js/ScriptController.h:
        (ScriptController):
        * bindings/js/ScriptControllerMac.mm:
        (WebCore::ScriptController::createScriptInstanceForWidget):
        * bridge/jni/JNIUtility.cpp: Removed.
        * bridge/jni/JNIUtility.h: Removed.
        * bridge/jni/JavaType.h: Removed.
        * bridge/jni/JobjectWrapper.cpp: Removed.
        * bridge/jni/JobjectWrapper.h: Removed.
        * bridge/jni/jni_jsobject.h: Removed.
        * bridge/jni/jni_jsobject.mm: Removed.
        * bridge/jni/jni_objc.mm: Removed.
        * bridge/jni/jsc/JNIUtilityPrivate.cpp: Removed.
        * bridge/jni/jsc/JNIUtilityPrivate.h: Removed.
        * bridge/jni/jsc/JavaArrayJSC.cpp: Removed.
        * bridge/jni/jsc/JavaArrayJSC.h: Removed.
        * bridge/jni/jsc/JavaClassJSC.cpp: Removed.
        * bridge/jni/jsc/JavaClassJSC.h: Removed.
        * bridge/jni/jsc/JavaFieldJSC.cpp: Removed.
        * bridge/jni/jsc/JavaFieldJSC.h: Removed.
        * bridge/jni/jsc/JavaInstanceJSC.cpp: Removed.
        * bridge/jni/jsc/JavaInstanceJSC.h: Removed.
        * bridge/jni/jsc/JavaMethodJSC.cpp: Removed.
        * bridge/jni/jsc/JavaMethodJSC.h: Removed.
        * bridge/jni/jsc/JavaRuntimeObject.cpp: Removed.
        * bridge/jni/jsc/JavaRuntimeObject.h: Removed.
        * bridge/jni/jsc/JavaStringJSC.h: Removed.
        * bridge/runtime_root.h:
        * loader/FrameLoaderClient.h:
        (FrameLoaderClient):

2012-09-28  Dimitri Glazkov  <dglazkov@chromium.org>

        Remove unused parameter in SelectorChecker::checkScrollbarPseudoClass.
        https://bugs.webkit.org/show_bug.cgi?id=97941

        Reviewed by Kentaro Hara.

        The last parameter in checkScrollbarPseudoClass was unused, so I removed it. 

        No change in behavior, just refactoring.

        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkOneSelector): Changed the callsite to accommodate the change.
        (WebCore::SelectorChecker::checkScrollbarPseudoClass): Removed last param.
        * css/SelectorChecker.h: Ditto.

2012-09-27  Alpha Lam  <hclam@chromium.org>

        REGRESSION(r122215) - CachedImage::likelyToBeUsedSoon crashes on accessing a deleted CachedImageClient
        https://bugs.webkit.org/show_bug.cgi?id=97749

        Reviewed by James Robinson.

        All implementations of Clipboard set themselves as clients to CachedImage
        through the JS API setDrageImage() but they do not detach during destruction.
        This causes memory corruption when CachedImage tries to access a deleted client
        when MemoryCache prunes and calls CachedImage::likelyToUsedSoon().

        Manual test added: ManualTests/drag-image-no-crash.html

        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::~ClipboardChromium):
        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::ClipboardGtk::~ClipboardGtk):
        * platform/mac/ClipboardMac.mm:
        (WebCore::ClipboardMac::~ClipboardMac):
        * platform/win/ClipboardWin.cpp:
        (WebCore::ClipboardWin::~ClipboardWin):

2012-09-28  Anders Carlsson  <andersca@apple.com>

        Remove Instance::setDidExecuteFunction
        https://bugs.webkit.org/show_bug.cgi?id=97952

        Reviewed by Alexey Proskuryakov.

        Instance::setDidExecuteFunction was added over 8 years ago to fix a bug where Objective-C
        DOM calls weren't updating the document correctly. Nowadays we correctly invalidate the DOM tree
        when these calls are made so we don't need an extra step to do so.

        * bindings/js/ScriptControllerMac.mm:
        (WebCore):
        (WebCore::ScriptController::initJavaJSBindings):
        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject callWebScriptMethod:withArguments:]):
        (-[WebScriptObject evaluateWebScript:]):
        (-[WebScriptObject setValue:forKey:]):
        (-[WebScriptObject valueForKey:]):
        (-[WebScriptObject removeWebScriptKey:]):
        (-[WebScriptObject hasWebScriptKey:]):
        (-[WebScriptObject stringRepresentation]):
        (-[WebScriptObject webScriptValueAtIndex:]):
        (-[WebScriptObject setWebScriptValueAtIndex:value:]):
        * bridge/jsc/BridgeJSC.cpp:
        * bridge/jsc/BridgeJSC.h:
        (Instance):

2012-09-28  Emil A Eklund  <eae@chromium.org>

        Improve saturation arithmetic support in FractionalLayoutUnit
        https://bugs.webkit.org/show_bug.cgi?id=97938

        Reviewed by Levi Weintraub.

        Fix bug in FractionalLayoutUnit::setValue where greater than or
        equals is used instead of greater than to clamp the values. 
        Add SATURATED_LAYOUT_ARITHMETIC support to round preventing it
        from overflowing when adding the fraction.

        Test: fast/sub-pixel/large-sizes.html

        * platform/FractionalLayoutUnit.h:
        (WebCore::FractionalLayoutUnit::round):
        (WebCore::FractionalLayoutUnit::setValue):

2012-09-28  Luiz Agostini  <luiz.agostini@nokia.com>

        TextureMapperGL destructor crashes
        https://bugs.webkit.org/show_bug.cgi?id=97942

        Reviewed by Noam Rosenthal.

        BitmapTextureGL destructor uses a TextureMapperGL instance. The problem is that 
        BitmapTextureGL objects are destroyed on TextureMapper destructor and at that 
        time TextureMapperGL specific methods and data are not available any more.

        This patch creates a new protected method TextureMapper::clearTexturePool()
        that is called in TextureMapperGL's destructor.

        * platform/graphics/texmap/TextureMapper.h:
        (WebCore::TextureMapper::clearTexturePool):
        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::TextureMapperGL::~TextureMapperGL):

2012-09-28  Julien Chaffraix  <jchaffraix@webkit.org>

        REGRESSION(r124168): Null crash in RenderLayer::createScrollbar
        https://bugs.webkit.org/show_bug.cgi?id=96863

        Reviewed by Abhishek Arya.

        After r124168, we synchronously create any overflow:scroll scrollbar on the first style change - we used to wait
        until layout was called. The issue is that the logic in RenderLayer assumes that our node is completely attached
        when the style change is dispatched. The crash occured because the 'content' image code path in
        RenderObject::createObject triggered a style change too early.

        Test: scrollbars/scrollbar-content-crash.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject):
        We need a style associated with the new RenderImage to call setImageResource but we don't need to trigger a
        style change.

2012-09-28  Ben Wagner  <bungeman@chromium.org>

        Chromium should respect 'text-rendering:geometricPrecision' by disabling hinting.
        https://bugs.webkit.org/show_bug.cgi?id=97932

        Reviewed by Stephen White.

        When text-redering:geometricPrecision css property is present, the specification states that hinting should be disabled. This change does so.

        This also provides users a more stable and sane means of achieving the result webkit-font-smoothing:antialiased has been providing by accident.
        See http://crbug.com/152304 . 

        * platform/graphics/skia/FontSkia.cpp:
        (WebCore::setupPaint):

2012-09-28  Simon Fraser  <simon.fraser@apple.com>

        Crash re-entering Document layout with frame flattening enabled
        https://bugs.webkit.org/show_bug.cgi?id=97841

        Reviewed by Kenneth Rohde Christiansen.

        Walking up to parent FrameViews when doing a frame-flattening
        layout should walk via the Frame tree, not the Widget hierarchy.
        Walking via the Frame tree ensures that we don't walk up to the
        root Frame when laying out a subframe that is in the page cache.
        That's bad, because the root Frame is reused for the new
        page, and laying it out from a frame in the page cache causes
        re-entrant layout.

        Test: plugins/frameset-with-plugin-frame.html

        * page/FrameView.cpp:
        (WebCore::FrameView::parentFrameView):

2012-09-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r129911.
        http://trac.webkit.org/changeset/129911
        https://bugs.webkit.org/show_bug.cgi?id=97933

        Inspector test crashes on win debug (Requested by jsbell on
        #webkit).

        * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::abort):
        (WebCore::IDBTransactionBackendImpl::taskTimerFired):

2012-09-28  Yong Li  <yoli@rim.com>

        [HarfBuzz] harfbuzz expects log_clusters to have same length as other buffers.
        https://bugs.webkit.org/show_bug.cgi?id=97725

        Reviewed by Tony Chang.

        log_clusters should have same length as other buffers, which is number of glyphs.

        Test: fast/text/international/harfbuzz-buffer-overrun.html

        * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp:
        (WebCore::ComplexTextController::ComplexTextController):
        (WebCore::ComplexTextController::~ComplexTextController):
        (WebCore::ComplexTextController::deleteGlyphArrays):
        (WebCore::ComplexTextController::createGlyphArrays):

2012-09-28  Brian Salomon  <bsalomon@google.com>

        Add canvas to set of elements that do not allow style sharing in order to provoke RenderLayer creation
        https://bugs.webkit.org/show_bug.cgi?id=97013

        Reviewed by James Robinson.

        This allows RenderLayers to be created for canvas elements when they are accelerated. Otherwise, we can exit out of RenderObject::setStyle before the layer is created.

        Test: fast/canvas/canvas-render-layer.html

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::collectMatchingRulesForList):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::adjustStyleDifference):
        (WebCore::RenderObject::setStyle):

2012-09-28  Fady Samuel  <fsamuel@chromium.org>

        [V8] Make v8NPObjectMap per Context
        https://bugs.webkit.org/show_bug.cgi?id=97703

        Reviewed by Adam Barth.

        V8NPObject is a V8Object wrapper for use by the npruntime.

        staticV8NPObjectMap is used for keeping record of V8NPObjects as they are created and destroyed
        to ensure that an existing V8NPObject wrapper is returned for a V8Object in npCreateV8ScriptObject.
        
        Once a context is gone, the NPObjects for the context are no longer valid and that record keeping
        no longer makes sense so we clear the map.

        However, because the map was static, it existed for all pages across contexts. Clearing the
        map if one context is gone should not impact the V8NPObject map of other contexts.

        Thus, this patch makes the V8NPObject map per context.

        * bindings/v8/NPV8Object.cpp:
        (WebCore::freeV8NPObject):
        (WebCore::npCreateV8ScriptObject):
        * bindings/v8/V8PerContextData.h:
        (WebCore):
        (WebCore::V8PerContextData::v8NPObjectMap):
        (V8PerContextData):

2012-09-28  Alberto Garcia  <agarcia@igalia.com>

        TextureMapperGL: fix -Wsign-compare compilation warning.
        https://bugs.webkit.org/show_bug.cgi?id=97928

        Reviewed by Martin Robinson.

        Use size_t rather than int to iterate over FilterOperations.

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::BitmapTextureGL::applyFilters):

2012-09-28  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * WebCore.xcodeproj/project.pbxproj:

2012-09-28  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>

        Code inside FrameLoaderClient::canShowMIMEType() implementations can be shared among different WK ports
        https://bugs.webkit.org/show_bug.cgi?id=97547

        Reviewed by Adam Barth.

        Added MIMETypeRegistry::canShowMIMEType() function which should to be used
        to detect whether a given MIME type can be shown in a page.

        No new tests. No new functionality.

        * WebCore.exp.in: Added MIMETypeRegistry::canShowMIMEType(). Removed MIMETypeRegistry functions that no longer need to be exported.
        * platform/MIMETypeRegistry.cpp:
        (WebCore::MIMETypeRegistry::canShowMIMEType):
        (WebCore):
        * platform/MIMETypeRegistry.h:
        (MIMETypeRegistry):

2012-09-27  Tony Chang  <tony@chromium.org>

        flexbox assert fails with auto-sized item with padding
        https://bugs.webkit.org/show_bug.cgi?id=97606

        Reviewed by Ojan Vafai.

        Depending on the denominator of FractionalLayoutUnit, we can lose precision when
        converting to a float.  This would cause a rounding error in flex-shrink to trigger an ASSERT.
        To avoid this problem in the future, switch to using doubles for flex-shrink and flex-grow
        at layout time.  The CSS values themselves are still floats.

        Test: css3/flexbox/negative-flex-rounding-assert.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutFlexItems): Use doubles for local variables.
        (WebCore::RenderFlexibleBox::computeNextFlexLine): Pass in doubles.
        (WebCore::RenderFlexibleBox::freezeViolations): Pass in doubles.
        (WebCore::RenderFlexibleBox::resolveFlexibleLengths): Pass in doubles.
        * rendering/RenderFlexibleBox.h:

2012-09-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r129751.
        http://trac.webkit.org/changeset/129751
        https://bugs.webkit.org/show_bug.cgi?id=97921

        Causes crashes on mac and win (Requested by vsevik on
        #webkit).

        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        (WebCore::JSHTMLCanvasElement::getContext):
        * bindings/js/JSMainThreadExecState.h:
        (WebCore::JSMainThreadExecState::instrumentFunctionCall):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::create):
        * bindings/js/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStackForInspector):
        * bindings/js/ScriptCallStackFactory.h:
        (WebCore):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateCallWith):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateCallWith):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
        (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
        (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
        (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
        (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackCallback):
        * bindings/v8/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStackForInspector):
        * bindings/v8/ScriptCallStackFactory.h:
        (WebCore):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::callFunctionWithInstrumentation):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):
        * bindings/v8/V8WorkerContextEventListener.cpp:
        (WebCore::V8WorkerContextEventListener::callListenerFunction):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::WindowSetTimeoutImpl):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::V8HTMLCanvasElement::getContextCallback):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::SetTimeoutOrInterval):
        * inspector/Inspector.json:
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
        (WebCore::InspectorConsoleAgent::enable):
        (WebCore::InspectorConsoleAgent::disable):
        (WebCore::InspectorConsoleAgent::clearMessages):
        (WebCore::InspectorConsoleAgent::clearFrontend):
        (WebCore::InspectorConsoleAgent::addConsoleMessage):
        * inspector/InspectorConsoleAgent.h:
        (InspectorConsoleAgent):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore):
        (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
        * inspector/InspectorInstrumentation.h:
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
        * inspector/InspectorRuntimeAgent.h:
        (InspectorRuntimeAgent):
        * inspector/PageRuntimeAgent.cpp:
        (PageRuntimeAgentState):
        (WebCore::PageRuntimeAgent::clearFrontend):
        (WebCore::PageRuntimeAgent::restore):
        (WebCore::PageRuntimeAgent::setReportExecutionContextCreation):
        (WebCore::PageRuntimeAgent::didClearWindowObject):
        (WebCore::PageRuntimeAgent::didCreateIsolatedContext):
        * inspector/PageRuntimeAgent.h:
        (PageRuntimeAgent):
        * inspector/WorkerRuntimeAgent.cpp:
        (WebCore::WorkerRuntimeAgent::setReportExecutionContextCreation):
        (WebCore):
        * inspector/WorkerRuntimeAgent.h:
        (WorkerRuntimeAgent):
        * inspector/front-end/RuntimeModel.js:
        (WebInspector.RuntimeModel.prototype._didLoadCachedResources):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::postMessage):

2012-09-28  Kent Tamura  <tkent@chromium.org>

        Add parseDateTime, formatDateTime, and dateFormatText to Localizer
        https://bugs.webkit.org/show_bug.cgi?id=97885

        Reviewed by Kentaro Hara.

        This is a preparation to remove LocalizedData.h.

        Add the following pure virtual member functions to Localizer.
          parseDateTime
          formatDateTime
          dateFormatText.

        We rename existing parse/format functions for type=date in Locale*
        classes, and extend their functionality so that they support other
        date/time types. They override the new functions of Localizer.

        No new tests. This should not change any behavior.

        * platform/text/Localizer.h:
        (Localizer): Add parseDateTime, formatDateTime, and dateFormatText.

        * platform/text/LocaleICU.h:
        (LocaleICU):
        - Rename parseLocalizedDate to parseDateTime
        - Add type argument to parseDateTime
        - Rename formatLocalizedDate to formatDateTime
        - Rename localizedDateFormatText to dateFormatText
        - Make parseDateTime/formatDateTime/dateFormatText virtual.
        * platform/text/LocaleICU.cpp:
        (WebCore::LocaleICU::parseDateTime):
        Renamed. Reject non-date types.
        (WebCore::LocaleICU::formatDateTime): ditto.
        (WebCore::LocaleICU::dateFormatText): Renamed.
        * platform/text/LocalizedDateICU.cpp: Moved some code to LocaleICU.cpp.
        (WebCore::parseLocalizedDate):
        (WebCore::formatLocalizedDate):

        * platform/text/LocaleNone.cpp:
        Add empty implementations of parseDateTime, formatDateTime, and
        dateFormatText.
        (LocaleNone):
        (WebCore::LocaleNone::parseDateTime):
        (WebCore::LocaleNone::formatDateTime):
        (WebCore::LocaleNone::dateFormatText):

        * platform/text/LocaleWin.h:
        (LocaleWin):
        - Rename parseDate to parseDateTime
        - Add type argument to parseDateTime
        - Rename formatDate to formatDateTime
        - Make parseDateTime/formatDateTime/dateFormatText virtual.
        * platform/text/LocaleWin.cpp:
        (WebCore::LocaleWin::parseDateTime):
        Renamed. Reject non-date types.
        (WebCore::LocaleWin::formatDateTime): ditto.
        * platform/text/LocalizedDateWin.cpp: Moved some code to LocaleWin.cpp.
        (WebCore::parseLocalizedDate):
        (WebCore::formatLocalizedDate):

        * platform/text/mac/LocaleMac.h:
        (LocaleMac):
        - Rename parseDate to parseDateTime
        - Add type argument to parseDateTime
        - Rename formatDate to formatDateTime
        - Make parseDateTime/formatDateTime/dateFormatText virtual.
        * platform/text/mac/LocaleMac.mm:
        (WebCore::LocaleMac::parseDateTime):
        Renamed. Reject non-date types.
        (WebCore::LocaleMac::formatDateTime): ditto.
        * platform/text/mac/LocalizedDateMac.cpp: Moved some code to LocaleMac.mm.
        (WebCore::parseLocalizedDate):
        (WebCore::formatLocalizedDate):

2012-09-28  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Run multiple tasks per transaction tick
        https://bugs.webkit.org/show_bug.cgi?id=97738

        Reviewed by Tony Chang.

        Process multiple tasks from the pending queue(s) when the timer fires. The
        task may initiate new tasks that change which queue is active (e.g. indexing
        operations) so the loop must re-check each tick which queue to use.

        In DumpRenderTree, time to make 20k puts/20k gets dropped from 3.2s to 2.0s (-37%);
        in Chromium's content_shell, the time dropped from 8.1s to 4.6s (-42%).

        No new tests - just perf improvements, covered by (nearly) all existing IDB tests.

        * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::abort): Use takeFirst() to clean up code.
        (WebCore::IDBTransactionBackendImpl::taskTimerFired): Process as many tasks as are available.

2012-09-28  Harald Tveit Alvestrand  <harald@alvestrand.no>
        
        Implement the GetStats interface on PeerConnection
        https://bugs.webkit.org/show_bug.cgi?id=95193

        Specification:
        http://dev.w3.org/2011/webrtc/editor/webrtc-20120920.html

        Reviewed by Adam Barth.

        The implementation consists of a pure virtual platform object
        (RTCStatsRequest) that is implemented in WebCore, and stores
        its information in a straightforward data hierarchy.
        This patch adds the call path and the storage structures.
        It does not add filling in data.

        Test: fast/mediastream/RTCPeerConnection-stats.html

        * CMakeLists.txt:
        * Modules/mediastream/RTCPeerConnection.cpp:
        (WebCore::RTCPeerConnection::getStats):
        (WebCore):
        * Modules/mediastream/RTCPeerConnection.h:
        (WebCore):
        (RTCPeerConnection):
        * Modules/mediastream/RTCPeerConnection.idl:
        * Modules/mediastream/RTCStatsCallback.h: Added.
        (WebCore):
        (RTCStatsCallback):
        (WebCore::RTCStatsCallback::~RTCStatsCallback):
        * Modules/mediastream/RTCStatsCallback.idl: Added.
        * Modules/mediastream/RTCStatsElement.cpp: Added.
        (WebCore):
        (WebCore::RTCStatsElement::create):
        (WebCore::RTCStatsElement::RTCStatsElement):
        (WebCore::RTCStatsElement::stat):
        * Modules/mediastream/RTCStatsElement.h: Added.
        (WebCore):
        (RTCStatsElement):
        * Modules/mediastream/RTCStatsElement.idl: Added.
        * Modules/mediastream/RTCStatsReport.cpp: Added.
        (WebCore):
        (WebCore::RTCStatsReport::create):
        (WebCore::RTCStatsReport::RTCStatsReport):
        * Modules/mediastream/RTCStatsReport.h: Added.
        (WebCore):
        (RTCStatsReport):
        (WebCore::RTCStatsReport::local):
        (WebCore::RTCStatsReport::remote):
        * Modules/mediastream/RTCStatsReport.idl: Added.
        * Modules/mediastream/RTCStatsRequestImpl.cpp: Added.
        (WebCore):
        (WebCore::RTCStatsRequestImpl::create):
        (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
        (WebCore::RTCStatsRequestImpl::~RTCStatsRequestImpl):
        (WebCore::RTCStatsRequestImpl::requestSucceeded):
        (WebCore::RTCStatsRequestImpl::stop):
        (WebCore::RTCStatsRequestImpl::clear):
        * Modules/mediastream/RTCStatsRequestImpl.h: Added.
        (WebCore):
        (RTCStatsRequestImpl):
        * Modules/mediastream/RTCStatsResponse.cpp: Added.
        (WebCore):
        (WebCore::RTCStatsResponse::create):
        (WebCore::RTCStatsResponse::RTCStatsResponse):
        * Modules/mediastream/RTCStatsResponse.h: Added.
        (WebCore):
        (RTCStatsResponse):
        (WebCore::RTCStatsResponse::result):
        * Modules/mediastream/RTCStatsResponse.idl: Added.
        * WebCore.gypi:
        * platform/chromium/support/WebRTCStatsRequest.cpp: Copied from Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h.
        (WebKit):
        (WebKit::WebRTCStatsRequest::WebRTCStatsRequest):
        (WebKit::WebRTCStatsRequest::assign):
        (WebKit::WebRTCStatsRequest::reset):
        (WebKit::WebRTCStatsRequest::requestSucceeded):
        * platform/mediastream/RTCPeerConnectionHandler.h:
        (WebCore):
        (RTCPeerConnectionHandler):
        * platform/mediastream/RTCStatsRequest.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
        (WebCore):
        (RTCStatsRequest):
        (WebCore::RTCStatsRequest::~RTCStatsRequest):
        (WebCore::RTCStatsRequest::RTCStatsRequest):
        * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
        (WebCore::RTCPeerConnectionHandlerChromium::getStats):
        (WebCore):
        * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
        (RTCPeerConnectionHandlerChromium):

2012-09-28  Andreas Kling  <kling@webkit.org>

        471kB below StyleSheetContents::parserAppendRule() on Membuster3.
        <http://webkit.org/b/97916>

        Reviewed by Anders Carlsson.

        Shrink-to-fit the StyleSheetContents rule vectors at the end of CSSParser::parseSheet().
        ~100kB progression on Membuster3.

        * css/StyleSheetContents.h:
        * css/StyleSheetContents.cpp:
        (WebCore::StyleSheetContents::shrinkToFit):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseSheet):

2012-09-28  Kent Tamura  <tkent@chromium.org>

        Clean up Localizer-related functions
        https://bugs.webkit.org/show_bug.cgi?id=97899

        Reviewed by Kentaro Hara.

        - Rename Document::getLocalizer to getCachedLocalizer
        - Add default argument to getCachedLocalizer
        - Add Element::localizer to reduce code size
        - Rename DateTimeNumericFieldElement::localizer to localizerForOwner to
          avoid conflict with Element::localizer
        - Add Localizer::createDefault to improve code readability

        No new tests. This shouldn't make any behavior change.

        * dom/Document.h:
        (Document): Rename getLocalizer to getCachedLocalizer, and add default
        argument.
        * dom/Document.cpp:
        (WebCore::Document::getCachedLocalizer): ditto.

        * dom/Element.h:
        (Element): Add localizer function.
        * dom/Element.cpp:
        (WebCore::Element::localizer): Added

        * html/shadow/DateTimeNumericFieldElement.h:
        (DateTimeNumericFieldElement): Rename localizer to localizerForOwner.
        * html/shadow/DateTimeNumericFieldElement.cpp: ditto.
        (WebCore::DateTimeNumericFieldElement::handleKeyboardEvent):
        (WebCore::DateTimeNumericFieldElement::localizerForOwner):
        (WebCore::DateTimeNumericFieldElement::value):

        * platform/text/Localizer.h:
        (Localizer): Add createDefault
        (WebCore::Localizer::createDefault): Implemented.

        * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue):
        Use Element::localizer.
        * html/NumberInputType.cpp:
        (WebCore::NumberInputType::localizeValue): ditto.
        (WebCore::NumberInputType::convertFromVisibleValue): ditto.

2012-09-28  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: define ChunkedReader interface for compilation
        https://bugs.webkit.org/show_bug.cgi?id=97904

        Reviewed by Alexander Pavlov.

        Otherwise, it is unclear what "source" is in the OutputStreamDelegate.

        * inspector/front-end/FileUtils.js:
        (WebInspector.OutputStreamDelegate.prototype.onTransferStarted):
        (WebInspector.OutputStreamDelegate.prototype.onTransferFinished):
        (WebInspector.OutputStreamDelegate.prototype.onChunkTransferred):
        (WebInspector.OutputStreamDelegate.prototype.onError):
        (WebInspector.ChunkedReader):
        (WebInspector.ChunkedReader.prototype.fileSize):
        (WebInspector.ChunkedReader.prototype.loadedSize):
        (WebInspector.ChunkedReader.prototype.fileName):
        (WebInspector.ChunkedReader.prototype.cancel):
        (WebInspector.ChunkedFileReader.prototype.start):
        (WebInspector.ChunkedFileReader.prototype._onChunkLoaded):
        (WebInspector.ChunkedXHRReader.prototype.start):
        (WebInspector.ChunkedXHRReader.prototype._onLoad):
        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotLoadFromFileDelegate.prototype.onTransferStarted):
        (WebInspector.HeapSnapshotLoadFromFileDelegate.prototype.onChunkTransferred):
        (WebInspector.HeapSnapshotLoadFromFileDelegate.prototype.onTransferFinished):
        (WebInspector.HeapSnapshotLoadFromFileDelegate.prototype.onError):
        * inspector/front-end/TimelineModel.js:
        (WebInspector.TimelineModelLoadFromFileDelegate.prototype.onTransferStarted):

2012-09-28  Florin Malita  <fmalita@chromium.org>

        [Chromium] Incorrect resampling of clipped/masked images.
        https://bugs.webkit.org/show_bug.cgi?id=97409

        Reviewed by Stephen White.

        Currently, high-quality resampling is used for translate/scale-only transforms, but when
        the scale is negative the resampling subset ends up positioned incorrectly.
        ImageSkia.cpp:drawResampledBitmap needs to account for negative scaling factors, and apply
        only absolute values when calculating the resampling subregion in bitmap coordinates.

        Thanks pdr@google.com for isolating the regression.

        Test: svg/custom/clip-mask-negative-scale.svg

        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::drawResampledBitmap):

2012-09-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r129882.
        http://trac.webkit.org/changeset/129882
        https://bugs.webkit.org/show_bug.cgi?id=97913

        Repaint is incorrect on many tests (Requested by schenney on
        #webkit).

        * inspector/InspectorController.cpp:
        * inspector/InspectorController.h:
        (WebCore):
        (InspectorController):
        * inspector/InspectorOverlay.cpp:
        (WebCore::InspectorOverlay::paint):
        (WebCore::InspectorOverlay::update):
        (WebCore::buildObjectForPoint):
        (WebCore::buildArrayForQuad):
        (WebCore::buildObjectForHighlight):
        (WebCore::InspectorOverlay::reset):
        * inspector/InspectorOverlay.h:
        (InspectorOverlay):
        * inspector/InspectorOverlayPage.html:

2012-09-28  Kentaro Hara  <haraken@chromium.org>

        Unreviewed, rolling out r129825.
        http://trac.webkit.org/changeset/129825
        https://bugs.webkit.org/show_bug.cgi?id=97474

        DOMWindow.resizeTo() is broken. Asked by Mark Pilgrim.

        * WebCore.gypi:
        * platform/Widget.h:
        * platform/chromium/PageClientChromium.h: Removed.
        * platform/chromium/PlatformScreenChromium.cpp:
        (WebCore::screenHorizontalDPI):
        (WebCore::screenVerticalDPI):
        (WebCore::screenDepth):
        (WebCore::screenDepthPerComponent):
        (WebCore::screenIsMonochrome):
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-09-28  Christophe Dumez  <christophe.dumez@intel.com>

        [WebDatabase] Error code should be CONSTRAINT_ERR if a statement fails due to a constraint failure
        https://bugs.webkit.org/show_bug.cgi?id=97897

        Reviewed by Kenneth Rohde Christiansen.

        Use CONSTRAINT_ERR error code instead of the generic DATABASE_ERR
        when a statement fails due to a constraint failure. This is documented
        in the W3C specification:
        http://dev.w3.org/html5/webdatabase/#dom-sqlexception-code-constraint

        Tests: storage/websql/sql-error-codes.html

        * Modules/webdatabase/SQLStatement.cpp:
        (WebCore::SQLStatement::execute):
        * Modules/webdatabase/SQLStatementSync.cpp:
        (WebCore::SQLStatementSync::execute):
        * platform/sql/SQLiteDatabase.cpp:
        (WebCore):
        * platform/sql/SQLiteDatabase.h:
        (WebCore):

2012-09-28  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: split ProgressBar.js into Progress.js and ProgressIndicator.js
        https://bugs.webkit.org/show_bug.cgi?id=97902

        Reviewed by Alexander Pavlov.

        One is model, the other is UI component.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/Progress.js: Copied from Source/WebCore/inspector/front-end/ProgressBar.js.
        * inspector/front-end/ProgressIndicator.js: Renamed from Source/WebCore/inspector/front-end/ProgressBar.js.
        * inspector/front-end/UserAgentSupport.js:
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/externs.js:
        * inspector/front-end/inspector.html:

2012-09-27  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Device Metrics] Remove the gutter overlay moving its functionality into the InspectorOverlay
        https://bugs.webkit.org/show_bug.cgi?id=97799

        Reviewed by Pavel Feldman.

        In order to reduce the amount of port-specific code, the gutter overlay painted in the device metrics emulation mode
        has been replaced by the respective functionality in the HTML-based InspectorOverlay in WebCore. The InspectorOverlay
        now covers the entire WebView rather than the FrameView only.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::webViewResized):
        (WebCore):
        * inspector/InspectorController.h:
        (WebCore):
        (InspectorController):
        * inspector/InspectorOverlay.cpp:
        (WebCore::InspectorOverlay::InspectorOverlay):
        (WebCore::InspectorOverlay::paint):
        (WebCore::InspectorOverlay::resize):
        (WebCore):
        (WebCore::InspectorOverlay::update):
        (WebCore::InspectorOverlay::drawGutter):
        (WebCore::InspectorOverlay::reset):
        * inspector/InspectorOverlay.h:
        (InspectorOverlay):
        * inspector/InspectorOverlayPage.html: Introduce the gutter painting functionality previously found in the Chromium's
        DeviceMetricsSupport class, which used to implement WebPageOverlay.

2012-09-28  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>

        editing/pasteboard/paste-removing-iframe.html crashes on EFL bots
        https://bugs.webkit.org/show_bug.cgi?id=97892

        Reviewed by Kenneth Rohde Christiansen.

        Added missing null check to avoid a crash if the document inside
        iframe is removed during the editing operation.

        Test: editing/pasteboard/paste-removing-iframe.html

        * editing/Editor.cpp:
        (WebCore::Editor::changeSelectionAfterCommand):

2012-09-28  Arvid Nilsson  <anilsson@rim.com>

        [BlackBerry] Destroy thread-specific data for Platform::Graphics::Buffer on the right thread
        https://bugs.webkit.org/show_bug.cgi?id=97674

        Reviewed by Rob Buis.

        A new API was added to BlackBerry::Platform::Graphics for destroying
        thread-specific data generated on the compositing thread when we blit
        buffers. The buffers are otherwise created and destroyed on the WebKit
        thread, which doesn't give platform any opportunity to destroy the
        thread-specific data.

        This patch adds calls to the new API to avoid leaking resources.

        Reviewed internally by Jakob Petsovits and Filip Spacek.

        PR 214644

        Verified using manual testing.

        * plugins/blackberry/PluginViewPrivateBlackBerry.cpp:
        (WebCore::PluginViewPrivate::createBuffers):
        (WebCore::PluginViewPrivate::destroyBuffers):

2012-09-28  Andrey Adaikin  <aandrey@chromium.org>

        Web Inspector: [Canvas] log property setters too along with function calls
        https://bugs.webkit.org/show_bug.cgi?id=97776

        Reviewed by Pavel Feldman.

        Trace logs should also contain property setter calls.

        * inspector/InjectedScriptCanvasModuleSource.js:
        (.):
        * inspector/Inspector.json:
        * inspector/front-end/CanvasProfileView.js:
        (WebInspector.CanvasProfileView.prototype._showTraceLog):

2012-09-28  Kent Tamura  <tkent@chromium.org>

        Remove LocalizedNumber*.*
        https://bugs.webkit.org/show_bug.cgi?id=97876

        Reviewed by Yuta Kitamura.

        LocalizedNumber.h functions are replaced with Localizer class.

        * CMakeLists.txt: Remove LocalizedNumberNone.*.
        * GNUmakefile.list.am: ditto.
        * Target.pri: ditto.
        * WebCore.vcpproj/WebCore.vcproj: ditto.
        * WebCore.gyp/WebCore.gyp: Remove LocalizedNumber*.*.
        * WebCore.gypi: ditto.
        * WebCore.xcodeproj/project.pbxproj: ditto.

        * html/NumberInputType.cpp: Use Localizer for the element locale.
        (WebCore::NumberInputType::localizeValue):
        (WebCore::NumberInputType::convertFromVisibleValue):

        * platform/text/Localizer.h: Move some comments from LocalizedNumber.h

        * platform/text/LocalizedNumber.h: Removed.
        * platform/text/LocalizedNumberICU.cpp: Removed.
        * platform/text/LocalizedNumberNone.cpp: Removed.
        * platform/text/mac/LocalizedNumberMac.mm: Removed.
        * platform/text/win/LocalizedNumberWin.cpp: Removed.

2012-09-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed, rolling out r129863.
        http://trac.webkit.org/changeset/129863
        https://bugs.webkit.org/show_bug.cgi?id=97173

        WK2 layout test on debug is broken by this patch.

        * platform/efl/RunLoopEfl.cpp:
        (WebCore::RunLoop::RunLoop):
        (WebCore::RunLoop::~RunLoop):

2012-09-28  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Formatting on load is broken
        https://bugs.webkit.org/show_bug.cgi?id=97880

        Reviewed by Alexander Pavlov.

        Bound formatted callback on UISourceCode and fixed callback call.

        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype._fireContentAvailable.formattedCallback):
        (WebInspector.UISourceCode.prototype._fireContentAvailable):

2012-09-28  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Multiple fields month input UI
        https://bugs.webkit.org/show_bug.cgi?id=97299

        Reviewed by Kent Tamura.

        This patch introduces multiple fields "month" input UI in DRT. We'll
        enable this feature once we add tests.

        Note: This patch affects ports which enable both ENABLE_INPUT_TYPE_MONTH
        and ENABLE_INPUT_MULTIPLE_FIELDS_UI.

        No new tests. To reduce size of this patch, other patches add tests
        for multiple fields month input UI.

        Note: Actual outputs of two tests
            - fast/forms/month/month-input-visible-string.html
            - fast/forms/month/month-stepup-stepdown-from-renderer.html
        are different.

        * css/html.css:
        (input::-webkit-datetime-edit-month-field): Added for field appearance.
        (input::-webkit-datetime-edit-year-field): ditto.
        (input::-webkit-datetime-edit-month-field:focus): Added to remove focus ring.
        (input::-webkit-datetime-edit-year-field:focus): ditto.
        * html/MonthInputType.cpp:
        (WebCore::MonthInputType::formatDateTimeFieldsState): Added to format numeric value to string value as specified in HTML5 specification.
        (WebCore::MonthInputType::setupLayoutParameters): Added to set layout of multiple fields.
        * html/MonthInputType.h: Changed to include BaseMultipleFieldsDateAndTimeInputType.h and introduce BaseMonthInputType typedef.
        (WebCore::MonthInputType::MonthInputType): Changed base class name to BaseMonthInputType.
        (MonthInputType): Changed to add declarations for formatDateTimeFieldsState() and setupLayoutParameters().
        * html/shadow/DateTimeEditElement.cpp:
        (DateTimeEditBuilder): Changed to have copy of object in m_stepRange and m_dateValue member variables for being robust.
        (WebCore::DateTimeEditBuilder::DateTimeEditBuilder): Changed to add initialize m_placeholderForMonth and m_placeholderForYear.
        (WebCore::DateTimeEditBuilder::visitField): Changed to support month field and year field.
        * html/shadow/DateTimeEditElement.h:
        (LayoutParameters): Changed to add member variables, placeholderForMonth and placeholderForYear. Changed to have copy of object in stepRange member variable for being robust.

2012-09-28  Eunmi Lee  <eunmi15.lee@samsung.com>

        [EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
        https://bugs.webkit.org/show_bug.cgi?id=97173

        Reviewed by Gyuyoung Kim.

        Remove codes to initialize and shutdown the EFL libraries from
        RunLoopEfl.cpp. Initialization and shutdown will be done in the
        ewk_main.cpp for ui process and WebProcessMainEfl.cpp for web
        process.

        No new tests. This patch doesn't change behavior.

        * platform/efl/RunLoopEfl.cpp:
        (WebCore::RunLoop::RunLoop):
        (WebCore::RunLoop::~RunLoop):

2012-09-19  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Prepare UISourceCode to transformation into File.
        https://bugs.webkit.org/show_bug.cgi?id=97113

        Reviewed by Pavel Feldman.

        This patch moves methods and fields from UISourceCode descendants except for the modification bindings.

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.breakpointStorageId):
        (WebInspector.BreakpointManager.isDivergedFromVM):
        (WebInspector.BreakpointManager.prototype.restoreBreakpoints):
        (WebInspector.BreakpointManager.Breakpoint):
        (WebInspector.BreakpointManager.Breakpoint.prototype._updateBreakpoint):
        (WebInspector.BreakpointManager.Breakpoint.prototype._breakpointStorageId):
        (WebInspector.BreakpointManager.Storage.prototype._restoreBreakpoints):
        (set WebInspector.BreakpointManager.Storage.Item):
        * inspector/front-end/JavaScriptSource.js:
        (WebInspector.JavaScriptSource):
        (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
        (WebInspector.JavaScriptSourceFrame.prototype._supportsEnabledBreakpointsWhileEditing):
        (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
        (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointsBeforeEditing):
        (WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):
        (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
        (WebInspector.JavaScriptSourceFrame.prototype._handleGutterClick):
        * inspector/front-end/SASSSourceMapping.js:
        * inspector/front-end/ScriptSnippetModel.js:
        (WebInspector.ScriptSnippetModel):
        (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
        (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet.get var):
        (WebInspector.ScriptSnippetModel.prototype._projectWillReset):
        (WebInspector.SnippetJavaScriptSource):
        (WebInspector.SnippetJavaScriptSource.prototype.workingCopyChanged):
        * inspector/front-end/ScriptsNavigator.js:
        (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._addUISourceCode):
        (WebInspector.ScriptsPanel.prototype._uiSourceCodeFormatted):
        (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
        * inspector/front-end/SnippetJavaScriptSourceFrame.js:
        (WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked):
        * inspector/front-end/StyleSource.js:
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype.searchInContent):
        (WebInspector.UISourceCode.prototype._fireContentAvailable.formattedCallback):
        (WebInspector.UISourceCode.prototype._fireContentAvailable):
        (WebInspector.UISourceCode.prototype.setFormatted.if):
        (WebInspector.UISourceCode.prototype.setFormatted.didGetContent.formattedChanged):
        (WebInspector.UISourceCode.prototype.setFormatted.didGetContent):
        (WebInspector.UISourceCode.prototype.setFormatted):
        (WebInspector.UISourceCode.prototype.setSourceMapping):

2012-09-28  MORITA Hajime  <morrita@google.com>

        Move Shadow DOM inspection feature out from experiments
        https://bugs.webkit.org/show_bug.cgi?id=94274

        Reviewed by Pavel Feldman.

        This chagne turns the showShadowDOM experiments into a settings,
        adding aSettingsScreen entry for that.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/DOMAgent.js:
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.GenericSettingsTab):

2012-09-27  Kent Tamura  <tkent@chromium.org>

        Use Localizer in PagePopupController
        https://bugs.webkit.org/show_bug.cgi?id=97862

        Reviewed by Hajime Morita.

        No new tests. This doesn't change any behavior.

        * page/PagePopupClient.h:
        (WebCore):
        (PagePopupClient): Add "localizer" member function.
        * page/PagePopupController.cpp:
        (WebCore::PagePopupController::localizeNumberString):
        Use a Localizer object provided by PagePopupClient.

2012-09-28  Kent Tamura  <tkent@chromium.org>

        Switch monthLabels, weekDayShortLabels, and firstDayOfWeek to Localizer
        https://bugs.webkit.org/show_bug.cgi?id=97874

        Reviewed by Kentaro Hara.

        No new tests. This change shouldn't change any behavior.

        * platform/text/Localizer.h:
        (Localizer): Add monthLabels, weekDayShortLabels, and firstDayOfWeek.
        * platform/text/LocalizedDate.h:
        (WebCore): Remove them.
        * platform/text/LocalizedDateICU.cpp:
        (WebCore::localizedDateFormatText): ditto.
        * platform/text/LocalizedDateWin.cpp:
        (WebCore::localizedDateFormatText): ditto.
        * platform/text/mac/LocalizedDateMac.cpp:
        (WebCore::localizedDateFormatText): ditto.

        * platform/text/LocaleICU.h:
        (LocaleICU): Add virtual and OVERRIDE.
        * platform/text/LocaleWin.h:
        (LocaleWin):
        - Add virtual and OVERRIDE.
        - Move the content of firstDayOfWeek to LocaleWin.cpp because inline
        definition of a virtual function is not efficient.
        * platform/text/LocaleWin.cpp:
        (WebCore::LocaleWin::firstDayOfWeek): See above.
        * platform/text/mac/LocaleMac.h:
        (LocaleMac): Add virtual and OVERRIDE.

2012-09-28  Eugene Klyuchnikov  <eustas.bug@gmail.com>

        Web Inspector: Elements: Show entities in edit as HTML.
        https://bugs.webkit.org/show_bug.cgi?id=97798

        Reviewed by Alexander Pavlov.

        In elements tree entities like "&emsp;", "&ensp;" are shown.
        But in "Edit as HTML" mode they are replaced by Unicode chars.

        For better consistency, these chars should be rendered the same
        way both in tree and edit field.

        * inspector/front-end/ElementsTreeOutline.js:
        Replaced invisible chars with entities.

2012-09-28  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Adding DateTimeMonthFieldElement and DateTimeYearFieldElement
        https://bugs.webkit.org/show_bug.cgi?id=97864

        Reviewed by Kent Tamura.

        This patch is a part of preparation of implementing multiple fields
        date/time input UI.

        This patch introduces DateTimeMonthFieldElement and DateTimeYearFieldElement
        classes for implementing multiple fields "month" input type.

        Multiple fields "month" input type uses two fields for month and year
        in locale dependent order. Month field display month as two digit.
        Year field display year as four digits in usual case and can display
        up to 6 digits to support maximum year 275760, defined in HTML5
        specification.

        This patch also changes default value for step down and up on empty
        field to better UI in year field. Year field displays current year
        when step down and up on empty field rather than minimum year 1, or
        maximum year 275760.

        Note: This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME
        and ENABLE_INPUT_MULTIPLE_FIELDS_UI.

        No new tests. This patch doesn't change behavior.

        * html/shadow/DateTimeFieldElements.cpp:
        (WebCore::DateTimeMonthFieldElement::DateTimeMonthFieldElement): Added.
        (WebCore::DateTimeMonthFieldElement::create): Added.
        (WebCore::DateTimeMonthFieldElement::populateDateTimeFieldsState): Added.
        (WebCore::DateTimeMonthFieldElement::setValueAsDate): Added.
        (WebCore::DateTimeMonthFieldElement::setValueAsDateTimeFieldsState): Added.
        (WebCore::DateTimeYearFieldElement::DateTimeYearFieldElement): Added.
        (WebCore::DateTimeYearFieldElement::create): Added.
        (WebCore::DateTimeYearFieldElement::defaultValueForStepDown): Added.
        (WebCore::DateTimeYearFieldElement::defaultValueForStepUp): Added.
        (WebCore::DateTimeYearFieldElement::populateDateTimeFieldsState): Added.
        (WebCore::DateTimeYearFieldElement::setValueAsDate): Added.
        (WebCore::DateTimeYearFieldElement::setValueAsDateTimeFieldsState): Added.
        * html/shadow/DateTimeFieldElements.h:
        (DateTimeMonthFieldElement): Added.
        (DateTimeYearFieldElement): Added.
        * html/shadow/DateTimeNumericFieldElement.cpp:
        (WebCore::DateTimeNumericFieldElement::Range::isInRange): Added for ease of checking value is in range.
        (WebCore::DateTimeNumericFieldElement::defaultValueForStepDown): Added for default behavior.
        (WebCore::DateTimeNumericFieldElement::defaultValueForStepUp): ditto.
        (WebCore::DateTimeNumericFieldElement::stepDown): Changed to use defaultValueForStepDown instead of maximum field value.
        (WebCore::DateTimeNumericFieldElement::stepUp):  Changed to use defaultValueForStepUp minium field value.
        (WebCore::DateTimeNumericFieldElement::value): Changed to use "%04d" when maximum field value is greater than 999 for year field.
        * html/shadow/DateTimeNumericFieldElement.h:
        (DateTimeNumericFieldElement): Changed to add declarations of defaultValueForStepDown() and defaultValueForStepUp().

2012-09-27  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Adding placeholder feature to DateTimeNumericElement, and update its existing subclasses.
        https://bugs.webkit.org/show_bug.cgi?id=97863

        Reviewed by Kent Tamura.

        This patch is a part of preparation of implementing multiple fields
        date/time input UI.

        This patch introduces placeholder feature to DateTimeNumericElement
        to display date format guide in field, e.g. displaying "dd/mm/yyyy".

        Note: This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
        ENABLE_INPUT_MULTIPLE_FIELDS_UI.

        No new tests. This patch doesn't change behavior.

        * html/shadow/DateTimeFieldElements.cpp:
        (WebCore::DateTimeHourFieldElement::DateTimeHourFieldElement): Changed to pass placeholder class to base class.
        (WebCore::DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement): ditto
        (WebCore::DateTimeMinuteFieldElement::DateTimeMinuteFieldElement): ditto
        (WebCore::DateTimeSecondFieldElement::DateTimeSecondFieldElement): ditto
        * html/shadow/DateTimeNumericFieldElement.cpp: Removed no more needed static function displaySizeOfNumbre().
        (WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement): Changed to add new parameter to take placeholder.
        (WebCore::DateTimeNumericFieldElement::visibleValue): Changed to use m_placholder.
        * html/shadow/DateTimeNumericFieldElement.h:
        (DateTimeNumericFieldElement): Changed to add a member variable m_placholder to hold placholder to DateTimeNumbericElement class.

2012-09-27  Kent Tamura  <tkent@chromium.org>

        Make sure Localizer class is not copyable
        https://bugs.webkit.org/show_bug.cgi?id=97857

        Reviewed by Kentaro Hara.

        We don't intent Localizer obejcts are copyable.

        * platform/text/Localizer.h:
        (Localizer): Add WTF_MAKE_NONCOPYABLE.

2012-09-27  Nico Weber  <thakis@chromium.org>

        Delete some unused code. Found by -Wunused-function.
        https://bugs.webkit.org/show_bug.cgi?id=97858

        Reviewed by Anders Carlsson.

        No intended behavior change.

        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        (WebCore):
        * platform/graphics/chromium/CrossProcessFontLoading.mm:
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore):

2012-09-27  Kentaro Hara  <haraken@chromium.org>

        [V8] StringCache::v8ExternalString() can return a stale persistent handle
        https://bugs.webkit.org/show_bug.cgi?id=97767

        Reviewed by Adam Barth.

        For details, see the Chromium bug: http://code.google.com/p/chromium/issues/detail?id=151902

        StringCache::v8ExternalString() can return a stale persistent handle
        in the following scenario:

        (1) Assume that StringImpl A with value "foo" is in m_stringCache.
        (2) StringImpl B with value "foo" is accessed. At this point, m_lastStringImpl
        points to B, and m_lastV8String points to B's handle.
        (3) A minor GC is triggered and a weak callback is called back for StringImpl A.
        At this point, "foo" is removed from m_stringCache. A's handle is disposed.
        However, m_lastV8String is not cleared because m_lastStringImpl (i.e. StringImpl B)
        is not equal to StringImpl A. As a result, m_lastV8String points to a stale
        persistent handle.
        (4) The persistent handle is eventually reused in V8 and made weak again.
        (5) StringImpl B with value "foo" is accessed. Then StringCache::v8ExternalString()
        returns the stale persistent handle, which is already used for another purpose.

        To solve the problem, we need to clear m_stringImpl and m_lastV8String when any
        string wrapper is disposed. Specifically, we need to change the code like this:

          static void cachedStringCallback(v8::Persistent<v8::Value> wrapper, void* parameter)
          {
            StringImpl* stringImpl = static_cast<StringImpl*>(parameter);
            V8PerIsolateData::current()->stringCache()->remove(stringImpl);
            wrapper.Dispose();
            stringImpl->deref();
          }

          void StringCache::remove(StringImpl* stringImpl)
          {
            m_stringCache.remove(stringImpl);
            if (m_lastStringImpl.get() == stringImpl) {  // Remove this line.
                m_lastStringImpl = 0;
                m_lastV8String.Clear();
            }
          }

        Note: Removing the line might be stronger than is needed. Instead of removing
        the line, we can just replace the line with 'if (m_lastV8String == wrapper)'.
        However, just in case (for correctness), I'd prefer removing the line.
        Given that GC won't happen so frequently, clearing the cache in every weak callback
        won't affect performance.

        No tests because it depends on the GC behavior and I couldn't reproduce the bug.

        * bindings/v8/V8ValueCache.cpp:
        (WebCore::StringCache::remove):

2012-09-26  Antti Koivisto  <antti@apple.com>

        CSSComputedStyleDeclaration::getPropertyCSSValue() triggering unnecessary relayouts and style recalcs
        https://bugs.webkit.org/show_bug.cgi?id=97760

        Reviewed by Andreas Kling.

        Currently getPropertyCSSValue() (which is also used to implement the more common getPropertyValue()) 
        calls Document::updateLayoutIgnorePendingStylesheets() unconditionally. However only a few properties 
        are actually layout dependent, making many of these relayouts unnecessary. Moreover, triggering full 
        style recalc is also often unnecessary as the current node may already have valid style even if some 
        other parts of the tree require recalc.
        
        - Only trigger relayouts for layout dependent properties.
        - Trigger style recalc only if the style of the current element or its ancestors is dirty.
        
        This is a significant (several percent) progression on some real world web content based page loading
        benchmarks.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::isLayoutDependentProperty):
        (WebCore):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/StyleResolver.h:
        (WebCore::StyleResolver::hasViewportDependentMediaQueries):
        * dom/Document.cpp:
        (WebCore::Document::hasPendingStyleRecalc):
        
            Renamed for consistency.

        (WebCore::Document::hasPendingForcedStyleRecalc):
        (WebCore):
        * dom/Document.h:
        (Document):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageChanged):

2012-09-27  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Remove unused PlatformSupport reference in DraggedIsolatedFileSystem
        https://bugs.webkit.org/show_bug.cgi?id=97851

        Reviewed by Kentaro Hara.

        Part of a refactoring series. See tracking bug 82948.

        * Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp:

2012-09-27  Andrew Lo  <anlo@rim.com>

        requestAnimationFrame broken with subframes (DisplayRefreshMonitorManager::registerClient fails to register client)
        https://bugs.webkit.org/show_bug.cgi?id=95360

        Reviewed by Simon Fraser.

        Remove unnecessary code introduced in http://trac.webkit.org/changeset/129808.

        No new tests because it's already covered by fast/animation/request-animation-frame-iframe2.html.

        * platform/graphics/DisplayRefreshMonitor.cpp:
        (WebCore::DisplayRefreshMonitor::addClient):
        (WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient):

2012-09-27  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Remove unused PlatformSupport reference in FontCacheSkia
        https://bugs.webkit.org/show_bug.cgi?id=97850

        Reviewed by Kentaro Hara.

        Part of a refactoring series. See tracking bug 82948.

        * platform/graphics/skia/FontCacheSkia.cpp:

2012-09-27  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium][Android] Remove unused PlatformSupport reference in ScrollbarThemeChromiumAndroid
        https://bugs.webkit.org/show_bug.cgi?id=97846

        Reviewed by Kentaro Hara.

        Part of a refactoring series. See tracking bug 82948.

        * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:

2012-09-27  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Remove unused PlatformSupport reference in ClipboardChromium
        https://bugs.webkit.org/show_bug.cgi?id=97840

        Reviewed by Kentaro Hara.

        Part of a refactoring series. See tracking bug 82948.

        * platform/chromium/ClipboardChromium.cpp:

2012-09-27  Kent Tamura  <tkent@chromium.org>

        DateTimeNumericFieldElement should use Localizer functions.
        https://bugs.webkit.org/show_bug.cgi?id=97318

        Reviewed by Hajime Morita.

        Source/WebCore:

        Use Localizer functions instead of functions in LocalizedNumber to test
        i18n behavior. This affects only layout tests because
        Document::getLocalizer() always returns a Localizer for the browser
        locale.

        To obtain a Localizer object for <input>'s locale from a deep shadow node,
        we add localeIdentifier() function to DateTimeFieldElement::FieldOwner
        and DateTimeEditElement::EditControlOwner interfaces.

        Tests: fast/forms/time-multiple-fields/time-multiple-fields-localization.html

        * html/shadow/DateTimeFieldElement.h:
        (FieldOwner): Add localeIdentifier callback.
        (DateTimeFieldElement): Add localeIdentifier().
        * html/shadow/DateTimeFieldElement.cpp:
        (WebCore::DateTimeFieldElement::localeIdentifier):
        Added. Returns FieldOwner::localeIdentifier if m_fieldOwner is available.

        * html/shadow/DateTimeNumericFieldElement.h:
        (DateTimeNumericFieldElement): Declare localizer().
        * html/shadow/DateTimeNumericFieldElement.cpp:
        (WebCore::DateTimeNumericFieldElement::localizer):
        Returns a Localizer for DateTimeFieldElement::localeIdentifier()
        (WebCore::DateTimeNumericFieldElement::handleKeyboardEvent): Use localizer().
        (WebCore::DateTimeNumericFieldElement::value): Use localizer().

        * html/shadow/DateTimeEditElement.h:
        (EditControlOwner): Add localeIdentifier() callback.
        (DateTimeEditElement):
        Declare localeIdentifier(), which implements FieldOwner::localeIdentifier().
        * html/shadow/DateTimeEditElement.cpp:
        (WebCore::DateTimeEditElement::localeIdentifier):
        Added. Returns EditControlOwner::localeIdentifier if m_editControlOwner is available.

        * html/BaseMultipleFieldsDateAndTimeInputType.h:
        (BaseMultipleFieldsDateAndTimeInputType): Declare localeIdentifier(),
        which implements EditControlOwner::localeIdentifier().
        * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::localeIdentifier):
        Added. Returns <input>'s inherited locale identifier.

2012-09-27  Luke Macpherson   <macpherson@chromium.org>

        Implement reviewer feedback that I missed on bug 95930.
        https://bugs.webkit.org/show_bug.cgi?id=97752

        Reviewed by Alexey Proskuryakov.

        This patch updates the indentation of function parameters in a few places,
        and reserves an appropriate amount of space when using StringBuilder.

        * css/CSSBasicShapes.cpp:
        (WebCore::buildRectangleString):
        (WebCore::CSSBasicShapeRectangle::cssText):
        (WebCore::CSSBasicShapeRectangle::serializeResolvingVariables):
        (WebCore::CSSBasicShapeCircle::serializeResolvingVariables):
        (WebCore::CSSBasicShapeEllipse::serializeResolvingVariables):
        (WebCore::buildPolygonString):
        * css/Rect.h:
        (WebCore::Rect::serializeResolvingVariables):
        (WebCore::Quad::serializeResolvingVariables):
        (WebCore::Quad::generateCSSString):

2012-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r129823.
        http://trac.webkit.org/changeset/129823
        https://bugs.webkit.org/show_bug.cgi?id=97837

        Cause a bunch of pixel failures on Chrome Linux that look like
        real regressions (Requested by ojan on #webkit).

        * platform/graphics/harfbuzz/FontHarfBuzz.cpp:
        (WebCore::Font::drawGlyphs):
        (WebCore::Font::drawComplexText):
        * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
        (WebCore::FontPlatformData::setupPaint):
        * platform/graphics/skia/SimpleFontDataSkia.cpp:
        (WebCore::SimpleFontData::platformWidthForGlyph):

2012-09-27  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Remove screen-related functions from PlatformSupport
        https://bugs.webkit.org/show_bug.cgi?id=97474

        Reviewed by Adam Barth.

        Part of a refactoring series. See tracking bug 82948.
        Screen-related functions like screenHorizontalDPI that
        used to be on PlatformSupport are now accessed through a new
        PlatformPageClient attached to Widget in WebCore-land, which is
        implemented by ChromeClientImpl in WebKit-land, which proxies
        calls to WebWidgetClient, which is actually implemented in
        Chromium-land.

        * WebCore.gypi:
        * platform/Widget.h:
        * platform/chromium/PageClientChromium.h: Copied from Source/WebCore/platform/chromium/PlatformWidget.h.
        (PageClientChromium):
        * platform/chromium/PlatformScreenChromium.cpp:
        (WebCore::toPlatformPageClient):
        (WebCore):
        (WebCore::screenHorizontalDPI):
        (WebCore::screenVerticalDPI):
        (WebCore::screenDepth):
        (WebCore::screenDepthPerComponent):
        (WebCore::screenIsMonochrome):
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-09-27  Kenichi Ishibashi  <bashi@chromium.org>

        [Chromium] FontHarfBuzz.cpp should not use drawTextOnPath().
        https://bugs.webkit.org/show_bug.cgi?id=97676

        Reviewed by Tony Chang.

        Use drawPosText() if possible for vertical text.
        Use drawTextOnPath() only if the font doesn't have vhea/vmtx table.

        No new tests. No change in behavior on LayoutTests.
        Confirmed improvement in vertical text positioning using ipafont and Skia r5677.

        * platform/graphics/harfbuzz/FontHarfBuzz.cpp:
        (WebCore::drawVerticalTextWithBrokenIdeographs): Added.
        (WebCore):
        (WebCore::Font::drawGlyphs): Draw vertical text by drawPosText() in a similar manner of FontSkia.cpp.
        (WebCore::Font::drawComplexText): Disable setVerticalText(). Complex path doesn't support it now.
        * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
        (WebCore::FontPlatformData::setupPaint): Call setVertialText().
        * platform/graphics/skia/SimpleFontDataSkia.cpp:
        (WebCore::SimpleFontData::platformWidthForGlyph): Disable setVerticalText() if the font doesn't have vertical metrics.

2012-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r129806.
        http://trac.webkit.org/changeset/129806
        https://bugs.webkit.org/show_bug.cgi?id=97831

        Broke windows build due to missing header (Requested by jsbell
        on #webkit).

        * Modules/indexeddb/IDBLevelDBCoding.cpp:
        (WebCore::IDBLevelDBCoding::encodeString):
        (WebCore::IDBLevelDBCoding::decodeString):

2012-09-27  Levi Weintraub  <leviw@chromium.org>

        REGRESSION(r129186): Pressing enter at the end of a line deletes the line
        https://bugs.webkit.org/show_bug.cgi?id=97763

        Reviewed by Ryosuke Niwa.

        r129186 exposed incorrect behavior in RenderText whereby RenderText's lines were
        dirtied but the renderer wasn't marked for layout. Rich text editing in GMail exposed
        this behavior. RenderText::setTextWithOffset is called with a text string identical
        to the current text. It still dirties lines, then calls setText, which has a check
        for the case when the strings are the same and returns early and doesn't mark us as
        needing layout.

        This change adds the same early bailing logic in setText to setTextWithOffset, but
        forces setText to work its magic whenever we dirty lines there (and avoid double-
        checking that the strings are equal).

        * rendering/RenderText.cpp:
        (WebCore::RenderText::setTextWithOffset):

2012-09-27  Andrew Lo  <anlo@rim.com>

        requestAnimationFrame broken with subframes (DisplayRefreshMonitorManager::registerClient fails to register client)
        https://bugs.webkit.org/show_bug.cgi?id=95360

        Reviewed by Simon Fraser.

        DisplayRefreshMonitorManager::ensureMonitorForClient currently only adds the DisplayRefreshMonitorClient
        to the appropriate DisplayRefreshMonitor when a new monitor is created.
        It should also do so when it finds an existing monitor.

        Test: fast/animation/request-animation-frame-iframe2.html

        * platform/graphics/DisplayRefreshMonitor.cpp:
        (WebCore::DisplayRefreshMonitor::addClient):
        (WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient):

2012-09-27  Erik Arvidsson  <arv@chromium.org>
        Unreviewed Chromium debug build fix.

        Two fixes makes one breakage

        http://trac.webkit.org/changeset/129785
        http://trac.webkit.org/changeset/129798

        * bindings/v8/V8Binding.h:
        (WebCore::toNativeArguments):

2012-09-27  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Optimize encodeString/decodeString
        https://bugs.webkit.org/show_bug.cgi?id=97794

        Reviewed by Tony Chang.

        Optimize string encoding/decoding, which showed up as a CPU hot spot during profiling.
        The backing store uses big-endian ordering of 16-bit code unit strings, so a memcopy
        isn't sufficient, but the code used StringBuilder::append() character-by-character
        and custom byte-swapping which was slow.

        Ran a test w/ DumpRenderTree (to avoid multiprocess overhead) taking a 10k character string
        and putting it 20k times and getting it 20k times. On my test box, mean time before the
        patch was 8.2s, mean time after the patch was 4.6s.

        Tested by Chromium's webkit_unit_tests --gtest_filter='IDBLevelDBCodingTest.*String*'

        * Modules/indexeddb/IDBLevelDBCoding.cpp:
        (WebCore::IDBLevelDBCoding::encodeString):
        (WebCore::IDBLevelDBCoding::decodeString):

2012-09-27  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium][Mac] Move Mac-specific theme functions out of PlatformSupport
        https://bugs.webkit.org/show_bug.cgi?id=97817

        Reviewed by Adam Barth.

        Part of a refactoring series. See tracking bug 82948. We're calling WebThemeEngine directly now instead of proxying through PlatformSupport.

        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):
        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::scrollbarStateToThemeState):
        (WebCore):
        (WebCore::ScrollbarThemeChromiumMac::paint):

2012-09-27  Erik Arvidsson  <arv@chromium.org>

        Fix issue with ClassList which was hitting an assert in debug mode
        https://bugs.webkit.org/show_bug.cgi?id=97820

        Reviewed by Ojan Vafai.

        http://trac.webkit.org/changeset/129779 hit asserts in debug mode when trying to use fastGetAttribute on an SVG element.

        No new tests. No change in behavior.

        * bindings/v8/V8Binding.h:
        (WebCore::toNativeArguments):
        * html/ClassList.h:

2012-09-27  Philip Rogers  <pdr@google.com>

        Rewrite multithreaded filter job dispatching
        https://bugs.webkit.org/show_bug.cgi?id=97500

        Reviewed by Dean Jackson.

        This patch solves the problem of splitting up images into subregions for multithreaded
        filters. This fixes the way we partition the image array into equal-sized chunks.
        If we have an array of length N and want to split it into K chunks, we calculate:
          int jobSize = N / K; // integer division, so this is floored
          int jobSizeExtra = N % K; // modulus produces the remainder
        We then split the array into jobSizeExtra number of jobs with size jobSize + 1
        and (K - jobSizeExtra) number of jobs with size jobSize. This pattern
        is used in each of the 5 filters in this patch.

        This patch primarily fixes an error in FEMorphology::platformApply where
        the image array was partitioned into (1 + (N / K)) pieces with the last job
        taking the remainder. Unfortunately, this can cause overruns in the 2nd-to-last job.
        Consider N = 2373 and K = 64 jobs. Job 0 would take indices 0...38, job 1 would take
        38...76, etc. Unfortunately the 62nd job takes 2356...2394 which overruns.

        To prevent similar issues elsewhere this patch updates all of the filters
        to use the same pattern as FEMorphology.

        Test: svg/filters/feMorphology-crash.html

        * platform/graphics/filters/FEConvolveMatrix.cpp:
        (WebCore::FEConvolveMatrix::platformApplySoftware):
        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::FEGaussianBlur::platformApply):
        * platform/graphics/filters/FELighting.cpp:
        (WebCore::FELighting::platformApplyGeneric):
        * platform/graphics/filters/FEMorphology.cpp:
        (WebCore::FEMorphology::platformApply):

            Some special care is taken for Gaussian Blur because there is an
            extraHeight parameter for sampling outside the image's dimensions.
            This means we use the same partitioning algorithm but add
            extraHeight padding on the lower and upper bounds.

        * platform/graphics/filters/FETurbulence.cpp:
        (WebCore::FETurbulence::platformApplySoftware):

2012-09-27  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Move UNIX-specific theme functions out of PlatformSupport
        https://bugs.webkit.org/show_bug.cgi?id=96516

        Reviewed by Adam Barth.

        Call WebThemeEngine functions and use WebThemeEngine enums
        directly from the new Platform/ directly; remove all
        intermediate functions and enums and conversion functions from
        PlatformSupport.
        Part of a refactoring series; see tracking bug 82948.

        * WebCore.gyp/WebCore.gyp:
        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):
        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
        (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
        (WebCore::ScrollbarThemeChromiumLinux::paintButton):
        (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
        (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
        (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
        * rendering/RenderThemeChromiumAndroid.cpp:
        (WebCore::RenderThemeChromiumAndroid::adjustInnerSpinButtonStyle):
        (WebCore::RenderThemeChromiumAndroid::menuListArrowPadding):
        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::getWebThemeState):
        (WebCore):
        (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
        (WebCore::RenderThemeChromiumLinux::paintCheckbox):
        (WebCore::RenderThemeChromiumLinux::setCheckboxSize):
        (WebCore::RenderThemeChromiumLinux::paintRadio):
        (WebCore::RenderThemeChromiumLinux::setRadioSize):
        (WebCore::RenderThemeChromiumLinux::paintButton):
        (WebCore::RenderThemeChromiumLinux::paintTextField):
        (WebCore::RenderThemeChromiumLinux::paintMenuList):
        (WebCore::RenderThemeChromiumLinux::paintSliderTrack):
        (WebCore::RenderThemeChromiumLinux::paintSliderThumb):
        (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle):
        (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton):
        (WebCore::RenderThemeChromiumLinux::paintProgressBar):

2012-09-27  Bear Travis  <betravis@adobe.com>

        [CSS Exclusions] Rename RenderStyle::wrapShapeInside/Outside to shapeInside/Outside
        https://bugs.webkit.org/show_bug.cgi?id=97707

        Reviewed by Antti Koivisto.

        The exclusions specification has renamed wrap-shape-inside and wrap-shape-outside
        to shape-inside and shape-outside. We should rename the getter/setter functions
        in RenderStyle, and update the derived variable and function names accordingly.
        For more information, see: http://dev.w3.org/csswg/css3-exclusions/#declaring-shapes

        Covered by existing tests. No new functionality.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/StyleBuilder.cpp:
        (WebCore::ApplyPropertyExclusionShape::applyValue):
        (WebCore::StyleBuilder::StyleBuilder):
        * rendering/ExclusionShapeInsideInfo.cpp:
        (WebCore::ExclusionShapeInsideInfo::exclusionShapeInsideInfoForRenderBlock):
        (WebCore::ExclusionShapeInsideInfo::isExclusionShapeInsideInfoEnabledForRenderBlock):
        (WebCore::ExclusionShapeInsideInfo::removeExclusionShapeInsideInfoForRenderBlock):
        (WebCore::ExclusionShapeInsideInfo::computeShapeSize):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::styleDidChange):
        (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::exclusionShapeInsideInfo):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        (WebCore::StyleRareNonInheritedData::reportMemoryUsage):
        * rendering/style/StyleRareNonInheritedData.h:
        (StyleRareNonInheritedData):

2012-09-27  Michael Saboff  <msaboff@apple.com>

        ApplicationCacheStorage does not optimally handle 8 bit strings
        https://bugs.webkit.org/show_bug.cgi?id=97733

        Reviewed by Alexey Proskuryakov.

        Added 8 bit string paths.

        No functional change, therefore no new tests.

        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::urlHostHash):
        (WebCore::ApplicationCacheStorage::store):
        (WebCore::parseHeader):
        (WebCore::parseHeaders):

2012-09-27  Stephen Chenney  <schenney@chromium.org>

        Unreviewed Chromium debug build fix.

        ASSERT contains an inequality of unmatched types. A cast should do the trick.

        * bindings/v8/V8Binding.h:
        (WebCore::toNativeArguments):

2012-09-27  Adam Klein  <adamk@chromium.org>

        Simplify and clarify MutationObserverRegistration interface and usage
        https://bugs.webkit.org/show_bug.cgi?id=97742

        Reviewed by Ojan Vafai.

        Minor cleanups in MutationObserverRegistration: make const methods explicitly const,
        use C++ templates to avoid duplicating logic, improve usage of raw pointers vs PassRefPtr,
        remove the declaration of a no-longer-existing method.

        No change in behavior.

        * dom/MutationObserverRegistration.cpp:
        (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach): Take a raw pointer because we don't always ref the node.
        (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom): Make this a const method.
        * dom/MutationObserverRegistration.h:
        (MutationObserverRegistration): Removed declaration of non-existent caseInsensitiveAttributeFilter method.
        (WebCore::MutationObserverRegistration::hasTransientRegistrations): const method.
        (WebCore::MutationObserverRegistration::isSubtree): Remove superfluous "inline" keyword.
        (WebCore::MutationObserverRegistration::observer): const method.
        * dom/Node.cpp:
        (WebCore):
        (WebCore::collectMatchingObserversForMutation): Add a templatized function to reduce duplicated code.
        (WebCore::Node::getRegisteredMutationObserversOfType):
        (WebCore::Node::registerMutationObserver): Take a raw pointer because we don't always ref the observer.
        * dom/Node.h:
        (Node): Remove old method, replaced by templatized static function.

2012-09-27  Erik Arvidsson  <arv@chromium.org>

        DOM4: Add support for rest parameters to DOMTokenList
        https://bugs.webkit.org/show_bug.cgi?id=97335

        Reviewed by Ojan Vafai.

        This adds support for rest paramaters to DOMTokenList add and remove.
        http://dom.spec.whatwg.org/#domtokenlist

        The code generator has been updated to understand variadic methods.
        When a method has a rest parameter the remaining arguments are collected
        into a WTF::Vector.

        DOMTokenList, DOMSettableTokenList and ClassList were restructured a bit to
        allow code to be shared better.

        Updated existing tests and includes new binding tests.

        * bindings/js/JSDOMBinding.h:
        (WebCore::toNativeArray):
        (WebCore):
        (WebCore::toNativeArguments): Similar to toNativeArray but extracts the arguments instead.
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateArgumentsCountCheck): Updated to treat rest paramaters as optional.
        (GenerateParametersCheck): Generate code for rest params.
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateFunctionParametersCheck): Updated to treat rest paramaters as optional.
        (GenerateArgumentsCountCheck): Ditto.
        (GenerateParametersCheck):  Generate code for rest params.
        * bindings/scripts/IDLParser.pm:
        (parseOptionalOrRequiredArgument):
        * bindings/scripts/IDLStructure.pm:
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        (WebDOMTestObj::variadicStringMethod):
        (WebDOMTestObj::variadicDoubleMethod):
        (WebDOMTestObj::variadicNodeMethod):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_variadic_string_method):
        (webkit_dom_test_obj_variadic_double_method):
        (webkit_dom_test_obj_variadic_node_method):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
        (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
        (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore):
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj variadicStringMethod:tail:]):
        (-[DOMTestObj variadicDoubleMethod:tail:]):
        (-[DOMTestObj variadicNodeMethod:tail:]):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::variadicStringMethodCallback):
        (TestObjV8Internal):
        (WebCore::TestObjV8Internal::variadicDoubleMethodCallback):
        (WebCore::TestObjV8Internal::variadicNodeMethodCallback):
        (WebCore):
        (WebCore::ConfigureV8TestObjTemplate):
        * bindings/v8/V8Binding.h:
        (WebCore::toNativeArray):
        (WebCore):
        (WebCore::toNativeArguments): Similar to toNativeArray but extracts the arguments instead.
        * html/ClassList.cpp:
        (WebCore::ClassList::ClassList):
        * html/ClassList.h:
        (WebCore):
        (ClassList):
        * html/DOMSettableTokenList.cpp:
        (WebCore::DOMSettableTokenList::containsInternal):
        (WebCore::DOMSettableTokenList::add):
        (WebCore::DOMSettableTokenList::addInternal):
        (WebCore::DOMSettableTokenList::remove):
        (WebCore::DOMSettableTokenList::removeInternal):
        (WebCore::DOMSettableTokenList::setValue):
        * html/DOMSettableTokenList.h:
        (DOMSettableTokenList):
        * html/DOMTokenList.cpp:
        (WebCore::DOMTokenList::validateTokens):
        (WebCore):
        (WebCore::DOMTokenList::contains): Moved implementation to base class to allow code sharing.
        (WebCore::DOMTokenList::add): Ditto.
        (WebCore::DOMTokenList::remove): Ditto.
        (WebCore::DOMTokenList::toggle): Ditto.
        (WebCore::DOMTokenList::addInternal): Ditto.
        (WebCore::DOMTokenList::removeInternal): Ditto.
        (WebCore::DOMTokenList::addToken): Ditto.
        (WebCore::DOMTokenList::addTokens):
        (WebCore::DOMTokenList::removeToken): Ditto.
        (WebCore::DOMTokenList::removeTokens):
        * html/DOMTokenList.h:
        (DOMTokenList):
        (WebCore::DOMTokenList::toString):
        * html/DOMTokenList.idl:

2012-09-27  Andreas Kling  <kling@webkit.org>

        332kB below DocumentEventQueue::create() on Membuster3.
        <http://webkit.org/b/97712>

        Reviewed by Anders Carlsson.

        Give DocumentEventQueue::m_queuedEvents an inline capacity of 16 (the default is 256.)
        312kB progression on Membuster3.

        * dom/DocumentEventQueue.h:
        * dom/DocumentEventQueue.cpp:
        (WebCore::DocumentEventQueue::pendingEventTimerFired):

2012-09-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [REGRESSION] Breakpoints are not always shown in breakpoints sidebar pane.
        https://bugs.webkit.org/show_bug.cgi?id=97783

        Reviewed by Pavel Feldman.

        BreakpointSidebarPane now explicitly adds all breakpoints that are available at the moment of its creation.

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype._filteredBreakpointLocations):
        (WebInspector.BreakpointManager.prototype.breakpointLocationsForUISourceCode):
        (WebInspector.BreakpointManager.prototype.allBreakpointLocations):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.JavaScriptBreakpointsSidebarPane):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointAdded):

2012-09-27  Mike West  <mkwst@chromium.org>

        Dropping JSC references from InspectorInstrumentation.h by including 'ScriptState.h'
        https://bugs.webkit.org/show_bug.cgi?id=97759

        Reviewed by Adam Barth.

        InspectorInstrumentation.h includes two '#if USE(JSC)' blocks, which
        I've been reliably informed should not appear in WebCore[1]. This patch
        drops both blocks, and includes 'ScriptState.h' instead, which should
        have the same practical effect.

        There's no functional change, so this should be covered by existing tests.

        [1]: https://bugs.webkit.org/show_bug.cgi?id=94433#c55

        * inspector/InspectorInstrumentation.h:
        (WebCore):

2012-09-27  Erik Arvidsson  <arv@chromium.org>

        Remove unused regular expressions from IDLStructure.pm
        https://bugs.webkit.org/show_bug.cgi?id=97790

        Reviewed by Kentaro Hara.

        After http://trac.webkit.org/changeset/129723 these regular expressions are no longer used.

        No new tests, run-binding-tests generates the same output.

        * bindings/scripts/IDLStructure.pm:

2012-09-27  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Enhance MediaConstraints to make it easier to get the constraint data
        https://bugs.webkit.org/show_bug.cgi?id=97559

        Reviewed by Adam Barth.

        Instead of just returning the names, return a pair of name and value.

        Existing tests cover this patch.

        * Modules/mediastream/MediaConstraintsImpl.cpp:
        (WebCore::MediaConstraintsImpl::initialize):
        (WebCore::MediaConstraintsImpl::getMandatoryConstraints):
        (WebCore::MediaConstraintsImpl::getOptionalConstraints):
        (WebCore::MediaConstraintsImpl::getOptionalConstraintValue):
        * Modules/mediastream/MediaConstraintsImpl.h:
        (MediaConstraintsImpl):
        * platform/chromium/support/WebMediaConstraints.cpp:
        (WebKit::WebMediaConstraint::WebMediaConstraint):
        (WebKit):
        (WebKit::WebMediaConstraints::getMandatoryConstraints):
        (WebKit::WebMediaConstraints::getOptionalConstraints):
        * platform/mediastream/MediaConstraints.h:
        (WebCore::MediaConstraint::MediaConstraint):
        (MediaConstraint):
        (WebCore):
        (MediaConstraints):

2012-09-27  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: NMI: move visited and countObjectSize methods implementation into separate class.
        https://bugs.webkit.org/show_bug.cgi?id=97461

        Reviewed by Yury Semikhatsky.

        These methods and the data collected by them need to be used in the instrumentation code for other components.
        As example when we are visiting bitmaps we need to visit platform specific objects.
        These objects will be instrumented with help of component's own instrumentation code
        but we have to keep the single set of visited objects and the map of counters.

        * inspector/InspectorMemoryAgent.cpp:
        (WebCore):
        (WebCore::collectDomTreeInfo):
        (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
        * inspector/MemoryInstrumentationImpl.cpp:
        (WebCore::MemoryInstrumentationClientImpl::countObjectSize):
        (WebCore):
        (WebCore::MemoryInstrumentationClientImpl::visited):
        (WebCore::MemoryInstrumentationImpl::selfSize):
        * inspector/MemoryInstrumentationImpl.h:
        (WebCore::MemoryInstrumentationClientImpl::MemoryInstrumentationClientImpl):
        (WebCore::MemoryInstrumentationClientImpl::selfSize):
        (MemoryInstrumentationClientImpl):
        (WebCore::MemoryInstrumentationClientImpl::visitedObjects):
        (WebCore):
        (MemoryInstrumentationImpl):
        (WebCore::MemoryInstrumentationImpl::MemoryInstrumentationImpl):
        (WebCore::MemoryInstrumentationImpl::checkInstrumentedObjects):

2012-09-27  Jinwoo Song  <jinwoo7.song@samsung.com>

        [CMAKE] Remove unnecessary header files from CMakeLists.txt
        https://bugs.webkit.org/show_bug.cgi?id=97771

        Reviewed by Kentaro Hara.

        Remove the header files which are added in the source file list.

        * CMakeLists.txt:

2012-09-27  Andrey Kosyakov  <caseq@chromium.org>

        Unreviewed, re-landing r129633 with the proper order of calls.
        https://bugs.webkit.org/show_bug.cgi?id=97659

        * inspector/InspectorOverlay.cpp:
        (WebCore::InspectorOverlay::paint):

2012-09-27  Andrey Kosyakov  <caseq@chromium.org>

        Unreviewed, rolling out r129633.
        http://trac.webkit.org/changeset/129633
        https://bugs.webkit.org/show_bug.cgi?id=97659

        Breaks inspector overlay in non-composited mode

        * inspector/InspectorOverlay.cpp:
        (WebCore::InspectorOverlay::paint):

2012-09-27  Christophe Dumez  <christophe.dumez@intel.com>

        [EFL] Remove duplicated CSS between mediaControlsEfl.css and mediaControlsEflFullscreen.css
        https://bugs.webkit.org/show_bug.cgi?id=97770

        Reviewed by Kenneth Rohde Christiansen.

        Some CSS rules were duplicated between mediaControlsEfl.css and mediaControlsEflFullscreen.css
        for no reason. This is an issue because it is easy to update mediaControlsEfl.css and forget
        to make the same update to mediaControlsEflFullscreen.css. As a matter of fact, the timeline
        display in fullscreen is currently off by a few pixels because its fullscreen CSS is not in
        sync with what is in mediaControlsEfl.css.

        We need to include in mediaControlsEflFullscreen.css only the CSS rules that are specific to
        fullscreen mode, that is to say, the hiding of some controls.

        No new tests, no behavior change for layout tests.

        * css/mediaControlsEflFullscreen.css:

2012-09-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Open resource dialog should assume implicit wildcard in the beginning of the query.
        https://bugs.webkit.org/show_bug.cgi?id=97768

        Reviewed by Pavel Feldman.

        Open resource dialog now assumes implicit wildcard in the beginning of the query.

        * inspector/front-end/FilteredItemSelectionDialog.js:
        (WebInspector.FilteredItemSelectionDialog.prototype._innerCreateSearchRegExp):

2012-09-27  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: do not use InspectorInstrumentation::hasFrontends() check when collecting stacks
        https://bugs.webkit.org/show_bug.cgi?id=96730

        Reviewed by Vsevolod Vlasov.

        - Introduced InspectorInstrumentation::console|timeline|runtime|canvasAgentEnabled
        - Using it all over the place instead of the hasFrontend (the latter is now only used once to guard hot path)
        - Introduced explicit "enabled" state of the console and runtime agents

        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        (WebCore::JSHTMLCanvasElement::getContext):
        * bindings/js/JSMainThreadExecState.h:
        (WebCore::JSMainThreadExecState::instrumentFunctionCall):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::create):
        * bindings/js/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStackForConsole):
        * bindings/js/ScriptCallStackFactory.h:
        (WebCore):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateCallWith):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateCallWith):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
        (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
        (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
        (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
        (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackCallback):
        * bindings/v8/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStackForConsole):
        * bindings/v8/ScriptCallStackFactory.h:
        (WebCore):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::callFunctionWithInstrumentation):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):
        * bindings/v8/V8WorkerContextEventListener.cpp:
        (WebCore::V8WorkerContextEventListener::callListenerFunction):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::WindowSetTimeoutImpl):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::V8HTMLCanvasElement::getContextCallback):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::SetTimeoutOrInterval):
        * inspector/Inspector.json:
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore):
        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
        (WebCore::InspectorConsoleAgent::enable):
        (WebCore::InspectorConsoleAgent::disable):
        (WebCore::InspectorConsoleAgent::clearMessages):
        (WebCore::InspectorConsoleAgent::clearFrontend):
        (WebCore::InspectorConsoleAgent::addConsoleMessage):
        * inspector/InspectorConsoleAgent.h:
        (WebCore::InspectorConsoleAgent::enabled):
        (InspectorConsoleAgent):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore):
        (WebCore::InspectorInstrumentation::canvasAgentEnabled):
        (WebCore::InspectorInstrumentation::consoleAgentEnabled):
        (WebCore::InspectorInstrumentation::runtimeAgentEnabled):
        (WebCore::InspectorInstrumentation::timelineAgentEnabled):
        * inspector/InspectorInstrumentation.h:
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::canvasAgentEnabled):
        (WebCore::InspectorInstrumentation::consoleAgentEnabled):
        (WebCore::InspectorInstrumentation::runtimeAgentEnabled):
        (WebCore::InspectorInstrumentation::timelineAgentEnabled):
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
        * inspector/InspectorRuntimeAgent.h:
        (WebCore::InspectorRuntimeAgent::enabled):
        (WebCore::InspectorRuntimeAgent::enable):
        (WebCore::InspectorRuntimeAgent::disable):
        (InspectorRuntimeAgent):
        * inspector/PageRuntimeAgent.cpp:
        (PageRuntimeAgentState):
        (WebCore::PageRuntimeAgent::clearFrontend):
        (WebCore::PageRuntimeAgent::restore):
        (WebCore):
        (WebCore::PageRuntimeAgent::enable):
        (WebCore::PageRuntimeAgent::disable):
        (WebCore::PageRuntimeAgent::didClearWindowObject):
        (WebCore::PageRuntimeAgent::didCreateIsolatedContext):
        (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
        * inspector/PageRuntimeAgent.h:
        (PageRuntimeAgent):
        * inspector/WorkerRuntimeAgent.cpp:
        * inspector/WorkerRuntimeAgent.h:
        * inspector/front-end/RuntimeModel.js:
        (WebInspector.RuntimeModel.prototype._didLoadCachedResources):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::postMessage):

2012-09-27  Allan Sandfeld Jensen  <allan.jensen@digia.com>

        Unify event handling of middle mouse button.
        https://bugs.webkit.org/show_bug.cgi?id=97690

        Reviewed by Tony Chang.

        Implement a unified version of middle mouse button press that can be shared between
        all the ports with X11 support.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEventSingleClick):
        (WebCore::EventHandler::handleMouseReleaseEvent):
        (WebCore::EventHandler::handlePasteGlobalSelection):
        * page/EventHandler.h:
        (EventHandler):

2012-09-27  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Update getUserMedia to match the latest specification
        https://bugs.webkit.org/show_bug.cgi?id=97540

        Reviewed by Adam Barth.

        http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia
        Navigator.getUserMedia is changed so that the audio and video members can either
        be a bool or a constraints object.

        Existing tests expanded to cover the new change.

        * Modules/mediastream/MediaConstraintsImpl.cpp:
        (WebCore::MediaConstraintsImpl::create):
        (WebCore):
        * Modules/mediastream/MediaConstraintsImpl.h:
        (MediaConstraintsImpl):
        * Modules/mediastream/NavigatorMediaStream.cpp:
        (WebCore::NavigatorMediaStream::webkitGetUserMedia):
        * Modules/mediastream/UserMediaRequest.cpp:
        (WebCore::parseOptions):
        (WebCore):
        (WebCore::UserMediaRequest::create):
        (WebCore::UserMediaRequest::UserMediaRequest):
        (WebCore::UserMediaRequest::audio):
        (WebCore::UserMediaRequest::video):
        (WebCore::UserMediaRequest::audioConstraints):
        (WebCore::UserMediaRequest::videoConstraints):
        * Modules/mediastream/UserMediaRequest.h:
        (WebCore):
        (UserMediaRequest):
        * platform/chromium/support/WebMediaConstraints.cpp:
        (WebKit::WebMediaConstraints::WebMediaConstraints):
        (WebKit):

2012-09-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Unreviewed inspector front-end closure compilation fix.

        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype.revertToOriginal):
        (WebInspector.UISourceCode.prototype.revertAndClearHistory):

2012-09-25  Alexander Pavlov  <apavlov@chromium.org>

        CollectingRules and QueryingRules modes of SelectorChecker miss some complex selectors with pseudo elements
        https://bugs.webkit.org/show_bug.cgi?id=78595

        Reviewed by Antti Koivisto.

        Do not use the same dynamicPseudo reference when recursively invoking checkSelector() for non-SubSelector selectors.

        Test: fast/dom/Window/getMatchedCSSRules-with-pseudo-elements-complex.html

        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkSelector): Use new NOPSEUDO dynamic pseudoId values
        for each non-SubSelector selector further in the tag history.

2012-09-27  Christophe Dumez  <christophe.dumez@intel.com>

        [EFL] No way to exit video fullscreen mode once entered
        https://bugs.webkit.org/show_bug.cgi?id=97631

        Reviewed by Kenneth Rohde Christiansen.

        Show fullscreen media control in fullscreen so that
        we now have a way to exit fullscreen mode.

        No new tests, no behavior change for layout tests.

        * css/mediaControlsEflFullscreen.css:
        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::emitMediaButtonSignal):
        (WebCore::RenderThemeEfl::paintMediaFullscreenButton):

2012-09-27  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] BaseMultipleFieldsDateAndTimeInputType class should inherit DateTimeEditElement::EditControlOwner rather than containing
        https://bugs.webkit.org/show_bug.cgi?id=97756

        Reviewed by Kent Tamura.

        This patch changes class hierarchy of BaseMultipleFieldsDateAndTimeInputType
        to inherit from DateTimeEditElement::EditControlOwner rather than
        containing an instance of DateTimeEditElement::EditControlOwner for
        saving memory, although one pointer, and one memory fetch on using
        HTMLInputElement.

        Note: This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
        ENABLE_INPUT_MULTIPLE_FIELDS_UI.

        No new tests. This patch doesn't change behavior.

        * html/BaseMultipleFieldsDateAndTimeInputType.cpp: DateTimeEditElement::EditControlOwner::DateTimeformatDateTimeFieldsState was removed. We no longer need to redirection. Each date/time input type classe implements it.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::didBlurFromControl): Moved from DateTimeEditControlOwnerImpl and removed reference of m_dateTimeInputType.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::didFocusOnControl): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::editControlValueChanged): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::isEditControlOwnerDisabled): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::isEditControlOwnerReadOnly): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::BaseMultipleFieldsDateAndTimeInputType): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::createShadowSubtree): Changed to pass BaseMultipleFieldsDateAndTimeInputType instead of DateTimeEditControlOwnerImpl.
        * html/BaseMultipleFieldsDateAndTimeInputType.h: Changed base class to have DateTImeEditElement::EditControlOwner.
        (BaseMultipleFieldsDateAndTimeInputType): Removed DateTimeEditControlOwnerImpl class and member variable m_dateTimeEditControlOwner.

2012-09-27  Keishi Hattori  <keishi@webkit.org>

        SuggestionPicker should support rtl
        https://bugs.webkit.org/show_bug.cgi?id=97555

        Reviewed by Kent Tamura.

        Add support for rtl to SuggestionPicker. We add another parameter
        because text direction for the calendar picker should depend on the UI
        language but the text direction for suggestion picker should depend on
        the input element style.

        Test: platform/chromium/fast/forms/date/date-suggestion-picker-appearance-rtl.html

        * Resources/pagepopups/calendarPicker.js:
        (CalendarPicker.prototype._layout):
        * Resources/pagepopups/pickerCommon.css:
        (.rtl): Added so we can change styles when in rtl mode.
        * Resources/pagepopups/suggestionPicker.css:
        (.suggestion-list-entry .label):
        (.rtl .suggestion-list-entry .label): Change float direction to left.
        * Resources/pagepopups/suggestionPicker.js:
        (SuggestionPicker.prototype._layout):
        * html/shadow/CalendarPickerElement.cpp:
        (WebCore::CalendarPickerElement::openPopup): Set isAnchorElementRTL to true if the input element is rtl.
        * platform/DateTimeChooser.h:
        (DateTimeChooserParameters): Added isAnchorElementRTL.

2012-09-27  Takashi Sakamoto  <tasak@google.com>

        Follow-up to r129723 to once more allow parsing of scoped names in IDL files.

        Reviewed by Kentaro Hara.

        This functionality was supported by the old IDL parser but was lost in the rewrite of the parser
        in r129723. It is being reinstated to unbreak clients that currently depend on it, but will likely
        be removed in the future once those clients have a chance to adopt an approach that more closely
        follows the WebIDL syntax.

        * bindings/scripts/IDLParser.pm:
        (parseDefinition):
        (parseInheritance):
        (parseImplementsStatement):
        (parseExtendedAttribute):
        (parseExtendedAttribute2):
        (parseExtendedAttributeRest2):
        (parseExtendedAttributeRest3):
        (parseScopedNameListNoComma):
        (parseNonAnyType):
        (parseExceptionList):
        (parseDefinitionOld):
        (parseScopedName):
        (parseAbsoluteScopedName):
        (parseRelativeScopedName):
        (parseScopedNameParts):
        (parseScopedNameList):
        (parseScopedNames):

2012-09-27  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: expose debug memory instrumentation debug data through the protocol
        https://bugs.webkit.org/show_bug.cgi?id=97683

        Reviewed by Pavel Feldman.

        Memory.getProcessMemoryDistribution command now returns number of instrumented
        objects that were found and the number of the objects that were counted by
        the instrumentation but were not actually allocated by the memory allocator.
        These numbers are only added to the response if embedder provides access to the
        set of all live heap objects. These numbers are intended to be used for testing
        memory instrumentation.

        * inspector/InspectorMemoryAgent.cpp:
        (WebCore::collectDomTreeInfo):
        * inspector/MemoryInstrumentationImpl.cpp:
        (WebCore::MemoryInstrumentationImpl::MemoryInstrumentationImpl):
        (WebCore::MemoryInstrumentationImpl::checkCountedObject):
        * inspector/MemoryInstrumentationImpl.h:
        (WebCore::MemoryInstrumentationImpl::checkInstrumentedObjects):
        (WebCore::MemoryInstrumentationImpl::totalCountedObjects):
        (WebCore::MemoryInstrumentationImpl::totalObjectsNotInAllocatedSet):
        (MemoryInstrumentationImpl):

2012-09-27  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Refactor RenderFlowThread::contentLogical(Width/Height/Left)OfFirstRegion
        https://bugs.webkit.org/show_bug.cgi?id=97577

        Reviewed by Andreas Kling.

        RenderFlowThread methods contentLogicalWidthOfFirstRegion, contentLogicalHeightOfFirstRegion, contentLogicalLeftOfFirstRegion
        were using code to get the first valid region associated with the flow. We can use RenderFlowThread::firstRegion() method instead.

        No new tests as this is just refactoring of existing code, the change is covered by existing regions tests.

        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::contentLogicalWidthOfFirstRegion):
        (WebCore::RenderFlowThread::contentLogicalHeightOfFirstRegion):
        (WebCore):
        (WebCore::RenderFlowThread::contentLogicalLeftOfFirstRegion):
        (WebCore::RenderFlowThread::firstRegion):
        (WebCore::RenderFlowThread::lastRegion):
        (WebCore::RenderFlowThread::computeOverflowStateForRegions):
        (WebCore::RenderFlowThread::objectInFlowRegion):
        (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):

2012-09-27  Patrick Gansterer  <paroga@webkit.org>

        Build fix for !USE(ICU_UNICODE) after r129662.

        Convert LChar to UChar so we can call the existing function until the
        other TextBreakIterator implemenations provide an overload for LChar.

        * platform/text/TextBreakIterator.cpp:
        (WebCore):
        (WebCore::acquireLineBreakIterator):

2012-09-26  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Move multiple fields related functions to BaseDateAndTimeInputType from TimeInputType
        https://bugs.webkit.org/show_bug.cgi?id=97521

        Reviewed by Kent Tamura.

        This patch introduces new class BaseMultipleFieldsDateAndTimeInputType
        for sharing code among multiple fields date/time input UI.

        Member functions in BaseMultipleFieldsDateAndTimeInputType are moved
        from TimeInputType. BaseMultipleFieldsDateAndTimeInputType.{cpp,h}
        were copied from TimeInputType.{cpp,h} by r129721.

        This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
        ENABLE_INPUT_MULTIPLE_FIELDS_UI.

        No new tests. This patch doesn't change behavior.

        * WebCore.gypi: Changed to have html/BaseMultipleFieldsDateAndTimeInputType.{cpp,h}
        * html/BaseDateAndTimeInputType.h:
        (BaseDateAndTimeInputType): Exposed setMillisecondToDateComponents as protected for BaseMultipleFieldsDateAndTimeInputType::restoreFormControlState().
        * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::DateTimeEditControlOwnerImpl::DateTimeEditControlOwnerImpl): Moved from TimeInputType::DateTimeEditControlOwnerImpl.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::DateTimeEditControlOwnerImpl::~DateTimeEditControlOwnerImpl): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::DateTimeEditControlOwnerImpl::didBlurFromControl): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::DateTimeEditControlOwnerImpl::didFocusOnControl): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::DateTimeEditControlOwnerImpl::editControlValueChanged): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::DateTimeEditControlOwnerImpl::formatDateTimeFieldsState): Moved from TimeInputType::DateTimeEditControlOwnerImpl and changed to call formatDateTimeFieldsState() in BaseMultipleFieldsDateAndTimeInputTypeInputType class.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::hasCustomFocusLogic): Moved from TimeInputType.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerDisabled): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerReadOnly): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::BaseMultipleFieldsDateAndTimeInputType): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::~BaseMultipleFieldsDateAndTimeInputType): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::blur): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::createRenderer): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::createShadowSubtree): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::destroyShadowSubtree): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::focus): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::forwardEvent): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::disabledAttributeChanged): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::handleKeydownEvent): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::isKeyboardFocusable): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::isMouseFocusable): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::minOrMaxAttributeChanged): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::readonlyAttributeChanged): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::isTextField): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::restoreFormControlState): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::saveFormControlState): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::setValue): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::shouldUseInputMethod): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::stepAttributeChanged): ditto.
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue): Moved from TimeInputType and changed to call setupLayoutParameters() to set date/time format by each input type.
        * html/BaseMultipleFieldsDateAndTimeInputType.h:
        (BaseMultipleFieldsDateAndTimeInputType): Added.
        (DateTimeEditControlOwnerImpl): Moved from TimeInputType.
        * html/TimeInputType.cpp: Moved multiple fields UI related functions to BaseMultipleFieldsDateAndTimeInputType.
        (WebCore::TimeInputType::TimeInputType): Changed base class name to BaseTimeInput.
        (WebCore::TimeInputType::formatDateTimeFieldsState): Moved from TimeINput::DateTImeEditControlOwnerImpl class.
        (WebCore::TimeInputType::setupLayoutParameters): Added for set time format.
        * html/TimeInputType.h:
        (TimeInputType): Chaned base class to BaseTimeInput which is alias of BaseDateAndTimeInputType or BaseMultipleFieldsDateAndTimeInputType.

2012-09-26  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Adding localization texts for multiple fields date/time input UI
        https://bugs.webkit.org/show_bug.cgi?id=97633

        Reviewed by Kent Tamura.

        This patch adds function declarations for getting localized strings
        used in multiple fields date/time input UI inside ENABLE_INPUT_MULTIPLE_FIELDS_UI.

        New functions are:
         - placeholderForDayOfMonthField()
            It returns localized placeholder text, e.g. "dd", for date field
            used in multiple fields "date", "datetime", and "datetime-local"
            input UI instead "--".

        - placeholderForfMonthField()
            It returns localized placeholder text, e.g. "mm", for month field
            used in multiple fields "date", "datetime", and "datetime-local"
            input UI instead "--".

        - placeholderForYearField()
            It returns localized placeholder text, e.g. "yyyy", for year field
            used in multiple fields "date", "datetime", and "datetime-local"
            input UI instead "----".

        - monthFormatInLDML()
            It returns month and year format in LDML, Unicode technical
            standard 35, Locale Data Markup Language, e.g. "MM-yyyyy" for
            "month" input type.

        - monthFormatInLDML()
            It returns week and year format in LDML, e.g. "WW-yyyyy" for
            "week" input type.

        No new tests. This patch doesn't change behavior.

        * platform/LocalizedStrings.h:
        (WebCore): Added declarations of placeholderForDayOfMonthField(), placeholderForMonthField(),
        placeholderForYearField(), monthFormatInLDML() and weekFormatInLDML().

2012-09-26  Huang Dongsung  <luxtella@company100.net>

        [CSS Shaders] Remove an unused member variable m_program in FECustomFilter.h
        https://bugs.webkit.org/show_bug.cgi?id=97755

        Reviewed by Kentaro Hara.

        No new tests. This patch doesn't change behavior.

        * platform/graphics/filters/FECustomFilter.h:
        (WebCore):

2012-08-09  Takashi Sakamoto  <tasak@google.com>

        Move IDL extended attributes to the location specified in WebIDL
        https://bugs.webkit.org/show_bug.cgi?id=26398

        Reviewed by Kentaro Hara.

        Recreated a new IDLParser based on the WebIDL spec:
        http://dev.w3.org/2006/webapi/WebIDL/

        Firstly merges two grammars (editors draft and WebKit current IDL) and
        generates IDL parser by using python script. The generated parser is
        modified to generate the same outputs as the previous IDLParser.pm.
        The new IDLParser.pm can parse both WebIDL grammar.

        No new tests. Tested by comparing with sources generated by
        the previous IDLParser.pm.

        * bindings/scripts/IDLParser.pm:
        (new):
        (assertTokenValue):
        (assertTokenType):
        (assertUnexpectedToken):
        (Parse):
        A method to start parsing a IDL file. Arguments and return values are
        the same as the previous IDLParser.pm's Parse method.
        (nextToken):
        Implemented to see a next token, because of LL(1).
        (getToken):
        Returns current token, and update next and current token.
        (getTokenInternal):
        According to the regular expressions defined in WebIDL spec, extracts
        one new token from a text string. The order of the regular expressions
        to be tested is important, i.e. "0." should be considered as a float
        token, but if firstly checks the integer regular expression, "0." is
        considered as "0" and ".".
        (parseDefinition):
        (parseCallbackOrInterface):
        (parseCallbackRestOrInterface):
        (parseInterface):
        (parsePartial):
        (parsePartialDefinition):
        (parsePartialInterface):
        (parseInterfaceMember):
        (parseDictionary):
        (parseDictionaryMember):
        (parsePartialDictionary):
        (parseDefaultValue):
        (parseException):
        (parseExceptionMembers):
        (parseEnum):
        (parseEnumValueList):
        (parseCallbackRest):
        (parseTypedef):
        (parseImplementsStatement):
        (parseConst):
        (parseConstValue):
        (parseBooleanLiteral):
        (parseFloatLiteral):
        (parseAttributeOrOperationOrIterator):
        (parseSerializer):
        (parseSerializationPattern):
        (parseQualifier):
        (parseAttributeOrOperationRest):
        (parseAttribute):
        (parseAttributeRest):
        (parseOperationOrIterator):
        (parseSpecialOperation):
        (parseSpecial):
        (parseOperationOrIteratorRest):
        (parseIteratorRest):
        (parseOptionalIteratorInterfaceOrObject):
        (parseOperationRest):
        (parseArguments):
        (parseArgument):
        (parseOptionalOrRequiredArgument):
        (parseArgumentName):
        (parseExceptionMember):
        (parseExceptionField):
        (parseExtendedAttributeList):
        (parseExtendedAttribute):
        (parseExtendedAttributeRest2):
        (parseArgumentNameKeyword):
        (parseType):
        (parseSingleType):
        (parseUnionType):
        (parseNonAnyType):
        (parsePrimitiveType):
        (parseUnrestrictedFloatType):
        (parseFloatType):
        (parseUnsignedIntegerType):
        (parseNull):
        (parseGet):
        (parseInheritsGetter):
        (parseSetGetRaises):
        (parseGetRaises2):
        (parseSetRaises):
        (parseSetRaises3):
        (parseDefinitionOld):
        (parseModule):
        (parseInterfaceOld):
        (parseInterfaceMemberOld):
        (parseDictionaryOld):
        (parseDictionaryMemberOld):
        (parseExceptionOld):
        (parseEnumOld):
        (parseAttributeOrOperationOrIteratorOld):
        (parseAttributeOrOperationRestOld):
        (parseAttributeOld):
        (parseIn):
        (parseOptionalSemicolon):
        (applyMemberList):
        (applyExtendedAttributeList):
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        (WebDOMTestObj::longAttr):
        (WebDOMTestObj::setLongAttr):
        (WebDOMTestObj::voidMethodWithArgs):
        (WebDOMTestObj::longMethod):
        (WebDOMTestObj::longMethodWithArgs):
        (WebDOMTestObj::objMethodWithArgs):
        (WebDOMTestObj::convert1):
        (WebDOMTestObj::convert2):
        (WebDOMTestObj::convert3):
        (WebDOMTestObj::convert4):
        (WebDOMTestObj::convert5):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_set_property):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        (webkit_dom_test_obj_void_method_with_args):
        (webkit_dom_test_obj_long_method):
        (webkit_dom_test_obj_long_method_with_args):
        (webkit_dom_test_obj_obj_method_with_args):
        (webkit_dom_test_obj_convert1):
        (webkit_dom_test_obj_convert2):
        (webkit_dom_test_obj_convert3):
        (webkit_dom_test_obj_convert4):
        (webkit_dom_test_obj_convert5):
        (webkit_dom_test_obj_get_long_attr):
        (webkit_dom_test_obj_set_long_attr):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        (WebCore::jsTestObjLongAttr):
        (WebCore::setJSTestObjLongAttr):
        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionLongMethod):
        (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
        (WebCore::jsTestObjPrototypeFunctionConvert1):
        (WebCore::jsTestObjPrototypeFunctionConvert2):
        (WebCore::jsTestObjPrototypeFunctionConvert3):
        (WebCore::jsTestObjPrototypeFunctionConvert4):
        (WebCore::jsTestObjPrototypeFunctionConvert5):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore):
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj longAttr]):
        (-[DOMTestObj setLongAttr:]):
        (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
        (-[DOMTestObj longMethod]):
        (-[DOMTestObj longMethodWithArgs:strArg:objArg:]):
        (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
        (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
        (-[DOMTestObj convert1:]):
        (-[DOMTestObj convert2:]):
        (-[DOMTestObj convert3:]):
        (-[DOMTestObj convert4:]):
        (-[DOMTestObj convert5:]):
        * bindings/scripts/test/TestObj.idl:
        Removed the line which has only "JSC, V8".
        Added argument to convert1, ... convert5.
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::longAttrAttrGetter):
        (WebCore::TestObjV8Internal::longAttrAttrSetter):
        (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
        (WebCore::TestObjV8Internal::longMethodCallback):
        (WebCore::TestObjV8Internal::longMethodWithArgsCallback):
        (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
        (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
        (WebCore::TestObjV8Internal::overloadedMethod2Callback):
        (WebCore::TestObjV8Internal::overloadedMethod4Callback):
        (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
        (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
        (WebCore::TestObjV8Internal::enabledPerContextMethod1Callback):
        (WebCore::TestObjV8Internal::enabledPerContextMethod2Callback):
        (WebCore::TestObjV8Internal::convert1Callback):
        (WebCore::TestObjV8Internal::convert2Callback):
        (WebCore::TestObjV8Internal::convert3Callback):
        (WebCore::TestObjV8Internal::convert4Callback):
        (WebCore::TestObjV8Internal::convert5Callback):
        (WebCore):
        (WebCore::ConfigureV8TestObjTemplate):
        * Modules/webaudio/AudioBufferSourceNode.idl:
        As only restricted extended attribute syntax is supported, modify the
        idl from [...] [...] to [..., ...].

2012-09-26  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] Copy TimeInputType.{cpp,h} to BaseMultipleFieldsDateAndTimeInputType.{cpp,h}
        https://bugs.webkit.org/show_bug.cgi?id=97649

        Reviewed by Kent Tamura.

        This patch copies TimeInput.{cpp,h} to BaseMultipleFieldsDateAndTimeInputType.{cpp,h}
        for sharing code related to multiple fields date/time input UI among date/time related
        input types, such as "date", "datetime", "month", "time" and "week".

        No new tests. This patch doesn't change behavior.

        * html/BaseMultipleFieldsDateAndTimeInputType.cpp: Copied from Source/WebCore/html/TimeInputType.cpp.
        * html/BaseMultipleFieldsDateAndTimeInputType.h: Copied from Source/WebCore/html/TimeInputType.h.

2012-09-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        [Texmap][EFL] Accelerated compositing support using TextureMapper on EFL port
        https://bugs.webkit.org/show_bug.cgi?id=73111

        Reviewed by Gyuyoung Kim.

        Remove unneeded files

        * PlatformEfl.cmake: Do not add the files any more.
        * platform/graphics/efl/GraphicsLayerEfl.cpp: Removed.
        * platform/graphics/efl/GraphicsLayerEfl.h: Removed.

2012-09-26  Simon Fraser  <simon.fraser@apple.com>

        Rename Page::frameCount() to subframeCount(), and related
        https://bugs.webkit.org/show_bug.cgi?id=97729

        Reviewed by Alexey Proskuryakov.

        Rename member functions and variables on Page that refer to
        "frame count" to use "subframe count", since the main frame is
        not included in the count.

        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame):
        (WebCore::CachedFrame::open):
        * history/CachedPage.cpp:
        (WebCore::CachedPage::restore):
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::isURLAllowed):
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::closeAndRemoveChild):
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        (WebCore::Frame::disconnectOwnerElement):
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::checkSubframeCountConsistency):
        * page/Page.h:
        (WebCore::Page::incrementSubframeCount):
        (WebCore::Page::decrementSubframeCount):
        (WebCore::Page::subframeCount):
        (WebCore::Page::checkSubframeCountConsistency):

2012-09-26  Michael Saboff  <msaboff@apple.com>

        Unreviewed speculative build fix for clang.

        Added explicit static_cast from int64_t to int32_t.

        * platform/text/TextBreakIteratorICU.cpp:
        (WebCore::uTextLatin1Clone):
        (WebCore::uTextLatin1Extract):
        (WebCore::uTextLatin1MapNativeIndexToUTF16):

2012-09-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r129673.
        http://trac.webkit.org/changeset/129673
        https://bugs.webkit.org/show_bug.cgi?id=97723

        Causing window build breakage (Requested by alecf on #webkit).

        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::paintSkiaText):

2012-09-26  David Barton  <dbarton@mathscribe.com>

        [MathML] Implement <mtd> rowspan and columnspan attributes
        https://bugs.webkit.org/show_bug.cgi?id=97401

        Reviewed by Eric Seidel.

        These should behave like rowspan and colspan for HTMLTableCell. As in that case,
        RenderTableCell accesses these attributes of its element as needed.

        Tested by modifications to LayoutTests/mathml/presentation/tables.xhtml.

        * mathml/MathMLElement.cpp:
        (WebCore::MathMLElement::colSpan):
        (WebCore::MathMLElement::rowSpan):
        (WebCore::MathMLElement::parseAttribute):
        * mathml/MathMLElement.h:
        (MathMLElement):
        (WebCore::toMathMLElement):
        * mathml/mathattrs.in:
        * mathml/mathtags.in:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::RenderTableCell):
        (WebCore::isMathMLElement):
        (WebCore::RenderTableCell::colSpan):
        (WebCore::RenderTableCell::rowSpan):
        (WebCore::RenderTableCell::colSpanOrRowSpanChanged):
        * rendering/RenderTableCell.h:
        (RenderTableCell):
            - Changed m_hasAssociatedTableCellElement to m_hasHTMLTableCellElement.

2012-09-26  Marcelo Lira  <marcelo.lira@openbossa.org>

        [Qt] load event fires on XMLHttpRequestUpload twice with Qt5
        https://bugs.webkit.org/show_bug.cgi?id=92669

        Reviewed by Kenneth Rohde Christiansen.

        When finishing, after the upload have already been done, Qt5's
        QNetworkReply emits an uploadProgress signal with total bytes set to
        zero. Since 0 of 0 bytes doesn't make any sense as progress, a
        conditional was added to QNetworkReplyHandler::uploadProgress to make
        do nothing with such values.

        Unskip XMLHttpRequestUpload tests.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::uploadProgress):

2012-09-26  Bear Travis  <betravis@adobe.com>

        [CSS Exclusions] Rename WrapShapeInfo to ExclusionShapeInfo
        https://bugs.webkit.org/show_bug.cgi?id=96157

        Reviewed by Dirk Schulze.

        Rename WrapShapeInfo to the more specific ExclusionShapeInsideInfo, which is the only
        information the class is currently tracking. This patch updates build files, class
        instances and variable names. When shape-outside is added, there may be an additional
        ExclusionShapeOutsideInfo class that shares a common parent class with 
        ExclusionShapeInsideInfo. This patch only changes names, there is no new functionality.

        Covered by existing tests

        * CMakeLists.txt: Rename files from WrapShapeInfo to ExclusionShapeInsideInfo.
        * GNUmakefile.list.am: Ditto.
        * Target.pri: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * rendering/ExclusionShapeInsideInfo.cpp: Renamed from Source/WebCore/rendering/WrapShapeInfo.cpp.
        (WebCore):  Renaming functions and variables to use ExclusionShapeInsideInfo rather than
        WrapShapeInfo.
        (WebCore::exclusionShapeInsideInfoMap):
        (WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo):
        (WebCore::ExclusionShapeInsideInfo::~ExclusionShapeInsideInfo):
        (WebCore::ExclusionShapeInsideInfo::ensureExclusionShapeInsideInfoForRenderBlock):
        (WebCore::ExclusionShapeInsideInfo::exclusionShapeInsideInfoForRenderBlock):
        (WebCore::ExclusionShapeInsideInfo::isExclusionShapeInsideInfoEnabledForRenderBlock):
        (WebCore::ExclusionShapeInsideInfo::removeExclusionShapeInsideInfoForRenderBlock):
        (WebCore::ExclusionShapeInsideInfo::computeShapeSize):
        (WebCore::ExclusionShapeInsideInfo::computeSegmentsForLine):
        * rendering/ExclusionShapeInsideInfo.h: Renamed from Source/WebCore/rendering/WrapShapeInfo.h.
        (WebCore):
        (ExclusionShapeInsideInfo):
        (WebCore::ExclusionShapeInsideInfo::create):
        (WebCore::ExclusionShapeInsideInfo::shapeLogicalTop):
        (WebCore::ExclusionShapeInsideInfo::shapeLogicalBottom):
        (WebCore::ExclusionShapeInsideInfo::hasSegments):
        (WebCore::ExclusionShapeInsideInfo::segments):
        (WebCore::ExclusionShapeInsideInfo::dirtyShapeSize):
        (WebCore::ExclusionShapeInsideInfo::lineOverlapsShapeBounds):
        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState):
        * rendering/LayoutState.h:
        (WebCore):
        (WebCore::LayoutState::LayoutState):
        (WebCore::LayoutState::exclusionShapeInsideInfo):
        (LayoutState):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::willBeDestroyed):
        (WebCore::RenderBlock::styleDidChange):
        (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange):
        (WebCore::RenderBlock::updateRegionsAndExclusionsLogicalSize):
        (WebCore::RenderBlock::computeExclusionShapeSize):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::exclusionShapeInsideInfo):
        (RenderBlock):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::layoutExclusionShapeInsideInfo):
        (WebCore::LineWidth::LineWidth):
        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
        (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
        * rendering/RenderView.h:
        (WebCore::RenderView::pushLayoutState):

2012-09-26  Christophe Dumez  <christophe.dumez@intel.com>

        [EFL] Volume button should not be shown for videos without audio
        https://bugs.webkit.org/show_bug.cgi?id=97574

        Reviewed by Kenneth Rohde Christiansen.

        The volume control is no longer shown for videos with
        no audio.

        No new tests, already tested by media/video-no-audio.html.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::hasOwnDisabledStateHandlingFor):
        (WebCore):
        * platform/efl/RenderThemeEfl.h:
        (RenderThemeEfl):

2012-09-26  Gavin Barraclough  <barraclough@apple.com>

        Generalize JSGlobalThis as JSProxy
        https://bugs.webkit.org/show_bug.cgi?id=97716

        Reviewed by Oliver Hunt.

        This patch moves window shell functionality up to JSC::JSProxy.

        * ForwardingHeaders/runtime/JSGlobalThis.h: Removed.
        * ForwardingHeaders/runtime/JSProxy.h: Copied from Source/WebCore/ForwardingHeaders/runtime/JSGlobalThis.h.
        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::JSDOMGlobalObject::finishCreation):
            - JSGlobalThis -> JSObject
        * bindings/js/JSDOMGlobalObject.h:
        (JSDOMGlobalObject):
            - JSGlobalThis -> JSObject
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore):
            - Hoist toThisObject up into JSC.
        * bindings/js/JSDOMWindowBase.h:
        (JSDOMWindowBase):
            - Hoist toThisObject up into JSC.
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore):
            - JSGlobalThis -> JSProxy
            - moved JSObject callbacks to JSProxy
        * bindings/js/JSDOMWindowShell.h:
        (JSDOMWindowShell):
            - JSGlobalThis -> JSProxy
            - moved JSObject callbacks to JSProxy
        (WebCore::JSDOMWindowShell::window):
            - unwrappedObject() -> target()
        (WebCore::JSDOMWindowShell::setWindow):
            - setUnwrappedObject() -> setTarget()
        (WebCore::JSDOMWindowShell::createStructure):
            - GlobalThisType -> ProxyType

2012-09-26  Andreas Kling  <kling@webkit.org>

        4.95MB below RenderBlock::insertIntoTrackedRendererMaps() on Membuster3.
        <http://webkit.org/b/97687>

        Reviewed by Anders Carlsson.

        Give the TrackedRendererListHashSet typedef an inline capacity of 16 (the default is 256.)
        Browsing around the web, I saw almost no cases with more than 20 entries in these lists,
        and this simple change saves us ~4.68MB on the Membuster3 benchmark.

        * rendering/RenderBlock.h:

2012-09-26  Chris Rogers  <crogers@google.com>

        DelayNode must take sample-accurate delay times into account
        https://bugs.webkit.org/show_bug.cgi?id=97609

        Reviewed by Kenneth Russell.

        Currently DelayNode simply uses a coarse-grained k-rate smoothing of .delayTime
        It should also be capable of supporting audio-rate control of .delayTime

        * Modules/webaudio/DelayDSPKernel.cpp:
        (WebCore::DelayDSPKernel::DelayDSPKernel):
        (WebCore::DelayDSPKernel::process):
        * Modules/webaudio/DelayDSPKernel.h:
        (DelayDSPKernel):

2012-09-26  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium][Win] Remove ensureFontLoaded from PlatformSupport
        https://bugs.webkit.org/show_bug.cgi?id=97696

        Reviewed by Adam Barth.

        Part of a refactoring series. See tracking bug 82948.

        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::paintSkiaText):

2012-09-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r129654.
        http://trac.webkit.org/changeset/129654
        https://bugs.webkit.org/show_bug.cgi?id=97702

        breaks chromium windows build (Requested by schenney on
        #webkit).

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Modules/mediastream/RTCPeerConnection.cpp:
        * Modules/mediastream/RTCPeerConnection.h:
        (WebCore):
        (RTCPeerConnection):
        * Modules/mediastream/RTCPeerConnection.idl:
        * Modules/mediastream/RTCStatsCallback.h: Removed.
        * Modules/mediastream/RTCStatsCallback.idl: Removed.
        * Modules/mediastream/RTCStatsElement.cpp: Removed.
        * Modules/mediastream/RTCStatsElement.h: Removed.
        * Modules/mediastream/RTCStatsElement.idl: Removed.
        * Modules/mediastream/RTCStatsReport.cpp: Removed.
        * Modules/mediastream/RTCStatsReport.h: Removed.
        * Modules/mediastream/RTCStatsReport.idl: Removed.
        * Modules/mediastream/RTCStatsRequestImpl.cpp: Removed.
        * Modules/mediastream/RTCStatsRequestImpl.h: Removed.
        * Modules/mediastream/RTCStatsResponse.cpp: Removed.
        * Modules/mediastream/RTCStatsResponse.h: Removed.
        * Modules/mediastream/RTCStatsResponse.idl: Removed.
        * WebCore.gypi:
        * platform/chromium/support/WebRTCStatsRequest.cpp: Removed.
        * platform/mediastream/RTCPeerConnectionHandler.cpp:
        (RTCPeerConnectionHandlerDummy):
        * platform/mediastream/RTCPeerConnectionHandler.h:
        (WebCore):
        (RTCPeerConnectionHandler):
        * platform/mediastream/RTCStatsRequest.h: Removed.
        * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
        * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
        (RTCPeerConnectionHandlerChromium):

2012-09-26  Philip Rogers  <pdr@google.com>

        Refactor SMILTimeContainer to maintain animation information instead of recalculating it every frame
        https://bugs.webkit.org/show_bug.cgi?id=96697

        Reviewed by Eric Seidel.

        SVGTimeContainer can be improved by maintaining extra information about
        animations during schedule/unschedule instead of re-calculating it
        every frame.

        After this patch, SMILTimeContainer maintains a GroupedAnimationsMap instead of
        just a Vector. This map maps a list of animations to the specific ElementAttributePair
        that will be animated.

        On schedule/unschedule we modify this map instead of creating it in updateAnimations.
        As a result, we need to be careful about always notifying (or, re-scheduling) the
        time container when either an animation's target changes or an animation's attributeName
        changes. This notification is managed by tracking changes with targetElementWillChange
        and setAttributeName.

        After this patch, updateAnimations only iterates over m_scheduledAnimations.
        Furthermore, the sorting of animations by priority is now done over each Vector of
        SVGSMILElements affecting a {SVGElement*, QualifiedName} pair instead of over all the
        SVGSMILElements at once.

        Lastly, a guard (m_preventScheduledAnimationsChanges) has been added
        to prove that we do not modify the scheduled animations map out
        from under ourselves.

        No new tests as this is just a refactoring.

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::hasValidAttributeType):

        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::hasValidAttributeName):

            Per the spec, AnimateMotion is not affected by attributeName. Instead
            of having a special case for this in SMILTimeContainer::updateAnimations
            we simply implement this method.

        (WebCore):
        * svg/SVGAnimateMotionElement.h:
        (SVGAnimateMotionElement):
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::updateAnimation):
        * svg/animation/SMILTimeContainer.cpp:
        (WebCore):
        (WebCore::SMILTimeContainer::SMILTimeContainer):
        (WebCore::SMILTimeContainer::~SMILTimeContainer):

            This method now cleans up the map since we have dynamically allocated
            Vectors in it.

        (WebCore::SMILTimeContainer::schedule):

            Here we are just adding an entry to the map. There is some special handling
            for creating the Vector of one does not exist.

        (WebCore::SMILTimeContainer::unschedule):
        (WebCore::SMILTimeContainer::notifyIntervalsChanged):
        (WebCore::SMILTimeContainer::setElapsed):
        (WebCore::SMILTimeContainer::startTimer):
        (WebCore::SMILTimeContainer::updateAnimations):
        * svg/animation/SMILTimeContainer.h:
        (WebCore::SMILTimeContainer::create):
        (SMILTimeContainer):
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::~SVGSMILElement):
        (WebCore::SVGSMILElement::insertedInto):
        (WebCore::SVGSMILElement::removedFrom):
        (WebCore):
        (WebCore::SVGSMILElement::hasValidAttributeName):
        (WebCore::SVGSMILElement::svgAttributeChanged):
        (WebCore::SVGSMILElement::setAttributeName):
        (WebCore::SVGSMILElement::targetElementWillChange):
        (WebCore::SVGSMILElement::resetTargetElement):
        (WebCore::SVGSMILElement::resolveFirstInterval):
        (WebCore::SVGSMILElement::beginListChanged):
        (WebCore::SVGSMILElement::endListChanged):
        (WebCore::SVGSMILElement::progress):
        * svg/animation/SVGSMILElement.h:
        (SVGSMILElement):

2012-09-26  Michael Saboff  <msaboff@apple.com>

        Update SVGFontData for 8 bit TextRun changes
        https://bugs.webkit.org/show_bug.cgi?id=97379

        Reviewed by Geoffrey Garen.

        Educated applySVGGlyphSelection to be 8 / 16 bit TextRun aware.

        No change in funcitonality, therefore no new tests.

        * svg/SVGFontData.cpp:
        (WebCore::SVGFontData::applySVGGlyphSelection):

2012-09-26  Michael Saboff  <msaboff@apple.com>

        Update ComplexTextController for 8 bit TextRun changes
        https://bugs.webkit.org/show_bug.cgi?id=97378

        Reviewed by Geoffrey Garen.

        Since the ComplextTextController code is primarily used for UChar data, just upconvert an 8 bit
        TextRun into a new String and hold on to the String with a vector for the life of the controller.

        No change in functionality, therefore no new tests.

        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::ComplexTextController):
        (WebCore::ComplexTextController::collectComplexTextRuns):
        * platform/graphics/mac/ComplexTextController.h:
        (ComplexTextController):

2012-09-26  Michael Saboff  <msaboff@apple.com>

        Add Latin-1 Line Break Iterator to TextBreakIteratorICU.cpp
        https://bugs.webkit.org/show_bug.cgi?id=96935

        Reviewed by Geoffrey Garen.

        Added a Latin-1 UText implementation for the ICU library to use.  Added a new acquireLineBreakIterator() for
        8 bit strings that uses the Latin-1 UText implementation.  This code path is not being called with the current 
        ToT code.  Subsequent changes will enable calling the new code.

        * platform/text/TextBreakIterator.h:
        (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
        (LazyLineBreakIterator):
        (WebCore::LazyLineBreakIterator::string):
        (WebCore::LazyLineBreakIterator::get):
        (WebCore::LazyLineBreakIterator::reset):
        * platform/text/TextBreakIteratorICU.cpp:
        (WebCore::uTextLatin1Clone):
        (WebCore::uTextLatin1NativeLength):
        (WebCore::uTextLatin1Access):
        (WebCore::uTextLatin1Extract):
        (WebCore::uTextLatin1MapOffsetToNative):
        (WebCore::uTextLatin1MapNativeIndexToUTF16):
        (WebCore::uTextLatin1Close):
        (WebCore::UTextOpenLatin1):
        (WebCore::acquireLineBreakIterator):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::LineBreaker::nextLineBreak):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::computePreferredLogicalWidths):
        * rendering/break_lines.cpp:
        (WebCore::nextBreakablePosition):
        (WebCore::nextBreakablePositionIgnoringNBSP):

2012-09-26  Otto Derek Cheung  <otcheung@rim.com>

        [BlackBerry] Reverting implementation for 407 error pages
        https://bugs.webkit.org/show_bug.cgi?id=97455

        Reviewed by Rob Buis.

        Last fix to NetworkJob to invoke AuthenticationChallenge by resetting 
        BlackBerryPlatformSettings's proxy credentials to "" if authentication
        failed.

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::sendRequestWithCredentials):

2012-09-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reorder Cairo WebCore includes
        https://bugs.webkit.org/show_bug.cgi?id=97679

        Reviewed by Simon Hausmann.

        * platform/graphics/cairo/FontCairo.cpp:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        * platform/graphics/cairo/TransformationMatrixCairo.cpp:
        * platform/wx/wxcode/cairo/non-kerned-drawing.cpp:

2012-09-25  Emil A Eklund  <eae@chromium.org>

        Change FractionalLayoutUnit denominator to 64 to reduce precision loss when converting to floating point
        https://bugs.webkit.org/show_bug.cgi?id=96139

        Reviewed by Eric Seidel.

        We currently use a denominator of 60 in FractionalLayoutUnit,
        this causes a loss of precision when converting to floating
        point.
        
        By changing the denominator to 64 the values can better be
        represented as floating point (without loosing any precision for
        many values), this in turn allows us to remove the tolerance
        hack in the line break logic and avoids problems caused by this
        precision for web sites that do their own layout based on
        element measurements.

        Test: fast/sub-pixel/float-precision.html

        * platform/FractionalLayoutUnit.h:
        Change denominator to 64.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::LineWidth::fitsOnLine):
        Remove epsilon tolerance hack.

2012-09-26  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Unreviewed buildfix after r129647.

        * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp: Revert incorrect include reordering.

2012-09-26  Harald Tveit Alvestrand  <harald@alvestrand.no>
        
        Implement the GetStats interface on PeerConnection
        https://bugs.webkit.org/show_bug.cgi?id=95193

        Specification:
        http://dev.w3.org/2011/webrtc/editor/webrtc-20120920.html

        Reviewed by Adam Barth.

        The implementation consists of a pure virtual platform object
        (RTCStatsRequest) that is implemented in WebCore, and stores
        its information in a straightforward data hierarchy.
        This patch adds the call path and the storage structures.
        It does not add filling in data.

        Test: fast/mediastream/RTCPeerConnection-stats.html

        * CMakeLists.txt:
        * Modules/mediastream/RTCPeerConnection.cpp:
        (WebCore::RTCPeerConnection::getStats):
        (WebCore):
        * Modules/mediastream/RTCPeerConnection.h:
        (WebCore):
        (RTCPeerConnection):
        * Modules/mediastream/RTCPeerConnection.idl:
        * Modules/mediastream/RTCStatsCallback.h: Added.
        (WebCore):
        (RTCStatsCallback):
        (WebCore::RTCStatsCallback::~RTCStatsCallback):
        * Modules/mediastream/RTCStatsCallback.idl: Added.
        * Modules/mediastream/RTCStatsElement.cpp: Added.
        (WebCore):
        (WebCore::RTCStatsElement::create):
        (WebCore::RTCStatsElement::RTCStatsElement):
        (WebCore::RTCStatsElement::stat):
        * Modules/mediastream/RTCStatsElement.h: Added.
        (WebCore):
        (RTCStatsElement):
        * Modules/mediastream/RTCStatsElement.idl: Added.
        * Modules/mediastream/RTCStatsReport.cpp: Added.
        (WebCore):
        (WebCore::RTCStatsReport::create):
        (WebCore::RTCStatsReport::RTCStatsReport):
        * Modules/mediastream/RTCStatsReport.h: Added.
        (WebCore):
        (RTCStatsReport):
        (WebCore::RTCStatsReport::local):
        (WebCore::RTCStatsReport::remote):
        * Modules/mediastream/RTCStatsReport.idl: Added.
        * Modules/mediastream/RTCStatsRequestImpl.cpp: Added.
        (WebCore):
        (WebCore::RTCStatsRequestImpl::create):
        (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
        (WebCore::RTCStatsRequestImpl::~RTCStatsRequestImpl):
        (WebCore::RTCStatsRequestImpl::requestSucceeded):
        (WebCore::RTCStatsRequestImpl::stop):
        (WebCore::RTCStatsRequestImpl::clear):
        * Modules/mediastream/RTCStatsRequestImpl.h: Added.
        (WebCore):
        (RTCStatsRequestImpl):
        * Modules/mediastream/RTCStatsResponse.cpp: Added.
        (WebCore):
        (WebCore::RTCStatsResponse::create):
        (WebCore::RTCStatsResponse::RTCStatsResponse):
        * Modules/mediastream/RTCStatsResponse.h: Added.
        (WebCore):
        (RTCStatsResponse):
        (WebCore::RTCStatsResponse::result):
        * Modules/mediastream/RTCStatsResponse.idl: Added.
        * WebCore.gypi:
        * platform/chromium/support/WebRTCStatsRequest.cpp: Copied from Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h.
        (WebKit):
        (WebKit::WebRTCStatsRequest::WebRTCStatsRequest):
        (WebKit::WebRTCStatsRequest::assign):
        (WebKit::WebRTCStatsRequest::reset):
        (WebKit::WebRTCStatsRequest::requestSucceeded):
        * platform/mediastream/RTCPeerConnectionHandler.h:
        (WebCore):
        (RTCPeerConnectionHandler):
        * platform/mediastream/RTCStatsRequest.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
        (WebCore):
        (RTCStatsRequest):
        (WebCore::RTCStatsRequest::~RTCStatsRequest):
        (WebCore::RTCStatsRequest::RTCStatsRequest):
        * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
        (WebCore::RTCPeerConnectionHandlerChromium::getStats):
        (WebCore):
        * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
        (RTCPeerConnectionHandlerChromium):

2012-09-26  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>

        [WK2][WTR] Policy client: dumping from decidePolicyForResponse callback
        https://bugs.webkit.org/show_bug.cgi?id=97034

        Reviewed by Kenneth Rohde Christiansen.

        Exported WebCore::ResourceResponseBase::isAttachment() method for MAC port.

        No new tests. No functionality added.

        * WebCore.exp.in:

2012-09-26  Brady Eidson  <beidson@apple.com>

        (Threaded scrolling) WebKit not scrolling to the correct location upon going back on macsurfer.com
        <rdar://problem/12039913> and https://bugs.webkit.org/show_bug.cgi?id=97617

        Reviewed by Anders Carlsson.

        In the asynchronous land of threaded scrolling we lose the information about whether or not a scroll
        is programmatic.

        This caused all scrolls to be treated as user scrolls and to generated scroll events.

        We can fix this by passing the programmatic bit to the scrolling thread and re-applying it back in the main thread.

        Unable to test threaded scrolling at this time.

        Include the "Is programmatic scroll" bit in the scroll state:
        * page/scrolling/ScrollingTreeState.cpp:
        (WebCore::ScrollingTreeState::ScrollingTreeState):
        (WebCore::ScrollingTreeState::setRequestedScrollPosition): Also set whether or not this represents a programmatic scroll.
        * page/scrolling/ScrollingTreeState.h:
        (ScrollingTreeState):
        (WebCore::ScrollingTreeState::requestedScrollPositionRepresentsProgrammaticScroll):

        Pass that bit back to the ScrollingCoordinator:
        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::ScrollingTree):
        (WebCore::ScrollingTree::commitNewTreeState):
        (WebCore::ScrollingTree::updateMainFrameScrollPosition):
        * page/scrolling/ScrollingTree.h:

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::requestScrollPositionUpdate): Pass the "is programmatic scroll" bit to the scrolling thread.
        (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition): Reset the "is programmatic scroll" bit on the FrameView.
        * page/scrolling/ScrollingCoordinator.h:
        (ScrollingCoordinator):

        * page/FrameView.h:
        (FrameView):
        (WebCore::FrameView::inProgrammaticScroll): Expose setter/getters for the programmatic scroll flag.
        (WebCore::FrameView::setInProgrammaticScroll):

2012-09-26  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Use XDamage to simplify RedirectedXCompositeWindow
        https://bugs.webkit.org/show_bug.cgi?id=97267

        Reviewed by Alejandro G. Castro.

        Use XDamage to queue redraws of the widget when redirecting accelerated compositing
        to an offscreen window. This allows removing a finicky timer-based approach, improves
        performance, and allows simplifying things greatly.

        No new tests. This is covered by existing tests.

        * GNUmakefile.am: Add the XDamage CFLAGS in the appropriate place.
        * platform/gtk/RedirectedXCompositeWindow.cpp:
        (WebCore::getWindowHashMap): Added.
        (WebCore::filterXDamageEvent): Added.
        (WebCore::supportsXDamageAndXComposite): Added.
        (WebCore::RedirectedXCompositeWindow::create): Fail to create the window if
        the XServer doesn't support XDamage and XComposite.
        (WebCore::RedirectedXCompositeWindow::RedirectedXCompositeWindow): Add XDamage support and
        remove the m_usable size distinction. Add the window the window HashMap now.
        (WebCore::RedirectedXCompositeWindow::~RedirectedXCompositeWindow): Remove the window
        from the window HashMap.
        (WebCore::RedirectedXCompositeWindow::resize): Now just immediately update the size.
        (WebCore::RedirectedXCompositeWindow::callDamageNotifyCallback): Added.
        * platform/gtk/RedirectedXCompositeWindow.h:
        (WebCore::RedirectedXCompositeWindow::setDamageNotifyCallback): Added.

2012-09-26  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: NMI: replace manual JS external resources counting with MemoryInstrumentation
        https://bugs.webkit.org/show_bug.cgi?id=97662

        Reviewed by Yury Semikhatsky.

        Old schema uses sizeInBytes method on StringImpl. This method works incorrect for substrings.
        Also we'd like to know exact pointers to strings and buffers for verification purposes.

        * dom/WebCoreMemoryInstrumentation.cpp:
        (WebCore):
        * dom/WebCoreMemoryInstrumentation.h:
        (WebCoreMemoryTypes):
        * inspector/InspectorMemoryAgent.cpp:
        (MemoryBlockName):
        (WebCore):
        (WebCore::collectDomTreeInfo):
        (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):

2012-09-26  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [REGRESSION] Revision support problems: revert and apply original content  cause exceptions
        https://bugs.webkit.org/show_bug.cgi?id=97669

        Reviewed by Pavel Feldman.

        Added missed callback parameters.

        Test: inspector/uisourcecode-revisions.html

        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype.revertToOriginal):
        (WebInspector.UISourceCode.prototype.revertAndClearHistory):

2012-09-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reorder Qt WebCore includes
        https://bugs.webkit.org/show_bug.cgi?id=97678

        Reviewed by Noam Rosenthal.

        * bridge/qt/qt_instance.cpp:
        * bridge/qt/qt_instance.h:
        * bridge/qt/qt_pixmapruntime.cpp:
        * bridge/qt/qt_runtime.cpp:
        * platform/graphics/qt/FontCacheQt.cpp:
        * platform/graphics/qt/FontCustomPlatformData.h:
        * platform/graphics/qt/ImageDecoderQt.cpp:
        * platform/graphics/qt/ImageDecoderQt.h:
        * platform/graphics/qt/PathQt.cpp:
        * platform/graphics/qt/TransformationMatrixQt.cpp:
        * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
        * platform/network/qt/DnsPrefetchHelper.h:
        * platform/network/qt/QNetworkReplyHandler.cpp:
        * platform/network/qt/ResourceHandleQt.cpp:
        * platform/qt/ClipboardQt.cpp:
        * platform/qt/GamepadsQt.cpp:
        * platform/qt/PasteboardQt.cpp:
        * platform/qt/PlatformScreenQt.cpp:
        * platform/qt/RenderThemeQt.cpp:
        * platform/text/qt/TextBoundariesQt.cpp:
        * plugins/qt/PluginPackageQt.cpp:
        * plugins/qt/PluginViewQt.cpp:

2012-09-26  Christophe Dumez  <christophe.dumez@intel.com>

        [EFL] mediaControlsEflFullscreen.css overrides regular media controls styling
        https://bugs.webkit.org/show_bug.cgi?id=97671

        Reviewed by Kenneth Rohde Christiansen.

        Add missing ":-webkit-full-screen" in mediaControlsEflFullscreen.css so
        that regular media controls styling is not overridden by full screen
        styling when switching to full screen mode. This was causing a lot of
        flakiness in our media tests.

        No new tests, already covered by existing media tests.

        * css/mediaControlsEflFullscreen.css:
        (video:-webkit-full-screen::-webkit-media-controls-panel):
        (video:-webkit-full-screen:-webkit-full-page-media::-webkit-media-controls-panel):
        (video:-webkit-full-screen::-webkit-media-controls-mute-button):
        (video:-webkit-full-screen::-webkit-media-controls-play-button):
        (video:-webkit-full-screen::-webkit-media-controls-timeline-container):
        (video:-webkit-full-screen::-webkit-media-controls-current-time-display):
        (video:-webkit-full-screen::-webkit-media-controls-time-remaining-display):
        (video:-webkit-full-screen::-webkit-media-controls-timeline):
        (video:-webkit-full-screen::-webkit-media-controls-volume-slider-container):
        (video:-webkit-full-screen::-webkit-media-controls-volume-slider):
        (video:-webkit-full-screen::-webkit-media-controls-seek-back-button):
        (video:-webkit-full-screen::-webkit-media-controls-seek-forward-button):
        (video:-webkit-full-screen::-webkit-media-controls-fullscreen-button):
        (video:-webkit-full-screen::-webkit-media-controls-rewind-button):
        (video:-webkit-full-screen::-webkit-media-controls-return-to-realtime-button):
        (video:-webkit-full-screen::-webkit-media-controls-toggle-closed-captions-button):

2012-09-26  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: display stack of last layout invalidation instead of first one
        https://bugs.webkit.org/show_bug.cgi?id=97677

        Reviewed by Vsevolod Vlasov.

        - add a call to InspectorInstrumentation::didInvalidateLayout() when upgrading relayout root;
        - do not suppress timeline's Invalidate Layout records other than first.

        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::didInvalidateLayout):
        * page/FrameView.cpp:
        (WebCore::FrameView::scheduleRelayoutOfSubtree):

2012-09-25  Antti Koivisto  <antti@apple.com>

        Optimize stylesheet insertions
        https://bugs.webkit.org/show_bug.cgi?id=97627

        Reviewed by Andreas Kling.

        We currently do scope analysis for stylesheets that are added to the end of the active stylesheet list to avoid unnecessary style
        recalcs and StyleResolver rebuilding. However it is somewhat common to insert <style> elements dynamically to positions other than last.
        In this case we currently simply force full style recalc. We should do scope analysis and partial style recalcs also in these cases.
        
        PerformanceTests/CSS/StyleSheetInsert.html microbenchmark shows ~20x progression from the patch.

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::StyleResolver):
        (WebCore::StyleResolver::resetAuthorStyle):
        
            Add a way to reset author RuleSet without deleting the whole StyleResolver.

        (WebCore):
        * css/StyleResolver.h:
        (StyleResolver):
        * dom/DocumentStyleSheetCollection.cpp:
        (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
        
            Check if there have been insertions to the stylesheet list. If so we need to reset
            the StyleResolver (to handle rule position changes) but don't need to force full
            style recalc. Do scope analysis for inserted stylesheets as well.

        (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
        * dom/DocumentStyleSheetCollection.h:

2012-09-26  Allan Sandfeld Jensen  <allan.jensen@digia.com>

        Gesture tap highlighting entire first line
        https://bugs.webkit.org/show_bug.cgi?id=97668

        Reviewed by Kenneth Rohde Christiansen.

        Keep better track if which part is the first, middle or last, and adjust the X-edges accordingly.

        * page/GestureTapHighlighter.cpp:

2012-09-26  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: DefaultTextEditor throws exception sometimes.
        https://bugs.webkit.org/show_bug.cgi?id=97681

        Reviewed by Alexander Pavlov.

        Added a check that line number does not exceed text model line count.

        * inspector/front-end/DefaultTextEditor.js:
        (WebInspector.TextEditorMainPanel.prototype._positionToSelection):

2012-09-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        [TextureMapper] Remove unused method
        https://bugs.webkit.org/show_bug.cgi?id=97675

        Reviewed by Simon Hausmann.

        * platform/graphics/texmap/TextureMapperGL.h: Remove uidForImage()

2012-09-25  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: extract HashSet instrumentation from core NMI code and put it into MemoryInstrumentationHashSet.h
        https://bugs.webkit.org/show_bug.cgi?id=97198

        Reviewed by Yury Semikhatsky.

        Current implementation has overloads for HashSet.
        This prevents us from instrumenting complex cases like Vector<HashSet<...> >.

        * css/CSSCursorImageValue.cpp:
        (WebCore::CSSCursorImageValue::reportDescendantMemoryUsage):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::Features::reportMemoryUsage):
        (WebCore::StyleResolver::collectMatchingRulesForList):
        * dom/Document.cpp:
        (WebCore::Document::reportMemoryUsage):
        * dom/DocumentEventQueue.cpp:
        (WebCore::DocumentEventQueue::reportMemoryUsage):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::reportMemoryUsage):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::reportMemoryUsage):
        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::reportMemoryUsage):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::reportMemoryUsage):

2012-09-26  Dominik Röttsches  <dominik.rottsches@intel.com>

        [soup] Obey setTimeoutInterval in soup backend
        https://bugs.webkit.org/show_bug.cgi?id=94796

        Reviewed by Gustavo Noronha Silva.

        Implementing ResourceHandle's setTimeoutInterval support for the soup backend.
        This is preparatory work for bug 74802, timeout support for XHR2. The patch
        has been successfully tested in combination with my work-in-progress
        for that bug.

        No new tests yet, tests will be added with the patch in bug 74802.

        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal): Adding a timeout source.
        (ResourceHandleInternal):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore):
        (WebCore::cleanupSoupRequestOperation): Resetting the timer.
        (WebCore::sendRequestCallback): Stopping the timer.
        (WebCore::startHTTPRequest): Starting a timeout timer before the async request.
        (WebCore::ResourceHandle::platformSetDefersLoading): Starting a timeout timer before the async request.
        (WebCore::requestTimeoutCallback): Preparing a corresponding resource error and notifying clients of failure.
        (WebCore::startNonHTTPRequest): Starting a timeout timer before the async request.

2012-09-26  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: paint inspector overlay on a transparency layer
        https://bugs.webkit.org/show_bug.cgi?id=97659

        Reviewed by Pavel Feldman.

        Set composite operation to copy and begin transparency layer before painting the
            frame view of overlay page, so that text on transparent background is properly rendered.

        * inspector/InspectorOverlay.cpp:
        (WebCore::InspectorOverlay::paint):

2012-09-26  Marcelo Lira  <marcelo.lira@openbossa.org>

        [Qt] Make use of ASCIILiteral in PlatformKeyboardEventQt.cpp
        https://bugs.webkit.org/show_bug.cgi?id=97612

        Reviewed by Jocelyn Turcotte.

        String literals returned by keyIdentifierForQtKeyCode and
        keyTextForKeyEvent now make use of more efficient ASCIILiteral.

        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::keyIdentifierForQtKeyCode):
        (WebCore::keyTextForKeyEvent):

2012-09-26  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Roll out http://trac.webkit.org/changeset/129502 since it broke cookie table.
        https://bugs.webkit.org/show_bug.cgi?id=97471

        * inspector/front-end/CookieParser.js:
        (WebInspector.Cookie.prototype.expires):
        * inspector/front-end/CookiesTable.js:
        (WebInspector.CookiesTable.prototype._createGridNode):

2012-09-25  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Remove resource() getter from UISourceCode.
        https://bugs.webkit.org/show_bug.cgi?id=97557

        Reviewed by Pavel Feldman.

        Resource getter removed from UISourceCode. Resource could be fetched from ResourceTreeModel directly.

        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModelResourceBinding.prototype.setStyleContent):
        * inspector/front-end/CompilerScriptMapping.js:
        * inspector/front-end/JavaScriptSource.js:
        (WebInspector.JavaScriptSource):
        * inspector/front-end/NetworkUISourceCodeProvider.js:
        (WebInspector.NetworkUISourceCodeProvider.prototype._resourceAdded):
        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping.prototype._addOrReplaceTemporaryUISourceCode):
        * inspector/front-end/SASSSourceMapping.js:
        (WebInspector.SASSSource):
        * inspector/front-end/ScriptSnippetModel.js:
        (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
        (WebInspector.SnippetJavaScriptSource):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
        * inspector/front-end/StyleSource.js:
        (WebInspector.StyleSource):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode):

2012-09-26  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Fix closure compilation errors.
        https://bugs.webkit.org/show_bug.cgi?id=97666

        Reviewed by Alexander Pavlov.

        Fixed closure compilation errors.
        Changed contentProvider contentURL() method return type to string.
        Removed redundant () in CookieTable.

        * inspector/front-end/CSSStyleModel.js:
        * inspector/front-end/ContentProvider.js:
        * inspector/front-end/ContentProviders.js:
        (WebInspector.ConcatenatedScriptsContentProvider.prototype.contentURL):
        (WebInspector.StaticContentProvider.prototype.contentURL):
        * inspector/front-end/CookiesTable.js:
        (WebInspector.CookiesTable.prototype._createGridNode):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMDocument):
        * inspector/front-end/FileContentView.js:
        * inspector/front-end/NetworkRequest.js:
        * inspector/front-end/Resource.js:
        * inspector/front-end/Script.js:
        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/UISourceCode.js:

2012-09-26  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: compare objects counted by the memory instrumentation with those allocated in the heap
        https://bugs.webkit.org/show_bug.cgi?id=97641

        Reviewed by Pavel Feldman.

        Added code that allows to check if all objects counted by the memory instrumentation
        were allocated by the underlying memory allocator. It requires support
        from the memory allocator. The code works only if the set of allocated objects
        is not empty and should only be used for debugging purposes.

        * inspector/InspectorClient.h:
        (InspectorClient):
        (WebCore::InspectorClient::getAllocatedObjects):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorMemoryAgent.cpp:
        (WebCore::collectDomTreeInfo):
        (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
        (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
        * inspector/InspectorMemoryAgent.h:
        (WebCore):
        (WebCore::InspectorMemoryAgent::create):
        (InspectorMemoryAgent):
        * inspector/MemoryInstrumentationImpl.cpp:
        (WebCore::MemoryInstrumentationImpl::MemoryInstrumentationImpl):
        (WebCore::MemoryInstrumentationImpl::countObjectSize):
        (WebCore):
        (WebCore::MemoryInstrumentationImpl::checkCountedObject):
        * inspector/MemoryInstrumentationImpl.h:
        (MemoryInstrumentationImpl):

2012-09-26  Keishi Hattori  <keishi@webkit.org>

        SuggestionPicker min width is two pixels wider than it should be
        https://bugs.webkit.org/show_bug.cgi?id=97645

        Reviewed by Kent Tamura.

        Suggestion picker's minimum width should match inputWidth.

        No new tests. Added later in Bug 97645.

        * Resources/pagepopups/suggestionPicker.js:
        (SuggestionPicker.prototype._measureMaxContentWidth):
        (SuggestionPicker.prototype._fixWindowSize): We shouldn't be adding ListBorder to inputWidth.

2012-09-26  Andrey Adaikin  <aandrey@chromium.org>

        Web Inspector: [TextEditor] fix tab unindent selection restore
        https://bugs.webkit.org/show_bug.cgi?id=97462

        Reviewed by Vsevolod Vlasov.

        Selection would be wrongly restored on tab unindent when the last line does not need to be unindented unlike the others.

        * inspector/front-end/DefaultTextEditor.js:
        (WebInspector.TextEditorMainPanel.prototype._unindentLines.get var):
        (WebInspector.TextEditorMainPanel.prototype._unindentLines):

2012-09-26  Yoshifumi Inoue  <yosin@chromium.org>

        Rename ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS to ENABLE_INPUT_MULTIPLE_FIELDS_UI
        https://bugs.webkit.org/show_bug.cgi?id=97640

        This patch renames ENABLE_INPUT_TYPE_TIME MULTIPLE_FIELDS feature
        flag to ENABLE_INPUT_MULTIPLE_FIELDS_UI for implementing multiple
        fields date/time input UI other than input type "time".

        No new tests. This patch doesn't change behavior.

        * css/html.css:
        * css/themeWin.css:
        * html/DateTimeFieldsState.cpp:
        * html/DateTimeFieldsState.h:
        * html/TimeInputType.cpp:
        (WebCore):
        * html/TimeInputType.h:
        (TimeInputType):
        * html/shadow/DateTimeEditElement.cpp:
        * html/shadow/DateTimeEditElement.h:
        * html/shadow/DateTimeFieldElement.cpp:
        * html/shadow/DateTimeFieldElement.h:
        * html/shadow/DateTimeFieldElements.cpp:
        * html/shadow/DateTimeFieldElements.h:
        * html/shadow/DateTimeNumericFieldElement.cpp:
        * html/shadow/DateTimeNumericFieldElement.h:
        * html/shadow/DateTimeSymbolicFieldElement.cpp:
        * html/shadow/DateTimeSymbolicFieldElement.h:
        * platform/LocalizedStrings.h:
        (WebCore):
        * platform/text/DateTimeFormat.cpp:
        * platform/text/DateTimeFormat.h:
        * platform/text/LocaleICU.cpp:
        (WebCore::LocaleICU::LocaleICU):
        (WebCore::LocaleICU::~LocaleICU):
        (WebCore):
        * platform/text/LocaleICU.h:
        (LocaleICU):
        * platform/text/LocaleWin.cpp:
        (WebCore):
        * platform/text/LocaleWin.h:
        (LocaleWin):
        * platform/text/LocalizedNumber.h:
        (WebCore):
        * platform/text/LocalizedNumberICU.cpp:
        (WebCore):
        * platform/text/LocalizedNumberNone.cpp:
        (WebCore):
        * platform/text/Localizer.cpp:
        (WebCore):
        * platform/text/Localizer.h:
        (Localizer):
        * platform/text/mac/LocaleMac.h:
        (LocaleMac):
        * platform/text/mac/LocaleMac.mm:
        (WebCore):
        * platform/text/mac/LocalizedNumberMac.mm:
        (WebCore):
        * platform/text/win/LocalizedNumberWin.cpp:
        (WebCore):

2012-09-26  Zan Dobersek  <zandobersek@gmail.com>

        [GTK] Enable some of the unstable CSS features
        https://bugs.webkit.org/show_bug.cgi?id=97572

        Reviewed by Martin Robinson.

        Enable the CSS sticky position, CSS3 text decoration and <style scoped>
        features by default but disable them if unstable features are not meant
        to be enabled.

        No new tests - the related tests are being unskipped or are having failure
        expectations removed.

        * GNUmakefile.am:
        * GNUmakefile.features.am:

2012-09-26  Dongwoo Joshua Im  <dw.im@samsung.com>

        Fix potential build error on LocalFileSystem::deleteFileSystem
        https://bugs.webkit.org/show_bug.cgi?id=97632

        Reviewed by Yuta Kitamura.

        Non-Chrome build of WebKit with FILE_SYSTEM flag will be broken at LocalFileSystem::deleteFileSystem.
        Type of the third parameter is PassOwnPtr<AsyncFileSystemCallbacks> in header file,
        but PassRefPtr<AsyncFileSystemCallbacks> in cpp file.

        Non-Chrome WebKit build with FILE_SYSTEM should be finished successfully.

        * Modules/filesystem/LocalFileSystem.cpp:
        (WebCore::LocalFileSystem::deleteFileSystem):

2012-09-25  Patrick Gansterer  <paroga@webkit.org>

        [WIN] Fix ASSERT in BString after r128988.

        * platform/win/BString.cpp:
        (WebCore::BString::~BString):
        (WebCore::BString::adoptBSTR):
        (WebCore::BString::clear): Set pointer to 0 after freeing.

2012-09-25  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] We should disconnect DateTimeEditElement and DateTimeFieldElement on layout()
        https://bugs.webkit.org/show_bug.cgi?id=97438

        Reviewed by Kent Tamura.

        This patch is for code cleanup. It is better to disconnect DateTimeFieldElement
        from DateTimeEditElement when DateTimeEditElement doesn't have
        pointers to DateTimeFieldElement.

        No new tests. This patch doesn't change behavior.

        * html/shadow/DateTimeEditElement.cpp:
        (WebCore::DateTimeEditElement::resetFields): Changed to call DateTimeFieldElement::removeEventHandler()
        for existing fields to disconnect DateTimeEditElement and DateTimeFieldElement.

2012-09-25  Bear Travis  <betravis@adobe.com>

        [CSS Exclusions] shape-inside line segment layout should be based on line position and height
        https://bugs.webkit.org/show_bug.cgi?id=95479

        Reviewed by Levi Weintraub.

        This patch adds line height to line top to calculate line segments using the line's upper
        and lower logical edges. The last line in a shape is allowed to overflow the shape,
        using line top and shape bottom to calculate the available line segments. Overflow
        behavior will develop in greater detail as the specification advances. For more on
        overflow, see:
        - http://dev.w3.org/csswg/css3-exclusions/#shape-inside-property and
        - https://www.w3.org/Bugs/Public/show_bug.cgi?id=16460

        As more shapes are added, line positions within a shape are no longer guaranteed to
        have segments (eg, the first line in a circular shape inside), and so many instances
        of lineState were replaced with hasSegments. Layout code also uses lineOverlapsShapeBounds
        rather than lineState, now that lines may partially overlap a shape without being
        completely contained by it. Because layout begins at the shape's logical top, however,
        we only run into this edge case laying out the last line within a shape-inside.

        Test: fast/exclusions/shape-inside/shape-inside-rounded-rectangle.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::LineWidth::LineWidth): Use WrapShapeInfo::hasSegments rather than
        WrapShapeInfo::lineState, as line positions within a shape are no longer
        guaranteed to always have line segments. 
        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
        (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Pass lineBottom as well as lineTop
        to computeSegmentsForLine.
        * rendering/WrapShapeInfo.cpp:
        (WebCore::WrapShapeInfo::computeSegmentsForLine): Pass lineBottom as well as lineTop
        to ExclusionShape::getInsideIntervals.
        * rendering/WrapShapeInfo.h:
        (WrapShapeInfo):
        (WebCore::WrapShapeInfo::shapeLogicalBottom): Calculate the logical bottom of an
        Exclusion Shape.
        (WebCore::WrapShapeInfo::hasSegments): Allow hasSegments to be called even when
        a line does not overlap a shape.
        (WebCore::WrapShapeInfo::lineOverlapsShapeBounds): Test whether a line's top/bottom
        overlap a shape's top/bottom. This includes lines that begin before or end after
        a shape but still overlap it.

2012-09-25  Adam Barth  <abarth@webkit.org>

        [Chromium] Network requests without a networking context can be started
        https://bugs.webkit.org/show_bug.cgi?id=97498

        Reviewed by Eric Seidel.

        We shouldn't try to start network requests without a networking
        context. Other ports have a similar null check.

        * platform/network/chromium/ResourceHandle.cpp:
        (WebCore::ResourceHandle::start):

2012-09-25  Justin Schuh  <jschuh@chromium.org>

        Mask RenderArena freelist entries.
        https://bugs.webkit.org/show_bug.cgi?id=97494

        Reviewed by Julien Chaffraix.

        This is a mitigation for freelist spraying. See http://download.crowdstrike.com/papers/hes-exploiting-a-coalmine.pdf.

        No new tests. This is a hardening measure. Found no measurable performance impact with Dromaeo.

        * rendering/RenderArena.cpp:
        (MaskPtr):
        (WebCore::RenderArena::allocate):
        (WebCore::RenderArena::free):

2012-09-25  Luke Macpherson   <macpherson@chromium.org>

        Ensure variables are resolved for specialized CSS primitive value types.
        https://bugs.webkit.org/show_bug.cgi?id=95930

        Reviewed by Tony Chang.

        Sometimes CSSPrimitiveValue contains a collection of other CSSPrimitiveValues (eg. 2, 4 or n).
        This patch makes sure any variables contained inside those child values are resolved.

        Tests: fast/css/variables/root-background-size.html
               fast/css/variables/var-inside-pair.html
               fast/css/variables/var-inside-quad.html
               fast/css/variables/var-inside-shape.html

        * css/CSSBasicShapes.cpp:
        (WebCore::buildRectangleString):
        (WebCore::CSSBasicShapeRectangle::cssText):
        (WebCore):
        (WebCore::CSSBasicShapeRectangle::serializeResolvingVariables):
        Generates a string representation of this value with variables resolved from the provided HashMap of variables.
        (WebCore::CSSBasicShapeRectangle::hasVariableReference):
        Returns true if any of the values used to describe the rectange depend on the value of a variable.
        (WebCore::buildCircleString):
        (WebCore::CSSBasicShapeCircle::cssText):
        (WebCore::CSSBasicShapeCircle::serializeResolvingVariables):
        (WebCore::CSSBasicShapeCircle::hasVariableReference):
        (WebCore::buildEllipseString):
        (WebCore::CSSBasicShapeEllipse::cssText):
        (WebCore::CSSBasicShapeEllipse::serializeResolvingVariables):
        (WebCore::CSSBasicShapeEllipse::hasVariableReference):
        (WebCore::CSSBasicShapePolygon::serializeResolvingVariables):
        (WebCore::CSSBasicShapePolygon::hasVariableReference):
        * css/CSSBasicShapes.h:
        (CSSBasicShapeRectangle):
        (CSSBasicShapeCircle):
        (CSSBasicShapeEllipse):
        (CSSBasicShapePolygon):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::customCssText):
        Move the logic for generating the strings for Rects, Quads, Pairs and Shapes into their respective classes.
        (WebCore::CSSPrimitiveValue::customSerializeResolvingVariables):
        Handle Rects, Quads, Pairs and Shapes when they contain variables, by calling their serializeResolvingVariables method.
        (WebCore):
        (WebCore::CSSPrimitiveValue::hasVariableReference):
        Handle Rects, Quads, Pairs and Shapes by calling their respective hasVariableReference methods.
        * css/CSSPrimitiveValue.h:
        (CSSPrimitiveValue):
        * css/Pair.h:
        (WebCore::Pair::pairString):
        (Pair):
        (WebCore::Pair::cssText):
        (WebCore::Pair::serializeResolvingVariables):
        (WebCore::Pair::hasVariableReference):
        * css/Rect.h:
        (RectBase):
        (WebCore::RectBase::hasVariableReference):
        (WebCore::Rect::rectString):
        (Rect):
        (WebCore::Rect::cssText):
        (WebCore::Rect::serializeResolvingVariables):
        (WebCore::Quad::quadString):
        (Quad):
        (WebCore::Quad::cssText):
        (WebCore::Quad::serializeResolvingVariables):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::collectMatchingRulesForList):

2012-09-25  Filip Pizlo  <fpizlo@apple.com>

        JSC bindings appear to sometimes ignore the possibility of arrays being in sparse mode
        https://bugs.webkit.org/show_bug.cgi?id=95610

        Reviewed by Oliver Hunt.

        Fix all of the cases I found where we were using getIndexQuickly(), which was wrong
        if we were in sparse mode.

        * bindings/js/ArrayValue.cpp:
        (WebCore::ArrayValue::get):
        * bindings/js/JSBlobCustom.cpp:
        (WebCore::JSBlobConstructor::constructJSBlob):
        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
        * bindings/js/JSDOMStringListCustom.cpp:
        (WebCore::toDOMStringList):
        * bindings/js/JSInspectorFrontendHostCustom.cpp:
        (WebCore::populateContextMenuItems):
        * bindings/js/JSWebSocketCustom.cpp:
        (WebCore::JSWebSocketConstructor::constructJSWebSocket):
        * bindings/js/ScriptValue.cpp:
        (WebCore::jsToInspectorValue):
        * bindings/js/SerializedScriptValue.cpp:
        (CloneSerializer):
        (WebCore::CloneSerializer::serialize):

2012-09-25  Tim Horton  <timothy_horton@apple.com>

        Load the linearized sRGB profile via NSData instead of CoreFoundation
        https://bugs.webkit.org/show_bug.cgi?id=97616

        Reviewed by Dan Bernstein.

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::linearRGBColorSpaceRef):
        * platform/graphics/mac/GraphicsContextMac.mm:
        (WebCore::linearRGBColorSpaceRef):

2012-09-25  Mike West  <mkwst@chromium.org>

        CSP logging: Be more developer-friendly when 'default-src' is violated.
        https://bugs.webkit.org/show_bug.cgi?id=97597

        Reviewed by Adam Barth.

        Developers unfamiliar with the details of Content Security Policy might
        be confused when 'default-src' is used as a fallback for a directive
        otherwise absent from the policy they've set. This patch adds an
        explicit explanation to the permission warning in such a situation.

        New warning string is covered by rebaselining existing tests.

        * page/ContentSecurityPolicy.cpp:
        (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
        (WebCore::CSPDirectiveList::checkInlineAndReportViolation):
        (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
            If the operative directive is 'default-src', output a warning,
            using the type information present in the report to specify which
            directive is falling back to the default values.

2012-09-25  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=97615
        fast/loader/scroll-position-restored-on-back.html failing after 
        didFirstLayout/didFirstVisuallyNonEmptyLayout change

        Reviewed by Sam Weinig.

        http://trac.webkit.org/changeset/129545 made it so we only dispatch 
        the layout callbacks when the client has opted into them. This is a 
        problem for a bit of work that used to be done, prior to that patch, 
        in FrameLoader::didFirstLayout(). Because that function did some work 
        with scroll position and the state machine, and that is work that we 
        want to do even when the client has not opted into the didFirstLayout 
        callback. We are seeing this bug in DRT and WTR since those clients 
        do not opt into the callback. And they shouldn't have to to get this 
        scroll position and state machine work done. 

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didLayout):
        (WebCore::FrameLoader::didFirstLayout):
        * loader/FrameLoader.h:
        (FrameLoader):
        * page/FrameView.cpp:
        (WebCore::FrameView::performPostLayoutTasks):

2012-09-24  Simon Fraser  <simon.fraser@apple.com>

        <rdar://problem/12351906> Have DumpRenderTree and WebKitTestRunner crash logs show which test crashed

        Reviewed by Mark Rowe.

        Use a new WebKitSytemInterface function to add data to crash logs about which 
        test was running when the crash happened.

        * WebCore.exp.in: Export wkSetCrashReportApplicationSpecificInformation
        * platform/mac/WebCoreSystemInterface.h: Add wkSetCrashReportApplicationSpecificInformation.
        * platform/mac/WebCoreSystemInterface.mm: Ditto.

2012-09-25  Adam Klein  <adamk@chromium.org>

        Remove unused DOMAttrModified from EventsNames and Document::ListenerType
        https://bugs.webkit.org/show_bug.cgi?id=97591

        Reviewed by Ojan Vafai.

        WebKit does not, and will never, fire DOMAttrModified events, so
        there's no need to create the "DOMAttrModified" event name.

        The only use of the name was to set the DOMATTRMODIFIED_LISTENER bit
        on Document; with the name gone, the enum value can be removed as well.

        * dom/Document.cpp:
        (WebCore::Document::addListenerTypeIfNeeded):
        * dom/Document.h: Remove DOMATTRMODIFIED_LISTENER, and switch this
        enum to use shift-left instead of hex values, so as to be easier to
        update in future.
        * dom/EventNames.h:
        (WebCore):

2012-09-25  Leo Yang  <leoyang@rim.com>

        GraphicsContext3D::compileShader is using incorrect string length in GraphicsContext3DOpenGLCommon.cpp
        https://bugs.webkit.org/show_bug.cgi?id=97476

        Reviewed by Dean Jackson.

        No new tests because it's not testable in webkit test runner.

        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
        (WebCore::GraphicsContext3D::compileShader):
        Use translatedShaderCString.length() instead of translatedShaderSource.length()
        for the shader source length because we are using translatedShaderCString.data()
        for glShaderSource().

2012-09-25  Huang Dongsung  <luxtella@company100.net>

        Use USE(3D_GRAPHICS) in CSS SHADERS code when ENABLE(WEBGL) is true.
        https://bugs.webkit.org/show_bug.cgi?id=97543

        Reviewed by Dean Jackson.

        This patch cleans remaining ENABLE(WEBGL) guards in CSS SHADERS code after
        r122175, which made USE(3D_GRAPHICS) default to true when ENABLE(WEBGL) is true.

        No new tests because of no behavior changes.

        * rendering/FilterEffectRenderer.cpp:
        (WebCore):
        (WebCore::FilterEffectRenderer::build):
        * rendering/RenderView.cpp:
        (WebCore):
        * rendering/RenderView.h:
        (WebCore):
        (RenderView):

2012-09-25  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=95397
        Need to merge didFirstVisuallyNonEmptyLayout and 
        didNewFirstVisuallyNonEmptyLayout
        -and corresponding-
        <rdar://problem/10791680>

        Reviewed by Sam Weinig.

        This patch merges didFirstLayout, didFirstVisuallyNonEmptyLayout, 
        and didNewFirstVisuallyNonEmptyLayout. Page keeps track of which 
        layout milestones we are interested in with a bit mask, so that 
        different ports/clients can opt-into different milestones. This 
        will allow us to safely add more layout milestones in the future 
        if that seems worthwhile.

        Include new file LayoutMilestoneOptions.h
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:

        Remove dispatchDidFirstLayout, 
        dispatchDidFirstVisuallyNonEmptyLayout, and 
        dispatchDidNewFirstVisuallyNonEmptyLayout. They are now replaced 
        by dispatchDidLayout(LayoutMilestoneOptions)
        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::dispatchDidLayout):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didLayout):
        * loader/FrameLoader.h:
        (FrameLoader):
        * loader/FrameLoaderClient.h:
        (FrameLoaderClient):
        (WebCore::FrameLoaderClient::dispatchDidLayout):
        * page/LayoutMilestoneOptions.h: Added.
        (WebCore):

        Check with Page to find out which layout milestones the client is 
        interested in, and then dispatch the notifications when 
        appropriate.
        * page/FrameView.cpp:
        (WebCore::FrameView::performPostLayoutTasks):

        Remove setRelevantRepaintedObjectsCounterThreshold(). Instead keep 
        track of the layout milestones bit mask.
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::addLayoutMilestones):
        (WebCore):
        (WebCore::Page::isCountingRelevantRepaintedObjects):
        (WebCore::Page::addRelevantRepaintedObject):
        * page/Page.h:
        (Page):
        (WebCore::Page::layoutMilestones):

2012-09-25  Andreas Kling  <kling@webkit.org>

        StylePropertySet: Use subclasses to manage varying object layouts.
        <http://webkit.org/b/97470>

        Reviewed by Antti Koivisto.

        Add two StylePropertySet subclasses:

            - MutableStylePropertySet
            - ImmutableStylePropertySet

        The StylePropertySet::m_isMutable bit determines which subclass to cast to when accessing
        the property storage. Added mutablePropertyVector() and immutablePropertyArray() helpers
        to StylePropertySet (with appropriate assertions.)

        This patch removes one heap allocation (and one step of indirection) in the mutable case,
        since the Vector<CSSProperty> is no longer heap-allocated, but part of MutableStylePropertySet.

        Override RefCounted::deref() in StylePropertySet to make sure that the correct subclass
        destructor gets called.

        * WebCore.exp.in:
        * css/StylePropertySet.cpp:
        (WebCore::immutableStylePropertySetSize):
        (WebCore::StylePropertySet::createImmutable):
        (WebCore::StylePropertySet::immutableCopyIfNeeded):
        (WebCore::MutableStylePropertySet::MutableStylePropertySet):
        (WebCore::ImmutableStylePropertySet::ImmutableStylePropertySet):
        (WebCore::ImmutableStylePropertySet::~ImmutableStylePropertySet):
        (WebCore::StylePropertySet::~StylePropertySet):
        (WebCore::StylePropertySet::removeProperty):
        (WebCore::StylePropertySet::parseDeclaration):
        (WebCore::StylePropertySet::addParsedProperties):
        (WebCore::StylePropertySet::removePropertiesInSet):
        (WebCore::StylePropertySet::removeEquivalentProperties):
        (WebCore::StylePropertySet::copy):
        (WebCore::StylePropertySet::reportMemoryUsage):
        (WebCore::StylePropertySet::append):
        (WebCore::StylePropertySet::create):
        * css/StylePropertySet.h:
        (StylePropertySet):
        (WebCore::StylePropertySet::StylePropertySet):
        (ImmutableStylePropertySet):
        (MutableStylePropertySet):
        (WebCore::MutableStylePropertySet::MutableStylePropertySet):
        (WebCore::StylePropertySet::mutablePropertyVector):
        (WebCore::StylePropertySet::immutablePropertyArray):
        (WebCore::StylePropertySet::propertyAt):
        (WebCore::StylePropertySet::propertyCount):
        (WebCore::StylePropertySet::deref):

2012-09-25  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: One transaction coordinator per database
        https://bugs.webkit.org/show_bug.cgi?id=97501

        Reviewed by Tony Chang.

        Per the IDB spec, transactions only need to be sequenced within databases.
        The implementation was using one coordinator per factory backend (effectively
        a singleton), which would prevent parallel execution of transactions in different
        databases. Moved ownership of the transaction coordinator to the database backend.

        Tests: storage/indexeddb/transaction-coordination-across-databases.html
               storage/indexeddb/transaction-readwrite-exclusive.html

        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::create):
        (WebCore):
        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
        * Modules/indexeddb/IDBDatabaseBackendImpl.h:
        (IDBDatabaseBackendImpl):
        * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
        (WebCore::IDBFactoryBackendImpl::deleteDatabase):
        (WebCore::IDBFactoryBackendImpl::open):
        * Modules/indexeddb/IDBFactoryBackendImpl.h:
        (WebCore):
        (IDBFactoryBackendImpl):
        * Modules/indexeddb/IDBTransactionCoordinator.cpp:
        (WebCore::IDBTransactionCoordinator::create):
        (WebCore::IDBTransactionCoordinator::IDBTransactionCoordinator):
        * Modules/indexeddb/IDBTransactionCoordinator.h:
        (IDBTransactionCoordinator):

2012-09-25  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r129517.
        http://trac.webkit.org/changeset/129517
        https://bugs.webkit.org/show_bug.cgi?id=97582

        Link errors in chromium (Requested by alecf on #webkit).

        * Modules/mediastream/MediaConstraintsImpl.cpp:
        * Modules/mediastream/MediaConstraintsImpl.h:
        * Modules/mediastream/NavigatorMediaStream.cpp:
        (WebCore::NavigatorMediaStream::webkitGetUserMedia):
        * Modules/mediastream/UserMediaRequest.cpp:
        (WebCore::UserMediaRequest::create):
        (WebCore::UserMediaRequest::UserMediaRequest):
        * Modules/mediastream/UserMediaRequest.h:
        (WebCore):
        (UserMediaRequest):
        (WebCore::UserMediaRequest::audio):
        (WebCore::UserMediaRequest::video):
        * platform/chromium/support/WebMediaConstraints.cpp:

2012-09-25  Bear Travis  <betravis@adobe.com>

        [CSS Exclusions] Enable css exclusions for multiple blocks per element
        https://bugs.webkit.org/show_bug.cgi?id=89993

        Reviewed by Julien Chaffraix.

        Similar to multi-column layout, a parent RenderBlock's WrapShapeInfo may affect
        the inline content of its children. This patch follows the example of ColumnInfo
        and adds WrapShapeInfo to LayoutState, which tracks the current shape-inside that
        inline content should respect.

        Tests: fast/exclusions/shape-inside/shape-inside-multiple-blocks.html
               fast/exclusions/shape-inside/shape-inside-multiple-blocks-vertical.html

        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState): Initialize m_wrapShapeInfo.
        * rendering/LayoutState.h:
        (WebCore):
        (WebCore::LayoutState::LayoutState): Initialize m_wrapShapeInfo.
        (LayoutState):
        (WebCore::LayoutState::wrapShapeInfo): Getter for m_wrapShapeInfo.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::LineWidth::LineWidth): Use LayoutState to lookup WrapShapeInfo.
        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
        (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Ditto.
        * rendering/RenderView.h:
        (WebCore::RenderView::pushLayoutState): Push LayoutState if a WrapShapeInfo
        is present.

2012-09-24  Emil A Eklund  <eae@chromium.org>

        [chromium] REGRESSION: Incorrect preferred width calculation for table cells
        https://bugs.webkit.org/show_bug.cgi?id=97497

        Reviewed by Levi Weintraub.

        In fixing bug 93911 r125694 caused a problem with the preferred
        width calculations for table cells with a fractional padding
        where the logic to ensure that the cell is wide enough for the
        content returns different results for cells with a fixed width
        and cells with an automatic width.

        Test: fast/sub-pixel/table-cells-have-stable-width.html

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computePreferredLogicalWidths):
        Move the logic that ensures that a cell is wide enough from AutoTableLayout::recalcColumn to RenderBlock::computePreferredLogicalWidths to. This way it also applies to FixedTableLayout which had the same problem.

2012-09-25  Dominic Mazzoni  <dmazzoni@google.com>

        AX: Chromium doesn't pass accessibility text range and line number tests
        https://bugs.webkit.org/show_bug.cgi?id=97246

        Reviewed by Chris Fleizach.

        Adds a method to get all line breaks at once, so retrieving all
        line breaks isn't an O(n^2) operation for Chromium.

        Enables four existing tests to pass on Chromium:
        Tests: accessibility/textarea-insertion-point-line-number.html
               accessibility/textarea-line-for-index.html
               accessibility/textarea-selected-text-range.html
               accessibility/textbox-role-reports-selection.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::lineBreaks):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::lineBreaks):
        (WebCore):
        * accessibility/AccessibilityRenderObject.h:
        (AccessibilityRenderObject):

2012-09-25  Mike West  <mkwst@google.com>

        CSP paths: Ignore invalid path components, rather than dropping the source completely.
        https://bugs.webkit.org/show_bug.cgi?id=97538

        Reviewed by Adam Barth.

        Content Security Policy directives that accept source lists currently
        handle soure URI paths containing '?' or '#' in a draconian fashion by
        dropping the entire source expression. We should be slightly friendlier,
        and ignore simply the portion of the source expression that we know to
        be invalid, just as we previously ignored everything after and including
        a '/' in source expressions before we supported paths.

        The new behavior is covered by existing tests, and two test-cases added
        to http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02.html.

        * page/ContentSecurityPolicy.cpp:
        (WebCore::CSPSourceList::parsePath):
            Report an error to the console, rather than ignoring a path that
            contains an invalid fragment or query.
        (WebCore::ContentSecurityPolicy::reportInvalidPathCharacter):
        (WebCore):
        * page/ContentSecurityPolicy.h:
            Add a new warning type to cover this case.

2012-09-25  commit-queue@webkit.org  <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>

        [BlackBerry] Reverting implementation for 407 error pages
        https://bugs.webkit.org/show_bug.cgi?id=97455

        Reviewed by Rob Buis.

        Adding additional fixes to NetworkJob since BlackBerry::Platform::Client
        is no longer avaliable. Using BlackBerryPlatformSettings to get proxy
        information instead.

        BlackBerryPlatformClient was deleted in PR 170160.

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::sendRequestWithCredentials):

2012-09-25  Hans Wennborg  <hans@chromium.org>

        GIFImageReader: fix tautological compare
        https://bugs.webkit.org/show_bug.cgi?id=97563

        Reviewed by Adam Barth.

        The frame_reader->disposal_method field is of type
        ImageFrame::FrameDisposalMethod, which has a range of 0--3. Therefore,
        recent versions of Clang concludes that the expression
        frame_reader->disposal_method == 4
        will never be true, and warns about it.

        This patch fixes the code by doing the comparison before storing the
        value in the enum.

        No new functionality, no new tests.

        * platform/image-decoders/gif/GIFImageReader.cpp:
        (GIFImageReader::read):

2012-09-25  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Update getUserMedia to match the latest specification
        https://bugs.webkit.org/show_bug.cgi?id=97540

        Reviewed by Adam Barth.

        http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia
        Navigator.getUserMedia is changed so that the audio and video members can either
        be a bool or a constraints object.

        Existing tests expanded to cover the new change.

        * Modules/mediastream/MediaConstraintsImpl.cpp:
        (WebCore::MediaConstraintsImpl::create):
        (WebCore):
        * Modules/mediastream/MediaConstraintsImpl.h:
        (MediaConstraintsImpl):
        * Modules/mediastream/NavigatorMediaStream.cpp:
        (WebCore::NavigatorMediaStream::webkitGetUserMedia):
        * Modules/mediastream/UserMediaRequest.cpp:
        (WebCore::parseOptions):
        (WebCore):
        (WebCore::UserMediaRequest::create):
        (WebCore::UserMediaRequest::UserMediaRequest):
        (WebCore::UserMediaRequest::audio):
        (WebCore::UserMediaRequest::video):
        (WebCore::UserMediaRequest::audioConstraints):
        (WebCore::UserMediaRequest::videoConstraints):
        * Modules/mediastream/UserMediaRequest.h:
        (WebCore):
        (UserMediaRequest):
        * platform/chromium/support/WebMediaConstraints.cpp:
        (WebKit::WebMediaConstraints::WebMediaConstraints):
        (WebKit):

2012-09-25  mire  <mbudaes@adobe.com>

        Web Inspector: yellow on-hover pop-up won't go if another pane asynchronously opens
        https://bugs.webkit.org/show_bug.cgi?id=97120

        Reviewed by Alexander Pavlov.

        Add mouseout event listener to popover element so that the pop-up will go when moving to another panel.

        No new tests.

        * inspector/front-end/Popover.js:
        (WebInspector.Popover.prototype.show):
        (WebInspector.PopoverHelper.prototype._mouseOut):

2012-09-25  Otto Derek Cheung  <otcheung@rim.com>

        [BlackBerry] Reverting implementation for 407 error pages
        https://bugs.webkit.org/show_bug.cgi?id=97455

        Reviewed by Rob Buis.

        Revert "[BlackBerry] Show custom error page when 407 is received"
        This reverts commit f6fe97ec3f1841a151e4ebdde21f710a6185f9d6.

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::handleNotifyStatusReceived):
        (WebCore::NetworkJob::notifyAuthReceived):
        (WebCore::NetworkJob::sendRequestWithCredentials):

2012-09-25  Otto Derek Cheung  <otcheung@rim.com>

        Web Inspector: Cookie info in Network Resources Cookies tab shows "Invalid Date"
        https://bugs.webkit.org/show_bug.cgi?id=97471

        Reviewed by Yury Semikhatsky.

        The original implementation is trying to create a new Date object
        using another Date object, which is invalid. Also, Date.toGMTString is
        deprecated.

        The fix replaces toGMTString with toUTCString and fixes cookie.expire
        so it won't crash when an empty requestDate is passed in.

        Following RFC 6265, Max-age attributes now take precedence over expiresi
        attribute in CookieParser.

        Manual testing on inspector to make sure the CookiesTable is properly generated.

        * inspector/front-end/CookieParser.js:
        (WebInspector.Cookie.prototype.expires):
        * inspector/front-end/CookiesTable.js:
        (WebInspector.CookiesTable.prototype._createGridNode):

2012-09-25  Keishi Hattori  <keishi@webkit.org>

        [Chromium] Enable datalist UI for input type=date
        https://bugs.webkit.org/show_bug.cgi?id=97541

        Reviewed by Kent Tamura.

        This enables datalist UI for input type=date on Chromium.

        No new tests. Adding tests in Bug 97551.

        * rendering/RenderThemeChromiumCommon.cpp:
        (WebCore::RenderThemeChromiumCommon::supportsDataListUI):

2012-09-25  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>

        [WK2] Supported media MIME types are not included to the list of shown MIME types.
        https://bugs.webkit.org/show_bug.cgi?id=97552

        Reviewed by Kenneth Rohde Christiansen.

        Exported WebCore::MIMETypeRegistry::isSupportedMediaMIMEType() for MAC.

        No new tests. No new functionality.

        * WebCore.exp.in:

2012-09-25  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: ResourceScriptMapping should no steal scripts from other mappings.
        https://bugs.webkit.org/show_bug.cgi?id=97453

        Reviewed by Pavel Feldman.

        Exposed sourceMapping getter on Script so that resource mapping could check it.

        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping):
        (WebInspector.ResourceScriptMapping.prototype._scriptsForSourceURL):
        (WebInspector.ResourceScriptMapping.prototype._reset):

2012-09-25  Keishi Hattori  <keishi@webkit.org>

        REGRESSION(r129448): multiple fields time input UI doesn't use system time format settings on Chromium-Mac
        https://bugs.webkit.org/show_bug.cgi?id=97517

        Reviewed by Kent Tamura.

        We need to locale [NSLocale currentLocale] if browser language/@lang equals [[NSLocal currentLocale] localeIdentifier]. Otherwise it won't use the custom time format that the user has set.

        No new tests. Unable to test because we need to change system locale settings.

        * platform/text/mac/LocaleMac.h:
        (LocaleMac):
        * platform/text/mac/LocaleMac.mm:
        (WebCore::languageFromLocale): Moved to top.
        (WebCore):
        (WebCore::determineLocale): Modified so it takes a locale as an argument.
        (WebCore::Localizer::create):
        (WebCore::LocaleMac::LocaleMac): Added checks for invalid locales to this constructor and removed the other one so we don't have duplicated code.
        (WebCore::LocaleMac::create):
        (WebCore::LocaleMac::currentLocale):

2012-09-20  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Relative URL Link Tooltips do not respect <base>
        https://bugs.webkit.org/show_bug.cgi?id=43434

        Reviewed by Pavel Feldman.

        New "baseURL" field added into the DOM.Node payload for document nodes and is made use of while resolving and completing URLs.

        * inspector/Inspector.json:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::documentBaseURLString):
        (WebCore):
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode.prototype.resolveURL):
        (WebInspector.DOMDocument):

2012-09-25  Peter Wang  <peter.wang@torchmobile.com.cn>

        Web Inspector:  The JS code injected by worker inspector shouldn't be evaluated through JSMainThreadExecState
        https://bugs.webkit.org/show_bug.cgi?id=95341

        Reviewed by Yury Semikhatsky.

        Add extra code to "JSC::InjectedScriptManager" and "JSC::ScriptFunctionCall" to make sure the
        interfaces of JSMainThreadExecState are invoked only in main thread.

        No new test case for this bug. Without this patch, opening worker inspector will meet failed assert statements.   

        * bindings/js/JSInjectedScriptManager.cpp:
        (WebCore::InjectedScriptManager::createInjectedScript):
        * bindings/js/ScriptFunctionCall.cpp:
        (WebCore::ScriptFunctionCall::call):

2012-09-25  Andreas Kling  <kling@webkit.org>

        CSSParserString: Avoid pointless String refcount churn in init().
        <http://webkit.org/b/94748>

        Reviewed by Sam Weinig.

        Have CSSParserString::init() take a const String& instead of a String.

        * css/CSSParserValues.h:
        (WebCore::CSSParserString::init):

2012-09-25  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Styles] For group selectors, transmit their segments with the "matches" flag
        https://bugs.webkit.org/show_bug.cgi?id=96999

        Reviewed by Pavel Feldman.

        The CSSRule protocol object has been modified to include a SelectorList object that contains selector-related data.
        CSSAgent methods that return CSS rule matches will return RuleMatch objects that encapsulate matching CSSRules
        with indices of matching selectors on the associated selector list, so the additional backend roundtrips
        from StylesSidebarPane are no longer necessary.

        * inspector/Inspector.json:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
        (WebCore::InspectorCSSAgent::buildObjectForRule):
        (WebCore):
        (WebCore::InspectorCSSAgent::buildArrayForRuleList):
        (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
        * inspector/InspectorCSSAgent.h:
        (InspectorCSSAgent):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
        (WebCore):
        (WebCore::InspectorStyleSheet::buildObjectForRule):
        * inspector/InspectorStyleSheet.h:
        (InspectorStyleSheet):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.parseRuleMatchArrayPayload):
        (WebInspector.CSSStyleModel.prototype.getMatchedStylesAsync):
        (WebInspector.CSSRule):
        (WebInspector.CSSRule.parsePayload):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
        (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
        (WebInspector.StylePropertiesSection.prototype._markSelectorMatches):
        (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):

2012-09-25  MORITA Hajime  <morrita@google.com>

        adoptNode() shouldn't reset ownerDocument if the source node failed to remove itself
        https://bugs.webkit.org/show_bug.cgi?id=97527

        Reviewed by Ryosuke Niwa.

        Document::adoptNode() overlooked an error which can happen in Node::removeChild().
        Which results an assertion failure. This change adds an error check for that code path.

        Test: fast/dom/adopt-node-prevented.html

        * dom/Document.cpp:
        (WebCore::Document::adoptNode):

2012-09-21  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: extract Vector instrumentation from core NMI code into MemoryInstrumentationVector.h header.
        https://bugs.webkit.org/show_bug.cgi?id=96650

        Reviewed by Vsevolod Vlasov.

        addInstrumentedVector and addInstrumentedVectorPtr were replaced with addMember.
        The same thing happens with addVector and addVectorPtr.

        * css/CSSGradientValue.cpp:
        (WebCore::CSSGradientValue::reportBaseClassMemoryUsage):
        * css/CSSImageSetValue.cpp:
        (WebCore::CSSImageSetValue::reportDescendantMemoryUsage):
        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::reportDescendantMemoryUsage):
        * css/CSSRuleList.cpp:
        (WebCore::StaticCSSRuleList::reportMemoryUsage):
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::reportMemoryUsage):
        * css/CSSValueList.cpp:
        (WebCore::CSSValueList::reportDescendantMemoryUsage):
        * css/MediaList.cpp:
        (WebCore::MediaQuerySet::reportMemoryUsage):
        * css/MediaQuery.cpp:
        (WebCore::MediaQuery::reportMemoryUsage):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::collectMatchingRulesForList):
        * css/StyleRule.cpp:
        (WebCore::StyleRuleBlock::reportDescendantMemoryUsage):
        * css/StyleSheetContents.cpp:
        (WebCore::StyleSheetContents::reportMemoryUsage):
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage):
        (WebCore::WebKitCSSKeyframesRule::reportDescendantMemoryUsage):
        * css/WebKitCSSRegionRule.cpp:
        (WebCore::WebKitCSSRegionRule::reportDescendantMemoryUsage):
        * dom/Document.cpp:
        (WebCore::Document::reportMemoryUsage):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::reportMemoryUsage):
        * platform/network/ResourceRequestBase.cpp:
        (WebCore::ResourceRequestBase::reportMemoryUsage):

2012-09-25  Vivek Galatage  <vivekgalatage@gmail.com>

        REGRESSION(r129346): It broke !ENABLE(INSPECTOR) build
        https://bugs.webkit.org/show_bug.cgi?id=97490

        Reviewed by Csaba Osztrogonác.

        The dummy class implementation must be under the ENABLE(INSPECTOR)
        guard. Added them to prevent from braking the build with --minimal
        option for build-webkit

        No new tests as caused by missing compile guard.

        * testing/Internals.cpp:
        (WebCore):

2012-09-24  Bo Liu  <boliu@chromium.org>

        Reland "Add in-place reload behavior to ImagesEnabled setting" with optimizations
        https://bugs.webkit.org/show_bug.cgi?id=97055

        Reviewed by Adam Barth.

        Relanding 128780, 128676, 128645. Was reverted in 128914 due to
        performance regression in Chromium.

        New changes in addition to previously reverted patches:

        Refactored CachedResource::requestResource, loadResource, and
        revalidateResource. Moved CachedResource::load method to end of
        requestResource so there is one place where load is called for all
        resources.

        Added a enum parameter for requestResource and
        determineRevalidationPolicy so that FrameLoaderClient::allowImage call
        do not need to be called multiple times.

        Removed CachedImage::load call in requestImage so it is not called
        twice.

        Removed unnecessary Frame.h includes in CachedResource and
        CachedImage.

        Removed dead load() method declaration in CachedImage.

        Updated text expectation for two image-permissions tests to reflect
        the removed calls to allowImage.

        Tests: fast/loader/display-image-unset-allows-cached-image-load.html
               fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html
               fast/loader/images-enabled-unset-can-block-image-and-can-reload-in-place.html

        * WebCore.exp.in:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didBeginDocument):
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::willSendRequest):
        * loader/cache/CachedImage.cpp:
        * loader/cache/CachedImage.h:
        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::didAddClient):
        * loader/cache/CachedResource.h:
        (WebCore):
        (WebCore::CachedResource::stillNeedsLoad):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::CachedResourceLoader):
        (WebCore::CachedResourceLoader::requestImage):
        (WebCore::CachedResourceLoader::canRequest):
        (WebCore::CachedResourceLoader::requestResource):
        (WebCore::CachedResourceLoader::revalidateResource):
        (WebCore::CachedResourceLoader::loadResource):
        (WebCore::CachedResourceLoader::determineRevalidationPolicy):
        (WebCore::CachedResourceLoader::setAutoLoadImages):
        (WebCore):
        (WebCore::CachedResourceLoader::setImagesEnabled):
        (WebCore::CachedResourceLoader::clientDefersImage):
        (WebCore::CachedResourceLoader::shouldDeferImageLoad):
        (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):
        * loader/cache/CachedResourceLoader.h:
        (CachedResourceLoader):
        * page/Settings.cpp:
        (WebCore::setImageLoadingSettings):
        (WebCore::Settings::Settings):
        (WebCore::Settings::setLoadsImagesAutomatically):
        (WebCore::Settings::imageLoadingSettingsTimerFired):
        (WebCore::Settings::setImagesEnabled):
        * page/Settings.h:
        (Settings):
        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::Backup::Backup):
        (WebCore::InternalSettings::Backup::restoreTo):
        (WebCore::InternalSettings::setImagesEnabled):
        (WebCore):
        * testing/InternalSettings.h:
        (Backup):
        (InternalSettings):
        * testing/InternalSettings.idl:

2012-09-24  Filip Pizlo  <fpizlo@apple.com>

        SerializedScriptValue isn't aware of indexed storage, but should be
        https://bugs.webkit.org/show_bug.cgi?id=97515
        <rdar://problem/12361874>

        Reviewed by Sam Weinig.

        New test: fast/js/post-message-numeric-property.html

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneDeserializer::putProperty):

2012-09-24  Gavin Barraclough  <barraclough@apple.com>

        Remove JSObject::unwrappedGlobalObject(), JSObject::unwrappedObject()
        https://bugs.webkit.org/show_bug.cgi?id=97519

        Reviewed by Geoff Garen.

        JSDOMWindowShell::setWindow should update the structure's globalObject.

        * bindings/js/JSDOMWindowShell.h:
        (WebCore::JSDOMWindowShell::setWindow):
            - Update the JSDOMWindowShell's structure's globalObject when the
              window changes.

2012-09-24  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] We should remove DateTimeEditElement::valueAsDouble()
        https://bugs.webkit.org/show_bug.cgi?id=97327

        Reviewed by Kent Tamura.

        This patch removes unused function DateTimeEditElement::valueAsDouble()
        and related functions in DateTimeFieldElement.

        This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
        ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.

        No new tests. This patch doesn't change behavior.

        * html/shadow/DateTimeEditElement.cpp: Removed valueAsDouble() implementation.
        * html/shadow/DateTimeEditElement.h: Removed valueAsDouble() declaration.
        (DateTimeEditElement):
        * html/shadow/DateTimeFieldElement.cpp: Removed valueAsDouble() implementation.
        * html/shadow/DateTimeFieldElement.h: Removed unitInMillisecond() and valueAsDouble() declarations.
        (DateTimeFieldElement):
        * html/shadow/DateTimeFieldElements.cpp: Removed unitInMillisecond() implementations.
        * html/shadow/DateTimeFieldElements.h:
        (DateTimeAMPMFieldElement): Removed unitInMillisecond() declaration.
        (DateTimeHourFieldElement): ditto.
        (DateTimeMillisecondFieldElement): ditto.
        (DateTimeMinuteFieldElement): ditto.
        (DateTimeSecondFieldElement): ditto.

2012-09-24  Antti Koivisto  <antti@apple.com>

        Don't use StyleSheetList internally.
        https://bugs.webkit.org/show_bug.cgi?id=97504

        Reviewed by Ryosuke Niwa.

        StyleSheetList is a DOM type and should not be used internally. Use plain Vector instead and construct StyleSheetList on DOM access only.

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::StyleResolver):
        (WebCore::StyleResolver::addStylesheetsFromSeamlessParents):
        (WebCore::StyleResolver::collectMatchingRulesForList):
        * css/StyleSheetList.cpp:
        (WebCore::StyleSheetList::StyleSheetList):
        (WebCore::StyleSheetList::styleSheets):
        (WebCore):
        (WebCore::StyleSheetList::detachFromDocument):
        
            Use live stylesheet vector of the documents stylesheet collection as long as we are attached to a document. 
            When detached copy the stylesheet vector to a member field and use that instead.

        (WebCore::StyleSheetList::length):
        (WebCore::StyleSheetList::item):
        (WebCore::StyleSheetList::getNamedItem):
        * css/StyleSheetList.h:
        
            Removed StyleSheetVector typedef as Vector<RefPtr<StyleSheet> > is less opaque and not much longer.
    
        (WebCore):
        (WebCore::StyleSheetList::create):
        (StyleSheetList):
        (WebCore::StyleSheetList::document):
        * dom/Document.cpp:
        (WebCore::Document::~Document):
        (WebCore::Document::setCompatibilityMode):
        (WebCore::Document::styleSheets):
        * dom/Document.h:
        (Document):
        * dom/DocumentStyleSheetCollection.cpp:
        (WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
        (WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
        (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
        (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
        * dom/DocumentStyleSheetCollection.h:
        (WebCore::DocumentStyleSheetCollec

2012-09-24  Laszlo Gombos  <l.gombos@samsung.com>

        [GTK][EFL] Remove cairo prefix from include statements 
        https://bugs.webkit.org/show_bug.cgi?id=97509

        Reviewed by Gyuyoung Kim.

        Make the build system consistent by always assuming that directory
        that includes the cairo headers is included in the include path.

        No new tests as there is no new functionality.

        * platform/cairo/WidgetBackingStoreCairo.cpp:
        * platform/gtk/GtkWidgetBackingStoreX11.cpp:
        * plugins/gtk/PluginViewGtk.cpp:

2012-09-24  Yoshifumi Inoue  <yosin@chromium.org>

        Document::adoptNode for multiple fields time input UI should not crash
        https://bugs.webkit.org/show_bug.cgi?id=97428

        Reviewed by Dimitri Glazkov.

        This patch changes Document::removeFocusedNodeOfSubtree() to check
        focused node in shadow DOM tree for avoiding Document::m_focusedNode
        not to have dangling pointer to field owner in DateTimeFieldElement.

        Test:
         - fast/dom/shadow/shadow-removechild-and-blur-event.html: test for removeChild dispatches blur event.
         - fast/forms/time-multiple-fields/time-multiple-fields-crash-after-adoptnode.html: test for adoptNode not to crash.
         - fast/forms/time-multiple-fields/time-multiple-fields-state-change-on-focus-or-blur.html: removeChild of input type "time" dispatches blur event, existing test.

        * dom/Document.cpp:
        (WebCore::Document::removeFocusedNodeOfSubtree): Changed to check
        focused node in shadow DOM tree in addition to descendant node.

2012-09-24  Robin Cao  <robin.cao@torchmobile.com.cn>

        [Blackberry] Add a software rendering path for media player
        https://bugs.webkit.org/show_bug.cgi?id=97443

        Reviewed by Yong Li.

        This patch adds a software rendering path for media player. When accelerated rendering
        is not supported by the media engine for the current media, the rendering will fallback
        to this software path.

        PR #212386
        Reviewed internally by Max Feil.

        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
        (WebCore::MediaPlayerPrivate::paint):
        (WebCore::MediaPlayerPrivate::updateStates):
        (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
        (WebCore):
        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
        (MediaPlayerPrivate):

2012-09-24  Benjamin Poulain  <bpoulain@apple.com>

        Fix Geolocation error reporting in the test support
        https://bugs.webkit.org/show_bug.cgi?id=97386

        Reviewed by Sam Weinig.

        GeolocationController currently expose GeolocationError which can be either
        PermissionDenied or PositionUnavailable.

        In practice, only PositionUnavailable is supported and tested, only Chrome
        somewhat expose PermissionDenied.
        The correct way to deny the permission is through Geolocation::setIsAllowed().

        This patch does some of the initial cleanup toward that goal, reducing how
        far GeolocationError is spread.

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        Mac does not use GeolocationClientMock, it should not be compiled in WebCore.

        * platform/mock/GeolocationClientMock.cpp:
        (WebCore::GeolocationClientMock::GeolocationClientMock):
        (WebCore::GeolocationClientMock::setPosition):
        (WebCore::GeolocationClientMock::setPositionUnavailableError):
        This method replace setError(). It is limited to PositionUnavailable errors.

        (WebCore::GeolocationClientMock::reset):
        (WebCore::GeolocationClientMock::controllerTimerFired):
        (WebCore):
        (WebCore::GeolocationClientMock::clearError):
        * platform/mock/GeolocationClientMock.h:
        (WebCore):
        (GeolocationClientMock):

2012-09-24  Kent Tamura  <tkent@chromium.org>

        [Chromium] Implement ValidationMessageClient for Chromium
        https://bugs.webkit.org/show_bug.cgi?id=97167

        Reviewed by Hajime Morita.

        * page/ValidationMessageClient.h:
        Add forward declaration for WTF::String.

2012-09-24  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] DateTimeEditElement should return string value for ease of implementing other date/time input types.
        https://bugs.webkit.org/show_bug.cgi?id=97303

        Reviewed by Kent Tamura.

        This patch introduces a function DateTimeEditElement::value() for
        setting internal text value of TimeInputType with new function
        EditControlOwner::formatDateTimeFieldsState() to utilize this protocl
        in other date time input types.

        We used DateTimeEditElement::valueAsDouble() and and BaseDateAndTimeInputType::serialize()
        to make string value then setting internal text value of multiple
        fields time input UI. Although, this steps doesn't work well for
        other date/time input types.

        This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
        ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.

        No new tests. This patch doesn't change behavior.

        * html/DateTimeFieldsState.cpp:
        (WebCore::DateTimeFieldsState::hour23): Added to convert 1 to 12 hour value to 0 to 23 hour.
        * html/DateTimeFieldsState.h:
        (DateTimeFieldsState): Added declaration of hour23().
        * html/TimeInputType.cpp:
        (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::editControlValueChanged): Changed to use DateTimeEditElement::value() instead of DateTimeEditElement::valueAsDouble().
        (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::formatDateTimeFieldsState): Added to format time.
        (WebCore::TimeInputType::restoreFormControlState): Changed to use DateTimeEditElement::value() instead of DateTimeEditElement::valueAsDouble().
        * html/TimeInputType.h:
        (DateTimeEditControlOwnerImpl): Added a declaration of formatDateTimeFieldsState().
        * html/shadow/DateTimeEditElement.cpp:
        (WebCore::DateTimeEditElement::value): Added.
        * html/shadow/DateTimeEditElement.h:
        (EditControlOwner): Added a declaration of formatDateTimeFieldsState().
        (DateTimeEditElement): Added a declaration of value().

2012-09-24  Dean Jackson  <dino@apple.com>

        [WebGL] Intel Mac needs built-in function emulation
        https://bugs.webkit.org/show_bug.cgi?id=96140

        Reviewed by Sam Weinig.

        Temporarily turn on built-in function emulation for Intel GPUs
        on OS X. This is a work-around for a driver bug, and
        will be removed once the driver is updated:
        https://bugs.webkit.org/show_bug.cgi?id=97503

        This can be tested using the Khronos WebGL conformance
        suite, in particular:

        conformance/glsl/functions/glsl-function-dot.html
        conformance/glsl/functions/glsl-function-length.html
        conformance/glsl/functions/glsl-function-normalize.html
        conformance/glsl/functions/glsl-function-reflect.html

        Note that the faceforward built-in will still cause
        problems on Intel GPUs, but this would require an unnecessary
        change in the ANGLE project (remember, we're going to
        remove this code once the driver is fixed).

        * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
        (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
            Temporarily add "Intel" to the list of GPUs we do translation
            for in the shader compiler.

2012-09-24  Peter Wang  <peter.wang@torchmobile.com.cn>

        There is a mistake in InspectorProfilerAgent::enable(bool skipRecompile)
        https://bugs.webkit.org/show_bug.cgi?id=97450

        Reviewed by Yury Semikhatsky.

        The "InspectorProfilerAgent::enable()" should invokes "PageScriptDebugServer" in
        no-worker thread.

        No new test case.

        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::PageProfilerAgent::recompileScript):
        (PageProfilerAgent):
        (WebCore::WorkerProfilerAgent::recompileScript):
        (WorkerProfilerAgent):
        (WebCore::InspectorProfilerAgent::disable):
        (WebCore::InspectorProfilerAgent::enable):
        * inspector/InspectorProfilerAgent.h:
        (InspectorProfilerAgent):

2012-09-24  Patrick Gansterer  <paroga@webkit.org>

        Remove String::operator+=()
        https://bugs.webkit.org/show_bug.cgi?id=96172

        Reviewed by Benjamin Poulain.

        Replace the last usage with String::append() in Gtk.

        * platform/gtk/GtkInputMethodFilter.cpp:
        (WebCore::GtkInputMethodFilter::handleCommit):

2012-09-24  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium][Mac] Remove loadFont from PlatformSupport
        https://bugs.webkit.org/show_bug.cgi?id=97360

        Reviewed by Adam Barth.

        Part of a refactoring series. See tracking bug 82948.

        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):
        * platform/graphics/chromium/CrossProcessFontLoading.mm:

2012-09-24  Tony Chang  <tony@chromium.org>

        Replace 2 uses of updateLogicalHeight with computeLogicalHeight
        https://bugs.webkit.org/show_bug.cgi?id=97486

        Reviewed by Ojan Vafai.

        More work for bug 96804.  This is just a refactoring.

        No new tests, behavior should be the same as before.

        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::computeLogicalHeight):
        * rendering/RenderFlowThread.h:
        * rendering/RenderMultiColumnFlowThread.cpp:
        (WebCore::RenderMultiColumnFlowThread::computeLogicalHeight):
        (WebCore):
        * rendering/RenderMultiColumnFlowThread.h:
        (RenderMultiColumnFlowThread):

2012-09-21  Kenneth Russell  <kbr@google.com>

        [V8] ArrayBuffer code should not pass a negative length to SetIndexedPropertiesToExternalArrayData()
        https://bugs.webkit.org/show_bug.cgi?id=96703

        Reviewed by Adam Barth.

        Check length arguments that may be passed to SetIndexedPropertiesToExternalArrayData.

        No tests because it is not guaranteed that buffers this large can actually be allocated.

        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        (WebCore::wrapArrayBufferView):
        (WebCore::constructWebGLArrayWithArrayBufferArgument):
        (WebCore::constructWebGLArray):

2012-09-24  Antti Koivisto  <antti@apple.com>

        Split stylesheet related code out from Document 
        https://bugs.webkit.org/show_bug.cgi?id=97353

        Reviewed by Andreas Kling.

        Document is big and unwieldy. The code related to tracking active stylesheets can be factored out.
        
        The patch moves stylesheet upkeep, collection and invalidation code from Document to a separate
        DocumentStyleSheetCollection class. There are no functional changes.
        
        The usesLinkRules stylesheet feature bit and the related code is removed as no one was using it.

        * WebCore.xcodeproj/project.pbxproj:
        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkOneSelector):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::StyleResolver):
        (WebCore::StyleResolver::Features::Features):
        (WebCore::StyleResolver::Features::add):
        (WebCore::StyleResolver::Features::clear):
        (WebCore::StyleResolver::collectMatchingRulesForList):
        * css/StyleResolver.h:
        (WebCore::StyleResolver::usesBeforeAfterRules):
        (Features):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::~Document):
        (WebCore::Document::setCompatibilityMode):
        (WebCore::Document::recalcStyle):
        (WebCore):
        (WebCore::Document::createStyleResolver):
        (WebCore::Document::seamlessParentUpdatedStylesheets):
        (WebCore::Document::didRemoveAllPendingStylesheet):
        (WebCore::Document::processHttpEquiv):
        (WebCore::Document::styleSheets):
        (WebCore::Document::preferredStylesheetSet):
        (WebCore::Document::selectedStylesheetSet):
        (WebCore::Document::setSelectedStylesheetSet):
        (WebCore::Document::styleResolverChanged):
        (WebCore::Document::reportMemoryUsage):
        (WebCore::Document::haveStylesheetsLoaded):
        * dom/Document.h:
        (WebCore):
        (Document):
        (WebCore::Document::styleSheetCollection):
        (WebCore::Document::hasNodesWithPlaceholderStyle):
        (WebCore::Document::setNeedsNotifyRemoveAllPendingStylesheet):
        (WebCore::Document::inStyleRecalc):
        * dom/DocumentStyleSheetCollection.cpp: Added.
        (WebCore):
        (WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
        (WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
        (WebCore::DocumentStyleSheetCollection::pageUserSheet):
        (WebCore::DocumentStyleSheetCollection::clearPageUserSheet):
        (WebCore::DocumentStyleSheetCollection::updatePageUserSheet):
        (WebCore::DocumentStyleSheetCollection::pageGroupUserSheets):
        (WebCore::DocumentStyleSheetCollection::clearPageGroupUserSheets):
        (WebCore::DocumentStyleSheetCollection::updatePageGroupUserSheets):
        (WebCore::DocumentStyleSheetCollection::addUserSheet):
        (WebCore::DocumentStyleSheetCollection::removePendingSheet):
        (WebCore::DocumentStyleSheetCollection::addStyleSheetCandidateNode):
        (WebCore::DocumentStyleSheetCollection::removeStyleSheetCandidateNode):
        (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
        (WebCore::DocumentStyleSheetCollection::testAddedStyleSheetRequiresStyleRecalc):
        (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
        (WebCore::styleSheetsUseRemUnits):
        (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
        (WebCore::DocumentStyleSheetCollection::combineCSSFeatureFlags):
        (WebCore::DocumentStyleSheetCollection::resetCSSFeatureFlags):
        (WebCore::DocumentStyleSheetCollection::reportMemoryUsage):
        * dom/DocumentStyleSheetCollection.h: Added.
        (WebCore):
        (DocumentStyleSheetCollection):
        (WebCore::DocumentStyleSheetCollection::authorStyleSheets):
        (WebCore::DocumentStyleSheetCollection::documentUserSheets):
        (WebCore::DocumentStyleSheetCollection::needsUpdateActiveStylesheetsOnStyleRecalc):
        (WebCore::DocumentStyleSheetCollection::preferredStylesheetSetName):
        (WebCore::DocumentStyleSheetCollection::selectedStylesheetSetName):
        (WebCore::DocumentStyleSheetCollection::setPreferredStylesheetSetName):
        (WebCore::DocumentStyleSheetCollection::setSelectedStylesheetSetName):
        (WebCore::DocumentStyleSheetCollection::addPendingSheet):
        (WebCore::DocumentStyleSheetCollection::hasPendingSheets):
        (WebCore::DocumentStyleSheetCollection::usesSiblingRules):
        (WebCore::DocumentStyleSheetCollection::setUsesSiblingRulesOverride):
        (WebCore::DocumentStyleSheetCollection::usesFirstLineRules):
        (WebCore::DocumentStyleSheetCollection::usesFirstLetterRules):
        (WebCore::DocumentStyleSheetCollection::setUsesFirstLetterRules):
        (WebCore::DocumentStyleSheetCollection::usesBeforeAfterRules):
        (WebCore::DocumentStyleSheetCollection::setUsesBeforeAfterRulesOverride):
        (WebCore::DocumentStyleSheetCollection::usesRemUnits):
        (WebCore::DocumentStyleSheetCollection::setUsesRemUnit):
        * dom/Element.cpp:
        (WebCore::Element::recalcStyle):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::~ProcessingInstruction):
        (WebCore::ProcessingInstruction::checkStyleSheet):
        (WebCore::ProcessingInstruction::sheetLoaded):
        (WebCore::ProcessingInstruction::insertedInto):
        (WebCore::ProcessingInstruction::removedFrom):
        * dom/StyleElement.cpp:
        (WebCore::StyleElement::insertedIntoDocument):
        (WebCore::StyleElement::removedFromDocument):
        (WebCore::StyleElement::clearDocumentData):
        (WebCore::StyleElement::createSheet):
        (WebCore::StyleElement::sheetLoaded):
        (WebCore::StyleElement::startLoadingDynamicSheet):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::~HTMLLinkElement):
        (WebCore::HTMLLinkElement::insertedInto):
        (WebCore::HTMLLinkElement::removedFrom):
        (WebCore::HTMLLinkElement::addPendingSheet):
        (WebCore::HTMLLinkElement::removePendingSheet):
        * html/HTMLQuoteElement.cpp:
        (WebCore::HTMLQuoteElement::insertedInto):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
        * mathml/MathMLMathElement.cpp:
        (WebCore::MathMLMathElement::insertedInto):
        * page/Page.cpp:
        (WebCore::Page::userStyleSheetLocationChanged):
        * page/PageGroup.cpp:
        (WebCore::PageGroup::resetUserStyleCacheInAllFrames):
        * rendering/RenderBR.cpp:
        (WebCore::RenderBR::lineHeight):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::styleDidChange):
        (WebCore::RenderBlock::splitBlocks):
        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
        (WebCore::RenderBlock::lineHeight):
        (WebCore::RenderBlock::updateFirstLetter):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::styleDidChange):
        (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
        (WebCore::RenderInline::addChildIgnoringContinuation):
        (WebCore::RenderInline::splitInlines):
        (WebCore::RenderInline::lineHeight):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::uncachedFirstLineStyle):
        (WebCore::RenderObject::firstLineStyleSlowCase):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::firstLineStyle):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::updateBeforeAndAfterContent):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::verticalPositionForBox):

2012-09-24  Otto Derek Cheung  <otcheung@rim.com>

        [BlackBerry] Reverting implementation for 407 error pages
        https://bugs.webkit.org/show_bug.cgi?id=97455

        Reviewed by Rob Buis.

        Revert "[BlackBerry] Reverting implementation for 407 error pages"
        This reverts commit fda0a1b6ac40c06c03bb6293b4a7d7353c3ca238.

        This revert also reverts commit 0cffe01961fb80204138505bcec29a83818efb73
        due to dependency issues.

        * PlatformBlackBerry.cmake:
        * platform/blackberry/AuthenticationChallengeManager.cpp: Removed.
        * platform/blackberry/AuthenticationChallengeManager.h:
        * platform/blackberry/PageClientBlackBerry.h:
        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
        (WebCore::MediaPlayerPrivate::notifyChallengeResult):
        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
        (MediaPlayerPrivate):
        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::NetworkJob):
        (WebCore::NetworkJob::handleNotifyStatusReceived):
        (WebCore::NetworkJob::notifyAuthReceived):
        (WebCore::NetworkJob::handleNotifyClose):
        (WebCore::NetworkJob::sendRequestWithCredentials):
        (WebCore::NetworkJob::notifyChallengeResult):
        * platform/network/blackberry/NetworkJob.h:
        (NetworkJob):

2012-09-24  Chris Rogers  <crogers@google.com>

        [REGRESSION] Layout Test webaudio/biquad-getFrequencyResponse.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=97439

        Reviewed by Kenneth Russell.

        Fixes uninitialized member variable.

        This should fix flaky failing test: webaudio/biquad-getFrequencyResponse.html

        * Modules/webaudio/BiquadProcessor.cpp:
        (WebCore::BiquadProcessor::BiquadProcessor):

2012-09-24  Tony Chang  <tony@chromium.org>

        flex-grow should be 1 when omitted from flex shorthand
        https://bugs.webkit.org/show_bug.cgi?id=97480

        Reviewed by Ojan Vafai.

        We were using 0, based on an outdated version of the spec.

        Tests: css3/flexbox/flex-property-parsing.html
               css3/flexbox/flex-algorithm.html: New test case.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFlex):

2012-09-24  Benjamin Poulain  <benjamin@webkit.org>

        Add support for query encoding to WTFURL
        https://bugs.webkit.org/show_bug.cgi?id=97422

        Reviewed by Adam Barth.

        Add the Charset conversion on WebCore side.

        * platform/KURLWTFURL.cpp:
        (WebCore::KURL::KURL):
        (CharsetConverter):
        (WebCore::CharsetConverter::CharsetConverter):
        * platform/mac/KURLMac.mm:
        (WebCore::KURL::KURL):

2012-09-24  Benjamin Poulain  <benjamin@webkit.org>

        Integrate most of GoogleURL in WTFURL
        https://bugs.webkit.org/show_bug.cgi?id=97405

        Reviewed by Adam Barth.

        Loosen KURLWTFURL to be able to run most tests in Debug.

        * platform/KURLWTFURL.cpp:
        (WebCore::KURL::KURL):
        (WebCore::KURL::hasPort):
        (WebCore::KURL::user):
        (WebCore::KURL::pass):
        (WebCore::KURL::hasPath):
        (WebCore::KURL::path):
        (WebCore::KURL::query):
        (WebCore::KURL::fragmentIdentifier):
        (WebCore::KURL::fileSystemPath):

2012-09-24  Hans Muller  <hmuller@adobe.com>

        [CSS Exclusions] ExclusionShape API should use logical coordinates for input/output
        https://bugs.webkit.org/show_bug.cgi?id=96156

        Reviewed by Dirk Schulze.

        Correct how ExclusionShapes deal with logical coordinates and enable
        shape-inside exclusion layout for vertical writing-modes.

        BasicShape's are defined in physical cooordinates, incoming line and box
        dimensions are logical coordinates, and the ExclusionShape internals assume
        that lines are aligned with the Y axis. The createExclusionShape() method
        is responsible for converting the BasicShape to the internal coordinate
        system when the writing-mode is vertical. Similarly, the getInclude,ExcludedIntervals()
        methods are responsible for converting their logical line parameters to Y
        values in the internal coordinate system. The min,maxYForLogicalLine()
        methods do the conversion, based on the WritingMode the ExclusionShape
        was created with. The getInclude,ExcludedIntervals() methods return the
        logical left and right edges of line segments. No transformation is needed for this.

        The ExclusionShape's internal coordinate system is essentially the
        "logical" one, except that top/bottom always map to Y, no matter what
        the writing-mode is.  This is just to simplify writing geometrical shape
        algorithms, notably the complex ones for polygons. The bug report includes a
        pair of diagrams that clarify how internal coordinates are related to logical
        and physical coordinates.

        Test: fast/exclusions/shape-inside/shape-inside-vertical-text.html

        * rendering/ExclusionRectangle.cpp:
        (WebCore::ExclusionRectangle::getExcludedIntervals): rename more accurately reflects return value
        (WebCore::ExclusionRectangle::getIncludedIntervals): rename for consistency with "excluded" version
        * rendering/ExclusionRectangle.h:
        * rendering/ExclusionShape.cpp:
        (WebCore):
        (WebCore::ExclusionShape::createExclusionShape):
        * rendering/ExclusionShape.h:
        (LineSegment):
        (WebCore::LineSegment::LineSegment): relocated from WrapShapeInfo.h
        (WebCore):
        (ExclusionShape):
        (WebCore::ExclusionShape::minYForLogicalLine):
        (WebCore::ExclusionShape::maxYForLogicalLine):
        (WebCore::ExclusionShape::internalToLogicalBoundingBox):
        * rendering/WrapShapeInfo.cpp:
        (WebCore::WrapShapeInfo::isWrapShapeInfoEnabledForRenderBlock):
        (WebCore::WrapShapeInfo::computeShapeSize): pass writingMode to createExclusionShape()
        (WebCore::WrapShapeInfo::computeSegmentsForLine): removed short-circuit for vertical writing-modes
        * rendering/WrapShapeInfo.h:
        (WebCore):

2012-09-24  Tony Chang  <tony@chromium.org>

        Replace RenderMeter::updateLogicalHeight to RenderMeter::computeLogicalHeight
        https://bugs.webkit.org/show_bug.cgi?id=97475

        Reviewed by Ojan Vafai.

        Using RenderMeter::computeLogicalHeight is part of bug 96804.
        Also fix some code to be vertical writing mode aware. This doesn't actually cause
        a behavioral difference because we use percentage heights/widths which don't depend on
        updateLogicalWidth or computeLogicalHeight.  You can still see bugs if you try to set
        the min-width on a <meter> node in a vertical writing mode.

        No new tests, no behavioral changes.

        * rendering/RenderMeter.cpp:
        (WebCore::RenderMeter::updateLogicalWidth): Make vertical writing mode aware.
        (WebCore::RenderMeter::computeLogicalHeight): Switch from updateLogicalHeight and make vertical writing mode aware.
        * rendering/RenderMeter.h:
        (RenderMeter):

2012-09-24  Dimitri Glazkov  <dglazkov@chromium.org>

        Remove unbaked support for :scope pseudo-class.
        https://bugs.webkit.org/show_bug.cgi?id=97467

        Reviewed by Antti Koivisto.

        It turns out, the Selectors 4 require ":scope" to match contextual reference element set, which would be the root node in querySelector:
        http://dev.w3.org/csswg/selectors4/#the-scope-pseudo

        Right now, we simply make ":scope" equivalent to ":root", which is not correct. Let's remove the partial implementation until we have
        time/energy to fully implement it.

        No new tests, removing half-baked feature.

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId): Removed all mentions of PseudoScope
        (WebCore::nameToPseudoTypeMap): Ditto.
        (WebCore::CSSSelector::extractPseudoType): Ditto.
        * css/CSSSelector.h: Ditto.
        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkOneSelector): Ditto.

2012-09-24  Ryosuke Niwa  <rniwa@webkit.org>

        suspend/resumeWidgetHierarchyUpdates should be a RAII object
        https://bugs.webkit.org/show_bug.cgi?id=96706

        Reviewed by Simon Fraser.

        Replaced suspendWidgetHierarchyUpdates and resumeWidgetHierarchyUpdates by WidgetHierarchyUpdatesSuspensionScope.

        * WebCore.exp.in: Export new symbols.
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removeChild):
        (WebCore::ContainerNode::removeChildren):
        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
        * dom/Element.cpp:
        (WebCore::Element::attach):
        (WebCore::Element::detach):
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passMouseDownEventToWidget):
        * rendering/RenderWidget.cpp:
        (WebCore):
        (WebCore::WidgetHierarchyUpdatesSuspensionScope::widgetNewParentMap):
        (WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets):
        (WebCore::moveWidgetToParentSoon):
        * rendering/RenderWidget.h:
        (WidgetHierarchyUpdatesSuspensionScope):
        (WebCore::WidgetHierarchyUpdatesSuspensionScope::WidgetHierarchyUpdatesSuspensionScope):
        (WebCore::WidgetHierarchyUpdatesSuspensionScope::~WidgetHierarchyUpdatesSuspensionScope):
        (WebCore::WidgetHierarchyUpdatesSuspensionScope::isSuspended):
        (WebCore::WidgetHierarchyUpdatesSuspensionScope::scheduleWidgetToMove):
        (WebCore):
        (RenderWidget):

2012-09-24  Otto Derek Cheung  <otcheung@rim.com>

        [BlackBerry] Reverting implementation for 407 error pages
        https://bugs.webkit.org/show_bug.cgi?id=97455

        Reviewed by Rob Buis.

        Revert "[BlackBerry] Show custom error page when 407 is received"
        This reverts commit e6d14529428fe47916fcb997528095b8acad2f2b.

        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::handleNotifyStatusReceived):
        (WebCore::NetworkJob::notifyAuthReceived):
        (WebCore::NetworkJob::sendRequestWithCredentials):

2012-09-24  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r129388.
        http://trac.webkit.org/changeset/129388
        https://bugs.webkit.org/show_bug.cgi?id=97477

        Caused an assertion in a WebKit2 unit test (Requested by
        abarth on #webkit).

        * WebCore.exp.in:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didBeginDocument):
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::willSendRequest):
        * loader/cache/CachedImage.cpp:
        * loader/cache/CachedImage.h:
        (WebCore::CachedImage::stillNeedsLoad):
        (CachedImage):
        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::didAddClient):
        * loader/cache/CachedResource.h:
        (WebCore):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::CachedResourceLoader):
        (WebCore::CachedResourceLoader::requestImage):
        (WebCore::CachedResourceLoader::canRequest):
        (WebCore::CachedResourceLoader::requestResource):
        (WebCore::CachedResourceLoader::revalidateResource):
        (WebCore::CachedResourceLoader::loadResource):
        (WebCore::CachedResourceLoader::determineRevalidationPolicy):
        (WebCore::CachedResourceLoader::setAutoLoadImages):
        * loader/cache/CachedResourceLoader.h:
        (CachedResourceLoader):
        * page/Settings.cpp:
        (WebCore::setLoadsImagesAutomaticallyInAllFrames):
        (WebCore::Settings::Settings):
        (WebCore::Settings::setLoadsImagesAutomatically):
        (WebCore::Settings::loadsImagesAutomaticallyTimerFired):
        (WebCore::Settings::setImagesEnabled):
        * page/Settings.h:
        (Settings):
        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::Backup::Backup):
        (WebCore::InternalSettings::Backup::restoreTo):
        * testing/InternalSettings.h:
        (Backup):
        (InternalSettings):
        * testing/InternalSettings.idl:

2012-09-24  Erik Arvidsson  <arv@chromium.org>

        DOM4 remove method
        https://bugs.webkit.org/show_bug.cgi?id=73885

        Reviewed by Ojan Vafai.

        This adds the DOM 4 remove method.
        
        http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-childnode-remove
        
        The remove method removes the node from its parent if it has a parent.

        Tests: fast/dom/Comment/remove.html
               fast/dom/DocumentType/remove.html
               fast/dom/Element/remove.html
               fast/dom/Text/remove.html

        * dom/CharacterData.idl:
        * dom/DocumentType.idl:
        * dom/Element.idl:
        * dom/Node.cpp:
        (WebCore::Node::remove): The spec says to do nothing if the node has no parent.
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody): Cleanup.
        * html/track/TextTrackCue.cpp:
        (WebCore::TextTrackCue::removeDisplayTree): No need to check parenNode twice.

2012-09-24  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Fix the incorrectly spelled RTCPeerConnection::onnegotiationneeded callback
        https://bugs.webkit.org/show_bug.cgi?id=97456

        Reviewed by Adam Barth.

        Renamed onnegotationneeded to onnegotiationneeded.

        Existing test updated. 

        * Modules/mediastream/RTCPeerConnection.cpp:
        (WebCore::RTCPeerConnection::negotiationNeeded):
        * Modules/mediastream/RTCPeerConnection.h:
        (RTCPeerConnection):
        * Modules/mediastream/RTCPeerConnection.idl:
        * dom/EventNames.h:
        (WebCore):

2012-09-24  Peter Beverloo  <peter@chromium.org>

        Android's mock scrollbars shows up as a difference in layout test results
        https://bugs.webkit.org/show_bug.cgi?id=96382

        Reviewed by Adam Barth.

        Remove the exceptions made for layout tests in Android's scrollbar theme.
        This will make our actual scrollbars show up in layout test pixel results,
        bringing the tests closer to what we actually ship.

        An important difference with other platforms is that scrollbars do not
        take any width on Android, they're rendered on top of the content. Therefore
        each test that has a visible scrollbar does not just need a new pixel
        result, but will also need a new text result. This will be handled as part
        of a larger rebaselining process.

        Will be exercised by every layout test that has a scrollbar.

        * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
        (WebCore::ScrollbarThemeChromiumAndroid::scrollbarThickness):
        (WebCore::ScrollbarThemeChromiumAndroid::usesOverlayScrollbars):
        (WebCore::ScrollbarThemeChromiumAndroid::hasThumb):
        * platform/chromium/ScrollbarThemeChromiumAndroid.h:
        (ScrollbarThemeChromiumAndroid):

2012-09-24  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>

        [BlackBerry] Basic authentication challenge credentials for stored credentials again after restarting browser
        https://bugs.webkit.org/show_bug.cgi?id=96362

        Reviewed by Rob Buis.

        Fix a mistake of the commit 11fdc73c7c74bbd736ed4160248ff59636a01864
        Trunk has been changed during reviewing that patch.

        No new tests, this is to correct a build error.

        * platform/network/blackberry/CredentialBackingStore.cpp:
        (WebCore::CredentialBackingStore::getProtectionSpace):

2012-09-24  Dan Bernstein  <mitz@apple.com>

        Reverted r129176, the fix for <http://webkit.org/b/97269>, because it introduced a
        discrepancy between line breaking and max width computation.

        Rubber-stamped by Anders Carlsson.

        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):

2012-09-24  Bo Liu  <boliu@chromium.org>

        Reland "Add in-place reload behavior to ImagesEnabled setting" with optimizations
        https://bugs.webkit.org/show_bug.cgi?id=97055

        Reviewed by Adam Barth.

        Relanding 128780, 128676, 128645. Was reverted in 128914 due to
        performance regression in Chromium.

        New changes in addition to previously reverted patches:

        Refactored CachedResource::requestResource, loadResource, and
        revalidateResource. Moved CachedResource::load method to end of
        requestResource so there is one place where load is called for all
        resources.

        Added a enum parameter for requestResource and
        determineRevalidationPolicy so that FrameLoaderClient::allowImage call
        do not need to be called multiple times.

        Removed CachedImage::load call in requestImage so it is not called
        twice.

        Removed unnecessary Frame.h includes in CachedResource and
        CachedImage.

        Removed dead load() method declaration in CachedImage.

        Updated text expectation for two image-permissions tests to reflect
        the removed calls to allowImage.

        Tests: fast/loader/display-image-unset-allows-cached-image-load.html
               fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html
               fast/loader/images-enabled-unset-can-block-image-and-can-reload-in-place.html

        * WebCore.exp.in:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didBeginDocument):
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::willSendRequest):
        * loader/cache/CachedImage.cpp:
        * loader/cache/CachedImage.h:
        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::didAddClient):
        * loader/cache/CachedResource.h:
        (WebCore):
        (WebCore::CachedResource::stillNeedsLoad):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::CachedResourceLoader):
        (WebCore::CachedResourceLoader::requestImage):
        (WebCore::CachedResourceLoader::canRequest):
        (WebCore::CachedResourceLoader::requestResource):
        (WebCore::CachedResourceLoader::revalidateResource):
        (WebCore::CachedResourceLoader::loadResource):
        (WebCore::CachedResourceLoader::determineRevalidationPolicy):
        (WebCore::CachedResourceLoader::setAutoLoadImages):
        (WebCore):
        (WebCore::CachedResourceLoader::setImagesEnabled):
        (WebCore::CachedResourceLoader::clientDefersImage):
        (WebCore::CachedResourceLoader::shouldDeferImageLoad):
        (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):
        * loader/cache/CachedResourceLoader.h:
        (CachedResourceLoader):
        * page/Settings.cpp:
        (WebCore::setImageLoadingSettings):
        (WebCore::Settings::Settings):
        (WebCore::Settings::setLoadsImagesAutomatically):
        (WebCore::Settings::imageLoadingSettingsTimerFired):
        (WebCore::Settings::setImagesEnabled):
        * page/Settings.h:
        (Settings):
        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::Backup::Backup):
        (WebCore::InternalSettings::Backup::restoreTo):
        (WebCore::InternalSettings::setImagesEnabled):
        (WebCore):
        * testing/InternalSettings.h:
        (Backup):
        (InternalSettings):
        * testing/InternalSettings.idl:

2012-09-24  Joone Hur  <joone.hur@intel.com>, Gustavo Noronha Silva  <gustavo.noronha@collabora.com>

        [GTK] Implement GraphicsLayer using Clutter
        https://bugs.webkit.org/show_bug.cgi?id=73767

        Reviewed by Martin Robinson.
        
        This patch is needed for enabling Accelerated Compositing(Clutter backend) 
        with the patches submitted in bug 92045 and 91940.
        
        No new tests. This will be covered by pixel tests for Qt/GTK+ accelerated
        compositing and 3D transforms.

        * GNUmakefile.list.am:
        * platform/clutter/GRefPtrClutter.cpp: Removed.
        * platform/clutter/GRefPtrClutter.h: Removed.
        * platform/graphics/clutter/PlatformClutterLayerClient.h: Added.
        (WebCore):
        (PlatformClutterLayerClient):
        (WebCore::PlatformClutterLayerClient::~PlatformClutterLayerClient):
        * platform/graphics/clutter/TransformationMatrixClutter.cpp: Added to convert CoglMatrix to 
        TransformationMatrix.
        (WebCore):
        (WebCore::TransformationMatrix::operator CoglMatrix):
        * platform/graphics/transforms/TransformationMatrix.h:
        (TransformationMatrix):

2012-09-24  David Grogan  <dgrogan@chromium.org>

        Unprefix IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=96548

        Reviewed by Adam Barth.

        We are largely compatible with the FF implementation and the w3c test
        suite submitted by MS. The w3c test suite doesn't yet check
        for lack of prefix; this is mostly to signal to devs that we think our
        implementation is stable.

        This patch uses the new FeatureObserver to get data about prefixed
        vs unprefixed usage.

        Tests: storage/indexeddb/unprefix-workers.html
               storage/indexeddb/unprefix.html

        * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
        (WebCore::DOMWindowIndexedDatabase::indexedDB):
        * Modules/indexeddb/DOMWindowIndexedDatabase.h:
        (DOMWindowIndexedDatabase):
        * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
        * Modules/indexeddb/WorkerContextIndexedDatabase.cpp:
        (WebCore::WorkerContextIndexedDatabase::indexedDB):
        * Modules/indexeddb/WorkerContextIndexedDatabase.h:
        (WorkerContextIndexedDatabase):
        * Modules/indexeddb/WorkerContextIndexedDatabase.idl:
        * bindings/generic/RuntimeEnabledFeatures.h:
        Making the auxiliary objects RuntimeEnabled didn't make much sense as
        they are useless without the factory, so always enable them.

        (WebCore::RuntimeEnabledFeatures::indexedDBEnabled):
        * bindings/scripts/CodeGeneratorGObject.pm:
        (SkipAttribute):
        * page/FeatureObserver.h:

2012-09-24  Andrey Adaikin  <aandrey@chromium.org>

        Web Inspector: [WebGL] First step towards 2D canvas instrumentation in injected script
        https://bugs.webkit.org/show_bug.cgi?id=96746

        Reviewed by Pavel Feldman.

        First step towards the 2D canvas instrumentation from the WebGL injected script module side.
        We trace and save all calls that affect the 2D canvas context state and it's resources (Gradient and Pattern)
        so that we could replay the context and resources states later.
        The 2D canvas context state consists of:
        - current transformation matrix
        - current default path
        - current clipping region (affected by the "clip" command)
        - current values of the context attributes (like strokeStyle, fillStyle, etc.)
        - a stack of saved drawing states (affected by the "save" and "restore" commands)

        * inspector/InjectedScriptCanvasModuleSource.js:
        (.):

2012-09-24  Andrey Adaikin  <aandrey@chromium.org>

        Web Inspector: [TextEditor] conditional breakpoint popup not showing up the first time
        https://bugs.webkit.org/show_bug.cgi?id=97442

        Reviewed by Pavel Feldman.

        1) The conditional breakpoint popup may not show up the first time we click on the gutter.
        This was the case because the popup decoration element would be deleted from the line while
        it was being highlighted and appended afterwards. Now we do not remove decorations from the
        DOM while highlighting.

        2) Also the popup will close itself on any mouse click event, even if it's targeted to the
        input box itself. This was due to pointer-events: none; CSS style for the parent element.
        Now we just override this style for the input box.

        * inspector/front-end/DefaultTextEditor.js:
        (WebInspector.TextEditorMainPanel.prototype._paintLine):
        (WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):
        (WebInspector.TextEditorMainPanel.prototype._insertTextNodeBefore):
        * inspector/front-end/inspector.css:
        (.source-frame-breakpoint-condition):

2012-09-24  Andrey Adaikin  <aandrey@chromium.org>

        Web Inspector: [Canvas] set CanvasAgent in InstrumentingAgents upon calling enable command
        https://bugs.webkit.org/show_bug.cgi?id=97331

        Reviewed by Yury Semikhatsky.

        We should set CanvasAgent in InstrumentingAgents from enable() command and remove from disable(), instead of doing this in constructor and destructor.

        * inspector/InspectorCanvasAgent.cpp:
        (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
        (WebCore::InspectorCanvasAgent::~InspectorCanvasAgent):
        (WebCore::InspectorCanvasAgent::restore):
        (WebCore::InspectorCanvasAgent::enable):
        (WebCore::InspectorCanvasAgent::disable):
        * inspector/InspectorCanvasAgent.h:
        (InspectorCanvasAgent):
        * inspector/InspectorCanvasInstrumentation.h:
        (WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
        (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):

2012-09-24  Patrick Gansterer  <paroga@webkit.org>

        Remove remaining WTF_DEPRECATED_STRING_OPERATORS from cpp files
        https://bugs.webkit.org/show_bug.cgi?id=97412

        Reviewed by Adam Barth.

        * css/StylePropertySet.cpp: Removed useless define.

2012-09-20  Emil A Eklund  <eae@chromium.org>

        snapToSize rounds the incorrectly for negative locations
        https://bugs.webkit.org/show_bug.cgi?id=97265

        Reviewed by Eric Seidel.

        Change snapSizeToPixel to preserve sign for location which
        affects rounding.

        Test: fast/sub-pixel/snap-negative-location.html

        * platform/FractionalLayoutUnit.h:
        (WebCore::snapSizeToPixel):

2012-09-24  Jonathan Liu  <net147@gmail.com>

        Use unsigned char for bitfield instead of unsigned.
        https://bugs.webkit.org/show_bug.cgi?id=97447

        Reviewed by Andreas Kling.

        Not all compilers will pad an unsigned bitfield to the smallest size.
        Use unsigned char instead of unsigned to reduce padding for compilers
        that pad to the underlying type.

        No new tests. There is already a compile-time assertion.

        * css/CSSRule.cpp:
        (SameSizeAsCSSRule):
        * css/CSSRule.h:
        (CSSRule):

2012-09-24  Peter Rybin  <peter.rybin@gmail.com>

        Web Inspector: don't allow exception in front-end when expanding function scope
        https://bugs.webkit.org/show_bug.cgi?id=97346

        Reviewed by Yury Semikhatsky.

        A missing guard condition is added.

        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.FunctionScopeMainTreeElement.prototype.onpopulate.didGetDetails):
        (WebInspector.FunctionScopeMainTreeElement.prototype.onpopulate):

2012-09-24  Arvid Nilsson  <anilsson@rim.com>

        [BlackBerry] Add cookie database API
        https://bugs.webkit.org/show_bug.cgi?id=97102

        Reviewed by Antonio Gomes.

        Add a CookieManager method that takes a list of strings to parse
        instead of just one string. Expose CookieParser::parseOneCookie.

        Reviewed internally by Otto D. Cheung.

        No change in behavior, no new tests.

        * platform/blackberry/CookieManager.cpp:
        (WebCore::CookieManager::setCookies):
        (WebCore):
        * platform/blackberry/CookieManager.h:
        * platform/blackberry/CookieParser.cpp:
        (WebCore::CookieParser::parseOneCookie):
        (WebCore):
        * platform/blackberry/CookieParser.h:
        (CookieParser):

2012-09-24  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Open resource dialog has too many false positive matches.
        https://bugs.webkit.org/show_bug.cgi?id=97332

        Reviewed by Alexander Pavlov.

        Improved open resource dialog filtering to make the amount of false
        positive search results less.

        * inspector/front-end/FilteredItemSelectionDialog.js:
        (WebInspector.FilteredItemSelectionDialog.prototype._innerCreateSearchRegExp):
        (WebInspector.FilteredItemSelectionDialog.prototype._highlightItem.get var):
        (WebInspector.FilteredItemSelectionDialog.prototype._highlightItem):

2012-09-24  Andrey Adaikin  <aandrey@chromium.org>

        Web Inspector: [Canvas] support 2D canvas instrumentation from the inspector C++ code
        https://bugs.webkit.org/show_bug.cgi?id=97203

        Reviewed by Yury Semikhatsky.

        Implements wrapping a 2D canvas context through the injected canvas module script facility.

        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        (WebCore::JSHTMLCanvasElement::getContext):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::V8HTMLCanvasElement::getContextCallback):
        * inspector/InjectedScriptCanvasModule.cpp:
        (WebCore::InjectedScriptCanvasModule::wrapCanvas2DContext):
        (WebCore):
        (WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
        (WebCore::InjectedScriptCanvasModule::callWrapContextFunction):
        * inspector/InjectedScriptCanvasModule.h:
        (InjectedScriptCanvasModule):
        * inspector/InspectorCanvasAgent.cpp:
        (WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
        (WebCore):
        * inspector/InspectorCanvasAgent.h:
        (InspectorCanvasAgent):
        * inspector/InspectorCanvasInstrumentation.h:
        (WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
        (WebCore):
        * inspector/InspectorInstrumentation.h:
        (InspectorInstrumentation):

2012-09-24  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector:EXC_BAD_ACCESS upon closing page with node highlighted
        https://bugs.webkit.org/show_bug.cgi?id=97446

        Reviewed by Alexander Pavlov.

        Added 0 check on frame view.

        * inspector/InspectorOverlay.cpp:
        (WebCore::InspectorOverlay::update):

2012-09-21  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [REGRESSION] Cmd-Shift-C doesn't enable element inspection mode when inspector hidden
        https://bugs.webkit.org/show_bug.cgi?id=97249

        Reviewed by Yury Semikhatsky.

        Fix regression from r125871.

        * inspector/front-end/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.enterInspectElementMode):
        * inspector/front-end/inspector.js:
        (WebInspector._createGlobalStatusBarItems):
        (WebInspector.documentKeyDown):

2012-09-24  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Disable persistence of master switches in the "Overrides" settings tab
        https://bugs.webkit.org/show_bug.cgi?id=97440

        Reviewed by Yury Semikhatsky.

        Disables enforcement of device metrics, geolocation, and device orientation overrides on Web Inspector start.

        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::restore):
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.UserAgentSettingsTab.prototype._onMetricsCheckboxClicked):
        (WebInspector.UserAgentSettingsTab.prototype._onGeolocationOverrideCheckboxClicked):
        (WebInspector.UserAgentSettingsTab.prototype._onDeviceOrientationOverrideCheckboxClicked):
        * inspector/front-end/UserAgentSupport.js:
        (WebInspector.UserAgentSupport):
        (WebInspector.UserAgentSupport.prototype.toggleDeviceMetricsOverride):
        (WebInspector.UserAgentSupport.prototype.toggleGeolocationPositionOverride):
        (WebInspector.UserAgentSupport.prototype.toggleDeviceOrientationOverride):
        * inspector/front-end/externs.js:

2012-09-24  Vivek Galatage  <vivekgalatage@gmail.com>

        Web Inspector: implement testing harness for pure protocol tests.
        https://bugs.webkit.org/show_bug.cgi?id=90675

        Reviewed by Yury Semikhatsky.

        Implementing the testing harness as the APIs of Internals object not
        only reduced platform specific patching of DRTs but also minimized the
        the effort required to open up the new dummy inspector Frontend. 
        
        The openDummyInspectorFrontend method will return the handle to newly 
        created DOMWindow. This DOMWindow object can be utilized inside the test 
        case to communicate using postMessage WebAPI.
        
        The newly created DOMWindow will host the protocol-test.html which
        will seed the necessary JS libraries to communicate with the
        InspectorBackend.

        Test: inspector-protocol/css-getSupportedCSSProperties.html

        * WebCore.exp.in:
        * WebCore.gypi:
        * inspector/InspectorClient.h:
        (InspectorClient):
        * testing/Internals.cpp:
        (InspectorFrontendClientDummy):
        (WebCore::InspectorFrontendClientDummy::~InspectorFrontendClientDummy):
        (WebCore):
        (WebCore::InspectorFrontendClientDummy::InspectorFrontendClientDummy):
        (InspectorFrontendChannelDummy):
        (WebCore::InspectorFrontendChannelDummy::~InspectorFrontendChannelDummy):
        (WebCore::InspectorFrontendChannelDummy::InspectorFrontendChannelDummy):
        (WebCore::InspectorFrontendChannelDummy::sendMessageToFrontend):
        (WebCore::Internals::consoleMessageArgumentCounts):
        (WebCore::Internals::openDummyInspectorFrontend):
        (WebCore::Internals::closeDummyInspectorFrontend):
        * testing/Internals.h:
        (WebCore):
        (Internals):
        * testing/Internals.idl:

2012-09-24  Keishi Hattori  <keishi@webkit.org>

        REGRESSION(r127727): Calendar picker focus doesn't loop in calendar-picker.html
        https://bugs.webkit.org/show_bug.cgi?id=97183

        Reviewed by Kent Tamura.

        Fixing bug calendar-picker.html. The page popup behaves fine because
        this code is only necessary in calendar-picker.html where the focus can
        move outside of the picker because we are just using an iframe.

        No new tests. Added tests to calendar-picker-key-operations.html.

        * Resources/pagepopups/calendarPicker.js:
        (YearMonthController.prototype.attachTo):
        (CalendarPicker.prototype._handleBodyKeyDown):

2012-09-24  Andrey Kosyakov  <caseq@chromium.org>

        Unreviewed follow-up to r129336 -- fixed closure compiler warnings.

        * inspector/front-end/HAREntry.js:
        * inspector/front-end/TimelineModel.js:

2012-09-24  Andrey Adaikin  <aandrey@chromium.org>

        Web Inspector: [TextEditor] Line numbers out of sync after closing breakpoint condition editor
        https://bugs.webkit.org/show_bug.cgi?id=96510

        Reviewed by Vsevolod Vlasov.

        Sync line heights on adding/removing decorations.

        * inspector/front-end/DefaultTextEditor.js:
        (WebInspector.TextEditorGutterChunk):
        (WebInspector.TextEditorGutterChunk.prototype.addDecoration):
        (WebInspector.TextEditorGutterChunk.prototype.removeDecoration):
        (WebInspector.TextEditorGutterChunk.prototype.set expanded):
        (WebInspector.TextEditorGutterChunk.prototype.get height):
        (WebInspector.TextEditorGutterChunk.prototype._createRow):
        (WebInspector.TextEditorMainChunk.prototype.addDecoration):
        (WebInspector.TextEditorMainChunk.prototype.removeDecoration):
        (WebInspector.TextEditorMainChunk.prototype.removeAllDecorations):

2012-09-21  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: support saving HAR with resources content
        https://bugs.webkit.org/show_bug.cgi?id=97341

        Reviewed by Vsevolod Vlasov.

        - add WebInspector.HARWriter that writes HAR with content to a stream;
        - replace Save all as HAR with Save all with Content as HAR in network's panel context menu;
        - remove entries for copying/saving of individual request items to reduce clutter in context menu;
        - a drive-by fix of an exception when invoking context menu not on a network item;

        Test: http/tests/inspector/network/har-content.html

        * English.lproj/localizedStrings.js:
        * inspector/front-end/FileUtils.js:
        * inspector/front-end/HAREntry.js:
        (WebInspector.HAREntry.prototype._buildPostData):
        (WebInspector.HARLog.prototype.build):
        (WebInspector.HARLog.prototype._creator):
        (WebInspector.HARWriter):
        (WebInspector.HARWriter.prototype.write):
        (WebInspector.HARWriter.prototype._onContentAvailable):
        (WebInspector.HARWriter.prototype._beginWrite):
        (WebInspector.HARWriter.prototype._writeNextChunk):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype.get statusBarItems):
        (WebInspector.NetworkLogView.prototype._createStatusBarItems):
        (WebInspector.NetworkLogView.prototype._contextMenu):
        (WebInspector.NetworkLogView.prototype._exportAll.openCallback):
        (WebInspector.NetworkLogView.prototype._exportAll):

2012-09-24  Nico Weber  <thakis@chromium.org>

        [chromium] Remove BitLockerSkia. It's apparently not used.
        https://bugs.webkit.org/show_bug.cgi?id=97434

        Reviewed by Kent Tamura.

        * platform/graphics/skia/BitLockerSkia.cpp: Removed.
        * platform/graphics/skia/BitLockerSkia.h: Removed.

2012-09-24  Matt Falkenhagen  <falken@chromium.org>

        Skeleton implementation of dialog.showModal()
        https://bugs.webkit.org/show_bug.cgi?id=97425

        Reviewed by Kent Tamura.

        This adds a basic implementation of showModal(), so it later can be
        used to test the top layer, once it is implemented. The main features
        of showModal(), modality and the top layer, are not yet implemented.

        Test: fast/dom/HTMLDialogElement/dialog-show-modal.html

        * html/HTMLDialogElement.cpp:
        (WebCore::HTMLDialogElement::showModal): The same as show(), but throws an error in the cases specified in the spec.
        (WebCore):
        * html/HTMLDialogElement.h:
        (HTMLDialogElement):
        * html/HTMLDialogElement.idl:

2012-09-24  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL] Regression after r129328
        https://bugs.webkit.org/show_bug.cgi?id=97429

        Unreviewed, rolling out r129328.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderTheme::themeForPage):

2012-09-23  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL] Duplicated RenderThemeEfl creation for same page
        https://bugs.webkit.org/show_bug.cgi?id=88391

        Reviewed by Gyuyoung Kim.

        Other ports return one or two RenderTheme regardless of page.
        But, WebKit/Efl can create different theme for each page and
        themeForPage creates new RenderTheme whenever it is called with page.
        So more than one RenderTheme can be created for a page.

        This patches checks whether page already has RenderTheme not to create new
        RenderTheme for same page.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderTheme::themeForPage):

2012-09-23  Keishi Hattori  <keishi@webkit.org>

        Add suggestionPicker to CalendarPicker
        https://bugs.webkit.org/show_bug.cgi?id=97201

        Reviewed by Kent Tamura.

        This adds the suggestionPicker to CalendarPicker. It is not available yet as a datalist UI but it can be used inside ManualTests/forms/calendar-picker.html.

        No new tests. Suggestion Picker can be tested in ManualTests/forms/calendar-picker.html.

        * Resources/pagepopups/calendarPicker.js:
        (initialize):
        (openSuggestionPicker):
        * Resources/pagepopups/pickerCommon.js:
        (enclosingNodeOrSelfWithClass):
        * Resources/pagepopups/suggestionPicker.css: Added.
        (.suggestion-list):
        (.suggestion-list-entry):
        (.suggestion-list-entry:focus):
        (.suggestion-list-entry:focus .label):
        (.suggestion-list-entry .content):
        (.suggestion-list-entry .title):
        (.suggestion-list-entry .label):
        (.measuring-width .suggestion-list-entry .label):
        (.suggestion-list .separator):
        * Resources/pagepopups/suggestionPicker.js: Added.
        (SuggestionPicker):
        (SuggestionPicker.validateConfig):
        (SuggestionPicker.prototype.cleanup):
        (SuggestionPicker.prototype._setColors): Creates css rules that sets highlight colors.
        (SuggestionPicker.prototype._createSuggestionEntryElement): Creates an entry that when selected submits the value.
        (SuggestionPicker.prototype._createActionEntryElement): Creates an entry that causes an action. (e.x. "Other...")
        (SuggestionPicker.prototype._measureMaxContentWidth): Temporarily left align everything to measure the width.
        (SuggestionPicker.prototype._fixWindowSize):
        (SuggestionPicker.prototype._layout):
        (SuggestionPicker.prototype.selectEntry):
        (SuggestionPicker.prototype._handleEntryClick):
        (SuggestionPicker.prototype._findFirstVisibleEntry):
        (SuggestionPicker.prototype._findLastVisibleEntry):
        (SuggestionPicker.prototype._handleBodyKeyDown):
        (SuggestionPicker.prototype._handleEntryMouseOver):
        (SuggestionPicker.prototype._handleMouseOut):
        * WebCore.gyp/WebCore.gyp:

2012-09-23  Andreas Kling  <kling@webkit.org>

        REGRESSION(r128239): Mutable ElementAttributeData leak their Attribute vectors.
        <http://webkit.org/b/97423>

        Reviewed by Anders Carlsson.

        r128239 added a WTF::deleteOwnedPtr() override for ElementAttributeData*, but ElementAttributeData is
        a ref-counted object. Fixed this by overriding deref() instead to call the appropriate subclass destructor.

        * dom/ElementAttributeData.h:
        (WebCore::ElementAttributeData::deref):

2012-09-23  Byungwoo Lee  <bw80.lee@gmail.com>

        Fix build warnings : -Wunused-parameter, -Wparentheses, -Wuninitialized.
        https://bugs.webkit.org/show_bug.cgi?id=97306

        Reviewed by Benjamin Poulain.

        Fix build warning about -Wunused-parameter on ImageBufferCairo.cpp,
        ImageDecoder.h by using ASSERT_UNUSED() macro.

        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::encodeImage):
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageDecoder::rgbColorProfile):
        (WebCore::ImageDecoder::inputDeviceColorProfile):

2012-09-23  Andreas Kling  <kling@webkit.org>

        Enable ElementAttributeData sharing for non-HTML elements.
        <http://webkit.org/b/97413>

        Reviewed by Anders Carlsson.

        Use the whole qualified tag name when creating the ElementAttributeData cache key
        instead of just the localName(). This allows sharing and caching of attribute data
        for non-HTML elements and makes the code a little cleaner.

        * dom/Element.cpp:
        (WebCore::Element::parserSetAttributes):

            Enable the ElementAttributeData sharing path for non-HTML elements.

        * dom/ElementAttributeData.h:

            Make immutableAttributeArray() public so Document can call it instead of getting
            the raw data address from a const_cast'ed attributeItem(0).

        * dom/Document.cpp:
        (WebCore::ImmutableAttributeDataCacheKey::ImmutableAttributeDataCacheKey):
        (WebCore::ImmutableAttributeDataCacheKey::operator!=):
        (WebCore::ImmutableAttributeDataCacheKey::hash):
        (ImmutableAttributeDataCacheKey):
        (WebCore::ImmutableAttributeDataCacheEntry::ImmutableAttributeDataCacheEntry):
        (ImmutableAttributeDataCacheEntry):
        (WebCore::Document::cachedImmutableAttributeData):

            Let the immutable attribute data cache use a QualifiedName/attributes key
            instead of the AtomicString/attributes we were using before. We still grab the
            existingHash() from the QualifiedName::localName() and use that for the actual
            HashMap key.

2012-09-23  Mike West  <mkwst@chromium.org>

        Measure the usage of the "X-WebKit-CSP" header in the hopes of dropping the prefix completely.
        https://bugs.webkit.org/show_bug.cgi?id=97408

        Reviewed by Adam Barth.

        We plan on landing the unprefixed header in webkit.org/b/96765 once the
        spec moves to CR. Though we plan to use it for experimentation in the
        near future, we'll want to drop the prefixed header completely at some
        point in the future. Starting to measure its usage now will give us a
        good baseline when we start contemplating that decision.

        No new functionality, so no new tests.

        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::didReceiveHeader):
        * page/FeatureObserver.h:

2012-09-22  Dominic Mazzoni  <dmazzoni@google.com>

        AX: Layout tests would be easier to write if AccessibilityController could find an element by id
        https://bugs.webkit.org/show_bug.cgi?id=97301

        Reviewed by Chris Fleizach.

        Add a method to get the DOM "id" attribute from an accessible object, only for layout tests.

        Makes existing test more cross-platform:
        Tests: accessibility/aria-hidden-with-elements.html

        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

2012-09-22  Thierry Reding  <thierry.reding@avionic-design.de>

        [GTK] Build is broken with GLib Unicode backend
        https://bugs.webkit.org/show_bug.cgi?id=97308.

        Reviewed by Carlos Garcia Campos.

        The TextBreakIteratorGtk implementation uses ubrk_close() to delete
        the iterator. However that function is ICU specific and not declared
        when using the GLib backend. Instead the iterator can simply be freed
        using the delete operator.

        This commit is based on work by Martin Schlemmer who posted a fix for
        this here:

            http://permalink.gmane.org/gmane.os.opendarwin.webkit.gtk/1210

        No new tests.

        * platform/text/gtk/TextBreakIteratorGtk.cpp:
        (WebCore::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator):
        Free iterator using delete instead of ubrk_close().

2012-09-21  Ami Fischman  <fischman@chromium.org>

        HTMLMediaElement isn't garbage collected between document reloads
        https://bugs.webkit.org/show_bug.cgi?id=97020

        Reviewed by Eric Carlson.

        JS-created (as opposed to DOM-created) Audio nodes never got collected, because they
        appear to always hasPendingActivity(), because m_playing is never set to false.

        Manual test added: ManualTests/audio-freed-during-reload.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::stop): set m_playing = false; explicitly.

2012-09-21  Simon Fraser  <simon.fraser@apple.com>

        RenderMarquee causes ASSERTION FAILED: enclosingIntRect(rendererMappedResult) == enclosingIntRect(FloatQuad(result).boundingBox()) : WebCore::FloatRect WebCore::RenderGeometryMap::absoluteRect(const WebCore::FloatRect &) const
        https://bugs.webkit.org/show_bug.cgi?id=92464

        Reviewed by Sam Weinig.

        Marquees could cause an updateCompositingLayersAfterScroll() to be called when
        we're in the middle of updating layer positions. updateCompositingLayersAfterScroll()
        does a full RenderLayer tree walk, but its use of RenderGeomeryMap reveals that
        it's using layers whose positions haven't been updated yet.
        
        Fix by avoiding the updateCompositingLayersAfterScroll() if we're in the process
        of updating a marquee when updating layer positions. We'll do a compositing update
        soon anyway.

        Tested by fast/events/tabindex-focus-blur-all.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::updateLayerPositions):
        (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
        (WebCore::RenderLayer::scrollTo):
        * rendering/RenderLayer.h:
        (RenderLayer):

2012-09-21  Adam Klein  <adamk@chromium.org>

        Remove bogus assertions from ChildListMutationScope
        https://bugs.webkit.org/show_bug.cgi?id=97372

        Reviewed by Ryosuke Niwa.

        Some asserts (and their accompanying comment) were trying to enforce
        proper usage of ChildListMutationScope from WebCore, but in the
        presence of MutationEvents they could fail due to arbitrary script
        execution.

        This change gets rid of those asserts and adds tests exercising
        the (pre-existing) codepaths for handling these out-of-order cases.
        Without this patch, these tests ASSERT in debug builds.

        Tests: fast/mutation/added-out-of-order.html
               fast/mutation/removed-out-of-order.html

        * dom/ChildListMutationScope.cpp:
        (WebCore::ChildListMutationAccumulator::childAdded):
        (WebCore::ChildListMutationAccumulator::willRemoveChild):
        * dom/ChildListMutationScope.h:
        (WebCore):

2012-09-21  Dan Bernstein  <mitz@apple.com>

        REGRESSION (r129176): Incorrect line breaking when kerning occurs between a space and the following character
        https://bugs.webkit.org/show_bug.cgi?id=97377

        Reviewed by Enrica Casucci.

        Test: fast/text/kerning-with-TextLayout.html

        When kerning is enabled, the last character in a word may have its advance shortened because
        of its trailing space. To account for that, words are measured along with the trailing space,
        then the width of a space is subtracted from the result. This doesn’t work when the trailing
        space itself has its advance shortened due to the character following it, which can happen
        when using the TextLayout optimization. However, when the optimization is used, the advance
        of the last character of the word is already adjusted for the trailing space, so there is no
        need to measure with that space and subtract its advance.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::LineBreaker::nextLineBreak): Changed to not use the trailingSpaceWidth
        mechanism when TextLayout is being used.

2012-09-21  Adam Klein  <adamk@chromium.org>

        Simplify and optimize ChildListMutationScope
        https://bugs.webkit.org/show_bug.cgi?id=97352

        Reviewed by Ryosuke Niwa.

        ChildListMutationScope is one of the most complicated bits of
        MutationObserver implementation. This patch aims to simplify it for
        clarity and improve its performance (mostly by just doing less).

        The big change is to remove the MutationAccumulatorRouter class,
        replacing it with lifetime-management logic in ChildListMutationAccumulator
        ChildListMutationScope is expected to call getOrCreate() in
        its constructor, and each scope holds a RefPtr to the accumulator.
        When the last scope holding such a RefPtr is destroyed,
        ChildListMutationAccumulator's destructor enqueues the accumulated record.

        This greatly reduces the number of lines of code, and condenses
        two HashMaps into one. It also reduces hash lookups, which now
        occur only on scope creation and when the refcount for a given
        accumulator reaches 0 (previously, each childAdded and willRemoveChild
        call could result in two hash lookups each).

        There are some minor changes as well: the ChildListMutationAccumulator::clear()
        method is gone, as it was doing more work than necessary;
        DEFINE_STATIC_LOCAL is now used instead of hand-rolled static-management
        code; ChildListMutationAccumulator::m_lastAdded is no longer a RefPtr, since it
        always points at a Node that's already being ref'd by the accumulator.
        Also various minor syntactic cleanups.

        No new tests, no change in behavior.

        * dom/ChildListMutationScope.cpp:
        (WebCore::accumulatorMap): Reduced two maps to one, and manage its lifetime with DEFINE_STATIC_LOCAL.
        (WebCore::ChildListMutationAccumulator::ChildListMutationAccumulator): Remove unnecessary call to clear() (which itself has been removed).
        (WebCore::ChildListMutationAccumulator::~ChildListMutationAccumulator): Enqueue record if not empty at destruction, and have the accumulator
        remove itself from the map.
        (WebCore::ChildListMutationAccumulator::getOrCreate): Replaces half of MutationAccumulatorRouter's job.
        (WebCore::ChildListMutationAccumulator::childAdded): Minor RefPtr usage improvements.
        (WebCore::ChildListMutationAccumulator::isRemovedNodeInOrder): Simplify RefPtr syntax.
        (WebCore::ChildListMutationAccumulator::willRemoveChild): Minor RefPtr usage improvements.
        (WebCore::ChildListMutationAccumulator::enqueueMutationRecord): Replace call to clear() with clearing m_lastAdded,
        since it's the only bit not cleared by the MutationRecord creation call. Also remove
        isEmpty check and replace with asserts now that it's a private method.
        (WebCore::ChildListMutationAccumulator::isEmpty): Added more assertions about emptiness.
        * dom/ChildListMutationScope.h:
        (WebCore):
        (ChildListMutationAccumulator): Extract the inner class to make everything easier to read.
        (WebCore::ChildListMutationScope::ChildListMutationScope): Store m_accumulator rather than m_target.
        (WebCore::ChildListMutationScope::~ChildListMutationScope): ditto
        (WebCore::ChildListMutationScope::childAdded): ditto
        (WebCore::ChildListMutationScope::willRemoveChild): ditto
        (ChildListMutationScope):
        * html/HTMLElement.cpp: Remove unused ChildListMutationScope.h #include.

2012-09-21  Chris Rogers  <crogers@google.com>

        BiquadFilterNode must take audio-rate parameter changes into account
        https://bugs.webkit.org/show_bug.cgi?id=97369

        Reviewed by Kenneth Russell.

        BiquadFilterNode is currently ignoring any timeline or audio-rate changes to its parameters.
        We now check if any of its parameters have timeline or audio-rate changes and, if so, take
        them into account.  Otherwise, we use ordinary parameter smoothing/de-zippering which is
        the case when the parameters are adjusted, for example, from a knob or slider in the UI.

        * Modules/webaudio/BiquadDSPKernel.cpp:
        (WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
        * Modules/webaudio/BiquadProcessor.cpp:
        (WebCore::BiquadProcessor::checkForDirtyCoefficients):
        * Modules/webaudio/BiquadProcessor.h:
        (WebCore::BiquadProcessor::hasSampleAccurateValues):
        (BiquadProcessor):

2012-09-21  Brandon Jones  <bajones@google.com>

        Add support for OES_vertex_array_object in chromium
        https://bugs.webkit.org/show_bug.cgi?id=96578

        Reviewed by Kenneth Russell.

        Adding basic reference counting to WebGLBuffer objects to satisfy spec requirements
        for the OES_vertex_array_object extension. Added code to allow calls to the
        OES_vertex_array_object extension to interface properly with the chromium WebGL
        implementation.

        Test: fast/canvas/webgl/oes-vertex-array-object.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::deleteBuffer):
        (WebCore::WebGLRenderingContext::vertexAttribPointer):
        * html/canvas/WebGLVertexArrayObjectOES.cpp:
        (WebCore::WebGLVertexArrayObjectOES::setElementArrayBuffer):
        (WebCore):
        * html/canvas/WebGLVertexArrayObjectOES.h:
        (WebGLVertexArrayObjectOES):
        (WebCore::WebGLVertexArrayObjectOES::getVertexAttribStateSize):
        * platform/chromium/support/Extensions3DChromium.cpp:
        (WebCore::Extensions3DChromium::createVertexArrayOES):
        (WebCore::Extensions3DChromium::deleteVertexArrayOES):
        (WebCore::Extensions3DChromium::isVertexArrayOES):
        (WebCore::Extensions3DChromium::bindVertexArrayOES):

2012-09-21  Kenichi Ishibashi  <bashi@chromium.org>

        [Chromium] Use OpenTypeVerticalData on Linux
        https://bugs.webkit.org/show_bug.cgi?id=97277

        Reviewed by Tony Chang.

        Remove HarfBuzz dependency from GlyphPageTreeNodeSkia. Use OpenTypeVerticalData instead.

        No new tests. Rebaselined existing tests.

        * WebCore.gyp/WebCore.gyp: Added OpenTypeTypes.h and OpenTypeVerticalData.(cpp|h) for linux and android.
        * platform/graphics/FontCache.cpp:
        Inserted a space between > and > in typedef of FontVerticalDataCache so that making some compilers happy.
        (WebCore):
        * platform/graphics/SimpleFontData.h:
        (SimpleFontData): Moved declaration of m_verticalData to avoid compile warnings.
        * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
        (WebCore):
        (WebCore::FontPlatformData::verticalData): Added.
        (WebCore::FontPlatformData::openTypeTable): Added.
        * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
        (WebCore):
        (FontPlatformData):
        * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Removed substituteWithVerticalGlyphs().
        (WebCore::GlyphPage::fill):

2012-09-21  Jeremy Apthorp  <jeremya@chromium.org>

        Crash in WebCore::Document::fullScreenChangeDelayTimerFired
        https://bugs.webkit.org/show_bug.cgi?id=97367

        Reviewed by Abhishek Arya.

        The document could be destroyed during the processing of the
        fullscreenchange event, if the document was destroyed as a result of
        one of the dispatchEvent calls.

        This bug isn't reliably reproducible, so no new tests.

        * dom/Document.cpp:
        (WebCore::Document::fullScreenChangeDelayTimerFired):

2012-09-21  Pratik Solanki  <psolanki@apple.com>

        No need to pass order file for WebCoreTestSupport build
        https://bugs.webkit.org/show_bug.cgi?id=97363

        Reviewed by David Kilzer.

        No new tests because no functional change.

        * Configurations/WebCoreTestSupport.xcconfig:

2012-09-21  Chris Rogers  <crogers@google.com>

        Add Web Audio support for deprecated/legacy APIs
        https://bugs.webkit.org/show_bug.cgi?id=97050

        Reviewed by Eric Carlson.

        The Web Audio API specification has undergone much review and some small API changes
        have been made (mostly naming-related changes).  This patch adds an ENABLE_LEGACY_WEB_AUDIO
        build option to allow ports to support the old names.

        Tests changed:
        audiobuffersource-playbackrate.html
        audiobuffersource.html
        note-grain-on-testing.js
        oscillator-testing.js

        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.features.am:
        * Modules/webaudio/AudioBufferSourceNode.cpp:
        (WebCore::AudioBufferSourceNode::startGrain):
        (WebCore):
        (WebCore::AudioBufferSourceNode::noteGrainOn):
        * Modules/webaudio/AudioBufferSourceNode.h:
        (AudioBufferSourceNode):
        * Modules/webaudio/AudioBufferSourceNode.idl:
        * Modules/webaudio/AudioScheduledSourceNode.cpp:
        (WebCore::AudioScheduledSourceNode::start):
        (WebCore::AudioScheduledSourceNode::stop):
        (WebCore):
        (WebCore::AudioScheduledSourceNode::noteOn):
        (WebCore::AudioScheduledSourceNode::noteOff):
        * Modules/webaudio/AudioScheduledSourceNode.h:
        * Modules/webaudio/Oscillator.idl:
        * page/FeatureObserver.h:

2012-09-21  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] remove getFontFamilyForCharacters from PlatformSupport
        https://bugs.webkit.org/show_bug.cgi?id=96282

        Reviewed by Tony Chang.

        Migrating away from PlatformSupport. getFontFamilyForCharacters is
        moved to FontCache.h and overridden by the two platforms that
        need it (Chromium Linux and Blackberry). New files for the overrides.
        Part of a larger refactoring series. See tracking bug 82948.

        * PlatformBlackBerry.cmake:
        * WebCore.gypi:
        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):
        * platform/graphics/FontCache.h:
        (SimpleFontFamily):
        (FontCache):
        * platform/graphics/blackberry/FontCacheBlackberry.cpp: Added.
        (WebCore):
        (WebCore::FontCache::getFontFamilyForCharacters):
        * platform/graphics/blackberry/skia/PlatformSupport.cpp:
        (WebCore):
        * platform/graphics/blackberry/skia/PlatformSupport.h:
        (PlatformSupport):
        * platform/graphics/chromium/FontCacheAndroid.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/graphics/chromium/FontCacheChromiumLinux.cpp: Added.
        (WebCore):
        (WebCore::FontCache::getFontFamilyForCharacters):
        * platform/graphics/skia/FontCacheSkia.cpp:
        (WebCore::FontCache::getFontDataForCharacters):

2012-09-21  Chris Fleizach  <cfleizach@apple.com>

        AX: WebKit exposes incorrect bounds for embedded SVG in HTML
        https://bugs.webkit.org/show_bug.cgi?id=96168

        Reviewed by Eric Seidel.

        Override absoluteFocusRingQuads() for SVG objects because the default
        implementation relies on addFocusRingRects(). In addFocusRingRects(), SVG 
        objects adds local positions for its rects instead of absolute positions.

        Test: accessibility/svg-bounds.html

        * rendering/RenderObject.h:
        (RenderObject):
        * rendering/svg/RenderSVGModelObject.cpp:
        (WebCore):
        (WebCore::RenderSVGModelObject::absoluteFocusRingQuads):
        * rendering/svg/RenderSVGModelObject.h:
        (RenderSVGModelObject):

2012-09-21  Lianghui Chen  <liachen@rim.com>

        [BlackBerry] Really fix bug 95488 that user can get the authentication challenge dialog while the other tab has focus.
        https://bugs.webkit.org/show_bug.cgi?id=97348
        Internal PR: 186597.

        Internally reviewed by Yong Li, Joe Mason.
        Reviewed by Yong Li.

        Add a singleton AuthenticationChallengeManager to manage authentication
        challenge dialog. It does following things:
        Record page creation/deletion, so it knows what page is present or not.
        Record page visibility change so it knows when to display a dialog or not.
        Accept authentication challenge, and decide whether to postpone the
            challenge dialog based on whether there is active authentication challenge
            dialog already and whether its page is visible or not.
        When a challenge result comes back, notify the result to all clients
            authenticating for the same protection space, and then start the next
            authentication challenge from the same page, if there is one.
        When a page becomes visible, start the first authentication challenge
            dialog that has been blocked before.

        And to support this new AuthenticationChallengeManager, and making the
            challenge really asynchronous, NetworkJob has been updated to support
            the concept of "freeze", which means buffering all network loading status
            change but don't send them to NetworkJob clients.
        This is necessary when authentication challenge is asynchronous, as the
            previous network loading status will likely come before user make any
            decision.

        No new tests for platform specific internal change.

        * PlatformBlackBerry.cmake:
        * platform/blackberry/AuthenticationChallengeManager.cpp: Added.
        (WebCore):
        (ChallengeInfo):
        (WebCore::ChallengeInfo::ChallengeInfo):
        (AuthenticationChallengeManagerPrivate):
        (WebCore::AuthenticationChallengeManagerPrivate::AuthenticationChallengeManagerPrivate):
        (WebCore::AuthenticationChallengeManagerPrivate::resumeAuthenticationChallenge):
        (WebCore::AuthenticationChallengeManagerPrivate::startAuthenticationChallenge):
        (WebCore::AuthenticationChallengeManagerPrivate::pageExists):
        (WebCore::AuthenticationChallengeManager::AuthenticationChallengeManager):
        (WebCore::AuthenticationChallengeManager::pageCreated):
        (WebCore::AuthenticationChallengeManager::pageDeleted):
        (WebCore::AuthenticationChallengeManager::pageVisibilityChanged):
        (WebCore::AuthenticationChallengeManager::authenticationChallenge):
        (WebCore::AuthenticationChallengeManager::cancelAuthenticationChallenge):
        (WebCore::AuthenticationChallengeManager::notifyChallengeResult):
        (WebCore::AuthenticationChallengeManager::instance):
        (WebCore::AuthenticationChallengeManager::init):
        * platform/blackberry/AuthenticationChallengeManager.h:
        (WebCore):
        (AuthenticationChallengeManager):
        * platform/blackberry/PageClientBlackBerry.h:
        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
        (WebCore::MediaPlayerPrivate::notifyChallengeResult):
        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
        (MediaPlayerPrivate):
        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::NetworkJob):
        (WebCore::NetworkJob::~NetworkJob):
        (WebCore):
        (WebCore::NetworkJob::handleNotifyStatusReceived):
        (WebCore::NetworkJob::handleNotifyClose):
        (WebCore::NetworkJob::sendRequestWithCredentials):
        (WebCore::NetworkJob::notifyChallengeResult):
        * platform/network/blackberry/NetworkJob.h:
        (NetworkJob):

2012-09-21  Simon Hausmann  <simon.hausmann@digia.com>

        Unreviewed, rolling out r129248.
        http://trac.webkit.org/changeset/129248
        https://bugs.webkit.org/show_bug.cgi?id=96000

        Broke win build

        * Target.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * rendering/RenderingAllInOne.cpp:

2012-09-21  Simon Hausmann  <simon.hausmann@nokia.com>

        Make RenderingAllInOne.cpp usable for ports other than Apple/Win
        https://bugs.webkit.org/show_bug.cgi?id=96000

        Reviewed by Ryosuke Niwa.

        RenderingAllInOne.cpp unconditionally includes RenderThemeWin. This patch separates
        it out from the file.

        * Target.pri: Add RenderingAllInOne.cpp to the list of supported all-in-one files.
        * WebCore.vcproj/WebCore.vcproj: Compile RenderThemeWin.cpp separately.
        * rendering/RenderingAllInOne.cpp: Don't include RenderThemeWin.cpp here.

2012-09-21  Joanmarie Diggs  <jdiggs@igalia.com>

        REGRESSION (r127882): accessibility/spinbutton-value.html failing on GTK
        https://bugs.webkit.org/show_bug.cgi?id=96196

        Reviewed by Martin Robinson.

        The "regression" is that a new test was added but the support was missing
        in the Gtk port for spin buttons.

        No new tests. Instead the new test which had been skipped was unskipped
        as part of this fix.

        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
        (atkRole): Map SpinButtonRole to ATK_ROLE_SPIN_BUTTON
        (getInterfaceMaskFromObject): Add SpinButtonRole to the roles implementing
        the AtkValue interface.

2012-09-21  Joanmarie Diggs  <jdiggs@igalia.com>

        [GTK] [Stable] Infinite recursion in WebCore::AXObjectCache::getOrCreate
        https://bugs.webkit.org/show_bug.cgi?id=96932

        Reviewed by Martin Robinson.

        Make the decision based on RenderObjects rather than AccessibilityObjects
        to avoid the infinite recursion which occurs when remapAriaRoleDueToParent
        gets called.

        Test: platform/gtk/accessibility/remapped-aria-crash.html

        * accessibility/gtk/AccessibilityObjectAtk.cpp:
        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):

2012-09-21  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>

        [BlackBerry] HTML5 media does not handle SSL certificate failures
        https://bugs.webkit.org/show_bug.cgi?id=93324

        Reviewed by Eric Carlson.

        RIM PR: 116205
        Passed FrameLoaderClientBlackBerry's playerId to MMRPlayer::load()
        because MMRPlayer::load() added playerId as a new parameter, which
        is required to initiate a MediaSSLHandlerStream to deal with
        certificate failure when loading a "https" media url.

        Internally reviewed by Joe Mason <jmason@rim.com>.

        No new tests since there's no functional change.

        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
        (WebCore::MediaPlayerPrivate::load):

2012-09-21  Evan Wallace  <evan.exe@gmail.com>

        [WebSocket] Receiving a large message is really slow
        https://bugs.webkit.org/show_bug.cgi?id=97237

        Reviewed by Alexey Proskuryakov.

        WebSocketChannel always reallocates its internal buffer when it receives
        and appends new data which causes dramatic slowdowns for messages over
        2 MB in size. This patch changes the internal buffer of WebSocketChannel
        from a raw char array to a Vector<char> and uses its amortized append()
        method. This brings the time to receive a 5 MB message from 5.2 seconds
        to 0.25 seconds.

        This patch is only for optimization. No new tests are needed.

        * Modules/websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::WebSocketChannel):
        (WebCore::WebSocketChannel::~WebSocketChannel):
        (WebCore::WebSocketChannel::fail):
        (WebCore::WebSocketChannel::resume):
        (WebCore::WebSocketChannel::didReceiveSocketStreamData):
        (WebCore::WebSocketChannel::appendToBuffer):
        (WebCore::WebSocketChannel::skipBuffer):
        (WebCore::WebSocketChannel::processBuffer):
        (WebCore::WebSocketChannel::resumeTimerFired):
        (WebCore::WebSocketChannel::processFrame):
        * Modules/websockets/WebSocketChannel.h:

2012-09-21  Andrey Adaikin  <aandrey@chromium.org>

        Fix build with ENABLE_WEBGL=false
        https://bugs.webkit.org/show_bug.cgi?id=97309

        Reviewed by Eric Seidel.

        WebKit no longer builds when WEBGL is not enabled.

        * rendering/FilterEffectRenderer.h:
        (FilterEffectRenderer):

2012-09-21  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>

        [BlackBerry] Media player won't resize for the following source when first source fail to load
        https://bugs.webkit.org/show_bug.cgi?id=97342

        Reviewed by Yong Li.

        As platformPlayer will notify MediaPlayerPrivate for size change
        when loading metadata failed (in this case hasVideo() is false),
        we should prevent MediaPlayerPrivate to set width and height
        attribute of media element, otherwise we won't get the correct
        dimension for the following media sources.

        Internally reviewed by Max Feil.

        Test case: media/video-size.html

        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
        (WebCore::MediaPlayerPrivate::resizeSourceDimensions):

2012-09-21  Dan Bernstein  <mitz@apple.com>

        REGRESSION (r126763): Incorrect line breaking when both kerning and word spacing are enabled
        https://bugs.webkit.org/show_bug.cgi?id=97280

        Reviewed by Adele Peterson.

        Font::width() never applies word spacing to the first character in the TextRun. The
        TextLayout optimization tried to achieve this behavior by not applying word spacing to
        any character, which led to this bug.

        Test: fast/text/word-space-with-kerning-2.html

        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::TextLayout::TextLayout): Changed to use the given font rather than a version
        without word spacing.
        (WebCore::TextLayout::width): Added a check if the run starts with a space at a non-zero
        offset. If that is the case, then the ComplexTextController has added word spacing to that
        space, so subtract it here in order to maintain the behavior described above.

2012-09-21  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r129219.
        http://trac.webkit.org/changeset/129219
        https://bugs.webkit.org/show_bug.cgi?id=97338

        Presumably broke Apple Mac compilation (Requested by yurys_ on
        #webkit).

        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        (WebCore::JSHTMLCanvasElement::getContext):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::V8HTMLCanvasElement::getContextCallback):
        * inspector/InjectedScriptCanvasModule.cpp:
        (WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
        (WebCore):
        * inspector/InjectedScriptCanvasModule.h:
        (InjectedScriptCanvasModule):
        * inspector/InspectorCanvasAgent.cpp:
        * inspector/InspectorCanvasAgent.h:
        * inspector/InspectorCanvasInstrumentation.h:
        * inspector/InspectorInstrumentation.h:
        (InspectorInstrumentation):

2012-09-21  Andrey Adaikin  <aandrey@chromium.org>

        Web Inspector: [Canvas] support 2D canvas instrumentation from the inspector C++ code
        https://bugs.webkit.org/show_bug.cgi?id=97203

        Reviewed by Yury Semikhatsky.

        Implements wrapping a 2D canvas context through the injected canvas module script facility.

        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        (WebCore::JSHTMLCanvasElement::getContext):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::V8HTMLCanvasElement::getContextCallback):
        * inspector/InjectedScriptCanvasModule.cpp:
        (WebCore::InjectedScriptCanvasModule::wrapCanvas2DContext):
        (WebCore):
        (WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
        (WebCore::InjectedScriptCanvasModule::callWrapContextFunction):
        * inspector/InjectedScriptCanvasModule.h:
        (InjectedScriptCanvasModule):
        * inspector/InspectorCanvasAgent.cpp:
        (WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
        (WebCore):
        * inspector/InspectorCanvasAgent.h:
        (InspectorCanvasAgent):
        * inspector/InspectorCanvasInstrumentation.h:
        (WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
        (WebCore):
        * inspector/InspectorInstrumentation.h:
        (InspectorInstrumentation):

2012-09-20  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [refactoring] simplify interface to FileOutputStream
        https://bugs.webkit.org/show_bug.cgi?id=97226

        Reviewed by Yury Semikhatsky.

        - change OutputStream interface to match that of stream;
        - fix OutputStream implementations (FileOutputStream and those in heap profiler);
        - fix usages in Timeline and HeapProfiler.

        * inspector/front-end/FileUtils.js:
        (WebInspector.OutputStream.prototype.write):
        (WebInspector.OutputStream.prototype.close):
        (WebInspector.ChunkedFileReader.prototype.start):
        (WebInspector.ChunkedFileReader.prototype._onChunkLoaded):
        (WebInspector.ChunkedXHRReader.prototype.start):
        (WebInspector.ChunkedXHRReader.prototype._onProgress):
        (WebInspector.ChunkedXHRReader.prototype._onLoad):
        (WebInspector.FileOutputStream):
        (WebInspector.FileOutputStream.prototype.open.callbackWrapper):
        (WebInspector.FileOutputStream.prototype.open):
        (WebInspector.FileOutputStream.prototype.write):
        (WebInspector.FileOutputStream.prototype.close):
        (WebInspector.FileOutputStream.prototype._onAppendDone):
        * inspector/front-end/HeapSnapshotLoader.js:
        (WebInspector.HeapSnapshotLoader.prototype.close):
        (WebInspector.HeapSnapshotLoader.prototype.write):
        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotLoaderProxy.prototype.startTransfer):
        (WebInspector.HeapSnapshotLoaderProxy.prototype.write):
        (WebInspector.HeapSnapshotLoaderProxy.prototype.close):
        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapProfileHeader):
        (WebInspector.HeapProfileHeader.prototype.load):
        (WebInspector.HeapProfileHeader.prototype._setupWorker):
        (WebInspector.HeapProfileHeader.prototype.dispose):
        (WebInspector.HeapProfileHeader.prototype.transferChunk.callback):
        (WebInspector.HeapProfileHeader.prototype.transferChunk):
        (WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot):
        (WebInspector.HeapProfileHeader.prototype.saveToFile.onOpen):
        (WebInspector.HeapProfileHeader.prototype.saveToFile):
        * inspector/front-end/TimelineModel.js:
        (WebInspector.TimelineModel.prototype._createFileWriter):
        (WebInspector.TimelineModel.prototype.saveToFile.callback):
        (WebInspector.TimelineModel.prototype.saveToFile):
        (WebInspector.TimelineModelLoader):
        (WebInspector.TimelineModelLoader.prototype.write):
        (WebInspector.TimelineModelLoader.prototype.close):
        (WebInspector.TimelineSaver):
        (WebInspector.TimelineSaver.prototype.save):
        (WebInspector.TimelineSaver.prototype._writeNextChunk):

2012-09-21  Alexandru Chiculita  <achicu@adobe.com>

        -webkit-clip-path is applied on elements that are not descendant of the container
        https://bugs.webkit.org/show_bug.cgi?id=97217

        Reviewed by Dirk Schulze.

        The clip-path was set on the GraphicsContext, but was never restored, thus making all the layers
        rendered in the same "group" of save/restore state use the same clip-path.

        Test: css3/masking/clip-path-restore.html

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::collectMatchingRulesForList):
        clip-path property should create a stacking-context, otherwise the RenderLayers will not be nested,
        meaning that the clip-path of the parent is not going to apply correctly.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayerContents):

2012-09-21  Kent Tamura  <tkent@chromium.org>

        Remove unused functions of LocalizedDate.h
        https://bugs.webkit.org/show_bug.cgi?id=97311

        Reviewed by Kentaro Hara.

        WebCore::localizedTimeFormatText, WebCore::localizedShortTimeFormatText,
        and WebCore::timeAMPMLabels are not used any more because we switched to
        the corresponding functions of Localizer.

        No new tests because of no behavior changes.

        * platform/text/Localizer.h:
        (Localizer): Moved comments from LocalizedDate.h.
        * platform/text/LocalizedDate.h:
        (WebCore): Removed localizedTimeFormatText,
        localizedShortTimeFormatText, and timeAMPMLabels.
        * platform/text/LocalizedDateICU.cpp:
        (WebCore): ditto.
        * platform/text/LocalizedDateWin.cpp:
        (WebCore): ditto.
        * platform/text/mac/LocalizedDateMac.cpp:
        (WebCore): ditto.

2012-09-21  Keishi Hattori  <keishi@webkit.org>

        Add datalist suggestions into DateTimeChooserParameters
        https://bugs.webkit.org/show_bug.cgi?id=97292

        Reviewed by Kent Tamura.

        We read datalist suggestions, add them to DateTimeChooserParameters,
        and pass them to the page popup.

        No new tests. No behavior change yet.

        * html/shadow/CalendarPickerElement.cpp:
        (WebCore::CalendarPickerElement::openPopup): Read datalist suggestions and add them to DateTimeChooserParameters
        * platform/DateTimeChooser.h:
        (DateTimeChooserParameters): Added localizedSuggestionValues so we can show localized values inside the page popup.

2012-09-21  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] DateTimeEditElement::layout() should take date time format as a parameter
        https://bugs.webkit.org/show_bug.cgi?id=97300

        Reviewed by Kent Tamura.

        This patch introduces DateTimeEditElement::LayoutParameters struct for
        passing four parameters to DateTimeEditElement::layout() for passing
        date time format from client of DateTimeEditElement instead of
        DateTimeEditElement::layout() takes time or short time format.

        This patch is a part of preparation of introducing multiple fields
        date/datetime/month/week input UI.

        This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
        ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.

        No new tests. This patch doesn't change behavior.

        * html/TimeInputType.cpp:
        (WebCore::TimeInputType::updateInnerTextValue): Changed to use LayoutParmeters.
        * html/shadow/DateTimeEditElement.cpp:  Removed unused include files, LocalizedDate.h and LocalizedNumber.h.
        (DateTimeEditBuilder):
        (WebCore::DateTimeEditBuilder::DateTimeEditBuilder): Changed parameters to LayoutParmeters.
        (WebCore::DateTimeEditElement::LayoutParameters::shouldHaveSecondField): Moved from DateTimeEditBuilder::needSecondField().
        (WebCore::DateTimeEditElement::layout): Changed to take LayoutParameters.
        (WebCore::DateTimeEditElement::setValueAsDate): ditto
        (WebCore::DateTimeEditElement::setEmptyValue): ditto
        * html/shadow/DateTimeEditElement.h: Removed unused classe declarations DateComponents and DateTimeEditLayouter.
        (LayoutParameters):  Added to bundle parameters for layout().
        (WebCore::DateTimeEditElement::LayoutParameters::LayoutParameters): Added.

2012-09-20  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: render grid scale to the right / at bottom in case box is close to 0 on that axis.
        https://bugs.webkit.org/show_bug.cgi?id=97219

        Reviewed by Vsevolod Vlasov.

        Otherwise, it is hard to inspect objects close to (0, 0)

        * inspector/InspectorOverlayPage.html:

2012-09-21  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r129086.
        http://trac.webkit.org/changeset/129086
        https://bugs.webkit.org/show_bug.cgi?id=97312

        Broke input rendering (Requested by shinyak on #webkit).

        * html/BaseButtonInputType.cpp:
        (WebCore):
        * html/BaseButtonInputType.h:
        (WebCore::BaseButtonInputType::BaseButtonInputType):
        (BaseButtonInputType):
        * html/FileInputType.cpp:
        (WebCore::UploadButtonElement::create):
        (WebCore::UploadButtonElement::createForMultiple):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::parseAttribute):
        * html/InputType.cpp:
        * html/InputType.h:
        (InputType):
        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::RenderButton):
        (WebCore::RenderButton::styleDidChange):
        (WebCore::RenderButton::updateFromElement):
        (WebCore):
        (WebCore::RenderButton::setText):
        (WebCore::RenderButton::text):
        * rendering/RenderButton.h:
        (RenderButton):

2012-09-21  Kihong Kwon  <kihong.kwon@samsung.com>

        Remove useless class prototypes from Vibration.h
        https://bugs.webkit.org/show_bug.cgi?id=97304

        Reviewed by Kentaro Hara.

        Remove two useless class prototype statements in the Vibration.h

        * Modules/vibration/Vibration.h:

2012-09-21  Keishi Hattori  <keishi@webkit.org>

        Prepare CalendarPicker so we can add another picker, SuggetionPicker
        https://bugs.webkit.org/show_bug.cgi?id=97193

        Reviewed by Kent Tamura.

        Preparation so we can add another picker to CalendarPicker and switch
        between them.

        No new tests. No behavior change.

        * Resources/pagepopups/calendarPicker.css:
        (.calendar-picker): Added so we can apply these styles just to calendar picker.
        * Resources/pagepopups/calendarPicker.js:
        (CalendarPicker.validateConfig): Renamed so each picker can validate the config object.
        (initialize):
        (closePicker): Call Picker.cleanup().
        (openCalendarPicker):
        (CalendarPicker):
        (CalendarPicker.prototype.cleanup): Cleanup event listener on document.body.
        * Resources/pagepopups/pickerCommon.js:
        (Picker.prototype.cleanup):

2012-09-20  John Mellor  <johnme@chromium.org>

        Text Autosizing: Cluster text at flow roots, for consistency and to avoid autosizing headers/footers.
        https://bugs.webkit.org/show_bug.cgi?id=97025

        Reviewed by Julien Chaffraix.

        This patch has 3 main changes:

        1. All text within a "cluster" (roughly equivalent to a CSS flow root /
           block formatting context) must have a uniform textAutosizingMultiplier,
           except for subtrees which are themselves clusters. This improves the
           consistency of the final output, since sibling blocks are now more
           likely to have the same multiplier (hence grow in proportion).

        2. Clusters must contain a minimum amount of text in order to be
           autosized (4 lines of text, assuming each char is 1em wide, so about
           2 lines of text in practice). This is to reduce the likelihood of
           autosizing things like headers and footers, which can be quite
           visually distracting. The rationale is that if a cluster contains
           very few lines of text then it's ok to have to zoom in and pan from
           side to side to read each line, since if there are very few lines of
           text you'll only need to pan across once or twice.

        3. To avoid adding a 3rd tree traversal, processSubtree/processBox were
           refactored such that all of Text Autosizing now happens as a single
           tree traversal (hence halving the number of tree traversals done).

        Tests: fast/text-autosizing/cluster-narrow-in-wide.html
               fast/text-autosizing/cluster-wide-in-narrow.html
               fast/text-autosizing/clusters-insufficient-text.html
               fast/text-autosizing/clusters-insufficient-width.html
               fast/text-autosizing/clusters-sufficient-text-except-in-root.html
               fast/text-autosizing/clusters-sufficient-width.html

        * rendering/TextAutosizer.cpp:
        (TextAutosizingWindowInfo):

            Added this struct to bundle together the various sizes that
            processSubtree needs to pass to every recursive call to
            processCluster and processContainer.

        (WebCore::TextAutosizer::processSubtree):

            - Bundle windowSize and minLayoutSize together as a single struct,
              TextAutosizingWindowInfo, rather than passing them separately.
            - Walk up the tree to find the current cluster and container, rather
              than (incorrectly) assuming that the layoutRoot is always a
              container.
            - Call processCluster instead of traversing the tree.

        (WebCore::TextAutosizer::processCluster):

            Calculates the multiplier based on the width of the cluster (moved
            the calculation here from processBox, since now the multiplier is
            fixed per cluster), and delegates to processContainer for the actual
            tree traversal (since clusters are also containers).

        (WebCore::contentHeightIsConstrained):

            Changed parameter to RenderBlock.

        (WebCore::TextAutosizer::processContainer):

            This now takes care of the whole tree traversal, recursively calling
            processCluster/processContainer when it encounters such an object,
            and setMultiplier on RenderText objects (as processBox used to).
            Also added a check that the RenderText's multiplier is not already
            equal to the target multiplier (to save needlessly setting it).

        (WebCore::TextAutosizer::isContainer):

            - Changed to be a positive (is) instead of negative (isNot) check.
            - Require objects to be RenderBlocks so it's easier to find them
              using containingBlock, and there don't seem to be many interesting
              RenderBoxes that aren't RenderBlocks.

        (WebCore::TextAutosizer::isAutosizingCluster):

            A container that is also a flow root / block formatting context
            (approximately), hence demarcates an independent region of the page,
            within which we want consistent autosizing.

        (WebCore::TextAutosizer::clusterShouldBeAutosized):

            Uses measureDescendantTextWidth and to check whether the cluster
            contains enough text to be worth autosizing.

        (WebCore::TextAutosizer::measureDescendantTextWidth):

            Recursively traverse the cluster, skipping constrained height
            containers as processContainer does, to measure how much autosizable
            text it contains. Early out as soon as the minimum text width is
            reached.

        (WebCore::TextAutosizer::nextInPreOrderSkippingDescendantsOfContainers):

            Replaces nextInPreOrderMatchingFilter. The filter is now fixed to
            isContainer (we no longer need an isAutosizingCluster filter, since
            I consolidated the tree traversal), and filtered objects are
            actually returned (so they can in turn be recursively traversed),
            it's just their descendants that get skipped.

        * rendering/TextAutosizer.h:
        (TextAutosizer):

            - Deleted RenderObjectFilterFunctor, since the filter of
              nextInPreOrderSkippingDescendantsOfContainers is now fixed.

2012-09-20  Yoshifumi Inoue  <yosin@chromium.org>

        [Platform] There are memory leak in LocaleICU
        https://bugs.webkit.org/show_bug.cgi?id=97289

        Reviewed by Kent Tamura.

        This patch adds udt_close() calls for medium time format and short
        time format data used in LocaleICU class to avoid memory leak.

        This memory leak is found by external tool Valgrind and reported in
        Chromium bug repositry(http://crbug.com/151006) with stack trace of
        call path of leaked memory.

        This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
        ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.

        No new tests. External tool such as Valgrind will check this memory leak.

        * platform/text/LocaleICU.cpp:
        (WebCore::LocaleICU::~LocaleICU): Added to call udt_close() for m_mediumTimeFormat
        and m_shortTimeFormat which have UDateFormat objects.

2012-09-20  Kenichi Ishibashi  <bashi@chromium.org>

        Chromium mac cannot display AppleColorEmoji
        https://bugs.webkit.org/show_bug.cgi?id=97286

        Reviewed by Kent Tamura.

        Disable AppleColorEmoji for now. We will re-enable it after Skia supports CTFontDrawGlyphs().

        No new tests. Fallback fonts should be used for emoji codepoints.

        * platform/graphics/mac/FontCacheMac.mm:
        (WebCore::FontCache::getFontDataForCharacters):

2012-09-20  Luke Macpherson   <macpherson@chromium.org>

        Fix use-after free when using a variable to specify a -webkit-filter.
        https://bugs.webkit.org/show_bug.cgi?id=97153

        Reviewed by Abhishek Arya.

        Make StyleResolver's m_pendingSVGDocuments a hashmap of RefPtr instead of raw pointers such that the document values cannot be freed prematurely.
        Present assumption is that storing raw pointers is ok because CSSValues will live as long as the StyleResolver instance, however that it no longer
        true when variables are used, so we must ensure we increment the reference counter to ensure the CSSValues are not freed prematurely.

        Test: fast/css/variables/var-filter.html

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::collectMatchingRulesForList):
        * css/StyleResolver.h:
        (StyleResolver):

2012-09-20  Levi Weintraub  <leviw@chromium.org>

        Prevent reading stale data from InlineTextBoxes
        https://bugs.webkit.org/show_bug.cgi?id=94750

        Reviewed by Abhishek Arya.

        Text from dirty InlineTextBoxes should never be read or used. This change
        enforces this design goal by forcefully zero-ing out the start and length
        of InlineTextBoxes when they're being marked dirty. Ideally, we'd also
        add asserts to the accessors for this data, but there are still several
        places in editing that cause this. https://bugs.webkit.org/show_bug.cgi?id=97264
        tracks these cases.

        This change involves making markDirty virtual. Running the line-layout
        performance test as well as profiling resizing the html5 spec showed
        negligable impact with this change.

        No new tests as this doesn't change any proper behavior.

        * dom/Position.cpp:
        (WebCore::Position::downstream): Adding a FIXME.
        * rendering/InlineBox.h:
        (WebCore::InlineBox::markDirty): Marking virtual to allow InlineTextBox to
        overload and zero out its start and length.
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::markDirty): Zeroing out the start and length when
        we mark the box dirty.
        * rendering/InlineTextBox.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::setTextWithOffset): Adding a FIXME.

2012-09-20  Adam Barth  <abarth@webkit.org>

        Measure how often web pages use Worker and SharedWorker
        https://bugs.webkit.org/show_bug.cgi?id=97273

        Reviewed by Ojan Vafai.

        We're not considering removing these features, but it will give us a
        baseline idea of how often they're used.

        * page/FeatureObserver.h:
        * workers/SharedWorker.cpp:
        (WebCore::SharedWorker::create):
        * workers/Worker.cpp:
        (WebCore::Worker::create):

2012-09-20  Tony Chang  <tony@chromium.org>

        [chromium] Enable more clang warnings
        https://bugs.webkit.org/show_bug.cgi?id=97257

        Reviewed by James Robinson.

        Add -Wunused-parameter to WebCore targets. Apple's Mac compile already
        warns on this and it's a common source of error for Chromium patches.

        No new tests, should compile cleanly.

        * WebCore.gyp/WebCore.gyp:

2012-09-20  Dan Bernstein  <mitz@apple.com>

        Kerning never occurs between a space and the following glyph
        https://bugs.webkit.org/show_bug.cgi?id=97269

        Reviewed by Tim Horton.

        Covered by several existing tests.

        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Changed to not reset the advance
        of a space, and added a comment about how this also needs to be fixed for other characters
        that are treated as spaces.

2012-09-20  Kenichi Ishibashi  <bashi@chromium.org>

        [Chromium] Improve glyph selection of HarfBuzzShaper
        https://bugs.webkit.org/show_bug.cgi?id=97164

        Reviewed by Tony Chang.

        Take into account clusters for selection.

        Test: fast/text/international/hebrew-selection.html

        * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
        (WebCore::HarfBuzzShaper::HarfBuzzRun::applyShapeResult): Removed m_logClusters.
        m_logCluster is no longer used.
        (WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition):
        - If targetX is in the left side of the first cluster, return the leftmost character index.
        - If targetX is in the right side of the last cluster, return the rightmost character index.
        - If targetX is between the right side of the cluster N and the left side of the cluster N+1, then:
          - return N+1 for LTR.
          - return N for RTL.
        (WebCore::HarfBuzzShaper::HarfBuzzRun::xPositionForOffset):
        Find the cluster of index in question, then:
        - return the left side boundary of the cluster for LTR.
        - return the right side boundary of the cluster for RTL.
        * platform/graphics/harfbuzz/ng/HarfBuzzShaper.h:
        (HarfBuzzRun):

2012-09-20  Tony Chang  <tony@chromium.org>

        Replace RenderListBox::updateLogicalHeight with RenderListBox::computeLogicalHeight
        https://bugs.webkit.org/show_bug.cgi?id=97263

        Reviewed by Ojan Vafai.

        This is part of making computeLogicalHeight virtual so with any RenderBox pointer, one
        can compute the logical height without mutating the RenderBox.

        No new tests, this is a refactor and existing list box tests should pass.

        * rendering/RenderBox.h:
        (RenderBox):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::layout): Move layout related logic here.
        (WebCore::RenderListBox::computeLogicalHeight): Use const version and remove layout related code.
        * rendering/RenderListBox.h:
        (RenderListBox): Override computeLogicalHeight.

2012-09-20  Mike West  <mkwst@chromium.org>

        CSP reports should send an empty "blocked-uri" rather than nothing.
        https://bugs.webkit.org/show_bug.cgi?id=97256

        Reviewed by Adam Barth.

        In cases where a Content Security Policy violation report is generated
        without blocking a resource at a particular URI (inline scripts, for
        example), we currently leave the "blocked-uri" attribute out of the
        report entirely. For the same reason that we included the "referrer"
        attribute in webkit.org/b/97233, we should include an explicitly empty
        "blocked-uri" in these cases.

        This new behavior is covered by updates to existing test expectations
        around the reporting functionality.

        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::reportViolation):
            If the 'blocked-uri' is invalid, add a "blocked-uri" attribute that
            is explicitly empty.

2012-09-20  Patrick Gansterer  <paroga@webkit.org>

        Add String::numberToFixedPrecisionString()
        https://bugs.webkit.org/show_bug.cgi?id=96330

        Reviewed by Benjamin Poulain.

        * platform/text/TextStream.cpp:
        (WebCore::TextStream::operator<<): Use the new function instead of String::number() with flags.

2012-09-20  Adam Klein  <adamk@chromium.org>

        Rename ContainerNode::parserAddChild "parserAppendChild" for consistency
        https://bugs.webkit.org/show_bug.cgi?id=97254

        Reviewed by Adam Barth.

        No functional change, all the below changes are simple renames.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::takeAllChildrenFrom):
        (WebCore::ContainerNode::parserAppendChild):
        * dom/ContainerNode.h:
        (ContainerNode):
        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):
        * editing/markup.cpp:
        (WebCore::createFragmentForTransformToFragment):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createContainingTable):
        (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
        (WebCore::HTMLViewSourceDocument::addLine):
        (WebCore::HTMLViewSourceDocument::finishLine):
        (WebCore::HTMLViewSourceDocument::addText):
        (WebCore::HTMLViewSourceDocument::addBase):
        (WebCore::HTMLViewSourceDocument::addLink):
        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::executeTask):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
        * html/track/WebVTTParser.cpp:
        (WebCore::WebVTTParser::constructTreeFromToken):
        * xml/XMLErrors.cpp:
        (WebCore::createXHTMLParserErrorHeader):
        (WebCore::XMLErrors::insertErrorMessageBlock):
        * xml/parser/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::enterText):
        (WebCore::XMLDocumentParser::parseDocumentFragment):
        * xml/parser/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::startElementNs):
        (WebCore::XMLDocumentParser::processingInstruction):
        (WebCore::XMLDocumentParser::cdataBlock):
        (WebCore::XMLDocumentParser::comment):
        (WebCore::XMLDocumentParser::internalSubset):
        * xml/parser/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::parseStartElement):
        (WebCore::XMLDocumentParser::parseProcessingInstruction):
        (WebCore::XMLDocumentParser::parseCdata):
        (WebCore::XMLDocumentParser::parseComment):
        (WebCore::XMLDocumentParser::parseDtd):
        * xml/parser/XMLTreeBuilder.cpp:
        (WebCore::XMLTreeBuilder::processDOCTYPE):
        (WebCore::XMLTreeBuilder::processStartTag):
        (WebCore::XMLTreeBuilder::add):

2012-09-20  James Robinson  <jamesr@chromium.org>

        [chromium] Remove unused copy of chromium compositor implementation files
        https://bugs.webkit.org/show_bug.cgi?id=97255

        Reviewed by Adam Barth.

        Now that use_libcc_for_compositor is set to 1 these files aren't used anywhere.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/chromium/support/CCThreadImpl.cpp: Removed.
        * platform/chromium/support/CCThreadImpl.h: Removed.
        * platform/chromium/support/WebCompositorImpl.cpp: Removed.
        * platform/chromium/support/WebCompositorImpl.h: Removed.
        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: Removed.
        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h: Removed.
        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp: Removed.
        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h: Removed.
        * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
        (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
        (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
        * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp: Removed.
        * platform/graphics/chromium/CanvasLayerTextureUpdater.h: Removed.
        * platform/graphics/chromium/ContentLayerChromium.cpp: Removed.
        * platform/graphics/chromium/ContentLayerChromium.h: Removed.
        * platform/graphics/chromium/ContentLayerChromiumClient.h: Removed.
        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp: Removed.
        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h: Removed.
        * platform/graphics/chromium/GeometryBinding.cpp: Removed.
        * platform/graphics/chromium/GeometryBinding.h: Removed.
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        * platform/graphics/chromium/HeadsUpDisplayLayerChromium.cpp: Removed.
        * platform/graphics/chromium/HeadsUpDisplayLayerChromium.h: Removed.
        * platform/graphics/chromium/IOSurfaceLayerChromium.cpp: Removed.
        * platform/graphics/chromium/IOSurfaceLayerChromium.h: Removed.
        * platform/graphics/chromium/ImageLayerChromium.cpp: Removed.
        * platform/graphics/chromium/ImageLayerChromium.h: Removed.
        * platform/graphics/chromium/LayerChromium.cpp: Removed.
        * platform/graphics/chromium/LayerChromium.h: Removed.
        * platform/graphics/chromium/LayerTextureSubImage.cpp: Removed.
        * platform/graphics/chromium/LayerTextureSubImage.h: Removed.
        * platform/graphics/chromium/LayerTextureUpdater.h: Removed.
        * platform/graphics/chromium/PlatformColor.h: Removed.
        * platform/graphics/chromium/ProgramBinding.cpp: Removed.
        * platform/graphics/chromium/ProgramBinding.h: Removed.
        * platform/graphics/chromium/RateLimiter.cpp: Removed.
        * platform/graphics/chromium/RateLimiter.h: Removed.
        * platform/graphics/chromium/RenderSurfaceChromium.cpp: Removed.
        * platform/graphics/chromium/RenderSurfaceChromium.h: Removed.
        * platform/graphics/chromium/ScrollbarLayerChromium.cpp: Removed.
        * platform/graphics/chromium/ScrollbarLayerChromium.h: Removed.
        * platform/graphics/chromium/ShaderChromium.cpp: Removed.
        * platform/graphics/chromium/ShaderChromium.h: Removed.
        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp: Removed.
        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h: Removed.
        * platform/graphics/chromium/SolidColorLayerChromium.cpp: Removed.
        * platform/graphics/chromium/SolidColorLayerChromium.h: Removed.
        * platform/graphics/chromium/TextureCopier.cpp: Removed.
        * platform/graphics/chromium/TextureCopier.h: Removed.
        * platform/graphics/chromium/TextureLayerChromium.cpp: Removed.
        * platform/graphics/chromium/TextureLayerChromium.h: Removed.
        * platform/graphics/chromium/TextureLayerChromiumClient.h: Removed.
        * platform/graphics/chromium/ThrottledTextureUploader.cpp: Removed.
        * platform/graphics/chromium/ThrottledTextureUploader.h: Removed.
        * platform/graphics/chromium/TiledLayerChromium.cpp: Removed.
        * platform/graphics/chromium/TiledLayerChromium.h: Removed.
        * platform/graphics/chromium/TreeSynchronizer.cpp: Removed.
        * platform/graphics/chromium/TreeSynchronizer.h: Removed.
        * platform/graphics/chromium/UnthrottledTextureUploader.h: Removed.
        * platform/graphics/chromium/VideoLayerChromium.cpp: Removed.
        * platform/graphics/chromium/VideoLayerChromium.h: Removed.
        * platform/graphics/chromium/cc/CCActiveAnimation.cpp: Removed.
        * platform/graphics/chromium/cc/CCActiveAnimation.h: Removed.
        * platform/graphics/chromium/cc/CCAnimationCurve.cpp: Removed.
        * platform/graphics/chromium/cc/CCAnimationCurve.h: Removed.
        * platform/graphics/chromium/cc/CCAnimationEvents.h: Removed.
        * platform/graphics/chromium/cc/CCAppendQuadsData.h: Removed.
        * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.cpp: Removed.
        * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.h: Removed.
        * platform/graphics/chromium/cc/CCCompletionEvent.h: Removed.
        * platform/graphics/chromium/cc/CCDamageTracker.cpp: Removed.
        * platform/graphics/chromium/cc/CCDamageTracker.h: Removed.
        * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.cpp: Removed.
        * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.h: Removed.
        * platform/graphics/chromium/cc/CCDebugRectHistory.cpp: Removed.
        * platform/graphics/chromium/cc/CCDebugRectHistory.h: Removed.
        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp: Removed.
        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h: Removed.
        * platform/graphics/chromium/cc/CCDirectRenderer.cpp: Removed.
        * platform/graphics/chromium/cc/CCDirectRenderer.h: Removed.
        * platform/graphics/chromium/cc/CCDrawQuad.cpp: Removed.
        * platform/graphics/chromium/cc/CCDrawQuad.h: Removed.
        * platform/graphics/chromium/cc/CCFontAtlas.cpp: Removed.
        * platform/graphics/chromium/cc/CCFontAtlas.h: Removed.
        * platform/graphics/chromium/cc/CCFrameRateController.cpp: Removed.
        * platform/graphics/chromium/cc/CCFrameRateController.h: Removed.
        * platform/graphics/chromium/cc/CCFrameRateCounter.cpp: Removed.
        * platform/graphics/chromium/cc/CCFrameRateCounter.h: Removed.
        * platform/graphics/chromium/cc/CCGraphicsContext.h: Removed.
        * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp: Removed.
        * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h: Removed.
        * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.cpp: Removed.
        * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.h: Removed.
        * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp: Removed.
        * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.h: Removed.
        * platform/graphics/chromium/cc/CCInputHandler.h: Removed.
        * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp: Removed.
        * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h: Removed.
        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp: Removed.
        * platform/graphics/chromium/cc/CCLayerAnimationController.h: Removed.
        * platform/graphics/chromium/cc/CCLayerImpl.cpp: Removed.
        * platform/graphics/chromium/cc/CCLayerImpl.h: Removed.
        * platform/graphics/chromium/cc/CCLayerIterator.cpp: Removed.
        * platform/graphics/chromium/cc/CCLayerIterator.h: Removed.
        * platform/graphics/chromium/cc/CCLayerQuad.cpp: Removed.
        * platform/graphics/chromium/cc/CCLayerQuad.h: Removed.
        * platform/graphics/chromium/cc/CCLayerSorter.cpp: Removed.
        * platform/graphics/chromium/cc/CCLayerSorter.h: Removed.
        * platform/graphics/chromium/cc/CCLayerTilingData.cpp: Removed.
        * platform/graphics/chromium/cc/CCLayerTilingData.h: Removed.
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: Removed.
        * platform/graphics/chromium/cc/CCLayerTreeHost.h: Removed.
        * platform/graphics/chromium/cc/CCLayerTreeHostClient.h: Removed.
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: Removed.
        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h: Removed.
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: Removed.
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: Removed.
        * platform/graphics/chromium/cc/CCMathUtil.cpp: Removed.
        * platform/graphics/chromium/cc/CCMathUtil.h: Removed.
        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Removed.
        * platform/graphics/chromium/cc/CCOcclusionTracker.h: Removed.
        * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp: Removed.
        * platform/graphics/chromium/cc/CCOverdrawMetrics.h: Removed.
        * platform/graphics/chromium/cc/CCPageScaleAnimation.cpp: Removed.
        * platform/graphics/chromium/cc/CCPageScaleAnimation.h: Removed.
        * platform/graphics/chromium/cc/CCPrioritizedTexture.cpp: Removed.
        * platform/graphics/chromium/cc/CCPrioritizedTexture.h: Removed.
        * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp: Removed.
        * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h: Removed.
        * platform/graphics/chromium/cc/CCPriorityCalculator.cpp: Removed.
        * platform/graphics/chromium/cc/CCPriorityCalculator.h: Removed.
        * platform/graphics/chromium/cc/CCProxy.cpp: Removed.
        * platform/graphics/chromium/cc/CCProxy.h: Removed.
        * platform/graphics/chromium/cc/CCQuadCuller.cpp: Removed.
        * platform/graphics/chromium/cc/CCQuadCuller.h: Removed.
        * platform/graphics/chromium/cc/CCQuadSink.h: Removed.
        * platform/graphics/chromium/cc/CCRenderPass.cpp: Removed.
        * platform/graphics/chromium/cc/CCRenderPass.h: Removed.
        * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp: Removed.
        * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h: Removed.
        * platform/graphics/chromium/cc/CCRenderPassSink.h: Removed.
        * platform/graphics/chromium/cc/CCRenderSurface.cpp: Removed.
        * platform/graphics/chromium/cc/CCRenderSurface.h: Removed.
        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp: Removed.
        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.h: Removed.
        * platform/graphics/chromium/cc/CCRenderer.h: Removed.
        * platform/graphics/chromium/cc/CCRendererGL.cpp: Removed.
        * platform/graphics/chromium/cc/CCRendererGL.h: Removed.
        * platform/graphics/chromium/cc/CCRenderingStats.h: Removed.
        * platform/graphics/chromium/cc/CCResourceProvider.cpp: Removed.
        * platform/graphics/chromium/cc/CCResourceProvider.h: Removed.
        * platform/graphics/chromium/cc/CCScheduler.cpp: Removed.
        * platform/graphics/chromium/cc/CCScheduler.h: Removed.
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Removed.
        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Removed.
        * platform/graphics/chromium/cc/CCScopedTexture.cpp: Removed.
        * platform/graphics/chromium/cc/CCScopedTexture.h: Removed.
        * platform/graphics/chromium/cc/CCScopedThreadProxy.h: Removed.
        * platform/graphics/chromium/cc/CCScrollbarAnimationController.cpp: Removed.
        * platform/graphics/chromium/cc/CCScrollbarAnimationController.h: Removed.
        * platform/graphics/chromium/cc/CCScrollbarAnimationControllerLinearFade.cpp: Removed.
        * platform/graphics/chromium/cc/CCScrollbarAnimationControllerLinearFade.h: Removed.
        * platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.cpp: Removed.
        * platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h: Removed.
        * platform/graphics/chromium/cc/CCScrollbarGeometryStub.cpp: Removed.
        * platform/graphics/chromium/cc/CCScrollbarGeometryStub.h: Removed.
        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp: Removed.
        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h: Removed.
        * platform/graphics/chromium/cc/CCSettings.cpp: Removed.
        * platform/graphics/chromium/cc/CCSettings.h: Removed.
        * platform/graphics/chromium/cc/CCSharedQuadState.cpp: Removed.
        * platform/graphics/chromium/cc/CCSharedQuadState.h: Removed.
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: Removed.
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h: Removed.
        * platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp: Removed.
        * platform/graphics/chromium/cc/CCSolidColorDrawQuad.h: Removed.
        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp: Removed.
        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h: Removed.
        * platform/graphics/chromium/cc/CCStreamVideoDrawQuad.cpp: Removed.
        * platform/graphics/chromium/cc/CCStreamVideoDrawQuad.h: Removed.
        * platform/graphics/chromium/cc/CCTexture.cpp: Removed.
        * platform/graphics/chromium/cc/CCTexture.h: Removed.
        * platform/graphics/chromium/cc/CCTextureDrawQuad.cpp: Removed.
        * platform/graphics/chromium/cc/CCTextureDrawQuad.h: Removed.
        * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp: Removed.
        * platform/graphics/chromium/cc/CCTextureLayerImpl.h: Removed.
        * platform/graphics/chromium/cc/CCTextureUpdateController.cpp: Removed.
        * platform/graphics/chromium/cc/CCTextureUpdateController.h: Removed.
        * platform/graphics/chromium/cc/CCTextureUpdateQueue.cpp: Removed.
        * platform/graphics/chromium/cc/CCTextureUpdateQueue.h: Removed.
        * platform/graphics/chromium/cc/CCThread.h: Removed.
        * platform/graphics/chromium/cc/CCThreadProxy.cpp: Removed.
        * platform/graphics/chromium/cc/CCThreadProxy.h: Removed.
        * platform/graphics/chromium/cc/CCThreadTask.h: Removed.
        * platform/graphics/chromium/cc/CCTileDrawQuad.cpp: Removed.
        * platform/graphics/chromium/cc/CCTileDrawQuad.h: Removed.
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Removed.
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Removed.
        * platform/graphics/chromium/cc/CCTimeSource.h: Removed.
        * platform/graphics/chromium/cc/CCTimer.cpp: Removed.
        * platform/graphics/chromium/cc/CCTimer.h: Removed.
        * platform/graphics/chromium/cc/CCTimingFunction.cpp: Removed.
        * platform/graphics/chromium/cc/CCTimingFunction.h: Removed.
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: Removed.
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h: Removed.
        * platform/graphics/chromium/cc/CCYUVVideoDrawQuad.cpp: Removed.
        * platform/graphics/chromium/cc/CCYUVVideoDrawQuad.h: Removed.

2012-09-20  Tony Chang  <tony@chromium.org>

        Implement absolutely positioned flex items
        https://bugs.webkit.org/show_bug.cgi?id=93798

        Reviewed by Ojan Vafai.

        Previously, we treated absolutely positioned flex items as a 0x0 placeholder element.
        Now we position the 0x0 placeholder where the next item would go. This causes the
        following changes:
        - justify-content: space-{around,between} no longer change due to the existence of absolutely positioned flex items.
        - alignment doesn't change the placement of absolutely positioned flex items.
        - auto margins in the alignment direction don't do anything on absolutely positioned flex items.

        Test: css3/flexbox/position-absolute-children.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::availableAlignmentSpaceForChild): Absolutely positioned flex items should not use this.
        (WebCore::RenderFlexibleBox::updateAutoMarginsInCrossAxis): Absolutely positioned flex items should not use this.
        (WebCore::initialJustifyContentOffset): If there are no flex items, space-around should center an absolutely positioned flex item.
        (WebCore::RenderFlexibleBox::numberOfInFlowPositionedChildren): Helper method for helping to compute space-between and space-around.
        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Fix spacing when space-between or space-around.
        (WebCore::RenderFlexibleBox::layoutColumnReverse): Fix spacing when space-between or space-around.
        (WebCore::RenderFlexibleBox::alignChildren): Treat absolutely positioned children like flex-start.
        * rendering/RenderFlexibleBox.h: numberOfInFlowPositionedChildren method.

2012-09-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r129144.
        http://trac.webkit.org/changeset/129144
        https://bugs.webkit.org/show_bug.cgi?id=97244

        causing lots of assertions in tests (Requested by smfr on
        #webkit).

        * rendering/InlineBox.h:
        (WebCore::InlineBox::markDirty):
        * rendering/InlineTextBox.cpp:
        * rendering/InlineTextBox.h:
        (WebCore::InlineTextBox::start):
        (WebCore::InlineTextBox::end):
        (WebCore::InlineTextBox::len):
        (WebCore::InlineTextBox::offsetRun):

2012-09-20  Mike West  <mkwst@chromium.org>

        CSP reports should send an empty 'referrer' rather than nothing.
        https://bugs.webkit.org/show_bug.cgi?id=97233

        Reviewed by Adam Barth.

        Currently, if a protected resource doesn't have a referrer, then any
        Content Security Policy violations send a report that doesn't contain
        a referrer attribute. It's arguably friendlier to developers to include
        an explicitly empty attribute.

        This new behavior is covered by updates to existing test expectations
        around the reporting functionality.

        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::reportViolation):
            Drop the 'if', and always write out a referrer.

2012-09-20  David Barton  <dbarton@mathscribe.com>

        [MathML] Increase visual space around fraction parts, italic variables, and operators
        https://bugs.webkit.org/show_bug.cgi?id=97228

        Reviewed by Eric Seidel.

        This makes MathML more readable, and more in agreement with Firefox and TeX.

        Tested by existing tests.

        * css/mathml.css:
        (mfrac > :first-child):
        (mfrac > :last-child):
        (mfrac):
        (mi):
        (msub > mi:first-child, msubsup > mi:first-child):
            - Subscripts don't need to move right after an italic <mi>.
        (msubsup > mi:first-child + * + *):
            - Superscripts do need to move right after an italic <mi>.
        (math > mo, mrow > mo, msqrt > mo, mtd > mo):
            - These are ok values for now. It will be better to use different values for different operators, as the FIXME says.
        (math > mo:last-child, mrow > mo:last-child, msqrt > mo:last-child, mtd > mo:last-child):
            - Prefix and postfix operators, including fences, generally get less spacing than infix operators.
        
        * rendering/mathml/RenderMathMLFenced.cpp:
        (WebCore::RenderMathMLFenced::createMathMLOperator):
            - Usually the separator is a comma or semicolon, so we only put space after it for now.
        (WebCore::RenderMathMLFenced::makeFences):
        (WebCore::RenderMathMLFenced::addChild):
        (WebCore::RenderMathMLFenced::styleDidChange):
        * rendering/mathml/RenderMathMLFenced.h:
        (RenderMathMLFenced):
        
        * rendering/mathml/RenderMathMLFraction.cpp:
        (WebCore):
        (WebCore::RenderMathMLFraction::updateFromElement):
            - gDenominatorPad is now handled by mathml.css.
        
        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore):
        (WebCore::RenderMathMLSubSup::fixScriptsStyle):
            - gSubsupScriptMargin is now handled by mathml.css.

2012-09-20  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Extend UserMediaRequest with a ownerDocument method
        https://bugs.webkit.org/show_bug.cgi?id=97095

        Reviewed by Adam Barth.

        Chromium need to know exactly which frame called getUserMedia so that it can
        clean away the stream when the frame goes away.
        Since that information is available in webkit add an accessor method.

        Chromium mock class extended to test the added method.

        * Modules/mediastream/UserMediaRequest.cpp:
        (WebCore::UserMediaRequest::ownerDocument):
        (WebCore):
        * Modules/mediastream/UserMediaRequest.h:
        (WebCore):
        (UserMediaRequest):

2012-09-20  Levi Weintraub  <leviw@chromium.org>

        Prevent reading stale data from InlineTextBoxes
        https://bugs.webkit.org/show_bug.cgi?id=94750

        Reviewed by Eric Seidel.

        Text from dirty InlineTextBoxes should never be read or used. This change enforces this
        design goal by forcefully zero-ing out the start and length of InlineTextBoxes when 
        they're being marked dirty. It also adds asserts to accessors for those members.

        This change involves making markDirty virtual. Running the line-layout performance test
        as well as profiling resizing the html5 spec showed negligable impact with this change.

        No new tests as this doesn't change any proper behavior.

        * rendering/InlineBox.h:
        (WebCore::InlineBox::markDirty): Making virtual to allow InlineTextBox to overload and
        zero out its start and length.
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::markDirty): Zeroing out start and length when we mark the box dirty.
        * rendering/InlineTextBox.h:
        (WebCore::InlineTextBox::start): Adding an assert when we hit this case.
        (WebCore::InlineTextBox::end): Ditto.
        (WebCore::InlineTextBox::len): Ditto.
        (WebCore::InlineTextBox::offsetRun): Ditto.

2012-09-20  Mike West  <mkwst@chromium.org>

        Support paths in Content Security Policy directives.
        https://bugs.webkit.org/show_bug.cgi?id=89750

        Reviewed by Adam Barth.

        In CSP 1.0, paths are simply ignored: 'script-src
        http://example.com/path/to/a/file' would allow script to be loaded from
        http://example.com/path/to/a/file/javascript.js, but also from
        http://example.com/javascript.js.

        This patch is an experimental implementation of more granular path
        support in CSP source lists as proposed in the current editor's draft of
        CSP 1.1. Paths are treated as specifying directories in which resources
        can be found, and are implicitly terminated with a '/': in other words,
        'script-src http://a.com/path' is the same as
        'script-src http://a.com/path/'. Moreover, paths cannot contain either
        '?' or '#' characters.

        This is implemented outside the CSP_NEXT flag. All ports will be
        effected.

        Spec: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#matching

        Tests: http/tests/security/contentSecurityPolicy/source-list-parsing-paths-01.html
               http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02.html

        * page/ContentSecurityPolicy.cpp:
        (WebCore::CSPSource::CSPSource):
            Store a path along with each CSP source.
        (WebCore::CSPSource::matches):
            Check the path when comparing a URL to the source.
        (WebCore::CSPSource::pathMatches):
            Compare the URL-decoded version of the resource to validate against
            the source's stored path. If the resource's path begins with the
            stored path, then it matches! If not, it doesn't.
        (CSPSource):
            Store a path along with each CSP source.
        (WebCore::CSPSourceList::parse):
            Pass a 'path' in when creating CSPSource objects.
        (WebCore::CSPSourceList::parsePath):
            Actually parse the path, flagging errors if '?' or '#' are present,
            URL-decoding the result, and ensuring that a terminal '/' is
            added if necessary.
        (WebCore::CSPSourceList::addSourceSelf):
            Ensure that 'self' sources have an empty path.
        * page/ContentSecurityPolicy.h:
            Dropping the "ignored path component" console warning.

2012-09-20  Joanmarie Diggs  <jdiggs@igalia.com>

        [GTK] ControlsPanel string is not localized in LocalizedStringsGtk
        https://bugs.webkit.org/show_bug.cgi?id=96502

        Reviewed by Chris Fleizach.

        Adds the ControlsPanel string to the strings localized in LocalizedStringsGtk.

        Test: platform/gtk/accessibility/media-controls-panel-title.html

        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::localizedMediaControlElementString):

2012-09-20  Julien Chaffraix  <jchaffraix@webkit.org>

        Remove isStartColumn in the border collapsing code
        https://bugs.webkit.org/show_bug.cgi?id=97024

        Reviewed by Abhishek Arya.

        isStartColumn is embedding the same information as prevCell. As we need to compute it
        in most of the cases, we may as well just reuse them.

        While touching this code, I cleaned up the code by removing some unneeded checks and renaming
        some variables in preparation for bug 79272.

        Refactoring covered by existing collapsing borders tests.

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::computeCollapsedStartBorder):
        Removed |isStartColumn|.

        (WebCore::RenderTableCell::computeCollapsedEndBorder):
        Added a comment about why |isEndColumn| is needed. Also cleaned up this code to be
        consistent with computeCollapsedStartBorder.

2012-09-20  Andrey Adaikin  <aandrey@chromium.org>

        Web Inspector: setPropertyValue does not work for non-finite numbers
        https://bugs.webkit.org/show_bug.cgi?id=97016

        Reviewed by Vsevolod Vlasov.

        Fix: setting a property to NaN, Infinity or -Infinity numbers did not work.

        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject.prototype.setPropertyValue):

2012-09-20  Otto Derek Cheung  <otcheung@rim.com>

        Web Inspector: Cookie info in Network Resources Cookies tab are incorrect
        https://bugs.webkit.org/show_bug.cgi?id=95491

        Reviewed by Vsevolod Vlasov.

        Web Inspector: Cookie info in Network Resources Cookies tab are incorrect
        https://bugs.webkit.org/show_bug.cgi?id=95491

        Fixing a typo that causes cookies to appear as a "Session"
        cookie in the Networking panel because it can never find a properly named
        "expired" header.

        This bug exposes another bug where the cookie GMT strings are inproperly
        parsed, causing an "invalid date" error to show up in the cookies tab in 
        the Networking panel.

        Also changed test expectations in LayoutTests/inspector/cookie-parser-expected.txt

        * inspector/front-end/CookieParser.js:
        (WebInspector.Cookie.prototype.get session):

2012-09-20  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Elements] Word wrap disablement in the DOM tree broken
        https://bugs.webkit.org/show_bug.cgi?id=97185

        Reviewed by Pavel Feldman.

        Restored the effective "white-space: nowrap" for the tree elements.

        * inspector/front-end/inspector.css:
        (.nowrap):

2012-09-20  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        [TouchAdjustment] Simplify and improve hybrid distance function.
        https://bugs.webkit.org/show_bug.cgi?id=96519

        Reviewed by Antonio Gomes.

        The current distance function is a combination of two functions. One measuring the distance from
        the hot-spot in the touch-area to the centerline of the target, and one measuring how much of the
        target is covered.

        The distance to the center-line was used instead of just the distance to the target, to make it
        easier to hit small targets near big targets. The very same feature is however also the reason
        measuring how much the target is covered is added. Using the distance to center-line is therefore
        redundant now, and can be replaced with the simpler 'distance the hot-spot needs to be adjusted'.

        Tested by existing touchadjustment tests.

        * page/TouchAdjustment.cpp:
        (TouchAdjustment):
        (WebCore::TouchAdjustment::hybridDistanceFunction):
        * platform/graphics/IntRect.cpp:
        * platform/graphics/IntRect.h:
        (IntRect):

2012-09-20  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] HTMLSelectElement should call formStateDidChange on both menulist and lisbox mode
        https://bugs.webkit.org/show_bug.cgi?id=97177

        Reviewed by Kent Tamura.

        This patch makes listbox mode select element to call formStateDidChange()
        when selected options are changed.

        For this change, this patch moves notifyFormStateChanged() to
        HTMLFormControlElementWithState class from HTMLTextFormControlElement
        for sharing code HTMLSelectElement class and HTMLInputElement/HTMLTextAreaElement
        derived from HTMLTextFormControlElement.

        No new tests. We can't test this change in WebKit test tools. Test script
        will be implemented in Chromium side.

        * html/HTMLFormControlElementWithState.cpp:
        (WebCore::HTMLFormControlElementWithState::notifyFormStateChanged):
        (WebCore):
        * html/HTMLFormControlElementWithState.h: Moved a declaration of notifyFormStateChanged() from HTMLTextFormControlElement.
        (HTMLFormControlElementWithState): Moved an implemented of notifyFormStateChanged() from HTMLTextFormControlElement.
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::selectOption): Changed to call notifyFormStateChanged() instead of formStateDidChange().
        (WebCore::HTMLSelectElement::updateListBoxSelection): Changed to call notifyFormStateChanged().
        * html/HTMLTextFormControlElement.cpp: Moved an implemented of notifyFormStateChanged() to HTMLFormControlElementWithState class.
        * html/HTMLTextFormControlElement.h: Moved a declaration of notifyFormStateChanged() to HTMLFormControlElementWithState class.

2012-09-20  Keishi Hattori  <keishi@webkit.org>

        REGRESSION(r127727): Can't navigate between months with arrow keys in calendar picker
        https://bugs.webkit.org/show_bug.cgi?id=97166

        Reviewed by Kent Tamura.

        Fixing bug in r127727 so arrow keys work properly.

        Test: fast/forms/date/calendar-picker-key-operations.html

        * Resources/pagepopups/calendarPicker.js:
        (DaysTable.prototype._maybeSetPreviousMonth):
        (DaysTable.prototype._maybeSetNextMonth):

2012-09-18  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Use and process the actual ScriptId in the protocol EventListener object
        https://bugs.webkit.org/show_bug.cgi?id=93271

        Reviewed by Yury Semikhatsky.

        - Use the actual script identifier in the "location" object's "scriptId" field
          for the DOM.EventListener protocol type, but send the script URL in the new "sourceName" field.
        - Use 0-based lines in the "location" object's "lineNumber" field for linkifyRawLocation() to work correctly.
        - Fixed formatting of links to listener locations to contain "(program)" rather than empty string.

        * bindings/js/ScriptEventListener.cpp:
        (WebCore::eventListenerHandlerLocation):
        * bindings/js/ScriptEventListener.h:
        (WebCore):
        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::eventListenerHandlerLocation):
        * bindings/v8/ScriptEventListener.h:
        (WebCore):
        * inspector/Inspector.json:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
        * inspector/front-end/BreakpointsSidebarPane.js:
        * inspector/front-end/EventListenersSidebarPane.js:
        * inspector/front-end/Linkifier.js:
        (WebInspector.Linkifier.DefaultFormatter.prototype.formatLiveAnchor):
        * inspector/front-end/ResourceUtils.js:
        (WebInspector.formatLinkText): Use "(program)" if URL is empty.

2012-09-19  Dan Bernstein  <mitz@apple.com>

        WebCore part of adding a setting and API for disabling screen font substitution
        https://bugs.webkit.org/show_bug.cgi?id=97168

        Reviewed by Tim Horton.

        * WebCore.exp.in: Added an entry for Settings::setScreenFontSubstitutionEnabled.
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::collectMatchingRulesForList): Changed to use printer fonts if
        screen font substitution is not enabled.
        * page/Settings.cpp:
        (WebCore::Settings::Settings): Added initializer for new m_screenFontSubstitutionEnabled
        member variable. The initial value is true, matching existing behavior.
        (WebCore::Settings::setScreenFontSubstitutionEnabled): Added this setter, which updated the
        member variable and forces a style recalc in all pages using this Settings.
        * page/Settings.h:
        (Settings): Added m_screenFontSubstitutionEnabled boolean member variable.
        (WebCore::Settings::screenFontSubstitutionEnabled): Added this getter.

2012-09-19  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] multiple fields time input UI should call notifyFormStateChanged() when value of field is changed
        https://bugs.webkit.org/show_bug.cgi?id=97169

        Reviewed by Kent Tamura.

        This patch makes multiple fields time input UI calls notifyFormStateChanged()
        when field value is changed as other input types do.

        This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
        ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.

        No new tests. We can't test this change in WebKit test tools. Test script
        will be implemented in Chromium side.

        * html/TimeInputType.cpp:
        (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::editControlValueChanged):

2012-09-19  Keishi Hattori  <keishi@webkit.org>

        REGRESSION(r127727): Calendar picker focus ring should be hidden until key event
        https://bugs.webkit.org/show_bug.cgi?id=97165

        Reviewed by Kent Tamura.

        The regression was caused because NoFocusRing class was being removed
        from then main element inside resetMain().

        No new tests. Covered by calendar-picker-appearance.html.

        * Resources/pagepopups/calendarPicker.js:
        (initialize):
        (CalendarPicker):
        (CalendarPicker.prototype._layout):
        (DaysTable.prototype._handleKey):
        (CalendarPicker.prototype._handleBodyKeyDown):
        (CalendarPicker.prototype.maybeUpdateFocusStyle): Make this a method of CalendarPicker because we don't use it for other pickers.

2012-09-19  David Grogan  <dgrogan@chromium.org>

        IndexedDB: Print console warning about setVersion
        https://bugs.webkit.org/show_bug.cgi?id=96575

        Reviewed by Tony Chang.

        setVersion has been out of the spec for almost a year but there are
        still a lot of users.

        We show the warning once per database object as an approximation for
        once per page.

        No new tests, but 150-something rebaselines.

        * Modules/indexeddb/IDBDatabase.cpp:
        (WebCore::IDBDatabase::IDBDatabase):
        (WebCore::IDBDatabase::setVersion):
        * Modules/indexeddb/IDBDatabase.h:
        (IDBDatabase):

2012-09-19  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>

        [BlackBerry] Basic authentication challenge credentials for stored credentials again after restarting browser
        https://bugs.webkit.org/show_bug.cgi?id=96362

        Reviewed by Rob Buis.

        This patch enable reading credentials from the persistent credential storage
        when it is not private browsing mode and there is not a credential in the RAM
        for the requested resource.

        Since we don't load persistent stored credentials into RAM at the starting time,
        even we have saved the credentials at the last browsing, after restarting the browser,
        it will still challenge for credentials for the requesting resources.

        No new tests, it uses the original authentication tests. There is no way to
        clear all credentials or restarting browsers to test this feature.

        * platform/network/blackberry/CredentialBackingStore.cpp:
        (WebCore::CredentialBackingStore::getProtectionSpace):
        (WebCore):
        * platform/network/blackberry/CredentialBackingStore.h:
        (CredentialBackingStore):
        * platform/network/blackberry/NetworkManager.cpp:
        (WebCore::NetworkManager::startJob):

2012-09-19  Shinya Kawanaka  <shinyak@chromium.org>

        [Refactoring] ButtonInputType of <input> element should have innerElement to make <input> AuthorShadowDOM-ready
        https://bugs.webkit.org/show_bug.cgi?id=95939

        Reviewed by Dimitri Glazkov.

        We had 2 ways to show text in RenderButton. One is to use RenderButton::setText() and the other is to add renderer
        as a child of RenderButton. <input type="button"> used the former one, and <button> used the latter one.
        The former makes RenderButton a bit messy, and also prevents from making <input> AuthorShadowDOM ready.

        So we remove RenderButton::setText() and refactor <input type="button"> to use a Shadow DOM to show text.

        Since the text in <input type="button"> should create RenderTextFragment, we introduce TextForButtonInputType
        class. RenderText will allow us to select the inner text of <input>, but it should not.

        No new tests, existing tests should cover the change.

        * html/BaseButtonInputType.cpp:
        (TextForButtonInputType): Special Text node which creates RenderTextFragment.
        (WebCore):
        (WebCore::TextForButtonInputType::create):
        (WebCore::TextForButtonInputType::TextForButtonInputType):
        (WebCore::TextForButtonInputType::createRenderer):
        (WebCore::BaseButtonInputType::BaseButtonInputType):
        (WebCore::BaseButtonInputType::createShadowSubtree):
        (WebCore::BaseButtonInputType::destroyShadowSubtree):
        (WebCore::BaseButtonInputType::valueAttributeChanged): When a button value is changed, we reflect the value to
        the text node in ShadowDOM.
        * html/BaseButtonInputType.h:
        (BaseButtonInputType):
        * html/FileInputType.cpp:
        (WebCore::UploadButtonElement::create): Creates Shadow DOM subtree.
        (WebCore::UploadButtonElement::createForMultiple): Creates Shadow DOM subtree.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::parseAttribute):
        * html/InputType.cpp:
        (WebCore::InputType::valueAttributeChanged):
        (WebCore):
        * html/InputType.h:
        (InputType):
        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::RenderButton):
        (WebCore::RenderButton::styleDidChange): Removed unnecessary text related code.
        * rendering/RenderButton.h:
        (RenderButton):

2012-09-19  Jason Liu  <jason.liu@torchmobile.com.cn>

        [BlackBerry] Get infinite amount of requests after attempting re-authentication basic.
        https://bugs.webkit.org/show_bug.cgi?id=96994

        Reviewed by Rob Buis.

        We should remove the wrong credentials before calling sendRequestWithCredentials again.
        #PR 200226
        Reviewed internally by Jonathan Dong.

        No new tests. It is covered by ManualTests/blackberry/http-auth-challenge.html.


        * platform/network/blackberry/NetworkJob.cpp:
        (WebCore::NetworkJob::notifyAuthReceived):

2012-09-19  Adam Barth  <abarth@webkit.org>

        Remove Blob.webkitSlice
        https://bugs.webkit.org/show_bug.cgi?id=96715

        Reviewed by Darin Fisher.

        Based on these usage metrics, it appears that it is safe to remove
        Blob.webkitSlice. Folks that were previously calling webkitSlice should
        just call slice instead. They do the same thing.

        Ratio of Blob.webkitSlice calls to Blob.slice: 14.87%
        Ratio of Blob.webkitSlice calls to Document creation: 0.0053%

        * fileapi/Blob.cpp:
        (WebCore::Blob::slice):
        * fileapi/Blob.h:
        (Blob):
        * fileapi/Blob.idl:
        * fileapi/File.h:
        (File):
        * inspector/front-end/FileUtils.js:
        (WebInspector.ChunkedFileReader.prototype._loadChunk):

2012-09-19  Julien Chaffraix  <jchaffraix@webkit.org>

        The collapsing border code needs direction-aware border getters
        https://bugs.webkit.org/show_bug.cgi?id=96710

        Reviewed by Ojan Vafai.

        This refactoring is needed to extend our collapsing border support for mixed directionality
        at the table cell level (we currently wrongly ignore any direction below the row-group). For
        now, the new helpers are dumb and return exactly the old result but they will be made
        direction-aware in a follow-up change.

        Refactoring covered by existing tests.

        * rendering/RenderBox.h:
        (WebCore::RenderBox::hasSameDirectionAs):
        Added this helper function. For now, it's only used to compare against
        the table direction but we will reuse it to compare the current cell
        direction against the other table parts.

        * rendering/RenderTableCell.h:
        (WebCore::RenderTableCell::computeCollapsedStartBorder):
        (WebCore::RenderTableCell::computeCollapsedEndBorder):
        Transitioned those 2 functions to using the new direction-aware functions.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::tableStartBorderAdjoiningCell):
        (WebCore::RenderTable::tableEndBorderAdjoiningCell):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::firstRowCellAdjoiningTableStart):
        (WebCore::RenderTableSection::firstRowCellAdjoiningTableEnd):
        * rendering/RenderTableCell.h:
        (WebCore::RenderTableCell::borderAdjoiningTableStart):
        (WebCore::RenderTableCell::borderAdjoiningTableEnd):
        * rendering/RenderTableSection.h:
        (WebCore::RenderTableSection::borderAdjoiningTableStart):
        (WebCore::RenderTableSection::borderAdjoiningTableEnd):
        Updated those call sites to use RenderBox::hasSameDirectionAs.

        * rendering/RenderTableCell.h:
        (WebCore::RenderTableCell::borderAdjoiningNextCell):
        (WebCore::RenderTableCell::borderAdjoiningPreviousCell):
        * rendering/RenderTableCol.cpp:
        (WebCore::RenderTableCol::borderAdjoiningCellStartBorder):
        (WebCore::RenderTableCol::borderAdjoiningCellEndBorder):
        (WebCore::RenderTableCol::borderAdjoiningCellBefore):
        (WebCore::RenderTableCol::borderAdjoiningCellAfter):
        * rendering/RenderTableCol.h:
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::borderAdjoiningStartCell):
        (WebCore::RenderTableRow::borderAdjoiningEndCell):
        * rendering/RenderTableRow.h:
        (WebCore::RenderTableRow::borderAdjoiningTableStart):
        (WebCore::RenderTableRow::borderAdjoiningTableEnd):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::borderAdjoiningStartCell):
        (WebCore::RenderTableSection::borderAdjoiningEndCell):
        New direction-aware functions. Added some ASSERT to ensure
        we don't call them with the wrong parameters.

2012-09-19  Kentaro Hara  <haraken@chromium.org>

        [V8] ScriptController::compileAndRunScript() can crash
        https://bugs.webkit.org/show_bug.cgi?id=96567

        Reviewed by Adam Barth.

        See chromium bug: http://code.google.com/p/chromium/issues/detail?id=146776

        The root cause is that v8::PreCompile() can return 0 when the stack of
        V8's parser overflows (c.f. http://code.google.com/codesearch#OAMlx_jo-ck/src/v8/src/parser.cc&exact_package=chromium&q=kPreParseStackOverflow&type=cs&l=6021).

        This patch adds the 0 check to the caller side. Given that precompileScript()
        is just trying to speculatively precompile a script, it's OK to give up
        precompiling for such edge cases.

        Manually tested with the html generated by the following shell script:

          echo '<script language="JavaScript" type="text/javascript" src="asan-crash.js"></script>' > asan-crash.html
          echo 'if(wURLF.search("")>=0) {}' > asan-crash.js
          for i in `seq 14830`
          do
            echo 'else if(wURLF.search("")>=0) {}' >> asan-crash.js
          done

        I didn't add the test because '14380' depends on an environment
        and because we don't want to add a huge html test.

        * bindings/v8/ScriptSourceCode.cpp:
        (WebCore::ScriptSourceCode::precompileScript):

2012-09-19  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Pending call cleanup
        https://bugs.webkit.org/show_bug.cgi?id=96952

        Reviewed by Tony Chang.

        Replace RefPtr usage with OwnPtr for PendingXXXCalls (since they're never referenced twice)
        and replace queue of "second half open" calls with a single item.

        No new tests - no functional changes.

        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::create):
        (WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::create):
        (WebCore::IDBDatabaseBackendImpl::PendingDeleteCall::create):
        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::create):
        (WebCore::IDBDatabaseBackendImpl::setVersion):
        (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndAbortFired):
        (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
        (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
        (WebCore::IDBDatabaseBackendImpl::close):
        * Modules/indexeddb/IDBDatabaseBackendImpl.h:
        (IDBDatabaseBackendImpl):

2012-09-19  Kenichi Ishibashi  <bashi@chromium.org>

        [Chromium] Improve glyph positioning of HarfBuzzShaper
        https://bugs.webkit.org/show_bug.cgi?id=97093

        Reviewed by Tony Chang.

        For proper positioning, HarfBuzzShaper requires the positions(offsets and advance)
        of the previous glyph. This mean we need to shape all HarfBuzzRuns before glyph positioning.
        Collect and shape HarfBuzzRuns, then set positions of glyphs.

        No new tests. Tests that uses spacing for complex text (e.g. fast/text/atsui-negative-spacing-features.html)
        should close in the expectations. (not the identical, maybe there are subtle differences between
        harfbuzz old and harfbuzz ng)

        * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
        (WebCore::HarfBuzzShaper::HarfBuzzRun::applyShapeResult): Allocate m_offsets.
        (WebCore::HarfBuzzShaper::HarfBuzzRun::setGlyphAndPositions): Renamed and set offset too.
        (WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition):
        (WebCore::HarfBuzzShaper::shape): Call fillGlyphBuffer() if we need to fill glyphBuffer.
        (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Removed glyph positioning code.
        (WebCore::HarfBuzzShaper::setGlyphPositionsForHarfBuzzRun): Ditto.
        (WebCore::HarfBuzzShaper::fillGlyphBufferFromHarfBuzzRun): Added.
        (WebCore):
        (WebCore::HarfBuzzShaper::fillGlyphBuffer): Added.
        * platform/graphics/harfbuzz/ng/HarfBuzzShaper.h:
        (HarfBuzzRun):
        (WebCore::HarfBuzzShaper::HarfBuzzRun::offsets): Added.
        (WebCore::HarfBuzzShaper::HarfBuzzRun::glyphToCharacterIndexes): Added.
        (HarfBuzzShaper):

2012-09-19  James Simonsen  <simonjam@chromium.org>

        [Chromium] Disable resource load scheduling
        https://bugs.webkit.org/show_bug.cgi?id=97131

        Reviewed by Nate Chapin.

        We'll use Chrome's network stack for scheduling instead.

        No new tests.

        * loader/ResourceLoadScheduler.cpp:
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::preload):

2012-09-19  Dan Bernstein  <mitz@apple.com>

        When kerning is enabled, word spacing is doubly accounted for in RenderText::computePreferredLogicalWidths
        https://bugs.webkit.org/show_bug.cgi?id=97146

        Reviewed by Anders Carlsson.

        Test: fast/text/word-space-with-kerning.html

        * rendering/RenderText.cpp:
        (WebCore::RenderText::computePreferredLogicalWidths): When kerning is enabled, words are
        measured with their trailing space, if there is one, then the width of a space is subtracted.
        Changed that width, stored in the local variable wordTrailingSpaceWidth, to include the
        word spacing, since it is included in the result of widthFromCache().

2012-09-19  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Remove "current transaction" concept from backing store
        https://bugs.webkit.org/show_bug.cgi?id=96663

        Reviewed by Tony Chang.

        IndexedDB should allow multiple transactions to run in parallel within and
        across databases within an origin. As an initial step to enabling this, the
        backing store should not hold a "current transaction" - instead, operations
        should be done relative to a transaction managed by the database.

        No new tests - no functional changes.

        * Modules/indexeddb/IDBBackingStore.h:
        (IDBBackingStore):
        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
        (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
        (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
        (WebCore::IDBDatabaseBackendImpl::setIntVersionInternal):
        * Modules/indexeddb/IDBDatabaseBackendImpl.h:
        (IDBDatabaseBackendImpl):
        * Modules/indexeddb/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::openCursorInternal):
        (WebCore::IDBIndexBackendImpl::countInternal):
        (WebCore::IDBIndexBackendImpl::count):
        (WebCore::IDBIndexBackendImpl::getInternal):
        (WebCore::IDBIndexBackendImpl::getKeyInternal):
        (WebCore::IDBIndexBackendImpl::get):
        (WebCore::IDBIndexBackendImpl::getKey):
        * Modules/indexeddb/IDBIndexBackendImpl.h:
        (IDBIndexBackendImpl):
        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
        (WebCore::IDBLevelDBBackingStore::updateIDBDatabaseIntVersion):
        (WebCore::IDBLevelDBBackingStore::updateIDBDatabaseMetaData):
        (WebCore::IDBLevelDBBackingStore::createObjectStore):
        (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
        (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
        (WebCore):
        (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
        (WebCore::IDBLevelDBBackingStore::clearObjectStore):
        (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
        (WebCore::IDBLevelDBBackingStore::getKeyGeneratorCurrentNumber):
        (WebCore::IDBLevelDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
        (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
        (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
        (WebCore::IDBLevelDBBackingStore::createIndex):
        (WebCore::IDBLevelDBBackingStore::deleteIndex):
        (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
        (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord):
        (WebCore::IDBLevelDBBackingStore::findKeyInIndex):
        (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
        (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
        (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
        (WebCore::IDBLevelDBBackingStore::openObjectStoreKeyCursor):
        (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
        (WebCore::IDBLevelDBBackingStore::openIndexCursor):
        (WebCore::IDBLevelDBBackingStore::Transaction::Transaction):
        (WebCore::IDBLevelDBBackingStore::Transaction::begin):
        (WebCore::IDBLevelDBBackingStore::Transaction::commit):
        (WebCore::IDBLevelDBBackingStore::Transaction::rollback):
        * Modules/indexeddb/IDBLevelDBBackingStore.h:
        (IDBLevelDBBackingStore):
        (WebCore::IDBLevelDBBackingStore::Transaction::levelDBTransaction):
        (Transaction):
        (WebCore::IDBLevelDBBackingStore::Transaction::levelDBTransactionFrom):
        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::get):
        (WebCore::IDBObjectStoreBackendImpl::getInternal):
        (WebCore):
        (WebCore::makeIndexWriters):
        (WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
        (WebCore::IDBObjectStoreBackendImpl::putInternal):
        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
        (WebCore::IDBObjectStoreBackendImpl::clear):
        (WebCore::IDBObjectStoreBackendImpl::clearInternal):
        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
        (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
        (WebCore::IDBObjectStoreBackendImpl::count):
        (WebCore::IDBObjectStoreBackendImpl::countInternal):
        (WebCore::IDBObjectStoreBackendImpl::generateKey):
        (WebCore::IDBObjectStoreBackendImpl::updateKeyGenerator):
        * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
        (IDBObjectStoreBackendImpl):

2012-09-19  Terry Anderson  <tdanderson@chromium.org>

        [chromium] Store the contents scale factor in PlatformContextSkia on initialization
        https://bugs.webkit.org/show_bug.cgi?id=96137

        Reviewed by Stephen White.

        When the compositor creates a PlatformContextSkia, the scale on |canvas| will 
        be equal to the content scale factor (which, without pinch-to-zoom, will be
        the same as the device scale factor). Set this value as a member on PlatformContextSkia, 
        which will be used to correctly render glyphs when hinting is used and the device
        scale factor is not 1.

        Tests: added two new unit tests.

        * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
        (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::PlatformContextSkia):
        (WebCore::PlatformContextSkia::setupPaintCommon):
        * platform/graphics/skia/PlatformContextSkia.h:
        (PlatformContextSkia):
        (WebCore::PlatformContextSkia::setHintingScaleFactor):
        (WebCore::PlatformContextSkia::hintingScaleFactor):

2012-09-19  Kenichi Ishibashi  <bashi@chromium.org>

        [Chromium] HarfBuzzShaper should take into account combining characters
        https://bugs.webkit.org/show_bug.cgi?id=97069

        Reviewed by Tony Chang.

        When dividing a text run into HarfBuzzRuns, try to find suitable SimpleFontData for
        combining character sequence if there are one or more mark characters are followed.
        If there is no combined glyphs in the font, use fallback font for mark characters.

        No new tests.
        In platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html,
        U+0947 (devanagari vowel sign e) should be displayed.
        In fast/text/wide-zero-width-space.html, &eacute; and e&#0301; should look identical.

        * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
        (WebCore):
        (WebCore::fontDataForCombiningCharacterSequence): Added.
        (WebCore::HarfBuzzShaper::collectHarfBuzzRuns): See above description.

2012-09-19  Tony Chang  <tony@chromium.org>

        Remove RenderIFrame::updateLogicalHeight and RenderIFrame::updateLogicalWidth
        https://bugs.webkit.org/show_bug.cgi?id=97049

        Reviewed by Ojan Vafai.

        This is an incremental step in making updateLogicalHeight non-virtual so it's
        possible to call computeLogicalHeight on any RenderBox and get the right
        version of the function.

        The code in RenderIFrame::layout was calling flattenFrame(), which would
        query it's bounding box size.  Since we hadn't done a layout yet, the size
        is unknown.  The fix is to only call flattenFrame() after calling
        updateLogicalWidth and updateLogicalHeight. We can then fixup the size of
        the iframe.

        No new tests, existing tests in fast/frames/flattening should continue to pass.

        * rendering/RenderIFrame.cpp:
        (WebCore::RenderIFrame::layout):
        * rendering/RenderIFrame.h:
        (RenderIFrame):

2012-09-19  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Free up resources used by completed cursors earlier
        https://bugs.webkit.org/show_bug.cgi?id=97023

        Reviewed by Tony Chang.

        Prior to this patch, IDBCursor objects are kept around by their parent
        IDBTransaction until the transaction finishes. It's possible to release
        references to them earlier, when the cursor has been "run to the end",
        as no further events will fire and all calls to continue() etc should fail.

        This change tells the cursor it's done when "null" finally comes through in
        the IDBRequest, and the cursor then lets transaction know it can be
        forgotten.

        The added test doesn't distinguish the new behavior, but does exercise
        "finished" cursors and apparently we didn't have tests for these before.

        Test: storage/indexeddb/cursor-finished.html

        * Modules/indexeddb/IDBCursor.cpp:
        (WebCore::IDBCursor::close): Make idempotent; notify transaction.
        * Modules/indexeddb/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess): Tell cursor it's finished before releasing.
        * Modules/indexeddb/IDBTransaction.cpp:
        (WebCore::IDBTransaction::OpenCursorNotifier::~OpenCursorNotifier):
        (WebCore):
        (WebCore::IDBTransaction::OpenCursorNotifier::cursorFinished): New method for explicit notification.
        * Modules/indexeddb/IDBTransaction.h:
        (OpenCursorNotifier):

2012-09-19  David Grogan  <dgrogan@chromium.org>

        IndexedDB: fire upgradeneeded even without an explicit integer version
        https://bugs.webkit.org/show_bug.cgi?id=96444

        Reviewed by Tony Chang.

        Also of note:
        - New databases now get a default version of 1 instead of
        the empty string when they are opened.
        - We now allow databases with an integer version to revert to a string
        version by calling setVersion.

        Implementation detail: we store both an integer version and string
        version for a particular database. If both are set we give preference
        to the integer version and assume the db is on the integer track.

        Test: storage/indexeddb/intversion-two-opens-no-versions.html

        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
        (WebCore):
        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
        (WebCore::IDBDatabaseBackendImpl::setVersion):
        (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
        Now that this can be called even after an int version is set we have
        to make it revoke the int version.

        (WebCore::IDBDatabaseBackendImpl::openConnection):
        Nested ifs were getting deep, so refactor to return early instead.

        (WebCore::IDBDatabaseBackendImpl::deleteDatabase):
        (WebCore::IDBDatabaseBackendImpl::resetVersion):
        Now that an int version could have been set before setVersion was
        called we have to reset the int version on abort.

        * Modules/indexeddb/IDBDatabaseBackendImpl.h:
        (IDBDatabaseBackendImpl):
        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
        (WebCore::IDBLevelDBBackingStore::updateIDBDatabaseIntVersion):
        * Modules/indexeddb/IDBOpenDBRequest.cpp:
        0 is now a valid integer version to store to leveldb if an idb
        database is reverting to a string version.

        (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
        If the open request did not specify an integer version but
        upgradeneeded is called, it means the database was given the default
        version of 1.

2012-09-19  Dominic Mazzoni  <dmazzoni@google.com>

        AX: A few control types are returning the wrong answer for isReadOnly
        https://bugs.webkit.org/show_bug.cgi?id=96735

        Reviewed by Chris Fleizach.

        All input types should be read-only except ones that
        are text fields. The previous logic was marking things like
        checkboxes as not read-only.

        Tests: platform/chromium/accessibility/readonly.html
               platform/mac/accessibility/form-control-value-settable.html

        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::isReadOnly):

2012-09-19  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Remove unused PlatformSupport reference in V8GCController
        https://bugs.webkit.org/show_bug.cgi?id=97118

        Reviewed by Ryosuke Niwa.

        Part of a refactoring series. See tracking bug 82948.
        
        * bindings/v8/V8GCController.cpp:

2012-09-19  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Remove unused PlatformSupport reference in V8DOMWindowShell
        https://bugs.webkit.org/show_bug.cgi?id=97117

        Reviewed by Ryosuke Niwa.

        Part of a refactoring series. See tracking bug 82948.

        * bindings/v8/V8DOMWindowShell.cpp:

2012-09-19  Kentaro Hara  <haraken@chromium.org>

        [V8] Remove WorkerContextExecutionProxy::runScript()
        https://bugs.webkit.org/show_bug.cgi?id=97060

        Reviewed by Adam Barth.

        To kill WorkerContextExecutionProxy, this patch removes
        WorkerContextExecutionProxy::runScript() by replacing it
        with ScriptRunner::runCompiledScript().

        For the replacement, this patch moves TryCatch logic in
        runCompiledScript() to the caller side. The reason why
        we have to avoid nesting TryCatches is a V8 bug:
        http://code.google.com/p/v8/issues/detail?id=2166

        No tests. No change in behavior.

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::compileAndRunScript):
        * bindings/v8/ScriptRunner.cpp:
        (WebCore::ScriptRunner::runCompiledScript):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::evaluate):
        * bindings/v8/WorkerContextExecutionProxy.h:
        (WorkerContextExecutionProxy):

2012-09-19  Rob Buis  <rbuis@rim.com>

        [BlackBerry] Fix vertical positioning problem for 'X' in search field
        https://bugs.webkit.org/show_bug.cgi?id=97126

        Reviewed by Antonio Gomes.

        We have the same problem as described in bug 30245, so integrate that code.

        * platform/blackberry/RenderThemeBlackBerry.cpp:
        (WebCore::RenderThemeBlackBerry::convertToPaintingRect):
        (WebCore):
        (WebCore::RenderThemeBlackBerry::paintSearchFieldCancelButton):

2012-09-19  Rob Buis  <rbuis@rim.com>

        [BlackBerry] Remove custom painting code for searchCancel
        https://bugs.webkit.org/show_bug.cgi?id=97119

        Reviewed by Antonio Gomes.

        Remove the dynamic painting code for searchCancel, we use a png file now.

        * platform/graphics/blackberry/ImageBlackBerry.cpp:
        (WebCore::Image::loadPlatformResource):

2012-09-19  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Move notifyJSOutOfMemory out of PlatformSupport
        https://bugs.webkit.org/show_bug.cgi?id=97116

        Reviewed by Adam Barth.

        Part of a refactoring series. See tracking bug 82948.

        * bindings/v8/V8Binding.cpp:
        (WebCore::handleOutOfMemory):
        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::didExhaustMemoryAvailableForScript):
        (FrameLoaderClient):
        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-09-18  Dirk Schulze  <krit@webkit.org>

        Implement 'mask-type' for <mask>
        https://bugs.webkit.org/show_bug.cgi?id=97011

        Reviewed by Andreas Kling.

        The CSS Masking specification defines the presentation attribute 'mask-type' to
        switch between luminance and alpha masking. 'mask-type' just affects the SVG
        mask element. The luminance masking is the current behavior of of SVG masking.
        Alpha masking is simular to '-webkit-mask-image'.

        This patch implements this property and make it possible to switch between both
        masking modes. Since the default value is 'luminance', this does not break
        exisiting content which is tested with exisiting tests.

        http://dvcs.w3.org/hg/FXTF/raw-file/tip/masking/index.html#the-mask-type

        Tests: svg/css/mask-type.html
               svg/masking/mask-type-alpha-expected.svg
               svg/masking/mask-type-alpha.svg
               svg/masking/mask-type-luminance-expected.svg
               svg/masking/mask-type-luminance.svg
               svg/masking/mask-type-not-set-expected.svg
               svg/masking/mask-type-not-set.svg

        * css/CSSComputedStyleDeclaration.cpp: Add mask-type property.
        (WebCore):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore):
        (WebCore::CSSPrimitiveValue::operator EMaskType):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/SVGCSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        * css/SVGCSSPropertyNames.in: Add mask-type.
        * css/SVGCSSStyleSelector.cpp:
        (WebCore::StyleResolver::applySVGProperty):
        * css/SVGCSSValueKeywords.in:
        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::SVGRenderStyle::diff):
        * rendering/style/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::initialMaskType):
        (WebCore::SVGRenderStyle::setMaskType):
        (SVGRenderStyle):
        (WebCore::SVGRenderStyle::maskType):
        (WebCore::SVGRenderStyle::setBitDefaults):
        * rendering/style/SVGRenderStyleDefs.h:
        * rendering/svg/RenderSVGResourceMasker.cpp:

            Switch between the two masking modes according to the
            computed value of mask-type.

        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
        (WebCore::cssPropertyToTypeMap):
        * svg/svgattrs.in: Add the new attribute to the attribute list.

2012-09-19  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Remove unused popupsAllowed function from PlatformSupport
        https://bugs.webkit.org/show_bug.cgi?id=96521

        Reviewed by Eric Seidel.

        Part of a refactoring series. See tracking bug 82948.

        * bindings/v8/NPV8Object.cpp:
        (WebCore::v8ObjectToNPObject):
        (_NPN_Evaluate):
        (_NPN_GetProperty):
        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-09-19  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>

        [BlackBerry] Add function playerId() in class PageClientBlackBerry
        https://bugs.webkit.org/show_bug.cgi?id=97099

        Reviewed by Yong Li.

        Added function playerID() in class PageClientBlackBerry.

        Internally reviewed by Charles Wei.

        No new tests since there's no functional change.

        * platform/blackberry/PageClientBlackBerry.h:

2012-09-19  Raul Hudea  <rhudea@adobe.com>

        [CSSRegions][CSSOM] Make sure all Regions APIs are not visible if CSS_REGIONS is not defined
        https://bugs.webkit.org/show_bug.cgi?id=96300

        Reviewed by Yury Semikhatsky.

        All CSS Regions APIs should be exposed only if CSS_REGIONS is enabled

        No new tests because of no behavior changes.

        * css/StyleRule.cpp:
        (WebCore::StyleRuleBase::reportMemoryUsage): Fix compile without CSS_REGIONS enabled and added an ASSERT_NOT_REACHED as in other functions
        * dom/Element.cpp: Compile webkitRegionOverset only if CSS_REGIONS is enabled
        (WebCore):
        * dom/Element.h:
        * dom/Element.idl: Expose webkitRegionOverset only if CSS_REGIONS is enabled

2012-09-19  Patrick Gansterer  <paroga@webkit.org>

        Remove all usages of M_PI from WebCore
        https://bugs.webkit.org/show_bug.cgi?id=93109

        Reviewed by Dirk Schulze.

        <wtf/MathExtras.h> implements many functions dealing with M_PI.
        Use them in WebCore instead of duplicating the functionality.

        * platform/blackberry/PlatformTouchEventBlackBerry.cpp:
        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::setFilters):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::strokeArc):
        * platform/graphics/wx/FontPlatformDataWxMac.mm:
        * platform/mac/WebWindowAnimation.mm:
        (-[WebWindowScaleAnimation currentValue]):
        * platform/wx/wxcode/gdiplus/non-kerned-drawing.cpp:
        (DegToRad):
        (RadToDeg):

2012-09-10  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Network request headers text fallback has typo.
        https://bugs.webkit.org/show_bug.cgi?id=96280

        Reviewed by Pavel Feldman.

        * inspector/front-end/NetworkRequest.js:
        (WebInspector.NetworkRequest.prototype.get requestHeadersText):
        (WebInspector.NetworkRequest.prototype.get responseHeadersText):

2012-09-19  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>

        [BlackBerry] remove static_cast which will cause video crash
        https://bugs.webkit.org/show_bug.cgi?id=97070

        Reviewed by Antonio Gomes.

        Removed the static_cast to avoid layering violation which
        will cause a runtime crash.
        We won't create a real MediaPlayerPrivate object before we call
        MediaPlayer::load(), so if we use player()->implementation()
        before calling load() in some cases, it points to a
        NullMediaPlayerPrivate object. Here we should not use static_cast,
        instead we should use HTMLMediaElement::percentLoaded() to
        avoid layering violation as we don't have the buffering bug which
        the deleted comment refers to.

        Internally reviewed by Max Feil.

        Test case: media/video-size.html

        * platform/blackberry/RenderThemeBlackBerry.cpp:
        (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):

2012-09-19  Rick Byers  <rbyers@chromium.org>

        Do touch adjustment on GestureTapDown
        https://bugs.webkit.org/show_bug.cgi?id=96677

        Reviewed by Antonio Gomes.

        Do touch adjustment on GestureTapDown exactly as for GestureTap today.

        Test: touchadjustment/touch-links-active.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleGestureEvent):
        (WebCore::EventHandler::adjustGesturePosition):

2012-09-19  Vsevolod Vlasov  <vsevik@chromium.org>

        Unreviewed another follow up Apple Win build fix for r128992.

        * inspector/InspectorAllInOne.cpp:

2012-09-19  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] REGRESSION(r128907): it broke several WebKit2 API tests
        https://bugs.webkit.org/show_bug.cgi?id=97092

        Reviewed by Martin Robinson.

        Calling resizeLater() from the constructor of
        RedirectedXCompositeWindow can cause the callback to be called
        later by the main loop after the RedirectedXCompositeWindow object
        has been destroyed. Instead of calling resizeLater(), initialize
        the usable size to the given initial size.

        * platform/gtk/RedirectedXCompositeWindow.cpp:
        (WebCore::RedirectedXCompositeWindow::RedirectedXCompositeWindow):

2012-09-19  Vsevolod Vlasov  <vsevik@chromium.org>

        Unreviewed follow up Apple Win build fix for r128992.

        * inspector/InspectorAllInOne.cpp:

2012-09-19  Andrey Adaikin  <aandrey@chromium.org>

        Web Inspector: [WebGL] -> [Canvas] Rename WebGLAgent to CanvasAgent
        https://bugs.webkit.org/show_bug.cgi?id=96917

        Reviewed by Vsevolod Vlasov.

        Rename WebGLAgent* and WebGLInstrumentation* files to Canvas* as we will support both 2D and 3D/WebGL canvas instrumentation.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        * inspector/CodeGeneratorInspector.py:
        * inspector/InjectedScriptCanvasModule.cpp: Renamed from Source/WebCore/inspector/InjectedScriptWebGLModule.cpp.
        (WebCore):
        (WebCore::InjectedScriptCanvasModule::InjectedScriptCanvasModule):
        (WebCore::InjectedScriptCanvasModule::moduleForState):
        (WebCore::InjectedScriptCanvasModule::source):
        (WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
        (WebCore::InjectedScriptCanvasModule::captureFrame):
        (WebCore::InjectedScriptCanvasModule::dropTraceLog):
        (WebCore::InjectedScriptCanvasModule::traceLog):
        (WebCore::InjectedScriptCanvasModule::replayTraceLog):
        * inspector/InjectedScriptCanvasModule.h: Renamed from Source/WebCore/inspector/InjectedScriptWebGLModule.h.
        (WebCore):
        (InjectedScriptCanvasModule):
        * inspector/InjectedScriptCanvasModuleSource.js: Renamed from Source/WebCore/inspector/InjectedScriptWebGLModuleSource.js.
        (.):
        * inspector/Inspector.json:
        * inspector/InspectorAllInOne.cpp:
        * inspector/InspectorCanvasAgent.cpp: Renamed from Source/WebCore/inspector/InspectorWebGLAgent.cpp.
        (WebCore):
        (CanvasAgentState):
        (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
        (WebCore::InspectorCanvasAgent::~InspectorCanvasAgent):
        (WebCore::InspectorCanvasAgent::setFrontend):
        (WebCore::InspectorCanvasAgent::clearFrontend):
        (WebCore::InspectorCanvasAgent::restore):
        (WebCore::InspectorCanvasAgent::enable):
        (WebCore::InspectorCanvasAgent::disable):
        (WebCore::InspectorCanvasAgent::dropTraceLog):
        (WebCore::InspectorCanvasAgent::captureFrame):
        (WebCore::InspectorCanvasAgent::getTraceLog):
        (WebCore::InspectorCanvasAgent::replayTraceLog):
        (WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
        (WebCore::InspectorCanvasAgent::injectedScriptCanvasModuleForTraceLogId):
        * inspector/InspectorCanvasAgent.h: Renamed from Source/WebCore/inspector/InspectorWebGLAgent.h.
        (WebCore):
        (InspectorCanvasAgent):
        (WebCore::InspectorCanvasAgent::create):
        (WebCore::InspectorCanvasAgent::enabled):
        * inspector/InspectorCanvasInstrumentation.h: Renamed from Source/WebCore/inspector/InspectorWebGLInstrumentation.h.
        (WebCore):
        (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InstrumentingAgents.h:
        (WebCore):
        (WebCore::InstrumentingAgents::InstrumentingAgents):
        (WebCore::InstrumentingAgents::inspectorCanvasAgent):
        (WebCore::InstrumentingAgents::setInspectorCanvasAgent):
        (InstrumentingAgents):
        * inspector/compile-front-end.py:
        * inspector/front-end/CanvasProfileView.js: Renamed from Source/WebCore/inspector/front-end/WebGLProfileView.js.
        (WebInspector.CanvasProfileView):
        (WebInspector.CanvasProfileView.prototype.dispose):
        (WebInspector.CanvasProfileView.prototype.get statusBarItems):
        (WebInspector.CanvasProfileView.prototype.get profile):
        (WebInspector.CanvasProfileView.prototype.wasShown):
        (WebInspector.CanvasProfileView.prototype.willHide):
        (WebInspector.CanvasProfileView.prototype._showTraceLog):
        (WebInspector.CanvasProfileView.prototype._onTraceLogItemClick.didReplayTraceLog):
        (WebInspector.CanvasProfileView.prototype._onTraceLogItemClick):
        (WebInspector.CanvasProfileType):
        (WebInspector.CanvasProfileType.prototype.get buttonTooltip):
        (WebInspector.CanvasProfileType.prototype.buttonClicked.didStartCapturingFrame):
        (WebInspector.CanvasProfileType.prototype.buttonClicked):
        (WebInspector.CanvasProfileType.prototype.get treeItemTitle):
        (WebInspector.CanvasProfileType.prototype.get description):
        (WebInspector.CanvasProfileType.prototype.reset):
        (WebInspector.CanvasProfileType.prototype.createTemporaryProfile):
        (WebInspector.CanvasProfileType.prototype.createProfile):
        (WebInspector.CanvasProfileHeader):
        (WebInspector.CanvasProfileHeader.prototype.traceLogId):
        (WebInspector.CanvasProfileHeader.prototype.createSidebarTreeElement):
        (WebInspector.CanvasProfileHeader.prototype.createView):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel):
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/canvasProfiler.css: Renamed from Source/WebCore/inspector/front-end/webGLProfiler.css.
        (.canvas-profile-view):
        (.canvas-trace-log):
        (.canvas-trace-log div):
        (#canvas-replay-image-container):
        (#canvas-replay-image):

2012-09-19  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Add API to get/set the security policy of a given URI scheme to WebKit2 GTK+
        https://bugs.webkit.org/show_bug.cgi?id=96497

        Reviewed by Martin Robinson.

        * WebCore.exp.in: Add new exported symbols.

2012-09-19  Patrick Gansterer  <paroga@webkit.org>

        [WIN] Use BString in favour of BSTR to improve memory management
        https://bugs.webkit.org/show_bug.cgi?id=93128

        Reviewed by Anders Carlsson.

        BString automatically calls SysFreeString() in its destructor which helps
        avoiding memory leaks. So it should be used instead of BSTR directly.
        Add operator& to BString to allow its usage for out parameters too (like COMPtr).
        This fixes already a few memory leaks in the existing code.

        * platform/win/BString.cpp:
        (WebCore::BString::~BString):
        (WebCore::BString::adoptBSTR):
        (WebCore::BString::clear):
        (WebCore):
        * platform/win/BString.h:
        (BString):
        (WebCore::BString::operator&):

2012-09-19  Simon Hausmann  <simon.hausmann@digia.com>

        [Qt] Link failure with bfd linker on --minimal build
        https://bugs.webkit.org/show_bug.cgi?id=97075

        Reviewed by Tor Arne Vestbø.

        Fix two dependency errors triggered by --minimal:

        - GStreamerVersioning.cpp uses functions from libgstvideo (gst_video_format_parse_caps), so we need to pull
        that module not only when video is enabled by generally when using gstreamer.
        - GraphicsSurfaceGLX depends on Xlib (XOpenDisplay, etc.), so we need to do CONFIG += x11 to get that and not
        implicitly rely on x11 netscape plugins being enabled.

        * WebCore.pri:

2012-09-19  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Rename the RTCIceServer uri parameter to url.
        https://bugs.webkit.org/show_bug.cgi?id=97086

        Reviewed by Hajime Morita.

        Either the standard has changed or I can't read.
        http://dev.w3.org/2011/webrtc/editor/webrtc.html#dictionary-rtciceserver-members

        Existing tests changed to cover this patch.

        * Modules/mediastream/RTCPeerConnection.cpp:
        (WebCore::RTCPeerConnection::parseConfiguration):

2012-09-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r128976.
        http://trac.webkit.org/changeset/128976
        https://bugs.webkit.org/show_bug.cgi?id=97083

        Breaks compilation on QT, Apple WIn (Requested by vsevik on
        #webkit).

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        * inspector/CodeGeneratorInspector.py:
        * inspector/InjectedScriptWebGLModule.cpp: Renamed from Source/WebCore/inspector/InjectedScriptCanvasModule.cpp.
        (WebCore):
        (WebCore::InjectedScriptWebGLModule::InjectedScriptWebGLModule):
        (WebCore::InjectedScriptWebGLModule::moduleForState):
        (WebCore::InjectedScriptWebGLModule::source):
        (WebCore::InjectedScriptWebGLModule::wrapWebGLContext):
        (WebCore::InjectedScriptWebGLModule::captureFrame):
        (WebCore::InjectedScriptWebGLModule::dropTraceLog):
        (WebCore::InjectedScriptWebGLModule::traceLog):
        (WebCore::InjectedScriptWebGLModule::replayTraceLog):
        * inspector/InjectedScriptWebGLModule.h: Renamed from Source/WebCore/inspector/InjectedScriptCanvasModule.h.
        (WebCore):
        (InjectedScriptWebGLModule):
        * inspector/InjectedScriptWebGLModuleSource.js: Renamed from Source/WebCore/inspector/InjectedScriptCanvasModuleSource.js.
        (.):
        * inspector/Inspector.json:
        * inspector/InspectorAllInOne.cpp:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorWebGLAgent.cpp: Renamed from Source/WebCore/inspector/InspectorCanvasAgent.cpp.
        (WebCore):
        (WebGLAgentState):
        (WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
        (WebCore::InspectorWebGLAgent::~InspectorWebGLAgent):
        (WebCore::InspectorWebGLAgent::setFrontend):
        (WebCore::InspectorWebGLAgent::clearFrontend):
        (WebCore::InspectorWebGLAgent::restore):
        (WebCore::InspectorWebGLAgent::enable):
        (WebCore::InspectorWebGLAgent::disable):
        (WebCore::InspectorWebGLAgent::dropTraceLog):
        (WebCore::InspectorWebGLAgent::captureFrame):
        (WebCore::InspectorWebGLAgent::getTraceLog):
        (WebCore::InspectorWebGLAgent::replayTraceLog):
        (WebCore::InspectorWebGLAgent::wrapWebGLRenderingContextForInstrumentation):
        (WebCore::InspectorWebGLAgent::injectedScriptWebGLModuleForTraceLogId):
        * inspector/InspectorWebGLAgent.h: Renamed from Source/WebCore/inspector/InspectorCanvasAgent.h.
        (WebCore):
        (InspectorWebGLAgent):
        (WebCore::InspectorWebGLAgent::create):
        (WebCore::InspectorWebGLAgent::enabled):
        * inspector/InspectorWebGLInstrumentation.h: Renamed from Source/WebCore/inspector/InspectorCanvasInstrumentation.h.
        (WebCore):
        (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
        * inspector/InstrumentingAgents.h:
        (WebCore):
        (WebCore::InstrumentingAgents::InstrumentingAgents):
        (InstrumentingAgents):
        (WebCore::InstrumentingAgents::inspectorWebGLAgent):
        (WebCore::InstrumentingAgents::setInspectorWebGLAgent):
        * inspector/compile-front-end.py:
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel):
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/WebGLProfileView.js: Renamed from Source/WebCore/inspector/front-end/CanvasProfileView.js.
        (WebInspector.WebGLProfileView):
        (WebInspector.WebGLProfileView.prototype.dispose):
        (WebInspector.WebGLProfileView.prototype.get statusBarItems):
        (WebInspector.WebGLProfileView.prototype.get profile):
        (WebInspector.WebGLProfileView.prototype.wasShown):
        (WebInspector.WebGLProfileView.prototype.willHide):
        (WebInspector.WebGLProfileView.prototype._showTraceLog):
        (WebInspector.WebGLProfileView.prototype._onTraceLogItemClick.didReplayTraceLog):
        (WebInspector.WebGLProfileView.prototype._onTraceLogItemClick):
        (WebInspector.WebGLProfileType):
        (WebInspector.WebGLProfileType.prototype.get buttonTooltip):
        (WebInspector.WebGLProfileType.prototype.buttonClicked.didStartCapturingFrame):
        (WebInspector.WebGLProfileType.prototype.buttonClicked):
        (WebInspector.WebGLProfileType.prototype.get treeItemTitle):
        (WebInspector.WebGLProfileType.prototype.get description):
        (WebInspector.WebGLProfileType.prototype.reset):
        (WebInspector.WebGLProfileType.prototype.createTemporaryProfile):
        (WebInspector.WebGLProfileType.prototype.createProfile):
        (WebInspector.WebGLProfileHeader):
        (WebInspector.WebGLProfileHeader.prototype.traceLogId):
        (WebInspector.WebGLProfileHeader.prototype.createSidebarTreeElement):
        (WebInspector.WebGLProfileHeader.prototype.createView):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/webGLProfiler.css: Renamed from Source/WebCore/inspector/front-end/canvasProfiler.css.
        (.webgl-profile-view):
        (.webgl-trace-log):
        (.webgl-trace-log div):
        (#webgl-replay-image-container):
        (#webgl-replay-image):

2012-09-19  Simon Hausmann  <simon.hausmann@digia.com>

        [Qt][Win] Fix rendering of flash content when scrolling
        https://bugs.webkit.org/show_bug.cgi?id=92905

        Reviewed by Jocelyn Turcotte.

        Fix rendering offset similar to r121441.

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::paint):
        (WebCore::PluginView::setNPWindowRect):

2012-09-19  Andrey Adaikin  <aandrey@chromium.org>

        Web Inspector: [WebGL] -> [Canvas] Rename WebGLAgent to CanvasAgent
        https://bugs.webkit.org/show_bug.cgi?id=96917

        Reviewed by Vsevolod Vlasov.

        Rename WebGLAgent* and WebGLInstrumentation* files to Canvas* as we will support both 2D and 3D/WebGL canvas instrumentation.

        * CMakeLists.txt:
        * DerivedSources.make:
        * DerivedSources.pri:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        * inspector/CodeGeneratorInspector.py:
        * inspector/InjectedScriptCanvasModule.cpp: Renamed from Source/WebCore/inspector/InjectedScriptWebGLModule.cpp.
        (WebCore):
        (WebCore::InjectedScriptCanvasModule::InjectedScriptCanvasModule):
        (WebCore::InjectedScriptCanvasModule::moduleForState):
        (WebCore::InjectedScriptCanvasModule::source):
        (WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
        (WebCore::InjectedScriptCanvasModule::captureFrame):
        (WebCore::InjectedScriptCanvasModule::dropTraceLog):
        (WebCore::InjectedScriptCanvasModule::traceLog):
        (WebCore::InjectedScriptCanvasModule::replayTraceLog):
        * inspector/InjectedScriptCanvasModule.h: Renamed from Source/WebCore/inspector/InjectedScriptWebGLModule.h.
        (WebCore):
        (InjectedScriptCanvasModule):
        * inspector/InjectedScriptCanvasModuleSource.js: Renamed from Source/WebCore/inspector/InjectedScriptWebGLModuleSource.js.
        (.):
        * inspector/Inspector.json:
        * inspector/InspectorAllInOne.cpp:
        * inspector/InspectorCanvasAgent.cpp: Renamed from Source/WebCore/inspector/InspectorWebGLAgent.cpp.
        (WebCore):
        (CanvasAgentState):
        (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
        (WebCore::InspectorCanvasAgent::~InspectorCanvasAgent):
        (WebCore::InspectorCanvasAgent::setFrontend):
        (WebCore::InspectorCanvasAgent::clearFrontend):
        (WebCore::InspectorCanvasAgent::restore):
        (WebCore::InspectorCanvasAgent::enable):
        (WebCore::InspectorCanvasAgent::disable):
        (WebCore::InspectorCanvasAgent::dropTraceLog):
        (WebCore::InspectorCanvasAgent::captureFrame):
        (WebCore::InspectorCanvasAgent::getTraceLog):
        (WebCore::InspectorCanvasAgent::replayTraceLog):
        (WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
        (WebCore::InspectorCanvasAgent::injectedScriptCanvasModuleForTraceLogId):
        * inspector/InspectorCanvasAgent.h: Renamed from Source/WebCore/inspector/InspectorWebGLAgent.h.
        (WebCore):
        (InspectorCanvasAgent):
        (WebCore::InspectorCanvasAgent::create):
        (WebCore::InspectorCanvasAgent::enabled):
        * inspector/InspectorCanvasInstrumentation.h: Renamed from Source/WebCore/inspector/InspectorWebGLInstrumentation.h.
        (WebCore):
        (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InstrumentingAgents.h:
        (WebCore):
        (WebCore::InstrumentingAgents::InstrumentingAgents):
        (WebCore::InstrumentingAgents::inspectorCanvasAgent):
        (WebCore::InstrumentingAgents::setInspectorCanvasAgent):
        (InstrumentingAgents):
        * inspector/compile-front-end.py:
        * inspector/front-end/CanvasProfileView.js: Renamed from Source/WebCore/inspector/front-end/WebGLProfileView.js.
        (WebInspector.CanvasProfileView):
        (WebInspector.CanvasProfileView.prototype.dispose):
        (WebInspector.CanvasProfileView.prototype.get statusBarItems):
        (WebInspector.CanvasProfileView.prototype.get profile):
        (WebInspector.CanvasProfileView.prototype.wasShown):
        (WebInspector.CanvasProfileView.prototype.willHide):
        (WebInspector.CanvasProfileView.prototype._showTraceLog):
        (WebInspector.CanvasProfileView.prototype._onTraceLogItemClick.didReplayTraceLog):
        (WebInspector.CanvasProfileView.prototype._onTraceLogItemClick):
        (WebInspector.CanvasProfileType):
        (WebInspector.CanvasProfileType.prototype.get buttonTooltip):
        (WebInspector.CanvasProfileType.prototype.buttonClicked.didStartCapturingFrame):
        (WebInspector.CanvasProfileType.prototype.buttonClicked):
        (WebInspector.CanvasProfileType.prototype.get treeItemTitle):
        (WebInspector.CanvasProfileType.prototype.get description):
        (WebInspector.CanvasProfileType.prototype.reset):
        (WebInspector.CanvasProfileType.prototype.createTemporaryProfile):
        (WebInspector.CanvasProfileType.prototype.createProfile):
        (WebInspector.CanvasProfileHeader):
        (WebInspector.CanvasProfileHeader.prototype.traceLogId):
        (WebInspector.CanvasProfileHeader.prototype.createSidebarTreeElement):
        (WebInspector.CanvasProfileHeader.prototype.createView):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel):
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/canvasProfiler.css: Renamed from Source/WebCore/inspector/front-end/webGLProfiler.css.
        (.canvas-profile-view):
        (.canvas-trace-log):
        (.canvas-trace-log div):
        (#canvas-replay-image-container):
        (#canvas-replay-image):

2012-09-18  Kenichi Ishibashi  <bashi@chromium.org>

        [Chromium] SkiaGetGlyphWidthAndExtents() should invert y-axis
        https://bugs.webkit.org/show_bug.cgi?id=97067

        Reviewed by Yuta Kitamura.

        Invert skBounds.fTop and skBounds.height(). Don't call hb_font_set_ppem().

        No new tests. Arabic shadda (U+0651) should be placed more higher when Arabic lam (U+0644) follows it.
        Tests under svg/W3C-I18N contain such sequences so these tests cover this change.

        * platform/graphics/harfbuzz/ng/HarfBuzzNGFaceSkia.cpp:
        (WebCore::SkiaGetGlyphWidthAndExtents):
        (WebCore::HarfBuzzNGFace::createFont):

2012-09-18  Kenichi Ishibashi  <bashi@chromium.org>

        [Chromium] Don't treat tab as spaces for word-end in HarfBuzzShaper
        https://bugs.webkit.org/show_bug.cgi?id=97068

        Reviewed by Yuta Kitamura.

        No new tests. fast/text/wide-zero-width-space.html should cover this change.

        * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
        (WebCore::normalizeCharacters): Don't treat tab as space.

2012-09-18  Eric Carlson  <eric.carlson@apple.com>

        Check settings before registering AVFoundation media engine.
        https://bugs.webkit.org/show_bug.cgi?id=97048
        <rdar://problem/12313594>

        Reviewed by Dan Bernstein.

        Fix the bug introduced in r122676.

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::installedMediaEngines): Uncomment the call to check AVFoundation settings.

2012-09-18  Sailesh Agrawal  <sail@chromium.org>

        Chromium: Scrollbar with tickmarks doesn't respond to clicks
        https://bugs.webkit.org/show_bug.cgi?id=96049

        Reviewed by Beth Dakin.

        Currently when a scrollbar has tickmarks its forced to be visible by setting its alpha to 1.0. The alpha value is reset to its old value at the end of the drawing routine. This approach doesn't work with the hit testing code which relies on the scrollbar's alpha value

        Unfortunately there doesn't seem to be anyway to force a scrollbar to be visible. The closest API is -[NSScrollerImpPair lockOverlayScrollerState:]. Unfortunately this locks both the horizontal and vertical scrollbar. It also doesn't expand the knob width.

        My fix simply adds a new alphaLocked attribute to the scrollbar. If this attribute is set to true then hit testing will return true.

        Test: fast/scrolling/scrollbar-tickmarks-hittest.html

        * WebCore.exp.in:
        * WebCore.order:
        * page/Settings.cpp:
        (WebCore):
        (WebCore::Settings::setUsesOverlayScrollbars): Sets the usesOverlayScrollbars flag.
        (WebCore::Settings::usesOverlayScrollbars): Gets the usesOverlayScrollbars flag.
        * page/Settings.h:
        (Settings):
        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::Scrollbar):
        * platform/Scrollbar.h:
        (WebCore::Scrollbar::isAlphaLocked):
        (WebCore::Scrollbar::setIsAlphaLocked):
        (Scrollbar):
        * platform/ScrollbarThemeClient.h:
        (ScrollbarThemeClient):
        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::ScrollbarThemeChromiumMac::paint): Updated to set and unset the alphaLocked attribute.
        * platform/chromium/support/WebScrollbarImpl.cpp:
        (WebKit::WebScrollbarImpl::isAlphaLocked):
        (WebKit):
        (WebKit::WebScrollbarImpl::setIsAlphaLocked):
        * platform/chromium/support/WebScrollbarImpl.h:
        (WebScrollbarImpl):
        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
        (WebCore::CCScrollbarLayerImpl::CCScrollbarLayerImpl):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::isAlphaLocked):
        (WebCore):
        (WebCore::CCScrollbarLayerImpl::CCScrollbar::setIsAlphaLocked):
        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
        (CCScrollbar):
        (CCScrollbarLayerImpl):
        * platform/mac/NSScrollerImpDetails.mm:
        (WebCore::recommendedScrollerStyle): Check the usesOverlayScrollbars setting to see if overlay scrollbars should be forced on.
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::shouldScrollbarParticipateInHitTesting): Updated to check the alphaLocked attribute.
        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::reset): Resets the usesOverlayScrollbars setting.
        (WebCore::InternalSettings::setUsesOverlayScrollbars): Sets the usesOverlayScrollbars setting.
        (WebCore):
        * testing/InternalSettings.h:
        (InternalSettings):
        * testing/InternalSettings.idl: Add a new setUsesOverlayScrollbars function.

2012-09-18  Kentaro Hara  <haraken@chromium.org>

        [V8] Notification.requestPermission(function() {alert();}) crashes
        https://bugs.webkit.org/show_bug.cgi?id=94462

        Reviewed by Adam Barth.

        Since Notification.requestPermission() is a static method,
        we need to use getExecutionContext() instead of retrieving a context
        from a DOM object.

        Test: http/tests/notifications/notification-request-permission.html

        * bindings/v8/custom/V8NotificationCustom.cpp:
        (WebCore::V8Notification::requestPermissionCallback):

2012-09-18  Shinya Kawanaka  <shinyak@chromium.org>

        [Refactoring] ContentDistributor::distributeSelectionsTo should not change ContentDistribution pool.
        https://bugs.webkit.org/show_bug.cgi?id=96993

        Reviewed by Dimitri Glazkov.

        Since we would like to reuse ContentDistribution pool, it should not be updated in
        ContentDistributor::distributeSelectionsTo. Instead, we should have Vector<bool> to indicate an element is
        distributed or not.

        No new tests, simple refactoring.

        * html/shadow/ContentDistributor.cpp:
        (WebCore::ContentDistributor::distribute):
        (WebCore::ContentDistributor::distributeSelectionsTo):
        * html/shadow/ContentDistributor.h:
        (ContentDistributor):

2012-09-18  Byungwoo Lee  <bw80.lee@samsung.com>

        Title string should be changed when document.title is set to ''.
        https://bugs.webkit.org/show_bug.cgi?id=96793

        Reviewed by Kenneth Rohde Christiansen.

        DocumentLoader::setTitle() function returns without anything (changing
        m_pageTitle and calling FrameLoaderClient::setTitle()) when new title
        string is empty.
        So, when document.title is set to '', title string of a browser cannot
        be changed.
        For applying the change of document.title properly, empty string check
        should be removed.

        Test: fast/dom/title-text-property-assigning-empty-string.html

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::setTitle):

2012-09-18  Simon Fraser  <simon.fraser@apple.com>

        fast/forms/search-event-delay.html is asserting in markAllMisspellingsAndBadGrammarInRanges()
        https://bugs.webkit.org/show_bug.cgi?id=82761

        Reviewed by Ryosuke Niwa.

        Speculative fix for this assertion: have InternalSettings save
        and restore the value of the "unifiedTextCheckerEnabled" setting
        between tests, so that tests change the value of this setting don't
        affect later tests.

        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::Backup::Backup):
        (WebCore::InternalSettings::Backup::restoreTo):
        * testing/InternalSettings.h:
        (Backup):

2012-09-18  John Mellor  <johnme@chromium.org>

        Text Autosizing: Ignore constrained heights in certain circumstances.
        https://bugs.webkit.org/show_bug.cgi?id=96848

        Reviewed by Julien Chaffraix.

        Ignore constrained heights on html and body elements, as some sites
        (e.g. wikipedia) set height:100% on these, without intending to
        constrain the height of descendants.

        Also ignore constrained heights on ancestors of floats and out-of-flow
        positioned elements with no height set, since the height of these is
        determined independently from their ancestors.

        Test: fast/text-autosizing/constrained-height-body.html
              fast/text-autosizing/constrained-out-of-flow.html
              fast/text-autosizing/constrained-then-float-ancestors.html
              fast/text-autosizing/constrained-then-position-absolute-ancestors.html
              fast/text-autosizing/constrained-then-position-fixed-ancestors.html

        * rendering/TextAutosizer.cpp:
        (WebCore::contentHeightIsConstrained):

            Adjusted constrainedness algorithm.

2012-09-18  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Create a flag to enable PeerConnection00
        https://bugs.webkit.org/show_bug.cgi?id=96989

        Reviewed by Adam Barth.

        Adding the functionality to separately enable/disable PeerConnection00.
        For now it is enabled by default.

        Not testable, nor likely to cause issues.

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore):
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::deprecatedPeerConnectionEnabled):
        (WebCore::RuntimeEnabledFeatures::setDeprecatedPeerConnectionEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitPeerConnection00Enabled):
        (RuntimeEnabledFeatures):

2012-09-18  Bo Liu  <boliu@chromium.org>

        Revert 128780, 128676, 128645
        https://bugs.webkit.org/show_bug.cgi?id=97022

        Reviewed by Adam Barth.

        I made these revisions to add in-place reload behavior to ImagesEnabled setting.
        Reverting this for now due to them causing performance regression in
        chromium, possibly caused by increased calls to
        PermissionClient::imageAllowed.

        * WebCore.exp.in:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didBeginDocument):
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::willSendRequest):
        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::load):
        * loader/cache/CachedImage.h:
        (WebCore::CachedImage::stillNeedsLoad):
        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::didAddClient):
        * loader/cache/CachedResource.h:
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::CachedResourceLoader):
        (WebCore::CachedResourceLoader::requestImage):
        (WebCore::CachedResourceLoader::canRequest):
        (WebCore::CachedResourceLoader::determineRevalidationPolicy):
        (WebCore::CachedResourceLoader::setAutoLoadImages):
        * loader/cache/CachedResourceLoader.h:
        (CachedResourceLoader):
        * page/Settings.cpp:
        (WebCore::setLoadsImagesAutomaticallyInAllFrames):
        (WebCore::Settings::Settings):
        (WebCore::Settings::setLoadsImagesAutomatically):
        (WebCore::Settings::loadsImagesAutomaticallyTimerFired):
        (WebCore::Settings::setImagesEnabled):
        * page/Settings.h:
        (Settings):
        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::Backup::Backup):
        (WebCore::InternalSettings::Backup::restoreTo):
        (WebCore::InternalSettings::setLangAttributeAwareFormControlUIEnabled):
        * testing/InternalSettings.h:
        (Backup):
        (InternalSettings):
        * testing/InternalSettings.idl:

2012-09-18  John J. Barton  <johnjbarton@chromium.org>

        Web Inspector: Set focus on the ExtensionPanel's iframe when it is selected
        https://bugs.webkit.org/show_bug.cgi?id=96148

        Reviewed by Vsevolod Vlasov.

        ExtensionView ctor calls setDefaultFocusedElement with its iframe,
        ExtensionPanel ctor calls setDefaultFocusedElement with the extensionView
        and ExtensionPanel's setDefaultFocusedElement calls its grandparent impl

        Tests: Added hasFocus test to extensions/extension-panel.html

        * inspector/front-end/ExtensionPanel.js:
        (WebInspector.ExtensionPanel):
        (WebInspector.ExtensionPanel.prototype.defaultFocusedElement):
        * inspector/front-end/ExtensionView.js:
        (WebInspector.ExtensionView):

2012-09-18  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [WebKit2] Use XComposite window for accelerated compositing
        https://bugs.webkit.org/show_bug.cgi?id=94417

        Reviewed by Carlos Garcia Campos.

        Instead of rendering directly to the widget's native window, render to an
        offscreen window redirected to a Pixmap with XComposite.

        No new tests. This will be covered by the existing accelerated compositing tests,
        which should now give correct pixel results.

        * platform/gtk/RedirectedXCompositeWindow.cpp:
        (WebCore::RedirectedXCompositeWindow::resize): Add a call to XFlush which ensures
        that pending X11 operations complete.
        * platform/gtk/RedirectedXCompositeWindow.h:
        (WebCore::RedirectedXCompositeWindow::windowId): Added this accessor.

2012-09-18  Julien Chaffraix  <jchaffraix@webkit.org>

        Tables without any descendant and auto logical width should have a 0px logical width
        https://bugs.webkit.org/show_bug.cgi?id=95521

        Reviewed by Abhishek Arya.

        The code would wrongly add the border-spacing in the row direction to the table's logical
        width even if we didn't have a column. The new behavior matches FireFox and Opera. IE
        matches our old behavior for inline tables but our new behavior for normal tables which
        is a bug on their side.

        Tests: fast/table/empty-table-should-take-no-space.html
               fast/table/fixed-table-layout/empty-table-should-take-no-space-fixed-layout.html

        * rendering/RenderTable.h:
        (WebCore::RenderTable::borderSpacingInRowDirection):
        Added this new helper function to return the right border-spacing. Added a FIXME as the code always
        return the horizontal dimension which is wrong in vertical-writing mode.

        (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
        Changed to call borderSpacingInRowDirection. Added a comment as to why we don't add border-spacing on
        border-collapse: separate tables.

2012-09-18  Zan Dobersek  <zandobersek@gmail.com>

        [GTK] Build is broken without option --enable-unstable-features
        https://bugs.webkit.org/show_bug.cgi?id=96996

        Reviewed by Martin Robinson.

        When searching for the bare feature define in feature_defines_unstable or
        feature_defines_overrides, search for the bare define followed by = character.
        This avoids incorrectly matching the ENABLE_VIDEO define to the ENABLE_VIDEO_TRACK
        overriding define (and works as well for other similarly named feature defines).

        No new tests - no new functionality.

        * GNUmakefile.am:

2012-09-18  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Extensions API] postpone requests to add extensions until extension server is initialized
        https://bugs.webkit.org/show_bug.cgi?id=97012

        Reviewed by Vsevolod Vlasov.

        - queue extensions being added unless initialization is complete;
        - add queued extensions upon completion of initialization;

        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype.initExtensions):
        (WebInspector.ExtensionServer.prototype._addExtensions):
        (WebInspector.ExtensionServer.prototype._addExtension):
        (WebInspector.ExtensionServer.prototype._innerAddExtension):

2012-09-18  Christophe Dumez  <christophe.dumez@intel.com>

        [EFL] min-device-width failures in media tests
        https://bugs.webkit.org/show_bug.cgi?id=96920

        Reviewed by Kenneth Rohde Christiansen.

        Return a realistic value (800x600) for screen resolution if
        it cannot be detected, instead of returning (0x0).

        This allows for some tests to pass on the build bots
        where X is not running.

        No new tests, already covered by existing tests.

        * platform/efl/PlatformScreenEfl.cpp:
        (WebCore::screenRect):

2012-09-18  Simon Hausmann  <simon.hausmann@digia.com>

        Fix compilation with Qt 5 on MeeGo 1.2 Harmattan
        https://bugs.webkit.org/show_bug.cgi?id=96937

        Reviewed by Jocelyn Turcotte.

        The gl2ext.h header file on the platform is outdated. Instead use the newer copy from Qt
        through implicit inclusion of qopengl.h. Since Qt's declarations are based on newer Khronos
        headers, the multi sampling extensions do have the PROC suffix, we need the same workaround
        as QNX.

        * platform/graphics/opengl/Extensions3DOpenGLES.h:

2012-09-14  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Extensions API] explicitly manage extension audit progress
        https://bugs.webkit.org/show_bug.cgi?id=96803

        Reviewed by Alexander Pavlov.

        - create a sub-progress per audit category;
        - manage audit category progress within the category, not in the panel logic;
        - consider audit is done when all categories are done;
        - expose AuditResults.updateProgress(worked, totalWork) in the extensions API;
        - retain old magic for computing audit progress if extension specifies extension results count.

        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
        (WebInspector.AuditsPanel.prototype._executeAudit):
        (WebInspector.AuditCategory.prototype.run.callbackWrapper):
        (WebInspector.AuditCategory.prototype.run):
        * inspector/front-end/ExtensionAPI.js:
        (defineCommonExtensionSymbols):
        (injectedExtensionAPI.Audits.prototype.addCategory):
        (injectedExtensionAPI.AuditResultImpl.prototype.updateProgress):
        * inspector/front-end/ExtensionAuditCategory.js:
        (WebInspector.ExtensionAuditCategory.prototype.run):
        (WebInspector.ExtensionAuditCategoryResults):
        (WebInspector.ExtensionAuditCategoryResults.prototype.done):
        (WebInspector.ExtensionAuditCategoryResults.prototype._addResult):
        (WebInspector.ExtensionAuditCategoryResults.prototype.updateProgress):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer):
        (WebInspector.ExtensionServer.prototype._onUpdateAuditProgress):
        (WebInspector.ExtensionServer.prototype._onStopAuditCategoryRun):
        * inspector/front-end/ProgressBar.js:
        (WebInspector.ProgressIndicator.prototype.done): Assure only first call to done() has effect.

2012-09-19  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Revert r127457 and following fixes due to several hit-testing regressions
        https://bugs.webkit.org/show_bug.cgi?id=96830

        Reviewed by Antonio Gomes.

        The revert misssed one related follow-up.

        * dom/Document.cpp:
        (WebCore::Document::updateHoverActiveState):


2012-09-18  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Flag auto-height regions
        https://bugs.webkit.org/show_bug.cgi?id=96267

        Reviewed by Julien Chaffraix.

        The regions having auto logical height should be flagged so that their height will computed as part of a 2 pass-layout mechanism.
        A valid region is flagged as having auto logical height if:
        - has auto logical height and is part of the normal flow
        - has auto logical height, is not part of normal flow and does not have logical top/bottom specified

        An invalid region (part of circular dependency) will not be marked even if its style matches the above situations.

        Test: fast/regions/autoheight-regions-mark.html

        * rendering/FlowThreadController.cpp: Keep a counter of auto logical height valid regions.
        (WebCore::FlowThreadController::FlowThreadController):
        (WebCore::FlowThreadController::layoutRenderNamedFlowThreads): Verify that the current number of auto logical height regions is correct by iterating over all the regions attached to the flow threads
        and compute the number of auto logical height regions on the spot.
        (WebCore):
        (WebCore::FlowThreadController::isAutoLogicalHeightRegionsFlagConsistent): Helper function that is used to verify the number of auto logical height regions.
        * rendering/FlowThreadController.h:
        (WebCore::FlowThreadController::hasAutoLogicalHeightRegions):
        (WebCore::FlowThreadController::incrementAutoLogicalHeightRegions):
        (WebCore::FlowThreadController::decrementAutoLogicalHeightRegions):
        (FlowThreadController):
        * rendering/RenderFlowThread.cpp:
        (WebCore):
        (WebCore::RenderFlowThread::autoLogicalHeightRegionsCount): Helper function that is used to count the number of regions marked as having auto logical height.
        * rendering/RenderFlowThread.h:
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::RenderRegion):
        (WebCore::RenderRegion::updateRegionHasAutoLogicalHeightFlag):
        (WebCore):
        (WebCore::RenderRegion::styleDidChange): For a region that is attached to a flow thread, verify whether the style change modified its auto logical height appearance.
        (WebCore::RenderRegion::attachRegion): Handle the case of attaching region to a flow thread and the detach/attach sequence when the region is moved in the render tree.
        (WebCore::RenderRegion::detachRegion):
        * rendering/RenderRegion.h:
        (WebCore::RenderRegion::shouldHaveAutoLogicalHeight):
        (WebCore::RenderRegion::hasAutoLogicalHeight):
        (RenderRegion):
        * rendering/RenderTreeAsText.cpp: For the regions that use auto logical height, modify the output to reflect that.
        (WebCore::writeRenderNamedFlowThreads):

2012-09-18  Shinya Kawanaka  <shinyak@chromium.org>

        Disable adding an AuthorShadowRoot to replaced elements.
        https://bugs.webkit.org/show_bug.cgi?id=96978

        Reviewed by Hajime Morita.

        We (people who implement Shadow DOM) have concluded that we don't support adding AuthorShadowRoot to
        replaced elements in the current spec, since it turned out that a lot of difficulties exist and it brings
        a lot of mess to our codebase.

        For now, we just disable adding AuthorShadowRoot to these replaced elements.

        Test: fast/dom/shadow/shadow-disable.html

        * html/HTMLImageElement.h:
        * html/HTMLKeygenElement.h:
        * html/HTMLMeterElement.h:
        * html/HTMLProgressElement.h:
        * html/HTMLTextAreaElement.h:

2012-09-17  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed, rolling out r128826 and r128813.

        * ForwardingHeaders/runtime/JSDestructibleObject.h: Removed.
        * bindings/js/JSDOMWrapper.h:
        (WebCore::JSDOMWrapper::JSDOMWrapper):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        * bridge/objc/objc_runtime.h:
        (ObjcFallbackObjectImp):
        * bridge/objc/objc_runtime.mm:
        (Bindings):
        (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
        * bridge/runtime_array.cpp:
        (JSC):
        (JSC::RuntimeArray::destroy):
        * bridge/runtime_array.h:
        (JSC::RuntimeArray::create):
        * bridge/runtime_object.cpp:
        (Bindings):
        (JSC::Bindings::RuntimeObject::RuntimeObject):
        * bridge/runtime_object.h:
        (RuntimeObject):

2012-09-17  Kent Tamura  <tkent@chromium.org>

        Export RuntimeEnabledFeatures::isLangAttributeAwareFormControlUIEnabled correctly
        https://bugs.webkit.org/show_bug.cgi?id=96855

        Reviewed by Hajime Morita.

        * bindings/generic/RuntimeEnabledFeatures.h:
        (RuntimeEnabledFeatures): Add WEBCORE_TESTING.
        * testing/InternalSettings.cpp: Remove a workaround.
        (WebCore::InternalSettings::Backup::Backup):
        (WebCore::InternalSettings::Backup::restoreTo):
        (WebCore::InternalSettings::setLangAttributeAwareFormControlUIEnabled):
        * testing/InternalSettings.h: ditto.

2012-09-17  Vivek Galatage  <vivekgalatage@gmail.com>

        [Gtk] Remove the unused variable warning in GamepadsGtk.cpp using ASSERT_UNUSED macro
        https://bugs.webkit.org/show_bug.cgi?id=96975

        Reviewed by Kentaro Hara.

        Replacing a simple ASSERT with ASSERT_UNUSED to avoid the warning.

        No new tests as refactoring done.

        * platform/gtk/GamepadsGtk.cpp:
        (WebCore::GamepadDeviceGtk::readCallback):

2012-09-17  Roger Fong  <roger_fong@apple.com>

        [Win] Null check timing function received from CoreAnimation when calling CACFAnimationGetTimingFunction.
        https://bugs.webkit.org/show_bug.cgi?id=96972

        Reviewed by Timothy Horton

        When paused, some CSS animations cause CoreAnimation to pass back a null timing function when calling CACFAnimationGetTimingFunction.
        This patch fixes this simply by ensuring that if the output of this method is null, it does not get passed into CACFAnimationSetTimingFunction
        via the PlatformCAAnimation::copyTimingFunctionFrom method.

        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
        (PlatformCAAnimation::copyTimingFunctionFrom):

2012-09-17  David Barton  <dbarton@mathscribe.com>

        Convert MathML to use flexboxes
        https://bugs.webkit.org/show_bug.cgi?id=96843

        Reviewed by Eric Seidel.

        Using the CSS Flexible Box Model simplifies MathML in many ways. Control over alignment, row vs.
        column layout, and child layout order are all much easier. Complexities involving floats,
        continuations, and most anonymous boxes are eliminated, as are their potential for crashes and
        security vulnerabilities.

        In a flexbox, column alignment is done with align-items or align-self, instead of text-align.
        vertical-align and baselinePosition() are replaced by the firstLineBoxBaseline() virtual
        function.

        Tested by existing tests.

        * css/mathml.css:
        (math):
        (math[display="block"]):
        (mo, mrow, mfenced, mfrac, msub, msup, msubsup, munder, mover, munderover, msqrt, mroot):
        (math, mrow, mfenced, msqrt, mroot):
        (msqrt > *):
        (mo, mfrac, munder, mover, munderover):
        (munder, mover, munderover):
        (mfrac > *):
        (mfrac[numalign="left"] > :first-child):
        (mfrac[numalign="right"] > :first-child):
        (mfrac[denomalign="left"] > :last-child):
        (mfrac[denomalign="right"] > :last-child):
        (msubsup > :last-child, mover > :last-child, munderover > :last-child):
        (msub > * + *, msup > * + *, msubsup > * + *, munder > * + *, mover > * + *, munderover > * + *):
        (mroot):
        (mroot > * + *):
        (mtable):
        
        * mathml/MathMLInlineContainerElement.cpp:
        (WebCore::MathMLInlineContainerElement::createRenderer):
        * mathml/mathtags.in:
        
        * rendering/mathml/RenderMathMLBlock.cpp:
        (WebCore::RenderMathMLBlock::RenderMathMLBlock):
        (WebCore::RenderMathMLBlock::computePreferredLogicalWidths):
        (WebCore::RenderMathMLBlock::baselinePosition):
        (WebCore::RenderMathMLBlock::renderName):
        (WebCore::RenderMathMLBlock::paint):
        (WebCore::RenderMathMLTable::firstLineBoxBaseline):
        * rendering/mathml/RenderMathMLBlock.h:
        (RenderMathMLBlock):
        (RenderMathMLTable):
        (WebCore::RenderMathMLTable::RenderMathMLTable):
            - Change RenderMathMLBlock's base class to RenderFlexibleBox, and its display to FLEX or INLINE_FLEX.
            - Add RenderMathMLTable for its firstLineBoxBaseline() function, like { vertical-align: middle }.
        
        * rendering/mathml/RenderMathMLFenced.cpp:
        (WebCore::RenderMathMLFenced::createMathMLOperator):
        (WebCore::RenderMathMLFenced::makeFences):
            - Use RenderMathMLRow::addChild as a more robust name for RenderBlock::addChild.
        (WebCore::RenderMathMLFenced::addChild):
            - All inline children of a flexbox are treated as blocks automatically.
        
        * rendering/mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::fixChildStyle):
        (WebCore::RenderMathMLFraction::updateFromElement):
            - numalign and denomalign attributes are now handled by mathml.css.
        (WebCore::RenderMathMLFraction::addChild):
        (WebCore::RenderMathMLFraction::layout):
        (WebCore::RenderMathMLFraction::firstLineBoxBaseline):
        * rendering/mathml/RenderMathMLFraction.h:
        (RenderMathMLFraction):
        
        * rendering/mathml/RenderMathMLOperator.cpp:
        (WebCore::RenderMathMLOperator::updateFromElement):
        (WebCore::RenderMathMLOperator::createStackableStyle):
        (WebCore::RenderMathMLOperator::firstLineBoxBaseline):
        * rendering/mathml/RenderMathMLOperator.h:
        * rendering/mathml/RenderMathMLRow.cpp:
        (WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
        
        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::RenderMathMLSubSup):
        (WebCore::RenderMathMLSubSup::fixScriptsStyle):
        (WebCore::RenderMathMLSubSup::addChild):
        (WebCore::RenderMathMLSubSup::styleDidChange):
        (WebCore::RenderMathMLSubSup::layout):
        * rendering/mathml/RenderMathMLSubSup.h:
            - Rename Sup to Super, to make it more readable vs. Sub.
            - Instead of vertical-align, msub and msup now use the m_scripts anonymous box like msubsup does.
            - Individual anonymous block wrappers are no longer needed around the superscript and subscript to
              lay them out in a column.
            - Handle msub and msup layout, and improve msubsup layout, by requiring a superscript's baseline
              to be at least (int) fontSize / 3 + 1 above the main baseline, and a subscript's baseline to be
              at least (int) fontSize / 5 + 1 below it.
        
        * rendering/mathml/RenderMathMLUnderOver.cpp:
        (WebCore::RenderMathMLUnderOver::unembellishedOperator):
        (WebCore::RenderMathMLUnderOver::firstLineBoxBaseline):
        * rendering/mathml/RenderMathMLUnderOver.h:
        (RenderMathMLUnderOver):
            - RenderMathMLUnderOver no longer needs to use anonymous wrappers for column layout. Centering and
              child layout order (overscript first) are also handled by mathml.css.

2012-09-17  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL] Several key codes are not mapped with evas key name.
        https://bugs.webkit.org/show_bug.cgi?id=96915

        Reviewed by Gyuyoung Kim.

        * platform/efl/EflKeyboardUtilities.cpp:
        (WebCore::createWindowsKeyMap):
        Added missing items of hashmap for virtual key code.

2012-09-17  Filip Pizlo  <fpizlo@apple.com>

        Unreviewed, fix build.

        * css/CSSRule.cpp:
        (SameSizeAsCSSRule):

2012-09-16  Mark Hahnenberg  <mhahnenberg@apple.com>

        Delayed structure sweep can leak structures without bound
        https://bugs.webkit.org/show_bug.cgi?id=96546

        Reviewed by Gavin Barraclough.

        This patch gets rid of the separate Structure allocator in the MarkedSpace and adds two new destructor-only
        allocators. We now have separate allocators for our three types of objects: those objects with no destructors,
        those objects with destructors and with immortal structures, and those objects with destructors that don't have 
        immortal structures. All of the objects of the third type (destructors without immortal structures) now 
        inherit from a new class named JSDestructibleObject (which in turn is a subclass of JSNonFinalObject), which stores 
        the ClassInfo for these classes at a fixed offset for safe retrieval during sweeping/destruction.

        No new tests.

        * ForwardingHeaders/runtime/JSDestructableObject.h: Added.
        * bindings/js/JSDOMWrapper.h: Inherits from JSDestructibleObject.
        (JSDOMWrapper):
        (WebCore::JSDOMWrapper::JSDOMWrapper):
        * bindings/scripts/CodeGeneratorJS.pm: Add finalizers to anything that inherits from JSGlobalObject,
        e.g. JSDOMWindow and JSWorkerContexts. For those classes we also need to use the NEEDS_DESTRUCTOR macro.
        (GenerateHeader):
        * bridge/objc/objc_runtime.h: Inherit from JSDestructibleObject.
        (ObjcFallbackObjectImp):
        * bridge/objc/objc_runtime.mm:
        (Bindings):
        (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
        * bridge/runtime_array.cpp: Use a finalizer so that JSArray isn't forced to inherit from JSDestructibleObject.
        (JSC):
        (JSC::RuntimeArray::destroy):
        * bridge/runtime_array.h:
        (JSC::RuntimeArray::create):
        (JSC):
        * bridge/runtime_object.cpp: Inherit from JSDestructibleObject.
        (Bindings):
        (JSC::Bindings::RuntimeObject::RuntimeObject):
        * bridge/runtime_object.h:
        (RuntimeObject):

2012-09-17  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r128809.
        http://trac.webkit.org/changeset/128809
        https://bugs.webkit.org/show_bug.cgi?id=96958

        Broke the Windows build. (Requested by andersca on #webkit).

        * platform/win/BString.cpp:
        (WebCore::BString::~BString):
        (WebCore::BString::adoptBSTR):
        * platform/win/BString.h:
        (BString):

2012-09-17  Patrick Gansterer  <paroga@webkit.org>

        [WIN] Use BString in favour of BSTR to improve memory management
        https://bugs.webkit.org/show_bug.cgi?id=93128

        Reviewed by Anders Carlsson.

        BString automatically calls SysFreeString() in its destructor which helps
        avoiding memory leaks. So it should be used instead of BSTR directly.
        Add operator& to BString to allow its usage for out parameters too (like COMPtr).
        This fixes already a few memory leaks in the existing code.

        * platform/win/BString.cpp:
        (WebCore::BString::~BString):
        (WebCore::BString::adoptBSTR):
        (WebCore::BString::clear):
        (WebCore):
        * platform/win/BString.h:
        (BString):
        (WebCore::BString::operator&):

2012-09-17  Tony Chang  <tony@chromium.org>

        Make CSS.PrefixUsage histogram smaller to save memory
        https://bugs.webkit.org/show_bug.cgi?id=96941

        Reviewed by Ojan Vafai.

        Each bucket costs about 12 bytes. This reduces the size of the histogram
        from 600 to 384, which will save about 2.5k per renderer and browser
        process.

        In the long run, we could probably generate a table in makeprop.pl that
        only has the webkit prefix values to save even more memory (there are
        194 properties that start with -webkit).

        No new tests, just refactoring.

        * css/CSSParser.cpp:
        (WebCore::cssPropertyID):

2012-09-17  Rob Buis  <rbuis@rim.com>

        [BlackBerry] Enable VIDEO_TRACK
        https://bugs.webkit.org/show_bug.cgi?id=96949

        Reviewed by Antonio Gomes.

        Turn on runtime feature for VIDEO_TRACK.

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore):

2012-09-17  Adam Barth  <abarth@webkit.org>

        Measure the usage of window.webkitIndexedDB so we can measure the transition to webkit.indexedDB
        https://bugs.webkit.org/show_bug.cgi?id=96943

        Reviewed by Ojan Vafai.

        We don't yet support window.indexedDB but we will once
        https://bugs.webkit.org/show_bug.cgi?id=96548 lands. This metric will
        help us measure the transition from the prefixed to the unprefixed API.

        * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
        * page/FeatureObserver.h:

2012-09-17  Adam Barth  <abarth@webkit.org>

        Measure usage of the legacy WebKitBlobBuilder API in the hopes of being able to remove it
        https://bugs.webkit.org/show_bug.cgi?id=96939

        Reviewed by Ojan Vafai.

        In the course of standardization, the BlobBuilder API was removed in
        favor of just using the Blob constructor. This patch adds some
        measurement to see how often this legacy API is used. If the API is not
        used very much, we might be able to remove it.

        * fileapi/WebKitBlobBuilder.cpp:
        (WebCore::WebKitBlobBuilder::create):
        * page/FeatureObserver.h:

2012-09-17  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Result of IDBFactory.deleteDatabase() should be undefined, not null
        https://bugs.webkit.org/show_bug.cgi?id=96538

        Reviewed by Tony Chang.

        Trivial implementation change to match the spec.

        Tests: storage/indexeddb/factory-deletedatabase-expected.html
               storage/indexeddb/intversion-long-queue-expected.html

        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::deleteDatabase):

2012-09-17  Rick Byers  <rbyers@chromium.org>

        Allow gesture events to set active/hover state.
        https://bugs.webkit.org/show_bug.cgi?id=96060

        Reviewed by Antonio Gomes.

        Adds GestureTapDownCancel as a new PlatformGestureEvent type.  On ports
        that support gesture events, use GestureTapDown to trigger active/hover
        states, and GestureTap/GestureTapDownCancel to clear them.  This is
        superior to using touch events for a number of reasons:
          1) some ports (chromium) avoid sending touch events unless absolutely
          necessary, since they hurt scroll performance by blocking threaded
          scrolling.
          2) with touch, and element really shouldn't be 'active' when the user
          happens to be touching it while scrolling.  In that case they aren't
          'manipulating the element', they're manipulating the page or div that
          is scrolling.
          3) similarly, there may be other gestures that involve touching the
          element which aren't really about manipulating that element (eg.
          pinch to zoom).

        Test: fast/events/touch/gesture/gesture-tap-active-state.html
        Test: fast/events/touch/gesture/gesture-tap-active-state-iframe.html
        * dom/GestureEvent.cpp:
        (WebCore::GestureEvent::create):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleGestureEvent):
        (WebCore::EventHandler::handleTouchEvent):
        * platform/PlatformEvent.h:

2012-09-17  Alec Flett  <alecflett@chromium.org>

        IndexedDB: Use ScriptValue instead of SerializedScriptValue for get/openCursor
        https://bugs.webkit.org/show_bug.cgi?id=95409

        Reviewed by Kentaro Hara.

        This reduces a bunch of serialization/deserialization when writing
        to objectstores with indexes.

        No new tests, as this covers core functionality of IndexedDB, and
        almost every test would fail. Some likely tests that would fail
        fundamentally include:

        storage/indexeddb/objectstore-basics.html
        storage/indexeddb/cursor-basics.html
        storage/indexeddb/index-basics.html

        * Modules/indexeddb/IDBAny.cpp:
        (WebCore::IDBAny::scriptValue):
        (WebCore::IDBAny::integer):
        (WebCore):
        (WebCore::IDBAny::set):
        * Modules/indexeddb/IDBAny.h:
        (WebCore):
        (IDBAny):
        (WebCore::IDBAny::create):
        * Modules/indexeddb/IDBCursor.cpp:
        (WebCore::IDBCursor::setValueReady):
        * Modules/indexeddb/IDBCursor.h:
        (WebCore):
        (IDBCursor):
        * Modules/indexeddb/IDBDatabase.cpp:
        (WebCore::IDBDatabase::version):
        * Modules/indexeddb/IDBObjectStore.cpp:
        (WebCore):
        * Modules/indexeddb/IDBRequest.cpp:
        (WebCore::IDBRequest::setResultCursor):
        (WebCore::IDBRequest::onSuccess):
        (WebCore):
        (WebCore::IDBRequest::onSuccessInternal):
        (WebCore::IDBRequest::dispatchEvent):
        * Modules/indexeddb/IDBRequest.h:
        (IDBRequest):
        * Modules/indexeddb/IDBTransactionCallbacks.h:
        * bindings/v8/IDBBindingUtilities.cpp:
        (WebCore::deserializeIDBValue):
        (WebCore::injectIDBKeyIntoScriptValue):
        * bindings/v8/IDBBindingUtilities.h:
        (WebCore):
        * bindings/v8/custom/V8IDBAnyCustom.cpp:
        (WebCore::toV8):

2012-09-17  Adam Barth  <abarth@webkit.org>

        We should make collecting metrics easier by adding an IDL attribute
        https://bugs.webkit.org/show_bug.cgi?id=96837

        Reviewed by Kentaro Hara.

        Currently it is too hard to set up a good measurement experiment to see
        whether we can safely remove a feature (including vendor-prefixed
        features). This patch introduces the [V8MeasureAs] IDL attribute to make
        that process easier.

        When you add the [V8MeasureAs] IDL property to an API, we'll count what
        fraction of Page objects used that API.

        * Modules/notifications/DOMWindowNotifications.idl:
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateFeatureObservation):
        (GenerateNormalAttrGetter):
        (GenerateReplaceableAttrSetter):
        (GenerateNormalAttrSetter):
        (GenerateOverloadedFunctionCallback):
        (GenerateFunctionCallback):
        (GenerateConstructorCallback):
        (GenerateNamedConstructorCallback):
        * bindings/scripts/IDLAttributes.txt:
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
        (WebCore::TestObjV8Internal::testObjAttrAttrSetter):
        (WebCore::TestObjV8Internal::objMethodCallback):
        (WebCore):
        * page/Page.h:
        (WebCore::Page::featureObserver):
        (Page):

2012-09-17  Bear Travis  <betravis@adobe.com>

        [CSS Exclusions] Enable shape-inside for percentage lengths based on logical height
        https://bugs.webkit.org/show_bug.cgi?id=93547

        Reviewed by Levi Weintraub.

        Shape-inside needs to be passed the logical size to use when computing percentage
        based coordinates. The CSS Regions-specific method computeInitialRegionRangeForBlock
        has been generalized to updateRegionsAndExclusionsLogicalSize. This method takes
        the pre-child-layout logical width and height, and uses them to compute the logical
        width and height that regions and exclusions should use for layout. Regions use a
        block's maximum possible logical height to compute a region's maximum extent.
        Exclusions use a block's fixed logical width and height, or 0 if one does not exist,
        to resolve percentage-based shape lengths. The default logical size used for resolving
        percentage based coordinates is tested in shape-inside-percentage-auto.html.

        Test: fast/exclusions/shape-inside/shape-inside-percentage.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateRegionsAndExclusionsLogicalSize): Calculates the logical
        height regions and exclusions should use, and updates their layout sizes through
        computeExclusionShapeSize and computeRegionRangeForBlock.
        (WebCore):
        (WebCore::RenderBlock::computeExclusionShapeSize): Pass the appropriate logical size
        to exclusion shapes so they can resolve percentage based coordinates.
        (WebCore::RenderBlock::layoutBlock): Call the new updateRegionsAndExclusionsLogicalSize
        method.
        * rendering/RenderBlock.h:
        (RenderBlock):
        * rendering/RenderBox.cpp:
        (WebCore::percentageLogicalHeightIsResolvable): Determine if percentage lengths
        based on logical height can be resolved.
        (WebCore):
        (WebCore::RenderBox::percentageLogicalHeightIsResolvableFromBlock): Added declaration.
        * rendering/RenderBox.h:
        (RenderBox):
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock): Calling
        updateRegionsAndExclusionsLogicalSize rather than computeInitialRegionRangeForBlock.
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
        * rendering/RenderGrid.cpp:
        (WebCore::RenderGrid::layoutBlock): Ditto.

2012-09-17  Vangelis Kokkevis  <vangelis@chromium.org>

        [chromium] Add gpu_test trace events tracking the creation of a DrawingBuffer
        and Canvas2DLayerBridge. They will be used by browser tests to verify the
        existence of WebGL and accelerated canvas.
        https://bugs.webkit.org/show_bug.cgi?id=96871

        Reviewed by James Robinson.

        * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
        (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):

2012-09-17  Bo Liu  <boliu@chromium.org>

        Fix LoadImagesAutomatically cache behavior
        https://bugs.webkit.org/show_bug.cgi?id=96829

        Reviewed by Adam Barth.

        I broke the caching behavior of LoadImagesAutomatically in
        http://trac.webkit.org/changeset/128645

        This restores the original behavior that AutoLoadImage does not block
        loads from memory cache.

        Test: fast/loader/display-image-unset-allows-cached-image-load.html

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::determineRevalidationPolicy):
        (WebCore::CachedResourceLoader::clientAllowsImage):
        (WebCore::CachedResourceLoader::shouldDeferImageLoad):
        * loader/cache/CachedResourceLoader.h:
        (CachedResourceLoader):

2012-09-17  Andrei Poenaru  <poenaru@adobe.com>

        Web Inspector: Display Named Flows in the Tabbed Pane of the "CSS Named Flows" Drawer
        https://bugs.webkit.org/show_bug.cgi?id=96733

        Reviewed by Alexander Pavlov.

        Added functionality to the Tabbed Pane from the CSS Named Flows Drawer.

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/CSSNamedFlowCollectionsView.js:
        (WebInspector.CSSNamedFlowCollectionsView.prototype._appendNamedFlow):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._removeNamedFlow):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._updateNamedFlow):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._showNamedFlow):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._selectNamedFlowInSidebar):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._selectNamedFlowTab):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._tabSelected):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._tabClosed):
        (WebInspector.CSSNamedFlowCollectionsView.prototype.wasShown):
        (WebInspector.CSSNamedFlowCollectionsView.prototype.willHide):
        (WebInspector.FlowTreeElement):
        (WebInspector.FlowTreeElement.prototype.setOverset):
        * inspector/front-end/CSSNamedFlowView.js: Added.
        (WebInspector.CSSNamedFlowView):
        (WebInspector.CSSNamedFlowView.prototype._createFlowTreeOutline):
        (WebInspector.CSSNamedFlowView.prototype._insertContentNode):
        (WebInspector.CSSNamedFlowView.prototype._insertRegion):
        (WebInspector.CSSNamedFlowView.prototype.get flow):
        (WebInspector.CSSNamedFlowView.prototype.set flow):
        (WebInspector.CSSNamedFlowView.prototype._updateRegionOverset):
        (WebInspector.CSSNamedFlowView.prototype._mergeContentNodes):
        (WebInspector.CSSNamedFlowView.prototype._mergeRegions):
        (WebInspector.CSSNamedFlowView.prototype._update):
        * inspector/front-end/ElementsPanel.js:
        * inspector/front-end/Images/regionEmpty.png: Added.
        * inspector/front-end/Images/regionFit.png: Added.
        * inspector/front-end/Images/regionOverset.png: Added.
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/cssNamedFlows.css:
        (.css-named-flow-collections-view .split-view-sidebar-left .named-flow-overflow::before, .css-named-flow-collections-view .region-empty:before, .css-named-flow-collections-view .region-fit::before, .css-named-flow-collections-view .region-overset::before):
        (.css-named-flow-collections-view .split-view-sidebar-left .named-flow-overflow::before):
        (.css-named-flow-collections-view .region-empty::before):
        (.css-named-flow-collections-view .region-fit::before):
        (.css-named-flow-collections-view .region-overset::before):
        (.css-named-flow-collections-view .split-view-contents .named-flow-element):

2012-09-17  Zan Dobersek  <zandobersek@gmail.com>

        [Gtk] Remove configuration options for stable features that are currently enabled
        https://bugs.webkit.org/show_bug.cgi?id=96621

        Reviewed by Martin Robinson.

        Remove Automake conditional checking for features that are being removed in
        configure.ac. Unstable features that don't introduce dependencies are now
        disabled if necessary by being listed in the unstable feature defines overriding
        variable.

        No new tests - no new functionality.

        * GNUmakefile.am:
        * GNUmakefile.features.am:
        * bindings/gobject/GNUmakefile.am:

2012-09-17  Lauro Neto  <lauro.neto@openbossa.org>

        [Qt] Cleanup/refactor the user agent detection code
        https://bugs.webkit.org/show_bug.cgi?id=96822

        Unreviewed build fix.

        Build fixes for Windows and Mac OS builds.

        * platform/qt/UserAgentQt.cpp:
        (WebCore::UserAgentQt::standardUserAgent):

            QLatin1String doesn't have a default contructor. Replaced #ifdef with #if.

2012-09-17  Lauro Neto  <lauro.neto@openbossa.org>

        Updates to the useragent patch

        [Qt] Cleanup/refactor the user agent detection code
        https://bugs.webkit.org/show_bug.cgi?id=96822

        Reviewed by Simon Hausmann.

        Replaced Q_WS_*/Q_OS_* with WTF OS/CPU detection macros.
        Cleanup the check for unsupported OS.
        Replaced QString.arg() usage with simple string concatenation.

        * platform/qt/UserAgentQt.cpp:
        (WebCore::UserAgentQt::standardUserAgent):

2012-09-17  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r128759.
        http://trac.webkit.org/changeset/128759
        https://bugs.webkit.org/show_bug.cgi?id=96929

        New assertion hit on multiple platforms (Requested by carewolf
        on #webkit).

        * dom/Document.cpp:
        (WebCore::Document::updateHoverActiveState):

2012-09-17  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: NMI: now when we can detect instrumented classes we can
        remove addInstrumentedMember and use addMember for everything.
        https://bugs.webkit.org/show_bug.cgi?id=96913

        Reviewed by Yury Semikhatsky.

        * bindings/v8/DOMDataStore.cpp:
        (WebCore::DOMDataStore::reportMemoryUsage):
        * bindings/v8/IntrusiveDOMWrapperMap.h:
        * bindings/v8/V8PerIsolateData.cpp:
        (WebCore::V8PerIsolateData::reportMemoryUsage):
        * css/CSSBorderImageSliceValue.cpp:
        (WebCore::CSSBorderImageSliceValue::reportDescendantMemoryUsage):
        * css/CSSCalculationValue.cpp:
        * css/CSSCanvasValue.cpp:
        (WebCore::CSSCanvasValue::reportDescendantMemoryUsage):
        * css/CSSCharsetRule.cpp:
        (WebCore::CSSCharsetRule::reportDescendantMemoryUsage):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::reportMemoryUsage):
        * css/CSSCrossfadeValue.cpp:
        (WebCore::CSSCrossfadeValue::reportDescendantMemoryUsage):
        * css/CSSFontFaceRule.cpp:
        (WebCore::CSSFontFaceRule::reportDescendantMemoryUsage):
        * css/CSSFontFaceSrcValue.cpp:
        (WebCore::CSSFontFaceSrcValue::reportDescendantMemoryUsage):
        * css/CSSFunctionValue.cpp:
        (WebCore::CSSFunctionValue::reportDescendantMemoryUsage):
        * css/CSSGradientValue.cpp:
        (WebCore::CSSGradientColorStop::reportMemoryUsage):
        (WebCore::CSSGradientValue::reportBaseClassMemoryUsage):
        (WebCore::CSSLinearGradientValue::reportDescendantMemoryUsage):
        (WebCore::CSSRadialGradientValue::reportDescendantMemoryUsage):
        * css/CSSImageSetValue.cpp:
        (WebCore::CSSImageSetValue::ImageWithScale::reportMemoryUsage):
        * css/CSSImageValue.cpp:
        (WebCore::CSSImageValue::reportDescendantMemoryUsage):
        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::reportDescendantMemoryUsage):
        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::reportDescendantMemoryUsage):
        * css/CSSPageRule.cpp:
        (WebCore::CSSPageRule::reportDescendantMemoryUsage):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::reportDescendantMemoryUsage):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::reportMemoryUsage):
        * css/CSSReflectValue.cpp:
        (WebCore::CSSReflectValue::reportDescendantMemoryUsage):
        * css/CSSRule.cpp:
        (WebCore::CSSRule::reportBaseClassMemoryUsage):
        * css/CSSRuleList.h:
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::reportDescendantMemoryUsage):
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::reportMemoryUsage):
        * css/CSSValue.cpp:
        (WebCore::TextCloneCSSValue::reportDescendantMemoryUsage):
        * css/CSSVariableValue.h:
        (WebCore::CSSVariableValue::reportDescendantMemoryUsage):
        * css/FontFeatureValue.cpp:
        (WebCore::FontFeatureValue::reportDescendantMemoryUsage):
        * css/FontValue.cpp:
        (WebCore::FontValue::reportDescendantMemoryUsage):
        * css/MediaList.cpp:
        (WebCore::MediaList::reportMemoryUsage):
        * css/MediaQuery.cpp:
        (WebCore::MediaQuery::reportMemoryUsage):
        * css/MediaQueryExp.cpp:
        (WebCore::MediaQueryExp::reportMemoryUsage):
        * css/PropertySetCSSStyleDeclaration.cpp:
        (WebCore::PropertySetCSSStyleDeclaration::reportMemoryUsage):
        (WebCore::StyleRuleCSSStyleDeclaration::reportMemoryUsage):
        (WebCore::InlineCSSStyleDeclaration::reportMemoryUsage):
        * css/ShadowValue.cpp:
        (WebCore::ShadowValue::reportDescendantMemoryUsage):
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::reportMemoryUsage):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::collectMatchingRulesForList):
        * css/StyleRule.cpp:
        (WebCore::StyleRule::reportDescendantMemoryUsage):
        (WebCore::StyleRulePage::reportDescendantMemoryUsage):
        (WebCore::StyleRuleFontFace::reportDescendantMemoryUsage):
        (WebCore::StyleRuleMedia::reportDescendantMemoryUsage):
        (WebCore::StyleRuleRegion::reportDescendantMemoryUsage):
        * css/StyleRuleImport.cpp:
        (WebCore::StyleRuleImport::reportDescendantMemoryUsage):
        * css/StyleSheetContents.cpp:
        (WebCore::StyleSheetContents::reportMemoryUsage):
        * css/WebKitCSSKeyframeRule.cpp:
        (WebCore::StyleKeyframe::reportMemoryUsage):
        (WebCore::WebKitCSSKeyframeRule::reportDescendantMemoryUsage):
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage):
        (WebCore::WebKitCSSKeyframesRule::reportDescendantMemoryUsage):
        * css/WebKitCSSRegionRule.cpp:
        (WebCore::WebKitCSSRegionRule::reportDescendantMemoryUsage):
        * css/WebKitCSSSVGDocumentValue.cpp:
        (WebCore::WebKitCSSSVGDocumentValue::reportDescendantMemoryUsage):
        * css/WebKitCSSShaderValue.cpp:
        (WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
        * dom/Attribute.h:
        (WebCore::Attribute::reportMemoryUsage):
        * dom/CharacterData.cpp:
        (WebCore::CharacterData::reportMemoryUsage):
        * dom/ContainerNode.h:
        (WebCore::ContainerNode::reportMemoryUsage):
        * dom/Document.cpp:
        (WebCore::Document::reportMemoryUsage):
        * dom/Element.h:
        (WebCore::Element::reportMemoryUsage):
        * dom/ElementAttributeData.cpp:
        (WebCore::ElementAttributeData::reportMemoryUsage):
        * dom/Event.cpp:
        (WebCore::Event::reportMemoryUsage):
        * dom/Node.cpp:
        (WebCore::Node::reportMemoryUsage):
        * dom/QualifiedName.cpp:
        (WebCore::QualifiedName::reportMemoryUsage):
        (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::reportMemoryUsage):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::reportMemoryUsage):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::reportMemoryUsage):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::reportMemoryUsage):
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::reportMemoryUsage):
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::reportMemoryUsage):
        * loader/SubstituteData.cpp:
        (WebCore::SubstituteData::reportMemoryUsage):
        * loader/cache/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::reportMemoryUsage):
        * loader/cache/CachedFont.cpp:
        (WebCore::CachedFont::reportMemoryUsage):
        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::reportMemoryUsage):
        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::reportMemoryUsage):
        * loader/cache/CachedResourceHandle.cpp:
        (WebCore::CachedResourceHandleBase::reportMemoryUsage):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::reportMemoryUsage):
        * loader/cache/CachedSVGDocument.cpp:
        (WebCore::CachedSVGDocument::reportMemoryUsage):
        * loader/cache/CachedScript.cpp:
        (WebCore::CachedScript::reportMemoryUsage):
        * loader/cache/CachedShader.cpp:
        (WebCore::CachedShader::reportMemoryUsage):
        * loader/cache/CachedXSLStyleSheet.cpp:
        (WebCore::CachedXSLStyleSheet::reportMemoryUsage):
        * loader/cache/MemoryCache.cpp:
        (WebCore::MemoryCache::reportMemoryUsage):
        * page/Frame.cpp:
        (WebCore::Frame::reportMemoryUsage):
        * platform/KURL.cpp:
        (WebCore::KURL::reportMemoryUsage):
        * platform/KURLGoogle.cpp:
        (WebCore::KURLGooglePrivate::reportMemoryUsage):
        * platform/KURLWTFURLImpl.h:
        (WebCore::KURLWTFURLImpl::reportMemoryUsage):
        * platform/TreeShared.h:
        (WebCore::TreeShared::reportMemoryUsage):
        * platform/graphics/CrossfadeGeneratedImage.cpp:
        (WebCore::CrossfadeGeneratedImage::reportMemoryUsage):
        * platform/graphics/Image.cpp:
        (WebCore::Image::reportMemoryUsage):
        * platform/network/ResourceRequestBase.cpp:
        (WebCore::ResourceRequestBase::reportMemoryUsage):
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::reportMemoryUsage):
        * rendering/style/DataRef.h:
        (WebCore::DataRef::reportMemoryUsage):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::reportMemoryUsage):
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::reportMemoryUsage):
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::reportMemoryUsage):
        * svg/SVGPaint.cpp:
        (WebCore::SVGPaint::reportDescendantMemoryUsage):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::reportMemoryUsage):

2012-09-17  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        [TouchAdjustment] Adjusted point outside bounds for non-rectilinear targets
        https://bugs.webkit.org/show_bug.cgi?id=96098

        Reviewed by Antonio Gomes.

        Simplifies how snapTo tries to restrict the adjustment to the touch-area, and 
        at the same fix it to give better guarantees.

        Test: touchadjustment/rotated-node.html

        * page/TouchAdjustment.cpp:
        (WebCore::TouchAdjustment::snapTo):

2012-09-17  Filip Spacek  <fspacek@rim.com>

        [BlackBerry] Use glDeleteProgram to delete OpenGL shader programs.
        https://bugs.webkit.org/show_bug.cgi?id=96771

        Reviewed by Rob Buis.

        Reviewed internally by Arvid Nilsson.

        * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
        (WebCore::EGLImageLayerWebKitThread::EGLImageLayerWebKitThread):
        (WebCore::EGLImageLayerWebKitThread::~EGLImageLayerWebKitThread):
        (WebCore::EGLImageLayerWebKitThread::deleteFrontBuffer):
        (WebCore::EGLImageLayerWebKitThread::createShaderIfNeeded):
        (WebCore::EGLImageLayerWebKitThread::blitToFrontBuffer):
        * platform/graphics/blackberry/EGLImageLayerWebKitThread.h:
        (EGLImageLayerWebKitThread):

2012-09-17  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Revert r127457 and following fixes due to several hit-testing regressions
        https://bugs.webkit.org/show_bug.cgi?id=96830

        Reviewed by Antonio Gomes.

        The revert misssed one related follow-up.

        * dom/Document.cpp:
        (WebCore::Document::updateHoverActiveState):

2012-09-17  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        [TouchAdjustment] Adjusted point outside bounds for non-rectilinear targets
        https://bugs.webkit.org/show_bug.cgi?id=96098

        Reviewed by Antonio Gomes.

        Simplifies how snapTo tries to restrict the adjustment to the touch-area, and 
        at the same fix it to give better guarantees.

        Test: touchadjustment/rotated-node.html

        * page/TouchAdjustment.cpp:
        (WebCore::TouchAdjustment::snapTo):

2012-09-17  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Fix Mac compilation.

        * bindings/v8/DOMDataStore.h: added missing virtual modifier.
        (DOMDataStore):

2012-09-17  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: NMI don't double count fields of StaticDOMDataStore
        https://bugs.webkit.org/show_bug.cgi?id=96911

        Reviewed by Alexander Pavlov.

        Provided two separate memory usage reporting routines for static and
        scoped DOM data stores.

        * bindings/v8/DOMDataStore.cpp:
        * bindings/v8/DOMDataStore.h:
        (DOMDataStore):
        * bindings/v8/ScopedDOMDataStore.cpp:
        (WebCore::ScopedDOMDataStore::reportMemoryUsage):
        (WebCore):
        * bindings/v8/ScopedDOMDataStore.h:
        (ScopedDOMDataStore):
        * bindings/v8/StaticDOMDataStore.cpp:
        (WebCore::StaticDOMDataStore::reportMemoryUsage):
        (WebCore):
        * bindings/v8/StaticDOMDataStore.h:
        (StaticDOMDataStore):

2012-09-17  Christophe Dumez  <christophe.dumez@intel.com>

        [EFL] autoscroll-in-textarea.html fails on EFL
        https://bugs.webkit.org/show_bug.cgi?id=94150

        Reviewed by Kenneth Rohde Christiansen.

        Do not call adjustTextAreaStyle() from RenderThemeEfl::adjustTextAreaStyle().
        This is consistent with Mac port implementation.

        Calling adjustTextAreaStyle() causes the TextArea in the test to display 6.5
        rows instead of the 6 that are requested. This causes the test case to fail
        because the top row that is being displayed when scrolling down is different
        than the one expected.

        Test: fast/events/autoscroll-in-textarea.html

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::adjustTextAreaStyle):

2012-09-17  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: XHR replay fixes: should remove replayed xhr from memory cache, should not assert.
        https://bugs.webkit.org/show_bug.cgi?id=96904

        Reviewed by Yury Semikhatsky.

        Replayed request is now removed from meory cache before replaying.
        Request body is now set to 0 when it was not present in original request.

        Test: http/tests/inspector/network/network-xhr-replay.html

        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::replayXHR):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::sendFromInspector):

2012-09-17  Alejandro Piñeiro  <apinheiro@igalia.com>

        AX: Regression (r126369) - toggle buttons no longer return accessible titles
        https://bugs.webkit.org/show_bug.cgi?id=94858

        Reviewed by Chris Fleizach.

        After the addition of the ToggleButtonRole some logic broke because some parts
        of the code were assuming/waiting for a ButtonRole

        Test: platform/gtk/accessibility/aria-toggle-button-with-title.html

        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::isImageButton): using
        isButton instead of a ButtonRole comparison
        (WebCore::AccessibilityNodeObject::isPressed): using isButton
        instead of a ButtonRole comparison
        (WebCore::AccessibilityNodeObject::actionElement):
        ToggleButtonRole also contemplated in order to call or not toElement
        (WebCore::AccessibilityNodeObject::title): ToggleButtonRole also
        contemplated in order to call or not textUnderElement
        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::actionVerb): buttonAction also
        assigned to ToggleButtonRole
        (WebCore::AccessibilityObject::isButton): isButton now returns
        that an object is a button if it is a ButtonRole, a
        PopUpButtonRole or a ToggleButtonRole
        * accessibility/AccessibilityObject.h:
        (AccessibilityObject): isButton is now implemented on the .c file
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::actionVerb): ToggleButtonRole
        also returns a buttonAction

2012-09-14  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Group selectors to highlight matched selector in the Styles pane of Elements Panel
        https://bugs.webkit.org/show_bug.cgi?id=96626

        Reviewed by Vsevolod Vlasov.

        Introduced evaluation of element.webkitMatchesSelector() for every part of a selector group (delimited by commas).
        Non-matching selectors in groups are dimmed. If element styles have changed so that the element matches none of the selectors,
        the entire group is rendered as matched.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate.markCallback):
        (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
        (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
        (WebInspector.StylePropertiesSection):
        (WebInspector.StylePropertiesSection.prototype._markMatchedSelectorsInGroup.mycallback):
        (WebInspector.StylePropertiesSection.prototype._markMatchedSelectorsInGroup.trim):
        (WebInspector.StylePropertiesSection.prototype._markMatchedSelectorsInGroup.resolvedCallback):
        (WebInspector.StylePropertiesSection.prototype._markMatchedSelectorsInGroup):
        (WebInspector.StylePropertiesSection.prototype._markMatchedSelectorsInGroup.matchesCallback):
        (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
        (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector.markCallback):
        (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
        * inspector/front-end/elementsPanel.css:
        (.styles-section .selector):
        (.styles-section .selector-matches):

2012-09-17  Mike West  <mkwst@chromium.org>

        Don't GC img elements blocked by CSP until error events fire.
        https://bugs.webkit.org/show_bug.cgi?id=94677

        Reviewed by Jochen Eisinger.

        Currently, the GC checks that no load events are pending for an image
        element before reclaiming its memory. It's not, however, checking that
        error events are taken care of. This leads to the potential of firing an
        event on a DOM element that we've already collected. That's a Bad Thing.

        This patch adjusts the check to catch error events as well as load
        events, which should ensure that the element isn't collected until it's
        really ready. As a drive-by, it also changes the name of the check to
        'hasPendingActivity' from 'hasPendingLoadEvent' for clarity.

        http/tests/security/contentSecurityPolicy/register-bypassing-scheme.html
        should no longer crash, and the new
        http/tests/security/contentSecurityPolicy/img-blocked-no-gc-crash.html
        and fast/events/onerror-img-after-gc.html shouldn't crash either.

        Tests: fast/events/onerror-img-after-gc.html
               http/tests/security/contentSecurityPolicy/img-blocked-no-gc-crash.html

        * bindings/v8/V8GCController.cpp:
        (WebCore::calculateGroupId):
            Switch to using ImageLoader::hasPendingActivity().
        * html/HTMLImageElement.h:
        (WebCore::HTMLImageElement::hasPendingActivity):
            Switch to using ImageLoader::hasPendingActivity().
        * loader/ImageLoader.h:
        (WebCore::ImageLoader::hasPendingActivity):
            Added a check against pending error events in order to ensure that
            elements aren't garbage collected prematurely. Aslo renamed from
            ImageLoader::hasPendingLoadEvent for clarity.
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::haveLoadedRequiredResources):
            Switch to using ImageLoader::hasPendingActivity().

2012-09-17  Philip Rogers  <pdr@google.com>

        Make SVGPathSegList.appendItem O(1) instead of O(n)
        https://bugs.webkit.org/show_bug.cgi?id=94048

        Reviewed by Nikolas Zimmermann.

        Paths in SVG can be specified with a String (with the d attribute) or
        with an SVGPathSegList. In SVGPathElement a single representation is
        maintained: an SVGPathByteStream. To keep the byte stream synchronized with
        the d attribute and the PathSegList, this byte stream is
        rebuilt on every operation. As a result, any modification to the
        path is an O(n) operation.

        This patch takes advantage of the stream aspect of SVGPathByteStream
        to make SVGPathSegList.append an O(1) operation instead of O(n).
        When an SVGPathSeg is appended to an SVGPathSegList, this patch parses
        the SVGPathSeg and directly appends the resulting bytes to the
        byte stream.

        To achieve this some plumbing has been added to pass more information
        about the actual path changes from the SVGPathSegListTearOff to the
        SVGPathElement: instead of the generic commitChange() this patch adds
        commitChange(ListModification type). If we decide to change our
        internal path data structure in the future, this additional commitChange
        function can be used to pass the information needed to make
        SVGPathSegList synchronization faster.

        SVG Path Benchmark (http://bl.ocks.org/1296930) showing just the
        appendItem() time used in building a 5000 segment path (avg of 3 runs):
        WebKit without patch: 562 ms
        Firefox 18.01a:       55 ms
        Opera 12.50 internal: 27 ms
        WebKit with patch:    7 ms

        Test: perf/svg-path-appenditem.html

            This test proves the claim: SVGPathSegList.appendItem is now O(1).
            Additional tests that appendItem works are covered with existing tests.

        * svg/SVGPathByteStream.h:
        (WebCore::SVGPathByteStream::append):

            This additional append method allows an SVGPathByteStream to be
            appended to another.

        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::pathSegListChanged):

            By passing the extra ListModification type to pathSegListChanged,
            SVGPathElement is now able to only synchronize the parts of the byte stream
            that actually changed. In this patch only append is treated
            differently but one can imagine other performance improvements this
            additional information allows.

        * svg/SVGPathElement.h:
        (SVGPathElement):
        * svg/SVGPathParser.cpp:
        (WebCore::SVGPathParser::parsePathDataFromSource):

            During normal SVGPathSegList parsing we enforce that the path start with a moveto
            command. This function has been expanded to make that optional so that parsing
            can be performed elsewhere in the path (e.g., in the middle).

        * svg/SVGPathParser.h:
        (SVGPathParser):
        * svg/SVGPathSegList.cpp:
        (WebCore::SVGPathSegList::commitChange):
        * svg/SVGPathSegList.h:
        (SVGPathSegList):
        * svg/SVGPathSegWithContext.h:
        (WebCore::SVGPathSegWithContext::commitChange):
        * svg/SVGPathUtilities.cpp:
        (WebCore::appendSVGPathByteStreamFromSVGPathSeg):

            This function reuses the SVGPathSegList parsing infrastructure
            to parse an SVGPathSegList with just the single SVGPathSeg that
            is being appended. The resulting byte stream can then be appended
            to the result path byte stream.

        (WebCore):
        * svg/SVGPathUtilities.h:
        (WebCore):
        * svg/properties/SVGListProperty.h:
        (WebCore::SVGListProperty::appendItemValues):
        (WebCore::SVGListProperty::appendItemValuesAndWrappers):
        (WebCore::SVGListProperty::commitChange):
        (SVGListProperty):
        * svg/properties/SVGPathSegListPropertyTearOff.h:
        (WebCore::SVGPathSegListPropertyTearOff::commitChange):
        (SVGPathSegListPropertyTearOff):

2012-09-16  James Robinson  <jamesr@chromium.org>

        Chromium win build fix - listing a file that doesn't exist is a fatal errors in the msvs gyp generator.

        * WebCore.gypi:

2012-09-16  Dan Bernstein  <mitz@apple.com>

        REGRESSION (r126763): css1/pseudo/firstline.html fails when using the complex text code path
        https://bugs.webkit.org/show_bug.cgi?id=96890

        Reviewed by Sam Weinig.

        Test: fast/text/stale-TextLayout-from-first-line.html

        When a first-line style specifies a font, different pieces of the same RenderText can be
        laid out using different fonts, requiring a differet TextLayout for each piece.

        * rendering/RenderBlock.h:
        (RenderTextInfo): Added m_font data member.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::RenderTextInfo::RenderTextInfo): Added initializer for new data member.
        (WebCore::RenderBlock::LineBreaker::nextLineBreak): Added code to update the text layout in
        renderTextInfo if the font has changed.

2012-09-16  Kalev Lember  <kalevlember@gmail.com>

        [GTK] Missing dllexport causing linking errors on Windows platform
        https://bugs.webkit.org/show_bug.cgi?id=96888

        Reviewed by Kentaro Hara.

        Define BUILDING_WebCore during the build to properly mark
        FrameDestructionObserver symbols with __declspec(dllexport) attribute.

        * GNUmakefile.am:

2012-09-15  Mike West  <mkwst@chromium.org>

        Pause inspector when inline scripts are blocked by Content Security Policy.
        https://bugs.webkit.org/show_bug.cgi?id=93865

        Reviewed by Pavel Feldman.

        When Content Security Policy blocks an inline script that's been
        injected after the document is parsed, a fairly unhelpful console
        warning is generated; it points at line 1, regardless of where the error
        occurred. This patch adjusts CSP to not only warn on the console, but
        also to notify the inspector that it should pause execution if the
        developer has toggled "Break on Exceptions". Developers will have a
        better chance of tracking down the error, as they'll have a complete
        call stack to work with.

        Tests: inspector/debugger/debugger-pause-on-blocked-event-handler.html
               inspector/debugger/debugger-pause-on-blocked-script-injection.html
               inspector/debugger/debugger-pause-on-blocked-script-url.html

        * English.lproj/localizedStrings.js:
            Adding localizable string for the new friendly pause message.
        * inspector/Inspector.json:
            Add CSPViolation as a recognized reason for pausing execution.
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
            Teach the InspectorDebuggerAgent about script blocking. If pause on
            exceptions is enabled, call 'InspectorDebuggerAgent::breakProgram',
            and pass in an error object with a description that points to CSP
            as the culprit.
        (WebCore):
        * inspector/InspectorDebuggerAgent.h:
        (InspectorDebuggerAgent):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore):
        (WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSPImpl):
            Wire 'InspectorInstrumentation::scriptExecutionBlockedByCSP' to
            the InspectorDebuggerAgent backend.
        * inspector/InspectorInstrumentation.h:
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSP):
            The public interface that should be kicked whenever CSP blocks
            script execution.
        (WebCore):
        * inspector/front-end/DebuggerModel.js:
            Add CSPViolation as a recognized reason for pausing execution.
        * inspector/front-end/ScriptsPanel.js:
            Add a friendly call stack status message for CSP violations.
        * page/ContentSecurityPolicy.cpp:
        (CSPDirectiveList):
        (WebCore::CSPDirectiveList::checkNonceAndReportViolation):
            If script is blocked because the nonce doesn't match, report the
            blocked script to the inspector.
        (WebCore::CSPDirectiveList::checkInlineAndReportViolation):
            If inline script is blocked, report the blocked script to the
            inspector. This requires adding a bool parameter to differentiate
            blocking inline script from inline style.
        (WebCore::CSPDirectiveList::allowJavaScriptURLs):
            Tell 'checkInlineAndReportViolation' that we're dealing with script.
        (WebCore::CSPDirectiveList::allowInlineEventHandlers):
            Tell 'checkInlineAndReportViolation' that we're dealing with script.
        (WebCore::CSPDirectiveList::allowInlineScript):
            Tell 'checkInlineAndReportViolation' that we're dealing with script.
        (WebCore::CSPDirectiveList::allowInlineStyle):
            Tell 'checkInlineAndReportViolation' that we're not dealing with script.
        (WebCore::ContentSecurityPolicy::reportBlockedScriptExecutionToInspector):
            Public interface for the various CSP* classes to poke the inspector.
        (WebCore):
        * page/ContentSecurityPolicy.h:

2012-09-15  Florin Malita  <fmalita@chromium.org>

        <use> not working when the SVG doc is embedded as <object> data
        https://bugs.webkit.org/show_bug.cgi?id=96816

        Reviewed by Dirk Schulze.

        Updated SVGURIReference::isExternalURIReference() to correctly classify fragment-only URIs.
        Also, since the fragment-only test is cheap, it should be the first thing to try.

        Test: svg/custom/object-data-href.html

        * svg/SVGURIReference.h:
        (WebCore::SVGURIReference::isExternalURIReference):

2012-09-15  Benjamin Poulain  <benjamin@webkit.org>

        Fix the build with WTF URL
        https://bugs.webkit.org/show_bug.cgi?id=96875

        Reviewed by Adam Barth.

        Fix reportMemoryUsage, the implementation was only partial.

        * WebCore.exp.in: Export two more symbols as needed by API tests.
        * platform/KURLWTFURL.cpp:
        (WebCore::KURL::string): emptyString() return a reference,
        it makes more sense than nullAtom() here.
        * platform/KURLWTFURLImpl.h:
        (WebCore::KURLWTFURLImpl::reportMemoryUsage):

2012-09-11  Dirk Schulze  <krit@webkit.org>

        Add ClipPathOperation for -webkit-clip-path organization
        https://bugs.webkit.org/show_bug.cgi?id=95619

        Reviewed by Dean Jackson.

        This patch adds a new class ClipPathOperation to manage the values of the
        -webkit-clip-path property. ClipPathOperation stores a Path object for clipping and is
        a preparation for IRI references of the SVG 'clipPath' element.

        The structure of ClipPathOperation is simular to FilterOperation.

        ClipPathOperation will be extended to support IRI references directly in a second patch.

        No new tests. The changes just affect the backend.

        * GNUmakefile.list.am: Added new ClipPathOperation class.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * css/CSSComputedStyleDeclaration.cpp: Use ClipPathOperation instead of BasicShape.
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
        * css/StyleBuilder.cpp: Ditto.
        (WebCore):
        (WebCore::ApplyPropertyClipPath::setValue):
        (WebCore::ApplyPropertyClipPath::applyValue):
        (WebCore::ApplyPropertyClipPath::createHandler):
        * rendering/ClipPathOperation.h: Added. New handler for property values (BasicShape, references).
        (WebCore):
        (ClipPathOperation):
        (WebCore::ClipPathOperation::~ClipPathOperation):
        (WebCore::ClipPathOperation::operator!=):
        (WebCore::ClipPathOperation::getOperationType): Return the operation type.
        (WebCore::ClipPathOperation::isSameType): Helper function for =operator.
        (WebCore::ClipPathOperation::ClipPathOperation):
        (ShapeClipPathOperation): Inheriting class for managing BasicShapes.
        (WebCore::ShapeClipPathOperation::create):
        (WebCore::ShapeClipPathOperation::basicShape):
        (WebCore::ShapeClipPathOperation::windRule):
        (WebCore::ShapeClipPathOperation::path):
        (WebCore::ShapeClipPathOperation::operator==):
        (WebCore::ShapeClipPathOperation::ShapeClipPathOperation):
        * rendering/RenderLayer.cpp: Use ClipPathOperation to apply clipping.
        (WebCore::RenderLayer::paintLayerContents):
        * rendering/style/RenderStyle.h:
        * rendering/style/StyleRareNonInheritedData.h:
        (StyleRareNonInheritedData):
        * rendering/svg/SVGRenderingContext.cpp: Ditto.
        (WebCore::SVGRenderingContext::prepareToRenderSVGContent):

2012-09-15  Andreas Kling  <kling@webkit.org>

        REGRESSION(r127438): Google Docs to renders text too small.
        <http://webkit.org/b/96554>

        Reviewed by Antti Koivisto.

        Don't remove the inline StylePropertySet from ElementAttributeData in ~StyledElement.
        This behavior broke sharing of ElementAttributeData between elements with inline style,
        since destroying one element would effectively disable the inline style from all other
        elements that shared the same attribute data.

        What we actually want in ~StyledElement is to detach from any CSSOM wrapper that may
        have been instantiated. Added ElementAttributeData::detachCSSOMWrapperIfNeeded for this
        purpose and call that instead.

        Test: fast/dom/shared-inline-style-after-node-removal.html

        * dom/ElementAttributeData.cpp:
        (WebCore::ElementAttributeData::detachCSSOMWrapperIfNeeded):
        (WebCore::ElementAttributeData::destroyInlineStyle):
        * dom/ElementAttributeData.h:
        (ElementAttributeData):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::~StyledElement):
        (WebCore::StyledElement::styleAttributeChanged):
        * dom/StyledElement.h:
        (StyledElement):

2012-09-15  Kalev Lember  <kalevlember@gmail.com>

        [GTK] Include missing header files in the tarball
        https://bugs.webkit.org/show_bug.cgi?id=96860

        Reviewed by Kentaro Hara.

        Build fix; dist two additional headers that are needed for building on
        Windows platform.

        * GNUmakefile.list.am:

2012-09-15  Michael Saboff  <msaboff@apple.com>

        Add 8 bit handling to SpaceSplitString
        https://bugs.webkit.org/show_bug.cgi?id=96823

        Reviewed by Sam Weinig.

        Added templated functions based on character type to handle 8 and 16 bit string data.

        * dom/SpaceSplitString.cpp:
        (WebCore::hasNonASCIIOrUpper):
        (WebCore::SpaceSplitStringData::createVector):
        * dom/SpaceSplitString.h:
        (SpaceSplitStringData):

2012-09-15  Dan Bernstein  <mitz@apple.com>

        REGRESSION (r125578): The monospace code path in RenderText::widthFromCache disagrees with Font::width on word spacing
        https://bugs.webkit.org/show_bug.cgi?id=96869

        Reviewed by Eric Seidel.

        Test: fast/text/word-space-monospace.html
        This also fixes fast/css/word-spacing-characters.html

        * rendering/RenderText.cpp:
        (WebCore::RenderText::widthFromCache): Made the conditions for adding word spacing match the
        ones in WidthIterator.

2012-09-15  Dan Bernstein  <mitz@apple.com>

        REGRESSION (r125578): Word spacing not applied to newline and tab characters that are treated as spaces
        https://bugs.webkit.org/show_bug.cgi?id=96865

        Reviewed by Sam Weinig.

        Fixes fast/css/word-space-extra.html.

        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advanceInternal): Changed back to apply word spacing to all characters
        that are treated as spaces, except for tab characters when there are tab stops.
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Ditto.

2012-09-15  Dan Bernstein  <mitz@apple.com>

        REGRESSION (r125578): The Mac complex text code path disagrees with the fast path on word spacing
        https://bugs.webkit.org/show_bug.cgi?id=96857

        Reviewed by Anders Carlsson.

        Fixes the following tests when run with run-webkit-tests --complex-text:
        css2.1/20110323/c541-word-sp-001.htm
        css2.1/20110323/word-spacing-remove-space-002.htm
        css2.1/20110323/word-spacing-remove-space-003.htm
        css2.1/20110323/word-spacing-remove-space-004.htm
        css2.1/20110323/word-spacing-remove-space-005.htm
        css2.1/20110323/word-spacing-remove-space-006.htm

        Fixes fast/css/word-spacing-characters-complex-text.html

        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Made the conditions for adding
        word spacing match the ones in WidthIterator again.

2012-09-15  Kent Tamura  <tkent@chromium.org>

        Unreviewed, rolling out r128669.
        http://trac.webkit.org/changeset/128669
        https://bugs.webkit.org/show_bug.cgi?id=96637

        Broke http/tests/workers/text-encoding.html on Chromium Linux (dbg)

        * bindings/v8/DOMData.cpp:
        (WebCore::DOMData::getCurrentStore):
        * bindings/v8/ScopedPersistent.h:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::resetIsolatedWorlds):
        (WebCore::ScriptController::evaluateInIsolatedWorld):
        (WebCore::ScriptController::currentWorldContext):
        * bindings/v8/V8Binding.cpp:
        (WebCore::perContextDataForCurrentWorld):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::setIsolatedWorldField):
        (WebCore::V8DOMWindowShell::enteredIsolatedWorldContext):
        (WebCore::V8DOMWindowShell::destroyIsolatedShell):
        (WebCore):
        (WebCore::isolatedContextWeakCallback):
        (WebCore::V8DOMWindowShell::disposeContext):
        (WebCore::V8DOMWindowShell::initializeIfNeeded):
        (WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):
        * bindings/v8/V8DOMWindowShell.h:
        (V8DOMWindowShell):
        (WebCore::V8DOMWindowShell::getEntered):
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::getCachedWrapper):
        * bindings/v8/WorldContextHandle.cpp:
        (WebCore::WorldContextHandle::WorldContextHandle):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8SVGDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
        (WebCore::V8XMLHttpRequest::constructorCallback):

2012-09-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r128673.
        http://trac.webkit.org/changeset/128673
        https://bugs.webkit.org/show_bug.cgi?id=96847

        Makes plugins/document-open.html crash (Requested by jamesr_
        on #webkit).

        * dom/ContainerNode.cpp:
        (WebCore):
        (WebCore::ContainerNode::insertBeforeCommon):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::removeBetween):
        (WebCore::ContainerNode::removeChildren):
        (WebCore::ContainerNode::appendChild):
        (WebCore::ContainerNode::parserAddChild):
        (WebCore::dispatchChildInsertionEvents):
        (WebCore::dispatchChildRemovalEvents):
        * dom/ContainerNode.h:
        * dom/ContainerNodeAlgorithms.h:
        (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
        (WebCore::ChildNodeInsertionNotifier::notify):
        (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):
        * dom/Document.cpp:
        (WebCore::Document::dispatchWindowEvent):
        (WebCore::Document::dispatchWindowLoadEvent):
        * dom/EventDispatcher.cpp:
        (WebCore::EventDispatcher::dispatchEvent):
        * dom/EventTarget.cpp:
        (WebCore):
        (WebCore::forbidEventDispatch):
        (WebCore::allowEventDispatch):
        (WebCore::eventDispatchForbidden):
        (WebCore::EventTarget::fireEventListeners):
        * dom/EventTarget.h:
        (WebCore):
        (WebCore::forbidEventDispatch):
        (WebCore::allowEventDispatch):
        * dom/Node.cpp:
        (WebCore::Node::dispatchSubtreeModifiedEvent):
        (WebCore::Node::dispatchFocusInEvent):
        (WebCore::Node::dispatchFocusOutEvent):
        (WebCore::Node::dispatchDOMActivateEvent):
        * dom/WebKitNamedFlow.cpp:
        (WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::loadInternal):

2012-09-14  Julien Chaffraix  <jchaffraix@webkit.org>

        Revert r127457 and following fixes due to several hit-testing regressions
        https://bugs.webkit.org/show_bug.cgi?id=96830

        Reviewed by Antonio Gomes.

        This change reverts r127457, r127863 and r128505.

        * WebCore.exp.in:
        * WebCore.order:
        * dom/Document.cpp:
        (WebCore::Document::nodesFromRect):
        * dom/Document.h:
        (Document):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::hitTestResultAtPoint):
        * rendering/HitTestRequest.h:
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestLocation::HitTestLocation):
        * rendering/HitTestResult.h:
        (HitTestLocation):
        * rendering/RenderFrameBase.cpp:
        * rendering/RenderFrameBase.h:
        (RenderFrameBase):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTest):
        * testing/Internals.cpp:
        (WebCore::Internals::nodesFromRect):
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2012-09-14  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Calling close() during upgradeneeded handler should fire error at open request
        https://bugs.webkit.org/show_bug.cgi?id=96807

        Reviewed by Tony Chang.

        Per spec, if the database connection is closed before the success event fires, the request
        should have an error event of type AbortError fired at it.

        Test: storage/indexeddb/intversion-close-in-upgradeneeded.html

        * Modules/indexeddb/IDBDatabase.h:
        (WebCore::IDBDatabase::isClosePending): Expose this state so an in-flight success can be morphed.
        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::close): Fire the appropriate error at connections that are mid-opening.
        * Modules/indexeddb/IDBOpenDBRequest.cpp:
        (WebCore::IDBOpenDBRequest::onSuccess): If the connection was closed before the success is enqueued - 
        which can happen in multi-process ports with asynchronous messaging - convert the success to an error.

2012-09-14  Ryosuke Niwa  <rniwa@webkit.org>

        Turn forbidEventDispatch and allowEventDispatch into a RAII object
        https://bugs.webkit.org/show_bug.cgi?id=96717

        Reviewed by Abhishek Arya.

        Replaced forbidEventDispatch and allowEventDispatch by AssertNoEventDispatch.

        * dom/ContainerNode.cpp:
        (WebCore):
        (WebCore::ContainerNode::insertBeforeCommon):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::removeBetween):
        (WebCore::ContainerNode::removeChildren):
        (WebCore::ContainerNode::appendChild):
        (WebCore::ContainerNode::parserAddChild):
        (WebCore::dispatchChildInsertionEvents):
        (WebCore::dispatchChildRemovalEvents):
        * dom/ContainerNode.h:
        (AssertNoEventDispatch):
        (WebCore::AssertNoEventDispatch::AssertNoEventDispatch):
        (WebCore::AssertNoEventDispatch::~AssertNoEventDispatch):
        (WebCore::AssertNoEventDispatch::isEventDispatchForbidden):
        (WebCore):
        * dom/ContainerNodeAlgorithms.h:
        (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
        (WebCore::ChildNodeInsertionNotifier::notify):
        (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):
        * dom/Document.cpp:
        (WebCore::Document::dispatchWindowEvent):
        (WebCore::Document::dispatchWindowLoadEvent):
        * dom/EventDispatcher.cpp:
        (WebCore::EventDispatcher::dispatchEvent):
        * dom/EventTarget.cpp:
        (WebCore):
        (WebCore::EventTarget::fireEventListeners):
        * dom/EventTarget.h:
        (WebCore):
        * dom/Node.cpp:
        (WebCore::Node::dispatchSubtreeModifiedEvent):
        (WebCore::Node::dispatchFocusInEvent):
        (WebCore::Node::dispatchFocusOutEvent):
        (WebCore::Node::dispatchDOMActivateEvent):
        * dom/WebKitNamedFlow.cpp:
        (WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::loadInternal):

2012-09-14  Mike West  <mkwst@chromium.org>

        JSC should throw a more descriptive exception when blocking 'eval' via CSP.
        https://bugs.webkit.org/show_bug.cgi?id=94331

        Reviewed by Geoffrey Garen.

        Unless explicitly whitelisted, the 'script-src' Content Security Policy
        directive blocks 'eval' and 'eval'-like constructs such as
        'new Function()'. When 'eval' is encountered in code, an 'EvalError' is
        thrown, but the associated message is poor: "Eval is disabled" doesn't
        give developers enough information about why their code isn't behaving
        as expected.

        This patch adds an 'errorMessage' parameter to the JavaScriptCore method
        used to disable 'eval'; ContentSecurityPolicy has the opportunity to
        pass in a more detailed and descriptive error that contains more context
        for the developer.

        The new error message is tested by adjusting existing tests; nothing new
        is required.

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::initScript):
            Read the error message off the document's ContentSecurityPolicy.
        (WebCore::ScriptController::disableEval):
        * bindings/js/ScriptController.h:
        (ScriptController):
            Pipe the error message through to JSGlobalObject when disabling eval
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::disableEval):
        * bindings/js/WorkerScriptController.h:
        (WorkerScriptController):
            Pipe the error message through to JSGlobalObject when disabling eval
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::disableEval):
        * bindings/v8/ScriptController.h:
        (ScriptController):
        * bindings/v8/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::disableEval):
        * bindings/v8/WorkerScriptController.h:
        (WorkerScriptController):
            Placeholder for V8 piping to be built in webk.it/94332.
        * dom/Document.cpp:
        (WebCore::Document::disableEval):
        * dom/Document.h:
        (Document):
        * dom/ScriptExecutionContext.h:
        (ScriptExecutionContext):
            Pipe the error message through to the ScriptController when
            disabling eval.
        * page/ContentSecurityPolicy.cpp:
        (WebCore::CSPDirectiveList::evalDisabledErrorMessage):
            Accessor for the error message that ought be displayed to developers
            when 'eval' used while disabled for a specific directive list.
        (WebCore::CSPDirectiveList::setEvalDisabledErrorMessage):
            Mutator for the error message that ought be displayed to developers
            when 'eval' used while disabled for a specific directive list.
        (CSPDirectiveList):
        (WebCore::CSPDirectiveList::create):
            Upon creation of a CSPDirectiveList, set the error message if the
            directive list disables 'eval'.
        (WebCore::ContentSecurityPolicy::didReceiveHeader):
            Pass the error message into ScriptExecutionContext::disableEval.
        (WebCore::ContentSecurityPolicy::evalDisabledErrorMessage):
            Public accessor for the policy's error message; walks the list of
            directive lists and returns the first error message found.
        (WebCore):
        * page/ContentSecurityPolicy.h:
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::disableEval):
        * workers/WorkerContext.h:
        (WorkerContext):
            Pipe the error message through to the ScriptController when
            disabling eval.

2012-09-14  Dan Carney  <dcarney@google.com>

        Remove V8DOMWindowShell::getEntered
        https://bugs.webkit.org/show_bug.cgi?id=96637

        Reviewed by Adam Barth.

        V8DOMWindowShell::getEntered was refactored so that the window shell
        no longer has to be kept alive by a v8 context but rather a smaller
        object.

        No new tests. No change in functionality.

        * bindings/v8/DOMData.cpp:
        (WebCore::DOMData::getCurrentStore):
        * bindings/v8/ScopedPersistent.h:
        (WebCore::ScopedPersistent::leakHandle):
        (ScopedPersistent):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::resetIsolatedWorlds):
        (WebCore::ScriptController::evaluateInIsolatedWorld):
        (WebCore::ScriptController::currentWorldContext):
        * bindings/v8/V8Binding.cpp:
        (WebCore::perContextDataForCurrentWorld):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::setIsolatedWorldField):
        (WebCore::V8DOMWindowShell::toIsolatedContextData):
        (WebCore::isolatedContextWeakCallback):
        (WebCore::V8DOMWindowShell::disposeContext):
        (WebCore::V8DOMWindowShell::clearIsolatedShell):
        (WebCore):
        (WebCore::V8DOMWindowShell::initializeIfNeeded):
        (WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):
        * bindings/v8/V8DOMWindowShell.h:
        (V8DOMWindowShell):
        (IsolatedContextData):
        (WebCore::V8DOMWindowShell::IsolatedContextData::create):
        (WebCore::V8DOMWindowShell::IsolatedContextData::world):
        (WebCore::V8DOMWindowShell::IsolatedContextData::perContextData):
        (WebCore::V8DOMWindowShell::IsolatedContextData::setSecurityOrigin):
        (WebCore::V8DOMWindowShell::IsolatedContextData::securityOrigin):
        (WebCore::V8DOMWindowShell::IsolatedContextData::IsolatedContextData):
        (WebCore::V8DOMWindowShell::enteredIsolatedContext):
        (WebCore::V8DOMWindowShell::enteredIsolatedContextData):
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::getCachedWrapper):
        * bindings/v8/WorldContextHandle.cpp:
        (WebCore::WorldContextHandle::WorldContextHandle):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8SVGDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
        (WebCore::V8XMLHttpRequest::constructorCallback):

2012-09-14  Michelangelo De Simone  <michelangelo@webkit.org>

        [CSS Shaders] u_textureSize uniform should be set to the size of the texture.
        https://bugs.webkit.org/show_bug.cgi?id=95914

        Reviewed by Dean Jackson.

        This adds support for the following shader uniform variables:

            uniform vec2 u_textureSize
            uniform vec4 u_meshBox
            uniform vec2 u_tileSize
            uniform vec2 u_meshSize

        The relevant section of the specification is:
        http://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#shader-uniform-variables

        Tests: css3/filters/custom/custom-filter-u-mesh-box.html
               css3/filters/custom/custom-filter-u-mesh-size.html
               css3/filters/custom/custom-filter-u-texture-size.html
               css3/filters/custom/custom-filter-u-tile-size.html

        * platform/graphics/filters/FECustomFilter.cpp:
        (WebCore::FECustomFilter::bindProgramAndBuffers):

2012-09-14  Ojan Vafai  <ojan@chromium.org>

        Provide a runtime setting to disable position:sticky
        https://bugs.webkit.org/show_bug.cgi?id=96827

        Reviewed by James Robinson.

        Have it be on by default so that only ports that both enable
        the define and don't want it on by default need to do something special.

        * css/CSSParser.cpp:
        (WebCore::CSSParserContext::CSSParserContext):
        (WebCore::operator==):
        (WebCore::isValidKeywordPropertyAndValue):
        * css/CSSParserMode.h:
        (CSSParserContext):
        * dom/Document.cpp:
        (WebCore::Document::cssStickyPositionEnabled):
        (WebCore):
        * dom/Document.h:
        (Document):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (Settings):
        (WebCore::Settings::setCSSStickyPositionEnabled):
        (WebCore::Settings::cssStickyPositionEnabled):

2012-09-14  Simon Fraser  <simon.fraser@apple.com>

        Fix builds with CSS_IMAGE_RESOLUTION enabled after r128656.

        * css/StyleBuilder.cpp:
        (WebCore::ApplyPropertyImageResolution::applyInheritValue):
        (WebCore::ApplyPropertyImageResolution::applyInitialValue):

2012-09-14  Adam Barth  <abarth@webkit.org>

        Remove webkitPostMessage
        https://bugs.webkit.org/show_bug.cgi?id=96577

        Reviewed by Ojan Vafai.

        webkitPostMessage works the same as postMessage. The spec and the
        implementation have been stable for a while. We should no longer be
        exposing this vendor-prefixed API.

        This patch places the webkitPostMessage API behind an ENABLE flag.
        We're going to try removing this API in the Chromium port. If we don't
        run into trouble, we'll remove it in all the other ports as well.

        This topic has been discussed on webkit-dev in
        http://lists.webkit.org/pipermail/webkit-dev/2012-April/020237.html and
        http://lists.webkit.org/pipermail/webkit-dev/2012-September/022189.html

        This patch introduces the ENABLE(LEGACY_VENDOR_PREFIXES) flag. Rather
        than having a flag for each vendor-prefixed API we're experimenting
        with removing, we'll add vendor prefixed APIs to this ENABLE when we
        want to try removing them. If we succeed, we'll just delete the APIs.
        If we fail, we'll remove them from the ENABLE. That way we avoid the
        churn of adding and removing many ENABLE macros.

        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * GNUmakefile.features.am:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore):
        * bindings/js/JSDedicatedWorkerContextCustom.cpp:
        (WebCore):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore):
        * bindings/js/JSWorkerCustom.cpp:
        (WebCore):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore):
        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
        (WebCore):
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        (WebCore):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore):
        * dom/MessagePort.idl:
        * page/DOMWindow.idl:
        * workers/DedicatedWorkerContext.idl:
        * workers/Worker.idl:

2012-09-14  Simon Fraser  <simon.fraser@apple.com>

        REGRESSION: transition doesn’t always override transition-property
        https://bugs.webkit.org/show_bug.cgi?id=96658

        Reviewed by Dean Jackson.

        Setting the animation property on an Animation in CSSToStyleMap::mapAnimationProperty()
        is special because we have to call setAnimationMode(Animation::AnimateAll) as well
        as setting the property to CSSPropertyInvalid if it's for the initial state
        of the transition-property property.
        
        In order to fix this via StyleBuilder PropertyHandlers, we have to know,
        in ApplyPropertyAnimation::applyInitialValue(), which property is getting applied.
        This requires passing the CSSPropertyID down through all of the "apply" methods.
        
        Do some unrelated cleanup in CSSParser::parseTransitionShorthand(); the existing code
        was not safe with respect to adding new properties to the shorthand.

        Test: transitions/longhand-vs-shorthand-initial.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseTransitionShorthand):
        * css/StyleBuilder.cpp:
        (WebCore::ApplyPropertyExpanding::applyInheritValue):
        (WebCore::ApplyPropertyExpanding::applyInitialValue):
        (WebCore::ApplyPropertyExpanding::applyValue):
        (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
        (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
        (WebCore::ApplyPropertyDefaultBase::applyValue):
        (WebCore::ApplyPropertyDefault::applyValue):
        (WebCore::ApplyPropertyNumber::applyValue):
        (WebCore::ApplyPropertyStyleImage::applyValue):
        (WebCore::ApplyPropertyAuto::applyInheritValue):
        (WebCore::ApplyPropertyAuto::applyInitialValue):
        (WebCore::ApplyPropertyAuto::applyValue):
        (WebCore::ApplyPropertyClip::applyInheritValue):
        (WebCore::ApplyPropertyClip::applyInitialValue):
        (WebCore::ApplyPropertyClip::applyValue):
        (WebCore::ApplyPropertyColor::applyInheritValue):
        (WebCore::ApplyPropertyColor::applyInitialValue):
        (WebCore::ApplyPropertyColor::applyValue):
        (WebCore::ApplyPropertyDirection::applyValue):
        (WebCore::ApplyPropertyLength::applyValue):
        (WebCore::ApplyPropertyString::applyValue):
        (WebCore::ApplyPropertyBorderRadius::applyValue):
        (WebCore::ApplyPropertyFillLayer::applyInheritValue):
        (WebCore::ApplyPropertyFillLayer::applyInitialValue):
        (WebCore::ApplyPropertyFillLayer::applyValue):
        (WebCore::ApplyPropertyComputeLength::applyValue):
        (WebCore::ApplyPropertyFont::applyInheritValue):
        (WebCore::ApplyPropertyFont::applyInitialValue):
        (WebCore::ApplyPropertyFont::applyValue):
        (WebCore::ApplyPropertyFontSize::applyInheritValue):
        (WebCore::ApplyPropertyFontSize::applyInitialValue):
        (WebCore::ApplyPropertyFontSize::applyValue):
        (WebCore::ApplyPropertyFontWeight::applyValue):
        (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
        (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
        (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
        (WebCore::ApplyPropertyBorderImage::applyValue):
        (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
        (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
        (WebCore::ApplyPropertyBorderImageModifier::applyValue):
        (WebCore::ApplyPropertyBorderImageSource::applyValue):
        (WebCore::ApplyPropertyCounter::emptyFunction):
        (WebCore::ApplyPropertyCounter::applyInheritValue):
        (WebCore::ApplyPropertyCounter::applyValue):
        (WebCore::ApplyPropertyCursor::applyInheritValue):
        (WebCore::ApplyPropertyCursor::applyInitialValue):
        (WebCore::ApplyPropertyCursor::applyValue):
        (WebCore::ApplyPropertyTextAlign::applyValue):
        (WebCore::ApplyPropertyTextDecoration::applyValue):
        (WebCore::ApplyPropertyLineHeight::applyValue):
        (WebCore::ApplyPropertyPageSize::applyInheritValue):
        (WebCore::ApplyPropertyPageSize::applyInitialValue):
        (WebCore::ApplyPropertyPageSize::applyValue):
        (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
        (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
        (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
        (WebCore::ApplyPropertyAnimation::applyInheritValue):
        (WebCore::ApplyPropertyAnimation::applyInitialValue): If the property is
        CSSPropertyWebkitTransitionProperty, call setAnimationMode(Animation::AnimateAll).
        (WebCore::ApplyPropertyAnimation::applyValue):
        (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
        (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
        (WebCore::ApplyPropertyOutlineStyle::applyValue):
        (WebCore::ApplyPropertyResize::applyValue):
        (WebCore::ApplyPropertyVerticalAlign::applyValue):
        (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
        (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
        (WebCore::ApplyPropertyAspectRatio::applyValue):
        (WebCore::ApplyPropertyZoom::applyInheritValue):
        (WebCore::ApplyPropertyZoom::applyInitialValue):
        (WebCore::ApplyPropertyZoom::applyValue):
        (WebCore::ApplyPropertyDisplay::applyInheritValue):
        (WebCore::ApplyPropertyDisplay::applyInitialValue):
        (WebCore::ApplyPropertyDisplay::applyValue):
        (WebCore::ApplyPropertyClipPath::applyValue):
        (WebCore::ApplyPropertyWrapShape::applyValue):
        (WebCore::ApplyPropertyImageResolution::applyInheritValue):
        (WebCore::ApplyPropertyImageResolution::applyInitialValue):
        (WebCore::ApplyPropertyImageResolution::applyValue):
        * css/StyleBuilder.h:
        (PropertyHandler):
        (WebCore::PropertyHandler::applyInheritValue):
        (WebCore::PropertyHandler::applyInitialValue):
        (WebCore::PropertyHandler::applyValue):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::collectMatchingRulesForList): Pass in the property ID.

2012-09-14  Chang Shu  <cshu@webkit.org>

        Support constructor-type attribute in idls other than DOMWindow.
        https://bugs.webkit.org/show_bug.cgi?id=96821

        Reviewed by Kentaro Hara.

        In CodeGeneratorJS.pm, we should not assume only DOMWindow uses Constructor
        attribute. So for other interfaces, we should pass castedThis->globalObject()
        instead of castedThis.

        Test: bindings/scripts/test/JS/JSTestObj.idl

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjConstructorTestSubObj):
        (WebCore::jsTestObjConditionalAttr4Constructor):
        (WebCore::jsTestObjConditionalAttr5Constructor):
        (WebCore::jsTestObjConditionalAttr6Constructor):

2012-09-14  Tom Sepez  <tsepez@chromium.org>

        ImageLoader can't be cleared when video element poster attribute removed.
        https://bugs.webkit.org/show_bug.cgi?id=96301

        Reviewed by Abhishek Arya.

        Same problem as in https://bugs.webkit.org/show_bug.cgi?id=90801. We can't
        clear the image loader when the src attribute is cleared, because we might be
        inside a handler called on top of an image loader event dispatch. Instead we
        will rely on the OwnPtr relationship between the Element and the Image Loader
        to limit the lifetime of the loader to that of the element.

        Test: fast/dom/beforeload/clear-video-poster-in-beforeload-listener.html

        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::parseAttribute):
        Remove permature clearing of m_imageLoader.
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::parseAttribute):
        Remove permature clearing of m_imageLoader.
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parseAttribute):
        Remove permature clearing of m_imageLoader.

2012-09-14  Jeffrey Pfau  <jpfau@apple.com>

        Allow third-party storage blocking setting to change while a page is loaded
        https://bugs.webkit.org/show_bug.cgi?id=95790

        Reviewed by Brady Eidson.

        Pipe through changes to the storage blocking policy to each document and plugin.

        Tests: http/tests/security/storage-blocking-loosened-local-storage.html
               http/tests/security/storage-blocking-loosened-plugin.html
               http/tests/security/storage-blocking-loosened-private-browsing-plugin.html
               http/tests/security/storage-blocking-loosened-shared-worker.html
               http/tests/security/storage-blocking-loosened-websql.html
               http/tests/security/storage-blocking-strengthened-local-storage.html
               http/tests/security/storage-blocking-strengthened-plugin.html
               http/tests/security/storage-blocking-strengthened-private-browsing-plugin.html
               http/tests/security/storage-blocking-strengthened-shared-worker.html
               http/tests/security/storage-blocking-strengthened-websql.html

        * WebCore.exp.in:
        * dom/Document.cpp: Pipe changes through to the Document's SecurityOrigin.
        (WebCore::Document::storageBlockingStateDidChange):
        (WebCore):
        * dom/Document.h:
        (Document):
        * page/DOMWindow.cpp: Check to make sure access is allowed before returning a cached storage area.
        (WebCore::DOMWindow::sessionStorage):
        (WebCore::DOMWindow::localStorage):
        * page/Page.cpp:
        (WebCore::Page::collectPluginViews): Refactored out into a function.
        (WebCore):
        (WebCore::Page::storageBlockingStateChanged): Pipe changes through to each PluginView.
        (WebCore::Page::privateBrowsingStateChanged):
        * page/Page.h:
        (Page):
        * page/Settings.cpp:
        (WebCore::Settings::setStorageBlockingPolicy): Tell Pages about changes to the storage blocking policy.
        (WebCore):
        * page/Settings.h:
        (Settings):
        * plugins/PluginViewBase.h:
        (WebCore::PluginViewBase::storageBlockingStateChanged):

2012-09-14  Dan Carney  <dcarney@google.com>

        Prevent workers from calling back into other worlds
        https://bugs.webkit.org/show_bug.cgi?id=96790

        Reviewed by Adam Barth.

        Added a few sanity checks to ensure callbacks are always using the correct world.

        No new tests. No new change in functionality.

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getEventListener):
        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::prepareListenerObject):
        * bindings/v8/WorldContextHandle.cpp:
        (WebCore::WorldContextHandle::WorldContextHandle):
        (WebCore::WorldContextHandle::adjustedContext):
        * bindings/v8/WorldContextHandle.h:

2012-09-14  Dana Jansens  <danakj@chromium.org>

        Minimize collisions when hashing pairs
        https://bugs.webkit.org/show_bug.cgi?id=96022

        Reviewed by Adrienne Walker.

        Use WTF::pairIntHash() to hash pairs of integers.

        * dom/Document.cpp:
        (WebCore::ImmutableAttributeDataCacheKey::hash):
        * dom/StyledElement.cpp:
        (WebCore::computePresentationAttributeCacheHash):
        * platform/graphics/Gradient.cpp:
        (WebCore::Gradient::hash):
        * platform/graphics/IntPointHash.h:
        (WTF::IntPointHash::hash):
        * platform/graphics/IntRectHash.h:
        * platform/graphics/IntSizeHash.h:
        * platform/graphics/blackberry/LayerTileIndex.h:
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::SubimageCacheHash::hash):

2012-09-14  Rob Buis  <rbuis@rim.com>

        [BlackBerry] Use StringBuilder more in BlackBerry RSS classes
        https://bugs.webkit.org/show_bug.cgi?id=96820

        Reviewed by Antonio Gomes.

        Use append/appendLiteral where possible.

        * platform/MIMETypeRegistry.cpp:
        (WebCore::mimeTypeAssociationMap):
        * platform/network/blackberry/rss/RSSAtomParser.cpp:
        (WebCore::RSSAtomParser::parseContent):
        (WebCore::RSSAtomParser::parseAuthor):
        * platform/network/blackberry/rss/RSSGenerator.cpp:
        (WebCore::RSSGenerator::generateHtml):
        * platform/network/blackberry/rss/RSSParserBase.cpp:
        (WebCore::textFromXMLAttr):
        (WebCore::textFromXMLNode):

2012-09-14  Alexandru Chiculita  <achicu@adobe.com>

        [CSS Shaders] Enable anti-aliasing on the FECustomFilter
        https://bugs.webkit.org/show_bug.cgi?id=96668

        Reviewed by Dean Jackson.

        Added multisample frame buffer for the FECustomFilter. It will try to allocate a multisample framebuffer
        with a maximum sample count of 4. At the end it will blit the samples back to the original frame buffer,
        so that we can read the pixels back.

        This patch uses extensions GL_ANGLE_framebuffer_multisample, GL_ANGLE_framebuffer_blit
        and GL_OES_rgb8_rgba8.

        No new tests, multisampling is not working in Chromium DRT and has not pixel effect on WebKit Mac.

        * platform/graphics/filters/FECustomFilter.cpp:
        (WebCore::FECustomFilter::FECustomFilter):
        (WebCore::FECustomFilter::deleteRenderBuffers):
        (WebCore):
        (WebCore::FECustomFilter::deleteMultisampleRenderBuffers):
        (WebCore::FECustomFilter::drawFilterMesh):
        (WebCore::FECustomFilter::createMultisampleBuffer):
        (WebCore::FECustomFilter::resolveMultisampleBuffer):
        (WebCore::FECustomFilter::canUseMultisampleBuffers):
        (WebCore::FECustomFilter::resizeMultisampleBuffers):
        (WebCore::FECustomFilter::resizeContext):
        * platform/graphics/filters/FECustomFilter.h:

2012-09-14  Bo Liu  <boliu@chromium.org>

        Add in-place reload behavior to ImagesEnabled setting
        https://bugs.webkit.org/show_bug.cgi?id=95478

        Reviewed by Adam Barth.

        Store ImagesEnabled setting in CachedResourceLoader similar to
        AutoLoadImages. Move FrameLoaderClient::allowImage to after a
        CachedImage has been created and store the cache for reload if it is
        blocked.

        Make sure when image loads are deferred by either ImagesEnabled or
        LoadImagesAutomatically, onload is not called.

        Added ImagesEnabled to InternalSettings for layout tests.

        Tests: fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html
               fast/loader/images-enabled-unset-can-block-image-and-can-reload-in-place.html

        * WebCore.exp.in:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didBeginDocument):
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::willSendRequest):
        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::load):
        * loader/cache/CachedImage.h:
        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::didAddClient):
        * loader/cache/CachedResource.h:
        (WebCore::CachedResource::stillNeedsLoad):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::CachedResourceLoader):
        (WebCore::CachedResourceLoader::requestImage):
        (WebCore::CachedResourceLoader::canRequest):
        (WebCore::CachedResourceLoader::determineRevalidationPolicy):
        (WebCore::CachedResourceLoader::setAutoLoadImages):
        (WebCore):
        (WebCore::CachedResourceLoader::setImagesEnabled):
        (WebCore::CachedResourceLoader::shouldDeferImageLoad):
        (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):
        * loader/cache/CachedResourceLoader.h:
        (CachedResourceLoader):
        (WebCore::CachedResourceLoader::imagesEnabled):
        * page/Settings.cpp:
        (WebCore::setImageLoadingSettings):
        (WebCore::Settings::Settings):
        (WebCore::Settings::setLoadsImagesAutomatically):
        (WebCore::Settings::imageLoadingSettingsTimerFired):
        (WebCore::Settings::setImagesEnabled):
        * page/Settings.h:
        (Settings):
        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::setImagesEnabled):
        (WebCore):
        * testing/InternalSettings.h:
        (InternalSettings):
        * testing/InternalSettings.idl:

2012-09-14  Emil A Eklund  <eae@chromium.org>

        https://bugs.webkit.org/show_bug.cgi?id=96226
        REGRESSION (r128006): Three spatial navigation tests are failing

        Reviewed by Ryosuke Niwa.

        Fix spatial navigation regression by reverting parts of r128006.
        Specifically the change to remove the overridden boundingBox
        method in ContainerNode. 

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::getUpperLeftCorner):
        (WebCore):
        (WebCore::ContainerNode::getLowerRightCorner):
        (WebCore::ContainerNode::boundingBox):
        * dom/ContainerNode.h:
        (ContainerNode):

2012-09-14  James Robinson  <jamesr@chromium.org>

        Unreviewed, rolling out r128627.
        http://trac.webkit.org/changeset/128627
        https://bugs.webkit.org/show_bug.cgi?id=96575

        Breaks indexeddb content_browsertests in chromium

        * Modules/indexeddb/IDBDatabase.cpp:
        (WebCore::IDBDatabase::IDBDatabase):
        (WebCore::IDBDatabase::setVersion):
        * Modules/indexeddb/IDBDatabase.h:
        (IDBDatabase):

2012-09-14  Alexandru Chiculita  <achicu@adobe.com>

        [CSS Shaders] Refactor FECustomFilter to make it usable from platform dependent implementations
        https://bugs.webkit.org/show_bug.cgi?id=96801

        Reviewed by Dean Jackson.

        I've refactored the FECustomFilter to allow FECustomFilterSkia.cpp to use the rendering part
        from outside.

        Also removed the Texture class as it is not available on some platforms.

        The changes for Skia will land in a different patch:
        https://bugs.webkit.org/show_bug.cgi?id=96579

        No new tests, the existing custom filters tests should already cover this.

        * platform/graphics/filters/CustomFilterGlobalContext.cpp:
        (WebCore::CustomFilterGlobalContext::prepareContextIfNeeded):
        * platform/graphics/filters/FECustomFilter.cpp:
        (WebCore::FECustomFilter::FECustomFilter):
        (WebCore::FECustomFilter::deleteRenderBuffers):
        (WebCore::FECustomFilter::drawFilterMesh):
        (WebCore):
        (WebCore::FECustomFilter::prepareForDrawing):
        (WebCore::FECustomFilter::programNeedsInputTexture):
        (WebCore::FECustomFilter::applyShader):
        (WebCore::FECustomFilter::initializeContext):
        (WebCore::FECustomFilter::ensureInputTexture):
        (WebCore::FECustomFilter::uploadInputTexture):
        (WebCore::FECustomFilter::ensureFrameBuffer):
        (WebCore::FECustomFilter::resizeContextIfNeeded):
        (WebCore::FECustomFilter::resizeContext):
        (WebCore::FECustomFilter::bindProgramAndBuffers):
        * platform/graphics/filters/FECustomFilter.h:
        (FECustomFilter):

2012-09-14  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION(r126717): It made inspector/styles/media-queries.html fail/flakey
        https://bugs.webkit.org/show_bug.cgi?id=95070

        Roll out r126717, and another change that depends on it.
        r126717: Remove parent pointer from StyleSheetContents and StyleRuleImport
        r127123: Cache and share parsed imported stylesheets

        * css/CSSImportRule.cpp:
        * css/CSSImportRule.h:
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::willMutateRules):
        (WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers):
        (WebCore::CSSStyleSheet::insertRule):
        (WebCore::CSSStyleSheet::ownerDocument):
        * css/CSSStyleSheet.h:
        (WebCore::CSSStyleSheet::clearOwnerRule):
        * css/StyleRuleImport.cpp:
        (WebCore::StyleRuleImport::StyleRuleImport):
        (WebCore::StyleRuleImport::~StyleRuleImport):
        (WebCore::StyleRuleImport::setCSSStyleSheet):
        (WebCore::StyleRuleImport::isLoading):
        (WebCore::StyleRuleImport::requestStyleSheet):
        * css/StyleRuleImport.h:
        (WebCore::StyleRuleImport::parentStyleSheet):
        (WebCore::StyleRuleImport::setParentStyleSheet):
        (WebCore::StyleRuleImport::clearParentStyleSheet):
        (ImportedStyleSheetClient):
        (WebCore::StyleRuleImport::ImportedStyleSheetClient::ImportedStyleSheetClient):
        (WebCore::StyleRuleImport::ImportedStyleSheetClient::~ImportedStyleSheetClient):
        (WebCore::StyleRuleImport::ImportedStyleSheetClient::setCSSStyleSheet):
        * css/StyleSheetContents.cpp:
        (WebCore::StyleSheetContents::StyleSheetContents):
        (WebCore::StyleSheetContents::isCacheable):
        (WebCore::StyleSheetContents::parserAppendRule):
        (WebCore::StyleSheetContents::clearRules):
        (WebCore::StyleSheetContents::wrapperInsertRule):
        (WebCore::StyleSheetContents::wrapperDeleteRule):
        (WebCore::StyleSheetContents::parseAuthorStyleSheet):
        (WebCore::StyleSheetContents::parseStringAtLine):
        (WebCore::StyleSheetContents::checkLoaded):
        (WebCore::StyleSheetContents::notifyLoadedSheet):
        (WebCore::StyleSheetContents::startLoadingDynamicSheet):
        (WebCore::StyleSheetContents::rootStyleSheet):
        (WebCore::StyleSheetContents::singleOwnerNode):
        (WebCore::StyleSheetContents::singleOwnerDocument):
        (WebCore::StyleSheetContents::parentStyleSheet):
        * css/StyleSheetContents.h:
        (WebCore::StyleSheetContents::create):
        (StyleSheetContents):
        (WebCore::StyleSheetContents::ownerRule):
        (WebCore::StyleSheetContents::clearOwnerRule):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::parseStyleSheet):
        * dom/StyleElement.cpp:
        (WebCore::StyleElement::createSheet):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::setCSSStyleSheet):
        * loader/cache/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):

2012-09-14  Ojan Vafai  <ojan@chromium.org>

        Simplify some code in RenderBox::computePercentageLogicalHeight
        https://bugs.webkit.org/show_bug.cgi?id=96704

        Reviewed by Tony Chang.

        This is strictly code cleanup. No behavior change.
        Also removed some comments that were what comments and/or were
        getting stale.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::skipContainingBlockForPercentHeightCalculation):
        (WebCore):
        (WebCore::RenderBox::computePercentageLogicalHeight):
        * rendering/RenderBox.h:
        (RenderBox):

2012-09-14  Kent Tamura  <tkent@chromium.org>

        Unreviewed, a workaround for a mysterious crash on Apple Windows port.
        https://bugs.webkit.org/show_bug.cgi?id=96636

        * testing/InternalSettings.cpp:
        Touch RuntimeEnabledFeatures::langAttributeAwareFormControlUIEnabled only if
        ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS)
        (WebCore::InternalSettings::Backup::Backup):
        (WebCore::InternalSettings::Backup::restoreTo):
        (WebCore::InternalSettings::setLangAttributeAwareFormControlUIEnabled):
        * testing/InternalSettings.h:
        (Backup):

2012-09-14  David Grogan  <dgrogan@chromium.org>

        IndexedDB: Print console warning about setVersion
        https://bugs.webkit.org/show_bug.cgi?id=96575

        Reviewed by Tony Chang.

        setVersion has been out of the spec for almost a year but there are
        still a lot of users.

        We show the warning once per database object as an approximation for
        once per page.

        No new tests, but 150-something rebaselines.

        * Modules/indexeddb/IDBDatabase.cpp:
        (WebCore::IDBDatabase::IDBDatabase):
        (WebCore::IDBDatabase::setVersion):
        * Modules/indexeddb/IDBDatabase.h:
        (IDBDatabase):

2012-09-14  Michelangelo De Simone  <michelangelo@webkit.org>

        Use arrays in shaders
        https://bugs.webkit.org/show_bug.cgi?id=95223

        Reviewed by Dean Jackson.

        Custom Filters' support for array() is introduced. Values within
        the array() function will be passed as uniforms to shaders.

        Values within array() are comma-separated; the specification will be
        updated accordingly: https://www.w3.org/Bugs/Public/show_bug.cgi?id=18839

        Test: css3/filters/custom/custom-filter-array.html

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForCustomFilterArrayParameter): 
        (WebCore):
        (WebCore::valueForCustomFilterParameter):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::collectMatchingRulesForList):
        * css/StyleResolver.h:
        (StyleResolver):
        * platform/graphics/filters/CustomFilterArrayParameter.h: Container for array()
        parameter values.
        (WebCore):
        (CustomFilterArrayParameter):
        (WebCore::CustomFilterArrayParameter::create):
        (WebCore::CustomFilterArrayParameter::size):
        (WebCore::CustomFilterArrayParameter::valueAt):
        (WebCore::CustomFilterArrayParameter::addValue):
        (WebCore::CustomFilterArrayParameter::blend):
        (WebCore::CustomFilterArrayParameter::operator==):
        (WebCore::CustomFilterArrayParameter::CustomFilterArrayParameter):
        * platform/graphics/filters/CustomFilterParameter.h:
        * platform/graphics/filters/FECustomFilter.cpp:
        (WebCore::FECustomFilter::bindProgramArrayParameters):
        (WebCore):
        (WebCore::FECustomFilter::bindProgramParameters):
        * platform/graphics/filters/FECustomFilter.h:
        (WebCore):
        (FECustomFilter):

2012-09-14  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Remove old cruft from the qmake build system

        Rubber-stamped by Simon Hausmann.

        * DerivedSources.pri:
        * Target.pri:

2012-09-14  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Make force_static_libs_as_shared work on Mac OS

        We had to move a few LIBS += around that were in the wrong place,
        and not caught when everything was just linked into the final
        QtWebKit library.

        Reviewed by Simon Hausmann.

        * WebCore.pri:

2012-09-14  Rick Byers  <rbyers@chromium.org>

        Gesture events sent to wrong node when page is scrolled
        https://bugs.webkit.org/show_bug.cgi?id=96788

        Reviewed by Antonio Gomes.

        Adjust the co-ordinate space correctly when doing hit testing for
        gesture events (as for all other event handling code here).

        Test: platform/chromium/plugins/gesture-events-scrolled.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleGestureEvent):

2012-09-14  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>

        [EFL] Attempt to create a theme for 0 sized element leads to assertion hit
        https://bugs.webkit.org/show_bug.cgi?id=96743

        Reviewed by Kenneth Rohde Christiansen.

        RenderThemeEfl was not supposed to be created for the elements with '0' size and had an assertion
        on that causing crash in debug mode. 

        Test: fast/forms/range/slider-zero-size-crash.html

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::ThemePartCacheEntry::create):

2012-09-14  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: reuse WebInspector.ProgressIndicator in Audits panel
        https://bugs.webkit.org/show_bug.cgi?id=96755

        Reviewed by Alexander Pavlov.

        - remove AuditProgressMonitor, use WebInspector.ProgressIndicator instead;
        - add annotations for a bunch of audit methods;
        - simplify control flow -- remove callbacks where possible.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/AuditLauncherView.js:
        (WebInspector.AuditLauncherView):
        (WebInspector.AuditLauncherView.prototype._setAuditRunning):
        (WebInspector.AuditLauncherView.prototype._launchButtonClicked.onAuditStarted):
        (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
        (WebInspector.AuditLauncherView.prototype._updateResourceProgress):
        (WebInspector.AuditLauncherView.prototype._updateButton):
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.GzipRule.prototype.doRun):
        (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
        (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.documentLoaded):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
        (WebInspector.AuditRules.CacheControlRule.prototype.doRun):
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived):
        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.onDocumentAvailable):
        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived):
        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.onDocumentAvailable):
        (WebInspector.AuditRules.CSSRuleBase.prototype.doRun.sheetsCallback):
        (WebInspector.AuditRules.CSSRuleBase.prototype._visitStyleSheet.sheetCallback):
        (WebInspector.AuditRules.CSSRuleBase.prototype._visitStyleSheet):
        (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
        (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel):
        (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
        (WebInspector.AuditsPanel.prototype._executeAudit):
        (WebInspector.AuditsPanel.prototype._auditFinishedCallback):
        (WebInspector.AuditsPanel.prototype.initiateAudit.else.onReload):
        (WebInspector.AuditsPanel.prototype.initiateAudit):
        (WebInspector.AuditCategory.prototype.run):
        (WebInspector.AuditRule.prototype.run):
        (WebInspector.AuditRule.prototype.doRun):
        * inspector/front-end/ProgressBar.js:
        (WebInspector.Progress.prototype.worked):
        (WebInspector.ProgressIndicator):
        (WebInspector.ProgressIndicator.prototype.cancel):
        (WebInspector.ProgressIndicator.prototype.setWorked):
        (WebInspector.ProgressIndicator.prototype.worked):
        (WebInspector.SubProgress.prototype.setWorked):
        (WebInspector.SubProgress.prototype.worked):
        * inspector/front-end/auditsPanel.css:
        (.audit-launcher-view .progress-bar-container):
        (.audit-launcher-view .progress-bar-container .progress-bar-stop-button):

2012-09-14  Vsevolod Vlasov  <vsevik@chromium.org>

        Unreviewed inspector ui polish.

        * inspector/front-end/inspector.css:
        (#floating-status-bar-resizer):

2012-09-14  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Get rid of setting values to innerHTML in inspector front-end.
        https://bugs.webkit.org/show_bug.cgi?id=96758

        Reviewed by Alexander Pavlov.

        Removed innerHTML from WebGLProfileView.

        * inspector/front-end/WebGLProfileView.js:
        (WebInspector.WebGLProfileView.prototype._showTraceLog):

2012-09-14  Keishi Hattori  <keishi@webkit.org>

        Make time input lang attribute aware for testing
        https://bugs.webkit.org/show_bug.cgi?id=96728

        Reviewed by Kent Tamura.

        This patch implements partial lang attribute support for input type=time
        that turns on only when enabled through InternalSettings.

        Test: fast/forms/time-multiple-fields/time-multiple-fields-localization.html

        * dom/Document.cpp:
        (WebCore::Document::getLocalizer): Returns a localizer for a given locale. Localizers are cached for repeated use.
        (WebCore):
        * dom/Document.h:
        (WebCore):
        (Document):
        * html/TimeInputType.cpp:
        (WebCore::TimeInputType::updateInnerTextValue): Use the locale for the input element.
        * html/shadow/DateTimeEditElement.cpp:
        (DateTimeEditBuilder):
        (WebCore::DateTimeEditBuilder::DateTimeEditBuilder):
        (WebCore::DateTimeEditBuilder::visitField):
        (WebCore::DateTimeEditElement::layout):
        (WebCore::DateTimeEditElement::setValueAsDate):
        (WebCore::DateTimeEditElement::setEmptyValue):
        * html/shadow/DateTimeEditElement.h:
        (WebCore):
        (DateTimeEditElement):

2012-09-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r128566.
        http://trac.webkit.org/changeset/128566
        https://bugs.webkit.org/show_bug.cgi?id=96760

        Assertion failure in http/tests/websocket/tests/hybi/workers
        /close-code-and-reason.html (Requested by tkent1 on #webkit).

        * bindings/v8/DOMData.cpp:
        (WebCore::DOMData::getCurrentStore):
        * bindings/v8/ScopedPersistent.h:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::resetIsolatedWorlds):
        (WebCore::ScriptController::evaluateInIsolatedWorld):
        (WebCore::ScriptController::currentWorldContext):
        * bindings/v8/V8Binding.cpp:
        (WebCore::perContextDataForCurrentWorld):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::setIsolatedWorldField):
        (WebCore::V8DOMWindowShell::enteredIsolatedWorldContext):
        (WebCore::V8DOMWindowShell::destroyIsolatedShell):
        (WebCore):
        (WebCore::isolatedContextWeakCallback):
        (WebCore::V8DOMWindowShell::disposeContext):
        (WebCore::V8DOMWindowShell::initializeIfNeeded):
        (WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):
        * bindings/v8/V8DOMWindowShell.h:
        (V8DOMWindowShell):
        (WebCore::V8DOMWindowShell::getEntered):
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::getCachedWrapper):
        * bindings/v8/WorldContextHandle.cpp:
        (WebCore::WorldContextHandle::WorldContextHandle):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8SVGDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
        (WebCore::V8XMLHttpRequest::constructorCallback):

2012-09-14  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Fix front end closure compilation errors.
        https://bugs.webkit.org/show_bug.cgi?id=96753

        Reviewed by Alexander Pavlov.

        Closure compilation fix.
        Also fixed wrong parameters passed to JavaScriptSource constructor from CompilerScriptMapping.

        * inspector/front-end/CompilerScriptMapping.js:
        * inspector/front-end/Resource.js:

2012-09-14  Andrei Poenaru  <poenaru@adobe.com>

        Web Inspector: Display Named Flows in the "CSS Named Flows" drawer
        https://bugs.webkit.org/show_bug.cgi?id=90871

        Reviewed by Alexander Pavlov.

        Implemented CSS Regions support in WebInspector as a drawer. (feature is under an experimental flag)

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/compile-front-end.py:
        * inspector/front-end/CSSNamedFlowCollectionsView.js: Added.
        (WebInspector.CSSNamedFlowCollectionsView):
        (WebInspector.CSSNamedFlowCollectionsView.prototype.showInDrawer):
        (WebInspector.CSSNamedFlowCollectionsView.prototype.reset):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._setDocument):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._documentUpdated):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._setSidebarHasContent):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._appendNamedFlow):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._removeNamedFlow):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._updateNamedFlow):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._resetNamedFlows):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._namedFlowCreated):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._namedFlowRemoved):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._regionLayoutUpdated):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._hashNamedFlow):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._showNamedFlow):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._selectNamedFlowInSidebar):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._selectedNodeChanged):
        (WebInspector.CSSNamedFlowCollectionsView.prototype._showNamedFlowForNode):
        (WebInspector.CSSNamedFlowCollectionsView.prototype.wasShown):
        (WebInspector.CSSNamedFlowCollectionsView.prototype.willHide):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype._contextMenuEventFired.set get var):
        (WebInspector.ElementsPanel.prototype._showNamedFlowCollections):
        * inspector/front-end/Images/namedFlowOverflow.png: Added.
        * inspector/front-end/Settings.js:
        (WebInspector.ExperimentsSettings):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/cssNamedFlows.css: Added.
        (.css-named-flow-collections-view .split-view-sidebar-left):
        (.css-named-flow-collections-view .tabbed-pane-header):
        (.css-named-flow-collections-view .info):
        (.css-named-flow-collections-view .split-view-sidebar-left .sidebar-content):
        (.css-named-flow-collections-view .split-view-sidebar-left .selection):
        (.css-named-flow-collections-view .split-view-contents .title):
        (.css-named-flow-collections-view .split-view-sidebar-left .named-flow-overflow::before):

2012-09-14  Yoshifumi Inoue  <yosin@chromium.org>

        Unreviewed fix for build break on Chromium-Linux Debug build.

        * html/DateTimeFieldsState.cpp: Initialize DateTimeFieldStates::emptyValue.
        * html/DateTimeFieldsState.h: Remove initialization of public static member variable emptyValue.

2012-09-14  Yoshifumi Inoue  <yosin@chromium.org>

        Create Localizer factory method for LocaleNone
        https://bugs.webkit.org/show_bug.cgi?id=96745

        Reviewed by Kent Tamura.

        This patch introduces Localizer class and LocaleNone class which
        prodices a constructor of Localizer class for ports which don't use
        LocaleICU, LocaleMac nor LocaleWin.

        No new tests. This patch doesn't change behavior.

        * CMakeLists.txt: Added platform/text/LocaleNone.cpp and platform/text/Localizer.cpp.
        * GNUmakefile.list.am: Added platform/text/LocaleNone.cpp and platform/text/Localizer.{cpp,h}
        * Target.pri: Added platform/text/LocaleNone.cpp and platform/text/Localizer.cpp
        * WebCore.vcproj/WebCore.vcproj: Added platform/text/LocaleNone.cpp and platform/text/Localizer.{cpp,h}
        * platform/text/LocaleNone.cpp: Added.
        (WebCore::Localizer::create): 
        (WebCore::LocaleNone::~LocaleNone):
        (WebCore::LocaleNone::initializeLocalizerData):

2012-09-14  Vsevolod Vlasov  <vsevik@chromium.org>

        Unreviewed r128580 follow up: fixed qt minimal compilation.

        * loader/DocumentThreadableLoader.cpp:

2012-09-14  Keishi Hattori  <keishi@webkit.org>

        Refactor time format related methods on LocaleWin/Mac/ICU so that they override Localizer methods
        https://bugs.webkit.org/show_bug.cgi?id=96726

        Reviewed by Kent Tamura.

        Refactoring time format related methods on LocaleWin/Mac/ICU so that
        they override Localizer methods. We can call them from the Localizer
        from now on.

        No new tests. No behavior change. Covered by existing tests.

        * platform/text/LocaleICU.cpp:
        (WebCore::LocaleICU::initializeDateTimeFormat): m_timeAMPMLabels is no longer a OwnPtr so we account for that.
        (WebCore::LocaleICU::timeFormat): Removing Text from end of function
        name because *FormatText() shoud return human readable text like "Day/Month/Year".
        (WebCore::LocaleICU::shortTimeFormat):
        (WebCore::LocaleICU::timeAMPMLabels):
        * platform/text/LocaleICU.h:
        (LocaleICU):
        * platform/text/LocaleWin.cpp:
        (WebCore::LocaleWin::timeFormat):
        (WebCore::LocaleWin::shortTimeFormat):
        (WebCore::LocaleWin::timeAMPMLabels):
        * platform/text/LocaleWin.h:
        (LocaleWin):
        * platform/text/LocalizedDateICU.cpp:
        (WebCore::localizedTimeFormatText):
        (WebCore::localizedShortTimeFormatText):
        * platform/text/LocalizedDateWin.cpp:
        (WebCore::localizedTimeFormatText):
        (WebCore::localizedShortTimeFormatText):
        * platform/text/Localizer.cpp:
        (WebCore):
        (WebCore::Localizer::timeFormat):
        (WebCore::Localizer::shortTimeFormat):
        (WebCore::Localizer::timeAMPMLabels):
        * platform/text/Localizer.h:
        (Localizer): We unified some of the member variables like m_timeAMPMLabels into this class.
        * platform/text/mac/LocaleMac.h:
        (LocaleMac):
        * platform/text/mac/LocaleMac.mm:
        (WebCore::LocaleMac::timeFormat):
        (WebCore::LocaleMac::shortTimeFormat):
        * platform/text/mac/LocalizedDateMac.cpp:
        (WebCore::localizedTimeFormatText):
        (WebCore::localizedShortTimeFormatText):

2012-09-14  Keishi Hattori  <keishi@webkit.org>

        Add runtime flag that enables lang attribute for form controls in LayoutTests
        https://bugs.webkit.org/show_bug.cgi?id=96636

        Reviewed by Kent Tamura.

        Lang attribute support for form controls will be incomplete and just for LayoutTests.

        No new tests. No behavior change.

        * WebCore.exp.in:
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore):
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::langAttributeAwareFormControlUIEnabled):
        (WebCore::RuntimeEnabledFeatures::setLangAttributeAwareFormControlUIEnabled):
        (RuntimeEnabledFeatures):
        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::Backup::Backup):
        (WebCore::InternalSettings::Backup::restoreTo):
        (WebCore::InternalSettings::setLangAttributeAwareFormControlUIEnabled):
        (WebCore):
        * testing/InternalSettings.h:
        (Backup):
        (InternalSettings):
        * testing/InternalSettings.idl:

2012-09-14  Keishi Hattori  <keishi@webkit.org>

        LocaleMac should fallback to defaultLanguage for an invalid locale
        https://bugs.webkit.org/show_bug.cgi?id=96744

        Reviewed by Kent Tamura.

        There is no way to tell if a locale identifier is valid or not in Cocoa
        so we look if we have a matching language in the list of
        ISOLanguageCodes given by NSLocale.

        Covered in LocaleMacTest.invalidLocale.

        * platform/text/mac/LocaleMac.mm:
        (WebCore):
        (WebCore::LocaleMac::LocaleMac):
        (WebCore::LocaleMac::create):

2012-09-14  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Add ability to replay XHR in network panel.
        https://bugs.webkit.org/show_bug.cgi?id=95187

        Reviewed by Yury Semikhatsky.

        Patch based on Pavel Chadnov's patch.
        This patch implements Replay XHR feature in web inspector.
        XMLHttpRequest's ThreadableLoaderClient is now used to map XMLHttpRequest object to ResourceLoader request identifiers.
        Before initiating load all XHR parameters are now sent to inspector.
        XMLHttpRequest parameters are stored in inspector's network request cache in XHRReplayData class.
        When XHR replay is requested, a new XMLHttpRequest is created based on stored data.

        Test: http/tests/inspector/network/network-xhr-replay.html

        * inspector/Inspector.json:
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
        * inspector/InspectorConsoleAgent.h:
        (InspectorConsoleAgent):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore):
        (WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClientImpl):
        (WebCore::InspectorInstrumentation::willLoadXHRImpl):
        (WebCore::InspectorInstrumentation::didFailXHRLoadingImpl):
        (WebCore::InspectorInstrumentation::didFinishXHRLoadingImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore):
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient):
        (WebCore::InspectorInstrumentation::willLoadXHR):
        (WebCore::InspectorInstrumentation::didFailXHRLoading):
        (WebCore::InspectorInstrumentation::didFinishXHRLoading):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
        (WebCore::InspectorResourceAgent::documentThreadableLoaderStartedLoadingForClient):
        (WebCore):
        (WebCore::InspectorResourceAgent::willLoadXHR):
        (WebCore::InspectorResourceAgent::didFailXHRLoading):
        (WebCore::InspectorResourceAgent::didFinishXHRLoading):
        (WebCore::InspectorResourceAgent::replayXHR):
        * inspector/InspectorResourceAgent.h:
        (WebCore):
        (InspectorResourceAgent):
        * inspector/NetworkResourcesData.cpp:
        (WebCore::XHRReplayData::create):
        (WebCore):
        (WebCore::XHRReplayData::addHeader):
        (WebCore::XHRReplayData::XHRReplayData):
        (WebCore::NetworkResourcesData::xhrReplayData):
        (WebCore::NetworkResourcesData::setXHRReplayData):
        (WebCore::NetworkResourcesData::reuseXHRReplayData):
        (WebCore::NetworkResourcesData::clear):
        * inspector/NetworkResourcesData.h:
        (XHRReplayData):
        (WebCore::XHRReplayData::method):
        (WebCore::XHRReplayData::url):
        (WebCore::XHRReplayData::async):
        (WebCore::XHRReplayData::formData):
        (WebCore::XHRReplayData::headers):
        (WebCore::XHRReplayData::includeCredentials):
        (WebCore):
        (WebCore::NetworkResourcesData::ResourceData::xhrReplayData):
        (WebCore::NetworkResourcesData::ResourceData::setXHRReplayData):
        (ResourceData):
        (NetworkResourcesData):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._contextMenu):
        (WebInspector.NetworkLogView.prototype._replayXHR):
        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::loadRequest): added documentThreadableLoaderStartedLoadingForClient instrumentation
        so that inspector could map XMLHttpRequest to ResourceLoader's identifiers.
        * loader/cache/CachedResource.h:
        (WebCore::CachedResource::loader): DocumentThreadableLoader uses CachedResource::loader() to get ResourceLoader identifier.
        (CachedResource):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::sendFromInspector): Added a method for sending XMLHttpRequests based on request body stored in inspector.
        (WebCore):
        (WebCore::XMLHttpRequest::createRequest): Replaced will/didLoadXHRSynchonously instrumentations with willLoadXHR instrumentation.
        (WebCore::XMLHttpRequest::internalAbort): Added didFailXHRLoadingInstrumentation
        (WebCore::XMLHttpRequest::didFinishLoading): Added didFinishXHRLoading instrumentation
        * xml/XMLHttpRequest.h:
        (XMLHttpRequest):

2012-09-14  Yoshifumi Inoue  <yosin@chromium.org>

        [Forms] multiple fields time input UI should save/restore its value even if it has an empty field.
        https://bugs.webkit.org/show_bug.cgi?id=96714

        Reviewed by Kent Tamura.

        This patch changes multiple fields time input UI to save/restore value
        of fields rather than time value. For this change, storage format of
        input type "time" is also changed.

        Before this patch, if user populates time fiels partially, all fields
        are reset to initial value after back/forward navigation.

        After this patch, partially populated fields are preserved after
        back/forward navigation.

        Fields of DateTimeEditElement are represented as 9 elements of
        string vector in FormControlState regardless actual fields in
        DateTimeEditElement for ease of restoring/saving.

        This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
        ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.

        No new tests. Existing test fast/forms/time-multiple-fields/time-multiple-fields-preserve-value-after-history-back.html
        convers this change.

        * WebCore.gypi: Chagned to add DateTimeFieldsState.{cpp.h}
        * html/DateTimeFieldsState.cpp: Added.
        (WebCore::getNumberFromFormControlState): Extracts unsigned integer or empty value from FormControlState.
        (WebCore::getAMPMFromFormControlState): Extracts AM/PM value or empty value from FormControlState.
        (WebCore::DateTimeFieldsState::DateTimeFieldsState): Initializes fields with empty value.
        (WebCore::DateTimeFieldsState::restoreFormControlState): Makes DateTimeFieldsState instance from FormControlState.
        (WebCore::DateTimeFieldsState::saveFormControlState): Makes FormControlState from DateTimeFieldsState.
        * html/DateTimeFieldsState.h: Added.
        (DateTimeFieldsState):
        (WebCore::DateTimeFieldsState::ampm): Returns AM/PM field value.
        (WebCore::DateTimeFieldsState::dayOfMonth): Returns day of month field value.
        (WebCore::DateTimeFieldsState::hour): Reutrns hour field value.
        (WebCore::DateTimeFieldsState::millisecond): Returns millisecond field value.
        (WebCore::DateTimeFieldsState::minute): Returns minute field value.
        (WebCore::DateTimeFieldsState::month): Returns month field value.
        (WebCore::DateTimeFieldsState::second): Returns second field value.
        (WebCore::DateTimeFieldsState::weekOfYear): Returns week of year field.
        (WebCore::DateTimeFieldsState::year): Returns year field value.
        (WebCore::DateTimeFieldsState::hasAMPM): Returns true if AM/PM field has value.
        (WebCore::DateTimeFieldsState::hasDayOfMonth): Returns true if day of month field has value.
        (WebCore::DateTimeFieldsState::hasHour): Returns true if hour field has value.
        (WebCore::DateTimeFieldsState::hasMillisecond): Returns true if millisecond field has value.
        (WebCore::DateTimeFieldsState::hasMinute): Returns true if minute field has value.
        (WebCore::DateTimeFieldsState::hasMonth): Returns true if month field has value.
        (WebCore::DateTimeFieldsState::hasSecond): Returns true if second field has value.
        (WebCore::DateTimeFieldsState::hasWeekOfYear): Returns true if week of year field has value.
        (WebCore::DateTimeFieldsState::hasYear): Returns true if year field has value.
        (WebCore::DateTimeFieldsState::setAMPM): Sets AM/PM field.
        (WebCore::DateTimeFieldsState::setDayOfMonth): Sets day of month field.
        (WebCore::DateTimeFieldsState::setHour): Sets hour field.
        (WebCore::DateTimeFieldsState::setMillisecond): Sets millisecond field.
        (WebCore::DateTimeFieldsState::setMinute): Sets minute field.
        (WebCore::DateTimeFieldsState::setMonth): Sets month field.
        (WebCore::DateTimeFieldsState::setSecond): Set second field.
        (WebCore::DateTimeFieldsState::setWeekOfYear): Sets week of year field.
        (WebCore::DateTimeFieldsState::setYear): Sets year field.
        * html/FormController.cpp:
        (WebCore::formStateSignature): Increment version number to 8 for incompatible change of FormControlState.
        * html/TimeInputType.cpp:
        (WebCore::TimeInputType::restoreFormControlState): Added to call DateTimeFieldsState::restoreFormControlState().
        (WebCore::TimeInputType::saveFormControlState): Added to call DateTimeFieldsState::saveFormControlState().
        * html/TimeInputType.h:
        (TimeInputType): Added declarations for restoreFormControlState() and saveFormControlState().
        * html/shadow/DateTimeEditElement.cpp:
        (WebCore::DateTimeEditElement::setValueAsDateTimeFieldsState): Added to set fields from DateTimeFieldsState.
        (WebCore::DateTimeEditElement::valueAsDateTimeFieldsState): Added to make DateTimeFieldsState from fields.
        * html/shadow/DateTimeEditElement.h:
        (DateTimeEditElement): Added declarations for setValueAsDateTimeFieldsState() and valueAsDateTimeFieldsState().
        * html/shadow/DateTimeFieldElement.h:
        (DateTimeFieldElement): Added declarations for populateDateTimeFieldsState() and setValueAsDateTimeFieldsState().
        * html/shadow/DateTimeFieldElements.cpp:
        (WebCore::DateTimeAMPMFieldElement::populateDateTimeFieldsState): Added to set AM/PM value to DateTimeFieldsState.
        (WebCore::DateTimeAMPMFieldElement::setValueAsDateTimeFieldsState): Added to set field value from DateTimeFieldsState.
        (WebCore::DateTimeHourFieldElement::populateDateTimeFieldsState): Added to set hour value to DateTimeFieldsState.
        (WebCore::DateTimeHourFieldElement::setValueAsDateTimeFieldsState): Added to set field value from DateTimeFieldsState.
        (WebCore::DateTimeMillisecondFieldElement::populateDateTimeFieldsState): Added to set millisecond value to DateTimeFieldsState.
        (WebCore::DateTimeMillisecondFieldElement::setValueAsDateTimeFieldsState): Added to set field value from DateTimeFieldsState.
        (WebCore::DateTimeMinuteFieldElement::populateDateTimeFieldsState): Added to set minute value to DateTimeFieldsState.
        (WebCore::DateTimeMinuteFieldElement::setValueAsDateTimeFieldsState): Added to set field value from DateTimeFieldsState.
        (WebCore::DateTimeSecondFieldElement::populateDateTimeFieldsState): Added to set second value to DateTimeFieldsState.
        (WebCore::DateTimeSecondFieldElement::setValueAsDateTimeFieldsState): Added to set field value from DateTimeFieldsState.
        * html/shadow/DateTimeFieldElements.h:
        (DateTimeAMPMFieldElement): Added declarations of populateDateTimeFieldsState() and setValueAsDateTimeFieldsState().
        (DateTimeHourFieldElement): ditto.
        (DateTimeMillisecondFieldElement): ditto.
        (DateTimeMinuteFieldElement): ditto.
        (DateTimeSecondFieldElement): ditto.
        * html/shadow/DateTimeNumericFieldElement.h:
        (DateTimeNumericFieldElement): Extend accessibility of maximum() and setEmptyValue() to protected.
        * html/shadow/DateTimeSymbolicFieldElement.h:
        (DateTimeSymbolicFieldElement): Extend accessibility of hasValue(), setEmptyValue() and valueAsInteger() to protected.

2012-09-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r128568.
        http://trac.webkit.org/changeset/128568
        https://bugs.webkit.org/show_bug.cgi?id=96739

        It broke 3 tests everywhere (Requested by Ossy on #webkit).

        * bindings/js/JSDictionary.h:
        (WebCore::JSDictionary::tryGetPropertyAndResult):

2012-09-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Evas_Object* is a ref'ed structure, so tread it as such
        https://bugs.webkit.org/show_bug.cgi?id=96659

        Reviewed by Adam Barth.

        Replace OwnPtr<Evas_Object> with RefPtr.

        * PlatformEfl.cmake:
        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
        (WebCore::RenderThemeEfl::loadTheme):
        (WebCore::RenderThemeEfl::applyPartDescriptionsFrom):
        * platform/efl/RenderThemeEfl.h:
        (RenderThemeEfl):
        (ThemePartCacheEntry):

2012-09-14  Zoltan Horvath  <zoltan@webkit.org>

        Extend the coverage of the Custom Allocation Framework in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=96512

        Reviewed by Eric Seidel.

        Add WTF_MAKE_FAST_ALLOCATED macro to the following class/struct declarations because these
        or their child classes are instantiated by operator new.

        Covered by existing tests.

        * Modules/websockets/WebSocketDeflateFramer.cpp:
        (WebSocketExtensionDeflateFrame):
        * Modules/websockets/WebSocketDeflateFramer.h:
        (DeflateResultHolder):
        (InflateResultHolder):
        * Modules/websockets/WebSocketDeflater.h:
        (WebSocketDeflater):
        (WebSocketInflater):
        * Modules/websockets/WebSocketHandshake.h:
        (WebSocketHandshake):
        * bindings/js/ScriptDebugServer.h:
        (Task):
        * css/CSSCalculationValue.cpp:
        (CSSCalcPrimitiveValue):
        * css/CSSParserMode.h:
        (CSSParserContext):
        * css/CSSValuePool.h:
        (CSSValuePool):
        * css/StyleBuilder.h:
        (StyleBuilder):
        * css/StylePropertyShorthand.h:
        (StylePropertyShorthand):
        * css/StyleResolver.cpp:
        (RuleSet):
        * css/StyleRule.h:
        (StyleRuleBase):
        (StyleRule):
        * css/StyleRuleImport.h:
        (StyleRuleImport):
        * css/WebKitCSSKeyframeRule.h:
        (StyleKeyframe):
        * dom/CheckedRadioButtons.cpp:
        (RadioButtonGroup):
        * dom/ContextFeatures.h:
        (ContextFeaturesClient):
        * dom/DOMImplementation.h:
        (DOMImplementation):
        (XMLMIMETypeRegExp):
        * dom/Document.cpp:
        (ImmutableAttributeDataCacheKey):
        * dom/ElementShadow.h:
        (ElementShadow):
        * dom/GenericEventQueue.h:
        (GenericEventQueue):
        * dom/IdTargetObserverRegistry.h:
        (IdTargetObserverRegistry):
        * dom/NamedNodeMap.h:
        (NamedNodeMap):
        * dom/ScopedEventQueue.h:
        (ScopedEventQueue):
        * dom/StyledElement.cpp:
        (PresentationAttributeCacheEntry):
        (PresentationAttributeCacheCleaner):
        * editing/EditingStyle.cpp:
        (HTMLElementEquivalent):
        * editing/SpellChecker.h:
        (SpellChecker):
        * fileapi/ThreadableBlobRegistry.cpp:
        (BlobRegistryContext):
        * html/FormAssociatedElement.cpp:
        (FormAttributeTargetObserver):
        * html/FormController.h:
        (FormController):
        * html/HTMLInputElement.cpp:
        (ListAttributeTargetObserver):
        * html/PublicURLManager.h:
        (PublicURLManager):
        * html/StepRange.h:
        (StepDescription):
        * html/ValidationMessage.h:
        (ValidationMessage):
        * html/canvas/WebGLExtension.h:
        (WebGLExtension):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebGLRenderingContextLostCallback):
        (WebGLRenderingContextErrorMessageCallback):
        * html/parser/HTMLElementStack.h:
        (ElementRecord):
        * html/parser/HTMLMetaCharsetParser.h:
        (HTMLMetaCharsetParser):
        * inspector/DOMEditor.h:
        (DOMEditor):
        * inspector/InjectedScriptHost.h:
        (InspectableObject):
        * inspector/InjectedScriptManager.h:
        (InjectedScriptManager):
        * inspector/InspectorCSSAgent.cpp:
        (SelectorProfile):
        * inspector/InspectorCounters.h:
        (ThreadLocalInspectorCounters):
        * inspector/InspectorDOMAgent.cpp:
        (RevalidateStyleAttributeTask):
        * inspector/InspectorFrontendClientLocal.cpp:
        (InspectorBackendDispatchTask):
        * inspector/InspectorHistory.h:
        (InspectorHistory):
        (Action):
        * inspector/InspectorOverlay.h:
        (HighlightConfig):
        (InspectorOverlay):
        * inspector/InspectorState.h:
        (InspectorState):
        * inspector/InspectorStyleSheet.cpp:
        (ParsedStyleSheet):
        * inspector/InspectorWorkerAgent.cpp:
        (InspectorWorkerAgent::WorkerFrontendChannel):
        * inspector/NetworkResourcesData.h:
        (NetworkResourcesData):
        (ResourceData):
        * inspector/WorkerInspectorController.cpp:
        * loader/EmptyClients.h:
        (EmptyChromeClient):
        * loader/ResourceLoadScheduler.h:
        (ResourceLoadScheduler):
        (HostInformation):
        * loader/icon/IconDatabase.cpp:
        (DefaultIconDatabaseClient):
        (ClientWorkItem):
        * page/ContentSecurityPolicy.cpp:
        (CSPDirectiveList):
        * page/ContentSecurityPolicy.h:
        (ContentSecurityPolicy):
        * page/FrameActionScheduler.h:
        (FrameActionScheduler):
        * page/MemoryInfo.cpp:
        (HeapSizeCache):
        * platform/CalculationValue.h:
        (CalcExpressionNode):
        * platform/Cursor.h:
        (Cursor):
        * platform/Decimal.h:
        (Decimal):
        * platform/Length.cpp:
        (CalculationValueHandleMap):
        * platform/MemoryPressureHandler.h:
        (MemoryPressureHandler):
        * platform/PlatformKeyboardEvent.h:
        (PlatformKeyboardEvent):
        * platform/ScrollAnimator.h:
        (ScrollAnimator):
        * platform/graphics/GlyphPageTreeNode.h:
        (GlyphPageTreeNode):
        * platform/graphics/GraphicsContext.h:
        (GraphicsContextStateSaver):
        * platform/graphics/GraphicsLayer.h:
        (AnimationValue):
        * platform/graphics/IntRect.h:
        (IntRect):
        * platform/graphics/ShadowBlur.cpp:
        (ScratchBuffer):
        * platform/graphics/TextRun.h:
        (TextRun):
        * platform/graphics/TiledBackingStoreBackend.h:
        (TiledBackingStoreBackend):
        * platform/graphics/WidthIterator.h:
        (WidthIterator):
        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        (StreamingClient):
        * platform/graphics/opengl/Extensions3DOpenGL.h:
        (Extensions3DOpenGL):
        * platform/graphics/texmap/TextureMapper.h:
        (TextureMapper):
        * platform/graphics/texmap/TextureMapperGL.cpp:
        (TextureMapperGLData):
        * platform/graphics/texmap/TextureMapperImageBuffer.h:
        (TextureMapperImageBuffer):
        * platform/graphics/texmap/TextureMapperLayer.h:
        (TextureMapperLayer):
        * platform/image-decoders/bmp/BMPImageReader.h:
        (BMPImageReader):
        * platform/image-decoders/gif/GIFImageReader.h:
        (GIFFrameReader):
        (GIFImageReader):
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (JPEGImageReader):
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (PNGImageReader):
        * platform/network/BlobRegistryImpl.h:
        (BlobRegistryImpl):
        * platform/network/ResourceResponseBase.h:
        (CrossThreadResourceResponseDataBase):
        * platform/text/TextCodecICU.h:
        (ICUConverterWrapper):
        * rendering/FlowThreadController.h:
        (FlowThreadController):
        * rendering/RenderBoxRegionInfo.h:
        (RenderBoxRegionInfo):
        * rendering/RenderLayer.h:
        (ClipRects):
        (ClipRectsCache):
        * rendering/RenderLayerCompositor.h:
        (RenderLayerCompositor):
        * rendering/WrapShapeInfo.h:
        (WrapShapeInfo):
        * rendering/style/NinePieceImage.h:
        (NinePieceImageData):
        * rendering/svg/RenderSVGResourceFilter.h:
        (FilterData):
        * rendering/svg/RenderSVGResourceGradient.h:
        (GradientData):
        * rendering/svg/RenderSVGResourcePattern.h:
        (PatternData):
        * rendering/svg/SVGResources.h:
        (ClipperFilterMaskerData):
        (MarkerData):
        (FillStrokeData):
        * svg/SVGAngle.h:
        (SVGAngle):
        * svg/SVGLength.h:
        (SVGLength):
        * svg/SVGPreserveAspectRatio.h:
        (SVGPreserveAspectRatio):
        * svg/graphics/SVGImageCache.h:
        (SVGImageCache):
        * svg/properties/SVGPropertyInfo.h:
        (SVGPropertyInfo):
        * workers/WorkerEventQueue.h:
        (WorkerEventQueue):
        * xml/parser/MarkupTokenBase.h:
        (DoctypeDataBase):
        * xml/parser/XMLDocumentParserLibxml2.cpp:
        (PendingCallbacks):
        (OffsetBuffer):
        * xml/parser/XMLToken.h:
        (XMLDeclarationData):

2012-09-14  Andrey Adaikin  <aandrey@chromium.org>

        Web Inspector: [WebGL] Refactoring: move the proxy wrapping method up to the base class
        https://bugs.webkit.org/show_bug.cgi?id=96515

        Reviewed by Vsevolod Vlasov.

        Move the proxyObject() method up from WebGLRenderingContextResource to the Resource class, so that it could be reused later for wrapping a 2D context.

        * inspector/InjectedScriptWebGLModuleSource.js:
        (.):

2012-09-14  Kangil Han  <kangil.han@samsung.com>

        Fix unused parameter compile warnings in WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=96712

        Reviewed by Ryosuke Niwa.

        Fixed unused parameter compile warning messages(-Wunused-parameter) during EFL build.
        There are two kinds of stuff related to this warnings.
        First one is that the parameter value has not been used anywhere inside the function.
        Other one is that usability of parameter value is depended on option, i.e. ACCESSIBILITY.

        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility):
        (WebCore::AXObjectCache::postNotification):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::setGeolocationOverride):
        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::registerIntentService):
        * page/Frame.cpp:
        (WebCore::Frame::layerTreeAsText):
        * page/FrameView.cpp:
        (WebCore::FrameView::setScrollingPerformanceLoggingEnabled):
        * page/efl/EventHandlerEfl.cpp:
        (WebCore::EventHandler::tabsToAllFormControls):
        (WebCore::EventHandler::passMouseDownEventToWidget):
        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::scrollLayerForFrameView):
        * platform/RuntimeApplicationChecks.cpp:
        (WebCore::mainBundleIsEqualTo):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::platformSetScrollOrigin):
        * platform/cairo/WidgetBackingStoreCairo.cpp:
        (WebCore::createSurfaceForBackingStore):
        * platform/efl/ContextMenuEfl.cpp:
        (WebCore::platformMenuDescription):
        * platform/efl/ContextMenuItemEfl.cpp:
        (WebCore::ContextMenuItem::ContextMenuItem):
        * platform/efl/DragDataEfl.cpp:
        (WebCore::DragData::asFilenames):
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        * platform/efl/GamepadsEfl.cpp:
        (WebCore::GamepadsEfl::onGamePadChange):
        * platform/efl/LocalizedStringsEfl.cpp:
        (WebCore::imageTitle):
        (WebCore::localizedMediaControlElementString):
        (WebCore::localizedMediaControlElementHelpText):
        (WebCore::localizedMediaTimeDescription):
        * platform/efl/PasteboardEfl.cpp:
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::writeImage):
        (WebCore::Pasteboard::documentFragment):
        * platform/efl/PlatformScreenEfl.cpp:
        (WebCore::screenRect):
        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::adjustSliderTrackStyle):
        (WebCore::RenderThemeEfl::systemFont):
        (WebCore::RenderThemeEfl::paintMediaSliderThumb):
        (WebCore::RenderThemeEfl::paintMediaVolumeSliderContainer):
        (WebCore::RenderThemeEfl::paintMediaVolumeSliderTrack):
        (WebCore::RenderThemeEfl::paintMediaVolumeSliderThumb):
        (WebCore::RenderThemeEfl::paintMediaCurrentTime):
        * platform/efl/ScrollbarEfl.cpp:
        (scrollbarEflEdjeMessage):
        * platform/efl/ScrollbarThemeEfl.cpp:
        (WebCore::ScrollbarThemeEfl::scrollbarThickness):
        (WebCore::ScrollbarThemeEfl::registerScrollbar):
        (WebCore::ScrollbarThemeEfl::unregisterScrollbar):
        * platform/efl/TemporaryLinkStubs.cpp:
        (WebCore::signedPublicKeyAndChallengeString):
        * platform/efl/WidgetEfl.cpp:
        (WebCore::Widget::setFocus):
        (WebCore::Widget::paint):
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setPlatformTextDrawingMode):
        * platform/graphics/ImageSource.cpp:
        (WebCore::ImageSource::orientationAtIndex):
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::supportsType):
        * platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:
        (WebCore::Font::drawComplexText):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::adjustFocusRingLineWidth):
        (WebCore::GraphicsContext::drawLineForText):
        (WebCore::GraphicsContext::setPlatformFillColor):
        (WebCore::GraphicsContext::setPlatformStrokeColor):
        (WebCore::GraphicsContext::setURLForRect):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::fillRoundedRect):
        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
        (WebCore::GraphicsContextPlatformPrivate::syncContext):
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBufferData::ImageBufferData):
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::Image::drawPattern):
        * platform/graphics/efl/IconEfl.cpp:
        (WebCore::Icon::createIconForFiles):
        (WebCore::Icon::paint):
        * platform/graphics/freetype/FontCacheFreeType.cpp:
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getTraitsInFamily):
        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
        (WebCore::gstGWorldSyncMessageCallback):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
        (webkitVideoSinkMarshalVoidAndMiniObject):
        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        (webKitWebSrcUriHandlerInit):
        (webKitWebSrcNeedDataCb):
        (webKitWebSrcEnoughDataCb):
        (webKitWebSrcSeekDataCb):
        (StreamingClient::didReceiveData):
        * platform/graphics/harfbuzz/ng/HarfBuzzNGFaceCairo.cpp:
        (WebCore::harfbuzzGetGlyph):
        (WebCore::harfbuzzGetGlyphHorizontalAdvance):
        (WebCore::harfbuzzGetGlyphHorizontalOrigin):
        (WebCore::harfbuzzGetGlyphExtents):
        (WebCore::harfbuzzCairoGetTable):
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::readColorProfile):
        (WebCore::init_source):
        (WebCore::fill_input_buffer):
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::rowAvailable):
        * platform/network/soup/CookieStorageSoup.cpp:
        (WebCore::setCookieStoragePrivateBrowsingEnabled):
        * platform/network/soup/DNSSoup.cpp:
        (WebCore::resolvedCallback):
        * platform/network/soup/ProxyResolverSoup.cpp:
        (soup_proxy_resolver_wk_init):
        (soupProxyResolverWkGetProxyURIAsync):
        (soupProxyResolverWkGetProxyURISync):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::sendRequestCallback):
        (WebCore::addFormElementsToSoupMessage):
        (WebCore::requestStartedCallback):
        (WebCore::closeCallback):
        (WebCore::readCallback):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustRepaintRect):

2012-09-14  Charles Wei  <charles.wei@torchmobile.com.cn>

        Need to clear exception in JSDictionary for operations that might have.
        https://bugs.webkit.org/show_bug.cgi?id=96614

        Reviewed by Kentaro Hara.

        Clear the exception if failed to convert the value inside the JSDictionary. 
        Otherwise, it might impact the following operations on the dictionary.

        No new tests, the existing test at LayoutTest/storage/indexeddb/tutorial.html should work for JSC binding.

        * bindings/js/JSDictionary.h:
        (WebCore::JSDictionary::tryGetPropertyAndResult):

2012-09-14  Grzegorz Czajkowski  <g.czajkowski@samsung.com>

        Add method to get the list of all available dictionaries
        https://bugs.webkit.org/show_bug.cgi?id=96518

        Reviewed by Carlos Garcia Campos.

        There is lack of the method in the TextCheckerEnchant class to get
        the list of all available/installed dictionaries. To set the
        dictionaries the client has to 'guess/hard code' the names of
        dictionaries that are not obvious and depend on OS configuration
        and installed packages. The list can be used by WebKit's GTK and
        EFL API for instance:
        webkit_web_context_set_spell_checking_languages(),
        ewk_text_checker_setting_spell_checking_languages_set()
        to set dictionaries used by Enchant.

        To avoid names conflict a new one has been introduced for former
        getSpellCheckingLanguages. It has been changed to loadedSpellCheckingLanguages
        as it gets the current (in use) dictionaries. Additionally the 'get' prefix
        has been removed according to WebKit coding style.

        * platform/text/enchant/TextCheckerEnchant.cpp:
        (TextCheckerEnchant::loadedSpellCheckingLanguages):
        Changed name from getSpellCheckingLanguages and added const modifier.

        (TextCheckerEnchant::availableSpellCheckingLanguages):
        A newly added method to get available/installed dictionaries.
        Its output can be used as input for updateSpellCheckingLanguages().

        * platform/text/enchant/TextCheckerEnchant.h:
        (TextCheckerEnchant):

2012-09-14  Dan Carney  <dcarney@google.com>

        Remove V8DOMWindowShell::getEntered
        https://bugs.webkit.org/show_bug.cgi?id=96637

        Reviewed by Adam Barth.

        V8DOMWindowShell::getEntered was refactored so that the window shell
        no longer has to be kept alive by a v8 context but rather a smaller
        object.

        No new tests. No change in functionality.

        * bindings/v8/DOMData.cpp:
        (WebCore::DOMData::getCurrentStore):
        * bindings/v8/ScopedPersistent.h:
        (WebCore::ScopedPersistent::leakHandle):
        (ScopedPersistent):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::resetIsolatedWorlds):
        (WebCore::ScriptController::evaluateInIsolatedWorld):
        (WebCore::ScriptController::currentWorldContext):
        * bindings/v8/V8Binding.cpp:
        (WebCore::perContextDataForCurrentWorld):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::setIsolatedWorldField):
        (WebCore::V8DOMWindowShell::toIsolatedContextData):
        (WebCore::isolatedContextWeakCallback):
        (WebCore::V8DOMWindowShell::disposeContext):
        (WebCore::V8DOMWindowShell::clearIsolatedShell):
        (WebCore):
        (WebCore::V8DOMWindowShell::initializeIfNeeded):
        (WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):
        * bindings/v8/V8DOMWindowShell.h:
        (V8DOMWindowShell):
        (IsolatedContextData):
        (WebCore::V8DOMWindowShell::IsolatedContextData::create):
        (WebCore::V8DOMWindowShell::IsolatedContextData::world):
        (WebCore::V8DOMWindowShell::IsolatedContextData::perContextData):
        (WebCore::V8DOMWindowShell::IsolatedContextData::setSecurityOrigin):
        (WebCore::V8DOMWindowShell::IsolatedContextData::securityOrigin):
        (WebCore::V8DOMWindowShell::IsolatedContextData::IsolatedContextData):
        (WebCore::V8DOMWindowShell::enteredIsolatedContext):
        (WebCore::V8DOMWindowShell::enteredIsolatedContextData):
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::getCachedWrapper):
        * bindings/v8/WorldContextHandle.cpp:
        (WebCore::WorldContextHandle::WorldContextHandle):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8SVGDocumentCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
        (WebCore::V8XMLHttpRequest::constructorCallback):

2012-09-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed, rolling out r128507.
        http://trac.webkit.org/changeset/128507
        https://bugs.webkit.org/show_bug.cgi?id=96659

        Revert. r128507 makes too many crashes in EFL layout test bots.

        * PlatformEfl.cmake:
        * platform/efl/RefPtrEfl.cpp: Renamed from Source/WTF/wtf/efl/RefPtrEfl.cpp.
        (WTF):
        (WTF::refIfNotNull):
        (WTF::derefIfNotNull):
        * platform/efl/RefPtrEfl.h: Renamed from Source/WTF/wtf/efl/RefPtrEfl.h.
        (WTF):
        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
        (WebCore::RenderThemeEfl::loadTheme):
        (WebCore::RenderThemeEfl::applyPartDescriptionsFrom):
        * platform/efl/RenderThemeEfl.h:
        (RenderThemeEfl):
        (ThemePartCacheEntry):

2012-09-13  Patrick Gansterer  <paroga@webkit.org>

        Reuse floating point formatting of TextStream in [SVG]RenderTreeAsText.cpp
        https://bugs.webkit.org/show_bug.cgi?id=96264

        Reviewed by Benjamin Poulain.

        RenderTreeAsText uses the same format for streaming out floats as TextStream
        does. Replace formatNumberRespectingIntegers() with a new overload to the
        operator<< to reuse the special cases for numbers which take advantage of
        StringBuilder::appendNumber() and avoid a temporary StringImpl.

        * platform/text/TextStream.cpp:
        (WebCore::hasFractions):
        (WebCore::TextStream::operator<<):
        * platform/text/TextStream.h:
        * rendering/RenderTreeAsText.cpp:
        (WebCore::operator<<):
        * rendering/RenderTreeAsText.h:
        * rendering/svg/SVGRenderTreeAsText.cpp:
        (WebCore::operator<<):

2012-09-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r128552.
        http://trac.webkit.org/changeset/128552
        https://bugs.webkit.org/show_bug.cgi?id=96729

        Still breaks the test on chromium linux debug. It's quite
        annoying. (Requested by rniwa on #webkit).

        * WebCore.exp.in:
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removeChild):
        (WebCore::ContainerNode::removeChildren):
        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
        * dom/Element.cpp:
        (WebCore::Element::attach):
        (WebCore::Element::detach):
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passMouseDownEventToWidget):
        * rendering/RenderWidget.cpp:
        (WebCore):
        (WebCore::widgetNewParentMap):
        (WebCore::RenderWidget::suspendWidgetHierarchyUpdates):
        (WebCore::RenderWidget::resumeWidgetHierarchyUpdates):
        (WebCore::moveWidgetToParentSoon):
        * rendering/RenderWidget.h:
        (RenderWidget):

2012-09-13  Kevin Funk  <kevin.funk@kdab.com>

        Make compile with both OS(WINCE) and PLATFORM(QT) support
        https://bugs.webkit.org/show_bug.cgi?id=95536

        Reviewed by Simon Hausmann.

        * WebCore.pri:
        Set defines for the WinCE platform build
        * platform/graphics/BitmapImage.cpp:
        Use default implementation in BitmapImage::reportMemoryUsage() when Qt support available
        * platform/graphics/GraphicsContext.cpp:
        Same as above: use default implementation
         * platform/win/ClipboardUtilitiesWin.cpp:
        Remove unnecessary include

2012-09-13  Keishi Hattori  <keishi@webkit.org>

        Create Localizer factory method for LocaleWin
        https://bugs.webkit.org/show_bug.cgi?id=96667

        Reviewed by Kent Tamura.

        Preparing to use Localizer instead of LocaleMac/Win/ICU.

        No new tests. No behavior change.

        * platform/text/LocaleWin.cpp:
        (WebCore):
        (WebCore::extractLanguageCode): Extract the language code from a locale.
        (WebCore::LCIDFromLocaleInternal): Returns LCID for a given locale. Returns 0 when locale is invalid.
        (WebCore::LCIDFromLocale): Returns LCID for a given locale. Returns default language LCID when locale is invalid.
        (WebCore::Localizer::create):
        (WebCore::LocaleWin::currentLocale):

2012-09-13  Ryosuke Niwa  <rniwa@webkit.org>

        suspend/resumeWidgetHierarchyUpdates should be a RAII object
        https://bugs.webkit.org/show_bug.cgi?id=96706

        Reviewed by Simon Fraser.

        Replaced suspendWidgetHierarchyUpdates and resumeWidgetHierarchyUpdates by WidgetHierarchyUpdatesSuspensionScope.

        * WebCore.exp.in: Export new symbols.
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removeChild):
        (WebCore::ContainerNode::removeChildren):
        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
        * dom/Element.cpp:
        (WebCore::Element::attach):
        (WebCore::Element::detach):
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passMouseDownEventToWidget):
        * rendering/RenderWidget.cpp:
        (WebCore):
        (WebCore::WidgetHierarchyUpdatesSuspensionScope::widgetNewParentMap):
        (WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets):
        (WebCore::moveWidgetToParentSoon):
        * rendering/RenderWidget.h:
        (WidgetHierarchyUpdatesSuspensionScope):
        (WebCore::WidgetHierarchyUpdatesSuspensionScope::WidgetHierarchyUpdatesSuspensionScope):
        (WebCore::WidgetHierarchyUpdatesSuspensionScope::~WidgetHierarchyUpdatesSuspensionScope):
        (WebCore::WidgetHierarchyUpdatesSuspensionScope::isSuspended):
        (WebCore::WidgetHierarchyUpdatesSuspensionScope::scheduleWidgetToMove):
        (WebCore):
        (RenderWidget):

2012-09-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r128543.
        http://trac.webkit.org/changeset/128543
        https://bugs.webkit.org/show_bug.cgi?id=96722

        Caused LocaleWinTest.localizedNumberRoundTrip to fail
        (Requested by keishi on #webkit).

        * platform/text/LocaleWin.cpp:
        (WebCore::determineCurrentLCID):
        (WebCore):
        (WebCore::LocaleWin::currentLocale):

2012-09-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r128531.
        http://trac.webkit.org/changeset/128531
        https://bugs.webkit.org/show_bug.cgi?id=96719

        plugins/document-open.html crash on Chromium-Linux (Requested
        by tkent1 on #webkit).

        * WebCore.exp.in:
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removeChild):
        (WebCore::ContainerNode::removeChildren):
        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
        * dom/Element.cpp:
        (WebCore::Element::attach):
        (WebCore::Element::detach):
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passMouseDownEventToWidget):
        * rendering/RenderWidget.cpp:
        (WebCore):
        (WebCore::widgetNewParentMap):
        (WebCore::RenderWidget::suspendWidgetHierarchyUpdates):
        (WebCore::RenderWidget::resumeWidgetHierarchyUpdates):
        (WebCore::moveWidgetToParentSoon):
        * rendering/RenderWidget.h:
        (RenderWidget):

2012-09-13  Keishi Hattori  <keishi@webkit.org>

        Create Localizer factory method for LocaleWin
        https://bugs.webkit.org/show_bug.cgi?id=96667

        Reviewed by Kent Tamura.

        Preparing to use Localizer instead of LocaleMac/Win/ICU.

        No new tests. Covered in LocaleWinTest.cpp.

        * platform/text/LocaleWin.cpp:
        (WebCore):
        (WebCore::extractLanguageCode): Extract the language code from a locale.
        (WebCore::LCIDFromLocaleInternal): Returns LCID for a given locale. Returns 0 when locale is invalid.
        (WebCore::LCIDFromLocale): Returns LCID for a given locale. Returns default language LCID when locale is invalid.
        (WebCore::Localizer::create):
        (WebCore::LocaleWin::currentLocale):

2012-09-13  Benjamin Poulain  <bpoulain@apple.com>

        Improve the SourceProvider hierarchy
        https://bugs.webkit.org/show_bug.cgi?id=95635

        Reviewed by Geoffrey Garen.

        Get rid of ScriptSourceProvider and StringSourceProvider, they have been made
        useless by JavaScript updates.

        On x86_64, this reduces the binary size by 6kb.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/CachedScriptSourceProvider.h:
        (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::updateCurrentStatementPosition):
        (WebCore::ScriptDebugServer::dispatchDidParseSource):
        (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
        * bindings/js/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        (ScriptSourceCode):
        * bindings/js/ScriptSourceProvider.h: Removed.
        * bindings/js/StringSourceProvider.h: Removed.
        * bindings/js/WorkerScriptController.cpp:
        * bindings/objc/WebScriptObject.mm:
        * bridge/NP_jsobject.cpp:
        * bridge/jni/jni_jsobject.mm:

2012-09-13  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Consolidate two-phase connection to avoid race conditions
        https://bugs.webkit.org/show_bug.cgi?id=90411

        Reviewed by Tony Chang.

        Previously, IDB connections were opened by having the front-end (1) call through to
        a back-end open() method, eventually receive a success message with a back-end object
        handle, and (2) call into the back-end object to register front-end callbacks. This left
        the back-end's notion of an open connection in a limbo state between these two calls.
        In multi-process ports, a crash of the front-end process could leave the back-end wedged
        waiting for this second call (e.g. can't delete until all connections are closed).

        Simplify this by having the front-end pass through the callbacks into the back-end
        during the initial open() call, which eliminates the limbo state.

        No new tests - no functional changes. Chromium port's webkit_unit_tests updated.

        * Modules/indexeddb/IDBDatabase.cpp:
        (WebCore::IDBDatabase::create):
        (WebCore::IDBDatabase::IDBDatabase): Db-callbacks is available at creation time.
        (WebCore::IDBDatabase::~IDBDatabase):
        * Modules/indexeddb/IDBDatabase.h:
        (IDBDatabase):
        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::create): Need to track db-callbacks as well.
        (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::databaseCallbacks):
        (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::PendingOpenCall):
        (IDBDatabaseBackendImpl::PendingOpenCall):
        (WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::create): Ditto.
        (WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::databaseCallbacks):
        (WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::PendingOpenWithVersionCall):
        (IDBDatabaseBackendImpl::PendingOpenWithVersionCall):
        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
        (WebCore::IDBDatabaseBackendImpl::setVersion):
        (WebCore::IDBDatabaseBackendImpl::connectionCount): Don't need to count limbo connections any more.
        (WebCore::IDBDatabaseBackendImpl::processPendingCalls): Pass through db-callbacks.
        (WebCore::IDBDatabaseBackendImpl::openConnection): No more limbo connections (yay!).
        (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction): Pass through db-callbacks.
        (WebCore::IDBDatabaseBackendImpl::openConnectionWithVersion): Ditto.
        (WebCore::IDBDatabaseBackendImpl::deleteDatabase): Style.
        (WebCore::IDBDatabaseBackendImpl::close): Resolve FIXME about connectionCount.
        * Modules/indexeddb/IDBDatabaseBackendImpl.h:
        (IDBDatabaseBackendImpl):
        * Modules/indexeddb/IDBDatabaseBackendInterface.h:
        (IDBDatabaseBackendInterface):
        * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp:
        (WebCore::IDBDatabaseCallbacksImpl::create):
        (WebCore::IDBDatabaseCallbacksImpl::IDBDatabaseCallbacksImpl):
        (WebCore::IDBDatabaseCallbacksImpl::connect):
        * Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
        (IDBDatabaseCallbacksImpl):
        * Modules/indexeddb/IDBFactory.cpp:
        (WebCore::IDBFactory::open): Mint the db-callbacks here...
        * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
        (WebCore::IDBFactoryBackendImpl::open): ...passed through to here...
        * Modules/indexeddb/IDBFactoryBackendImpl.h:
        (IDBFactoryBackendImpl):
        * Modules/indexeddb/IDBFactoryBackendInterface.h:
        (IDBFactoryBackendInterface):
        * Modules/indexeddb/IDBOpenDBRequest.cpp:
        (WebCore::IDBOpenDBRequest::create): ...all the way to here...
        (WebCore::IDBOpenDBRequest::IDBOpenDBRequest):
        (WebCore::IDBOpenDBRequest::onUpgradeNeeded): ...and finally hooked up here.
        (WebCore::IDBOpenDBRequest::onSuccess): (or here, if no upgrade needed).
        * Modules/indexeddb/IDBOpenDBRequest.h:
        (WebCore):
        (IDBOpenDBRequest):
        * Modules/indexeddb/IDBTransaction.cpp:
        (WebCore::IDBTransaction::onAbort): Tweak event/notification ordering; the
        notifying the database that the transaction is finished may unblock closing,
        which fires more events, and the delivery matters. Previously the close would
        be blocked by the transaction which gave the desired order.
        (WebCore::IDBTransaction::onComplete): Ditto.
        * inspector/InspectorIndexedDBAgent.cpp: New hookup logic.
        (WebCore):

2012-09-13  Ryosuke Niwa  <rniwa@webkit.org>

        suspend/resumeWidgetHierarchyUpdates should be a RAII object
        https://bugs.webkit.org/show_bug.cgi?id=96706

        Reviewed by Simon Fraser.

        Replaced suspendWidgetHierarchyUpdates and resumeWidgetHierarchyUpdates by WidgetHierarchyUpdatesSuspensionScope.

        * WebCore.exp.in: Export new symbols.
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removeChild):
        (WebCore::ContainerNode::removeChildren):
        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
        * dom/Element.cpp:
        (WebCore::Element::attach):
        (WebCore::Element::detach):
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passMouseDownEventToWidget):
        * rendering/RenderWidget.cpp:
        (WebCore):
        (WebCore::WidgetHierarchyUpdatesSuspensionScope::widgetNewParentMap):
        (WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets):
        (WebCore::moveWidgetToParentSoon):
        * rendering/RenderWidget.h:
        (WidgetHierarchyUpdatesSuspensionScope):
        (WebCore::WidgetHierarchyUpdatesSuspensionScope::WidgetHierarchyUpdatesSuspensionScope):
        (WebCore::WidgetHierarchyUpdatesSuspensionScope::~WidgetHierarchyUpdatesSuspensionScope):
        (WebCore::WidgetHierarchyUpdatesSuspensionScope::isSuspended):
        (WebCore::WidgetHierarchyUpdatesSuspensionScope::scheduleWidgetToMove):
        (WebCore):
        (RenderWidget):

2012-09-13  Simon Fraser  <simon.fraser@apple.com>

        Lots of repaints in the top left tile on this site
        https://bugs.webkit.org/show_bug.cgi?id=96698

        Reviewed by Anders Carlsson.

        When given a rect outside of the current tile coverage rect,
        TileCache::setNeedsDisplayInRect() would try to invalidate the
        top left tile. This would normally be a no-op, except when repaint
        counters are visible, in which case it would invalidate the counter
        area.
        
        Fix by doing an early return if the intersection between the repaint
        rect and the tile coverage rect is empty.

        * platform/graphics/ca/mac/TileCache.mm:
        (WebCore::TileCache::setNeedsDisplayInRect):

2012-09-13  Mark Rowe  <mrowe@apple.com>

        <rdar://problem/12283706> WebKit looks for some files on the system even when building against an SDK.

        Reviewed by David Kilzer.

        If an SDK is being used, pass it through to our custom invocations of the preprocessor.

        * DerivedSources.make:

2012-09-13  Tom Sepez  <tsepez@chromium.org>

        ASSERT(!eventDispatchForbidden()) fires when removed plugin re-inserted as part of readyStateChange.
        https://bugs.webkit.org/show_bug.cgi?id=93639

        Reviewed by Ryosuke Niwa.

        Removing a plugin causes a detach which can cancel the last remaining load on a page,
        resulting in a readyStateChange event during a time when things are inconsisent. Defer
        the detach which triggers this chain of events until after the node is fully removed
        from the document's elementsById map.

        Test: plugins/plugin-remove-readystatechange.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removeChild):
        (WebCore::ContainerNode::removeChildren):

2012-09-13  Tim Horton  <timothy_horton@apple.com>

        Add optional debug logging when we fall into/out of threaded scrolling
        https://bugs.webkit.org/show_bug.cgi?id=93898
        <rdar://problem/12089098>

        Reviewed by Simon Fraser.

        Add logging when we enter and exit the threaded scrolling mode, and logs the reasons we
        fall into main-thread scrolling.

        The logging output looks like this:
            SCROLLING: Switching to main-thread scrolling mode. Time: 15843.554718 Reason(s): viewport-constrained objects
            SCROLLING: Switching to threaded scrolling mode. Time: 15844.550866
            SCROLLING: Switching to main-thread scrolling mode. Time: 15845.551214 Reason(s): viewport-constrained objects
            SCROLLING: Switching to threaded scrolling mode. Time: 15846.552619
            SCROLLING: Switching to main-thread scrolling mode. Time: 15847.553587 Reason(s): viewport-constrained objects
            SCROLLING: Switching to threaded scrolling mode. Time: 15848.554084

        No new tests, as this is just debugging logging.

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread):
        Construct a bitfield describing the reasons we fall into main-thread scrolling mode.

        * page/scrolling/ScrollingCoordinatorNone.cpp:
        (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
        * page/scrolling/ScrollingTreeNode.cpp:
        (WebCore::ScrollingTreeNode::ScrollingTreeNode):
        * page/scrolling/ScrollingTreeNode.h:
        (WebCore::ScrollingTreeNode::shouldUpdateScrollLayerPositionOnMainThread):
        * page/scrolling/ScrollingTreeState.cpp:
        (WebCore::ScrollingTreeState::ScrollingTreeState):
        (WebCore::ScrollingTreeState::setShouldUpdateScrollLayerPositionOnMainThread):
        * page/scrolling/ScrollingTreeState.h:
        (WebCore::ScrollingTreeState::shouldUpdateScrollLayerPositionOnMainThread):
        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
        (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
        Use the reasons bitfield instead of a boolean.

        * page/scrolling/ScrollingCoordinator.h:
        (ScrollingCoordinator):
        Add MainThreadScrollingReasons enum, with the current reasons that we might fallback to main-thread scrolling.
        
        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::scrollingPerformanceLoggingEnabled):
        Fix a typo (scrollingPeformanceLoggingEnabled -> scrollingPerformanceLoggingEnabled).

        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
        (WebCore::ScrollingTreeNodeMac::update):
        (WebCore::ScrollingTreeNodeMac::setScrollPosition):
        (WebCore::logThreadedScrollingMode):
        Pretty-print the scrolling mode and shouldUpdateScrollLayerPositionOnMainThreadReason.

2012-09-13  Joshua Bell  <jsbell@chromium.org>

        [V8] Binding: Generate batched attribute/const/callback struct names can collide
        https://bugs.webkit.org/show_bug.cgi?id=96700

        Reviewed by Kentaro Hara.

        The V8 binding code generator spits out static arrays for batched configuration of
        consts, attributes, and callbacks. Prior to this patch, it would spit them out
        in the WebCore namespace with names like <BaseType>Callbacks which could collide with
        other code. This change renames them from <BaseType><Suffix> to V8<BaseType><Suffix>.

        Tests: Rebaselined the binding/scripts/test/V8/* results. No functional changes.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateImplementation):
        * bindings/scripts/test/V8/V8Float64Array.cpp:
        (Float64ArrayV8Internal):
        (WebCore):
        (WebCore::ConfigureV8Float64ArrayTemplate):
        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
        (TestActiveDOMObjectV8Internal):
        (WebCore):
        (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
        (TestCustomNamedGetterV8Internal):
        (WebCore):
        (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
        (TestEventConstructorV8Internal):
        (WebCore):
        (WebCore::ConfigureV8TestEventConstructorTemplate):
        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
        (TestEventTargetV8Internal):
        (WebCore):
        (WebCore::ConfigureV8TestEventTargetTemplate):
        * bindings/scripts/test/V8/V8TestException.cpp:
        (TestExceptionV8Internal):
        (WebCore):
        (WebCore::ConfigureV8TestExceptionTemplate):
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (TestInterfaceV8Internal):
        (WebCore):
        (WebCore::ConfigureV8TestInterfaceTemplate):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (TestMediaQueryListListenerV8Internal):
        (WebCore):
        (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (TestObjV8Internal):
        (WebCore):
        (WebCore::ConfigureV8TestObjTemplate):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (TestSerializedScriptValueInterfaceV8Internal):
        (WebCore):
        (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):

2012-09-13  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL] Improve string manipulation in EflKeyboardUtilities.cpp
        https://bugs.webkit.org/show_bug.cgi?id=96598

        Reviewed by Benjamin Poulain.

        Uses ASCIILiteral for static strings as recommended by
        http://trac.webkit.org/wiki/EfficientStrings and uses HexNumber to remove
        String::format.

        No behavior change. Just a refactoring.

        * platform/efl/EflKeyboardUtilities.cpp:
        (WebCore::addCharactersToKeyMap):
        (WebCore::createKeyMap):
        (WebCore::createWindowsKeyMap):

2012-09-13  Ojan Vafai  <ojan@chromium.org>

        percentage heights in quirks mode with auto-sized body are computed incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=96426

        Reviewed by Tony Chang.

        In quirks mode, for the body element, we need to keep walking up to the html element
        if the body's height is auto. Also, we need to subtract the body/html elements
        margin/border/padding so that we properly get the body's content height.

        This behavior matches IE9, FF and Opera.

        None of this applies to standards mode since we don't walk up the
        containingBlock chain for auto-sized elements.

        Test: fast/css/percentage-height-auto-sized-body-quirks.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computePercentageLogicalHeight):

2012-09-13  Adrienne Walker  <enne@google.com>

        Hide all ancestors of the full screen element when going full screen
        https://bugs.webkit.org/show_bug.cgi?id=96332

        Reviewed by James Robinson.

        Since fixed position elements can now sometimes become stacking
        contexts, explicitly set position: static on full-screen ancestors so
        that there are no stacking context ancestors that could cause the full
        screen element to become incorrectly sorted.

        Test: fullscreen/full-screen-fixed-pos-parent.html

        * css/fullscreen.css:
        (:-webkit-full-screen-ancestor:not(iframe)):

2012-09-13  Adam Barth  <abarth@webkit.org>

        REGRESSION(r125126): It made fast/events/keyevent-iframe-removed-crash.html assert
        https://bugs.webkit.org/show_bug.cgi?id=93654

        Reviewed by Eric Seidel.

        When wrapping a Document, we need to ensure that the global object for
        the wrapper actually exists before trying to create the wrapper. In
        other cases in the DOM, we always touch the global object before trying
        to wrap a given DOM object. For Document, however,
        HTMLFrameElement.contentDocument is a rare way to get at a DOM object
        for a global object without first touching the Window object.

        Rather than writing custom bindings for
        HTMLFrameElement.contentDocument, this patch just makes toJS for
        Document ensure that toJS for DOMWindow has been called first. The V8
        bindings have some similar code.

        Test: fast/dom/content-document-prototype.html

        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::toJS):

2012-09-13  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * platform/graphics/Latin1TextIterator.h:
        (WebCore::Latin1TextIterator::Latin1TextIterator):
        (Latin1TextIterator):
        m_endCharacter is an unused private member variable, so just remove it to appease newer versions of clang.

2012-09-13  Hans Muller  <hmuller@adobe.com>

        Typo in RenderStyle::isFlippedLinesWritingMode(), small refactoring possible
        https://bugs.webkit.org/show_bug.cgi?id=96679

        Reviewed by Darin Adler.

        Fixed a typo in the comment for RenderStyle::isFlippedLinesWritingMode() and refactored the
        three RendersStyle::isXXXWritingMode() inlines to use the inlines defined in WritingMode.h.
        Moved the comments to WritingMode.h

        No new tests needed.

        * platform/text/WritingMode.h:
        (WebCore):
        * rendering/style/RenderStyle.h:

2012-09-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Evas_Object* is a ref'ed structure, so tread it as such
        https://bugs.webkit.org/show_bug.cgi?id=96659

        Reviewed by Adam Barth.

        Replace OwnPtr<Evas_Object> with RefPtr.

        * PlatformEfl.cmake:
        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
        (WebCore::RenderThemeEfl::loadTheme):
        (WebCore::RenderThemeEfl::applyPartDescriptionsFrom):
        * platform/efl/RenderThemeEfl.h:
        (RenderThemeEfl):
        (ThemePartCacheEntry):

2012-09-13  Michael Saboff  <msaboff@apple.com>

        Added 8 bit path to WidthIterator::advance()
        https://bugs.webkit.org/show_bug.cgi?id=96590

        Reviewed by Geoffrey Garen.

        Added 8 bit path to advance() by adding a templatized advanceInternal private
        method and added a simple 8 bit Latin-1 TextIterator.  Updated SurrogatePairAwareTextIterator
        by making both consume() and advance() inlined and adding consumeSlowCase() for
        surrogate handling.  These changes are a performance progression on the Layout tests.

        No new tests because of no behavior changes.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/Latin1TextIterator.h: Copied from Source/WebCore/platform/graphics/SurrogatePairAwareTextIterator.h.
        (Latin1TextIterator):
        (WebCore::Latin1TextIterator::Latin1TextIterator):
        (WebCore::Latin1TextIterator::consume):
        (WebCore::Latin1TextIterator::advance):
        (WebCore::Latin1TextIterator::characters):
        * platform/graphics/SurrogatePairAwareTextIterator.cpp:
        (WebCore::SurrogatePairAwareTextIterator::consumeSlowCase):
        * platform/graphics/SurrogatePairAwareTextIterator.h:
        (WebCore::SurrogatePairAwareTextIterator::consume):
        (SurrogatePairAwareTextIterator):
        (WebCore::SurrogatePairAwareTextIterator::advance):
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advanceInternal):
        (WebCore::WidthIterator::advance):
        * platform/graphics/WidthIterator.h:
        (WidthIterator):

2012-09-13  Yong Li  <yoli@rim.com>

        [BlackBerry] ResourceRequest string optimizations
        https://bugs.webkit.org/show_bug.cgi?id=96661

        Reviewed by Rob Buis.

        RIM PR# 207965.
        Call PlatformRequest's method to add the Accept-Language header.

        No new tests as no functional change.

        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
        (WebCore::ResourceRequest::initializePlatformRequest):

2012-09-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r128489.
        http://trac.webkit.org/changeset/128489
        https://bugs.webkit.org/show_bug.cgi?id=96686

        Does not compile on windows (Requested by jamesr on #webkit).

        * Modules/indexeddb/IDBDatabase.cpp:
        (WebCore::IDBDatabase::create):
        (WebCore::IDBDatabase::IDBDatabase):
        (WebCore::IDBDatabase::~IDBDatabase):
        (WebCore::IDBDatabase::registerFrontendCallbacks):
        (WebCore):
        * Modules/indexeddb/IDBDatabase.h:
        (IDBDatabase):
        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::create):
        (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::PendingOpenCall):
        (IDBDatabaseBackendImpl::PendingOpenCall):
        (WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::create):
        (WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::PendingOpenWithVersionCall):
        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
        (WebCore::IDBDatabaseBackendImpl::setVersion):
        (WebCore::IDBDatabaseBackendImpl::connectionCount):
        (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
        (WebCore::IDBDatabaseBackendImpl::registerFrontendCallbacks):
        (WebCore):
        (WebCore::IDBDatabaseBackendImpl::openConnection):
        (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
        (WebCore::IDBDatabaseBackendImpl::openConnectionWithVersion):
        (WebCore::IDBDatabaseBackendImpl::deleteDatabase):
        (WebCore::IDBDatabaseBackendImpl::close):
        * Modules/indexeddb/IDBDatabaseBackendImpl.h:
        (IDBDatabaseBackendImpl):
        * Modules/indexeddb/IDBDatabaseBackendInterface.h:
        (IDBDatabaseBackendInterface):
        * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp:
        (WebCore::IDBDatabaseCallbacksImpl::create):
        (WebCore::IDBDatabaseCallbacksImpl::IDBDatabaseCallbacksImpl):
        (WebCore::IDBDatabaseCallbacksImpl::unregisterDatabase):
        * Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
        (IDBDatabaseCallbacksImpl):
        * Modules/indexeddb/IDBFactory.cpp:
        (WebCore::IDBFactory::open):
        * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
        (WebCore::IDBFactoryBackendImpl::open):
        * Modules/indexeddb/IDBFactoryBackendImpl.h:
        (IDBFactoryBackendImpl):
        * Modules/indexeddb/IDBFactoryBackendInterface.h:
        (IDBFactoryBackendInterface):
        * Modules/indexeddb/IDBOpenDBRequest.cpp:
        (WebCore::IDBOpenDBRequest::create):
        (WebCore::IDBOpenDBRequest::IDBOpenDBRequest):
        (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
        (WebCore::IDBOpenDBRequest::onSuccess):
        * Modules/indexeddb/IDBOpenDBRequest.h:
        (IDBOpenDBRequest):
        * Modules/indexeddb/IDBTransaction.cpp:
        (WebCore::IDBTransaction::onAbort):
        (WebCore::IDBTransaction::onComplete):
        * inspector/InspectorIndexedDBAgent.cpp:
        (WebCore):

2012-09-13  Tony Chang  <tony@chromium.org>

        Refactor duplicate code into RenderFlexibleBox::mainAxisContentExtent
        https://bugs.webkit.org/show_bug.cgi?id=96676

        Reviewed by Eric Seidel.

        There was computeAvailableFreeSpace() and lineBreakLength() shared some very similar code.
        Merge this code into mainAxisContentExtent().

        No new tests, this is just a refactor.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::mainAxisContentExtent): Take contentLogicalHeight as a parameter,
        which is needed when determining the logical height.
        (WebCore::RenderFlexibleBox::computeAvailableFreeSpace): Use mainAxisContentExtent() and inline.
        (WebCore::RenderFlexibleBox::computeNextFlexLine): Use mainAxisContentExtent().
        * rendering/RenderFlexibleBox.h:

2012-09-13  Glenn Hartmann  <hartmanng@chromium.org>

        Add new accelerated compositing for overflow scroll setting.
        https://bugs.webkit.org/show_bug.cgi?id=95885

        Reviewed by James Robinson.

        wkb.ug/91117 introduces RenderLayer::usesCompositedScrolling(), which
        currently returns true if we're overflow scrolling and the element has
        been styled with '-webkit-overflow-scrolling: touch'. If this is true,
        we get promoted to a composited layer, the associated RenderLayerBacking
        gets special scrolling layers and in response to RenderLayer::scrollTo()
        we no longer have to invalidate everything to get the scrolled content
        in the right spot, thereby avoiding very expensive repaints. It's
        unfortunate that we require -webkit-overflow-scrolling: touch, though.
        It would be nice if RenderLayer::usesCompositedScrolling() returned true
        if the page would continue to behave correctly.  This is what
        wkb.ug/94743 is intended to do.  Unfortunately, when we become a
        composited layer, we switch from subpixel to grayscale anti-aliasing. We
        only want to auto-opt into composited scrolling if we don't mind the
        change in anti-aliasing, so we need a flag to enable/disable this
        feature.

        No new tests -- no change in behaviour.

        * page/Settings.h:
        (WebCore::Settings::setAcceleratedCompositingForOverflowScrollEnabled):
        (WebCore::Settings::acceleratedCompositingForOverflowScrollEnabled):
        (Settings):

2012-09-13  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Consolidate two-phase connection to avoid race conditions
        https://bugs.webkit.org/show_bug.cgi?id=90411

        Reviewed by Tony Chang.

        Previously, IDB connections were opened by having the front-end (1) call through to
        a back-end open() method, eventually receive a success message with a back-end object
        handle, and (2) call into the back-end object to register front-end callbacks. This left
        the back-end's notion of an open connection in a limbo state between these two calls.
        In multi-process ports, a crash of the front-end process could leave the back-end wedged
        waiting for this second call (e.g. can't delete until all connections are closed).

        Simplify this by having the front-end pass through the callbacks into the back-end
        during the initial open() call, which eliminates the limbo state.

        No new tests - no functional changes. Chromium port's webkit_unit_tests updated.

        * Modules/indexeddb/IDBDatabase.cpp:
        (WebCore::IDBDatabase::create):
        (WebCore::IDBDatabase::IDBDatabase): Db-callbacks is available at creation time.
        (WebCore::IDBDatabase::~IDBDatabase):
        * Modules/indexeddb/IDBDatabase.h:
        (IDBDatabase):
        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::create): Need to track db-callbacks as well.
        (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::databaseCallbacks):
        (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::PendingOpenCall):
        (IDBDatabaseBackendImpl::PendingOpenCall):
        (WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::create): Ditto.
        (WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::databaseCallbacks):
        (WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::PendingOpenWithVersionCall):
        (IDBDatabaseBackendImpl::PendingOpenWithVersionCall):
        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
        (WebCore::IDBDatabaseBackendImpl::setVersion):
        (WebCore::IDBDatabaseBackendImpl::connectionCount): Don't need to count limbo connections any more.
        (WebCore::IDBDatabaseBackendImpl::processPendingCalls): Pass through db-callbacks.
        (WebCore::IDBDatabaseBackendImpl::openConnection): No more limbo connections (yay!).
        (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction): Pass through db-callbacks.
        (WebCore::IDBDatabaseBackendImpl::openConnectionWithVersion): Ditto.
        (WebCore::IDBDatabaseBackendImpl::deleteDatabase): Style.
        (WebCore::IDBDatabaseBackendImpl::close): Resolve FIXME about connectionCount.
        * Modules/indexeddb/IDBDatabaseBackendImpl.h:
        (IDBDatabaseBackendImpl):
        * Modules/indexeddb/IDBDatabaseBackendInterface.h:
        (IDBDatabaseBackendInterface):
        * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp:
        (WebCore::IDBDatabaseCallbacksImpl::create):
        (WebCore::IDBDatabaseCallbacksImpl::IDBDatabaseCallbacksImpl):
        (WebCore::IDBDatabaseCallbacksImpl::connect):
        * Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
        (IDBDatabaseCallbacksImpl):
        * Modules/indexeddb/IDBFactory.cpp:
        (WebCore::IDBFactory::open): Mint the db-callbacks here...
        * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
        (WebCore::IDBFactoryBackendImpl::open): ...passed through to here...
        * Modules/indexeddb/IDBFactoryBackendImpl.h:
        (IDBFactoryBackendImpl):
        * Modules/indexeddb/IDBFactoryBackendInterface.h:
        (IDBFactoryBackendInterface):
        * Modules/indexeddb/IDBOpenDBRequest.cpp:
        (WebCore::IDBOpenDBRequest::create): ...all the way to here...
        (WebCore::IDBOpenDBRequest::IDBOpenDBRequest):
        (WebCore::IDBOpenDBRequest::onUpgradeNeeded): ...and finally hooked up here.
        (WebCore::IDBOpenDBRequest::onSuccess): (or here, if no upgrade needed).
        * Modules/indexeddb/IDBOpenDBRequest.h:
        (WebCore):
        (IDBOpenDBRequest):
        * Modules/indexeddb/IDBTransaction.cpp:
        (WebCore::IDBTransaction::onAbort): Tweak event/notification ordering; the
        notifying the database that the transaction is finished may unblock closing,
        which fires more events, and the delivery matters. Previously the close would
        be blocked by the transaction which gave the desired order.
        (WebCore::IDBTransaction::onComplete): Ditto.
        * inspector/InspectorIndexedDBAgent.cpp: New hookup logic.
        (WebCore):

2012-09-13  Tony Chang  <tony@chromium.org>

        Flexitem margins should be based on content width, not width
        https://bugs.webkit.org/show_bug.cgi?id=96674

        Reviewed by Ojan Vafai.

        Margins should be based on content width. Also remove some calls to
        mainAxisContentExtent() when we can use contentLogicalWidth instead.

        Tests: css3/flexbox/percent-margins.html has a new testcase.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::computeMainAxisExtentForChild): Use contentLogicalWidth instead of
        passing in the maximum value (only used in the width case).
        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild): Don't pass in mainAxisContentExtent.
        (WebCore::RenderFlexibleBox::computeChildMarginValue): Use contentLogicalWidth and simplify the code.
        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Remove unnecessary mainAxisContentExtent() call.
        (WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax): Remove unnecessary flexboxAvailableContentExtent.
        (WebCore::RenderFlexibleBox::computeNextFlexLine): Remove unnecessary mainAxisContentExtent() call.
        (WebCore::RenderFlexibleBox::resolveFlexibleLengths): Remove unnecessary mainAxisContentExtent() call.
        * rendering/RenderFlexibleBox.h: Remove unnecessary params.

2012-09-13  Thiago Marcos P. Santos  <thiago.santos@intel.com>

        [EFL] Assertion reached on RenderThemeEFL when setting a theme to an invalid path
        https://bugs.webkit.org/show_bug.cgi?id=96649

        Reviewed by Kenneth Rohde Christiansen.

        Keep the consistence by restoring the reference to the old theme path
        when the new one cannot be loaded.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::setThemePath):

2012-09-13  Robert Kroeger  <rjkroege@chromium.org>

        [chromium] alter fling animation parameters.
        https://bugs.webkit.org/show_bug.cgi?id=96666

        Reviewed by Adrienne Walker.

        Adjusted configuration parameters for fling animation to have a longer
        tail and more similarity between touchpad and touchscreen.
        
        Covered by existing tests.

        * platform/TouchFlingPlatformGestureCurve.cpp:
        (WebCore::TouchFlingPlatformGestureCurve::createForTouchPad):
        (WebCore::TouchFlingPlatformGestureCurve::createForTouchScreen):

2012-09-13  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Properties of IDBKeyRange should default to undefined
        https://bugs.webkit.org/show_bug.cgi?id=96401

        Reviewed by Adam Barth.

        Per the IndexedDB spec, properties of IDBKeyRange should be |undefined| if
        not set (i.e. range.upper if created with lowerBound(), and vice versa), rather
        than null.

        Test: storage/indexeddb/keyrange.html

        * bindings/v8/custom/V8IDBKeyCustom.cpp:
        (WebCore::toV8): Since IDBKeyRange is the only place where possibly-null
        keys are returned to script, change the JS value from null to undefined.
        And call v8Undefined(). It's faster.
        * bindings/js/custom/JSIDBKeyCustom.cpp:
        (WebCore::toJS): Ditto.

2012-09-13  Sami Kyostila  <skyostil@chromium.org>

        Refactor paint overflow clipping
        https://bugs.webkit.org/show_bug.cgi?id=96625

        Reviewed by Simon Fraser.

        The same logic for applying overflow clipping based on the cached size of a
        RenderBox has been duplicated to four different places. Consolidate them to a
        single RenderBox utility function.

        This is in preparation for https://bugs.webkit.org/show_bug.cgi?id=96087.

        No new functionality; covered by existing tests.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::applyCachedClipAndScrollOffsetForRepaint):
        (WebCore):
        (WebCore::RenderBox::computeRectForRepaint):
        * rendering/RenderBox.h:
        (RenderBox):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::clippedOverflowRectForRepaint):
        (WebCore::RenderInline::computeRectForRepaint):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::computeRectForRepaint):

2012-09-13  Simon Hausmann  <simon.hausmann@nokia.com>

        Another prospective Qt/Windows build fix: Add missing CString.h include.

        * platform/qt/UserAgentQt.cpp:

2012-09-13  Dimitri Glazkov  <dglazkov@chromium.org>

        Stop shuttling PseudoId from StyleResolver to SelectorChecker.
        https://bugs.webkit.org/show_bug.cgi?id=96431

        Reviewed by Eric Seidel.

        SelectorChecker retained extra state to store the PseudoId value of the element. It was sad, because we needed to explicitly maintain its integrity. Instead, we now just make it part of StyleResolver and feed to SelectorChecker as part of SelectorCheckingContext.

        No new tests, refactoring only. Covered by existing tests.

        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::SelectorChecker): Removed state initializer.
        (WebCore::SelectorChecker::checkSelector): Changed to look into context, rather than own member.
        * css/SelectorChecker.h:
        (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext): Added pseudoStyle as parameter.
        (SelectorCheckingContext): Added pseudoStyle as member.
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::collectMatchingRulesForList): Changed to look at own member, rather than m_checker.
        * css/StyleResolver.h:
        (StyleResolver): Added new member.

2012-09-13  Simon Hausmann  <simon.hausmann@nokia.com>

        Unreviewed prospective Qt/MSVC build fix.

        * platform/qt/UserAgentQt.cpp:
        (WebCore::UserAgentQt::standardUserAgent): Try to make the conversion from the 8-bit
        String to a QLatin1String successful.

2012-09-13  Lauro Neto  <lauro.neto@openbossa.org>

        [Qt][WK2] fast/forms/access-key-for-all-elements.html fails
        https://bugs.webkit.org/show_bug.cgi?id=73917

        Reviewed by Simon Hausmann.

        Access-key tests were failing due to hardcoded Mac OS X in the
        Qt WK2 user agent string. This commit moves the WK1 implementation
        to a shared one to be used by both versions.

        Adds the shared user agent implementation.

        * Target.pri:
        * platform/qt/UserAgentQt.cpp: Added.
        (WebCore):
        (WebCore::UserAgentQt::standardUserAgent):
        * platform/qt/UserAgentQt.h: Added.
        (WebCore):
        (UserAgentQt):

2012-09-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        [EFL] Use RefPtr for storing cairo_surface_t
        https://bugs.webkit.org/show_bug.cgi?id=96647

        Reviewed by Simon Hausmann.

        Refactoring, covered by existing tests.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::createSurfaceForBackingStore):
        (WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
        (WebCore::RenderThemeEfl::ThemePartCacheEntry::reuse):
        (WebCore::RenderThemeEfl::paintThemePart):
        * platform/efl/RenderThemeEfl.h:
        (WebCore::RenderThemeEfl::ThemePartCacheEntry::surface):
        (ThemePartCacheEntry):

2012-09-13  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        Move updateHoverActiveState to Document.
        https://bugs.webkit.org/show_bug.cgi?id=95858

        Reviewed by Antonio Gomes.

        RenderLayer::updateHoverActiveState contains the logic that updates hover and active states based on
        hit-tests, but hover and active states are document states, and does have any relation to layers other
        than documents having atleast one layer.

        By moving the function it will be in the same place as other active/hover state maintainace, and we avoid
        excessive updates of the state from hit-testing flow threads.

        * dom/Document.cpp:
        (WebCore::commonAncestor):
        (WebCore::Document::updateHoverActiveState):
        * dom/Document.h:
        (Document):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::sendContextMenuEventForKey):
        * rendering/RenderFrameBase.cpp:
        (WebCore::RenderFrameBase::nodeAtPoint):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTest):
        * rendering/RenderLayer.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::hitTest):
        * rendering/RenderView.h:
        (RenderView):

2012-09-13  Allan Sandfeld Jensen  <allan.jensen@nokia.com>

        REGRESSION: hit test doesn't take iframe scroll position into account
        https://bugs.webkit.org/show_bug.cgi?id=96541

        Reviewed by Antonio Gomes.

        Convert the coordinate correctly by taking scroll position plus frame
        borders and padding into account.

        Test: fast/events/touch/touch-inside-iframe-scrolled.html

        * rendering/RenderFrameBase.cpp:
        (WebCore::RenderFrameBase::nodeAtPoint):

2012-09-13  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: NMI: remove the dependency of platform sources from WebCore header introduced by NMI instrumentation.
        https://bugs.webkit.org/show_bug.cgi?id=96367

        Reviewed by Yury Semikhatsky.

        the target is to move 'platform' specific instrumentation code
        from WebCoreMemoryInstrumentation into the new PlatformMemoryInstrumentation.

        Drive by fix: New type DOM.Image was introduced.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/WebCoreMemoryInstrumentation.cpp:
        (WebCore):
        * dom/WebCoreMemoryInstrumentation.h:
        (WebCoreMemoryTypes):
        * inspector/InspectorMemoryAgent.cpp:
        (WebCore):
        * platform/KURL.cpp:
        * platform/KURLGoogle.cpp:
        * platform/PlatformMemoryInstrumentation.cpp: Copied from Source/WebCore/platform/graphics/GeneratedImage.cpp.
        (WebCore):
        * platform/PlatformMemoryInstrumentation.h: Copied from Source/WebCore/platform/graphics/GeneratedImage.cpp.
        (WebCore):
        (PlatformMemoryTypes):
        * platform/SharedBuffer.cpp:
        * platform/TreeShared.h:
        (WebCore::TreeShared::reportMemoryUsage):
        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::reportMemoryUsage):
        * platform/graphics/CrossfadeGeneratedImage.cpp:
        (WebCore::CrossfadeGeneratedImage::reportMemoryUsage):
        * platform/graphics/GeneratedImage.cpp:
        (WebCore::GeneratedImage::reportMemoryUsage):
        * platform/graphics/GeneratorGeneratedImage.cpp:
        (WebCore::GeneratorGeneratedImage::reportMemoryUsage):
        * platform/graphics/GeneratorGeneratedImage.h:
        * platform/graphics/Image.cpp:
        (WebCore::Image::reportMemoryUsage):
        * platform/network/FormData.cpp:
        (WebCore::FormData::reportMemoryUsage):
        * platform/network/ResourceRequestBase.cpp:
        (WebCore::ResourceRequestBase::reportMemoryUsage):
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::reportMemoryUsage):

2012-09-13  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: NMI: instrument KURL directly.
        https://bugs.webkit.org/show_bug.cgi?id=96624

        Reviewed by Yury Semikhatsky.

        I replaced traits based instrumentation of KURL with reportMemoryUsage functions.
        CString* were also instrumented.

        Drive by fix: Instrumentation code in QualifiedName was moved to cpp.

        * bindings/v8/V8DOMMap.h:
        * dom/Attribute.h:
        * dom/QualifiedName.cpp:
        (WebCore::QualifiedName::reportMemoryUsage):
        (WebCore):
        (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
        * dom/QualifiedName.h:
        (QualifiedNameImpl):
        (QualifiedName):
        * dom/WebCoreMemoryInstrumentation.cpp:
        * dom/WebCoreMemoryInstrumentation.h:
        (WebCore):
        * platform/KURL.cpp:
        (WebCore::KURL::reportMemoryUsage):
        (WebCore):
        * platform/KURL.h:
        (KURL):
        * platform/KURLGoogle.cpp:
        (WebCore::KURLGooglePrivate::reportMemoryUsage):
        * platform/KURLGooglePrivate.h:
        (KURLGooglePrivate):
        * platform/KURLWTFURLImpl.h:
        (KURLWTFURLImpl):
        (WebCore::KURLWTFURLImpl::reportMemoryUsage):

2012-09-13  Kent Tamura  <tkent@chromium.org>

        Update binding test expectation for http://trac.webkit.org/changeset/128400
        https://bugs.webkit.org/show_bug.cgi?id=91933

        * bindings/scripts/test/JS/JSFloat64Array.cpp:
        (WebCore::JSFloat64Array::getOwnPropertySlotByIndex):
        (WebCore::JSFloat64Array::putByIndex):
        * bindings/scripts/test/JS/JSFloat64Array.h:
        (JSFloat64Array):
        * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
        (JSTestActiveDOMObject):
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
        (WebCore::JSTestCustomNamedGetter::getOwnPropertySlotByIndex):
        (WebCore):
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
        (JSTestCustomNamedGetter):
        * bindings/scripts/test/JS/JSTestEventConstructor.h:
        (JSTestEventConstructor):
        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
        (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex):
        * bindings/scripts/test/JS/JSTestEventTarget.h:
        (JSTestEventTarget):
        * bindings/scripts/test/JS/JSTestException.h:
        (JSTestException):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterface::putByIndex):
        (WebCore):
        * bindings/scripts/test/JS/JSTestInterface.h:
        (JSTestInterface):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
        (JSTestMediaQueryListListener):
        * bindings/scripts/test/JS/JSTestNamedConstructor.h:
        (JSTestNamedConstructor):
        * bindings/scripts/test/JS/JSTestNode.h:
        (JSTestNode):
        * bindings/scripts/test/JS/JSTestObj.h:
        (JSTestObj):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
        (JSTestSerializedScriptValueInterface):

2012-09-13  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>

        [EFL] REGRESSION (r128274): fast/overflow/overflow-height-float-not-removed-crash.html
        https://bugs.webkit.org/show_bug.cgi?id=96619

        Reviewed by Kenneth Rohde Christiansen.

        ThemePartCacheEntry::create() can return '0' if creation fails, this was not checked
        while Theme Part cache populating. A NULL pointer was dereferenced then causing crash.

        Test: fast/overflow/overflow-height-float-not-removed-crash.html.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::getThemePartFromCache):

2012-09-13  Filip Pizlo  <fpizlo@apple.com>

        [Qt][Win] REGRESSION(r128400): It broke the build
        https://bugs.webkit.org/show_bug.cgi?id=96617

        Reviewed by Simon Hausmann.

        * bridge/runtime_array.h:
        (JSC::RuntimeArray::createStructure):

2012-09-13  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: CSS domain sends events while it is not enabled
        https://bugs.webkit.org/show_bug.cgi?id=96615

        Reviewed by Yury Semikhatsky.

        The CSS agent is put into and removed from the instrumenting agents set upon enable() and disable(), respectively.

        Tests will be shortly landed as a part of the new pure protocol testing harness.

        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::setFrontend):
        (WebCore::InspectorCSSAgent::clearFrontend):
        (WebCore::InspectorCSSAgent::reset):
        (WebCore):
        (WebCore::InspectorCSSAgent::resetNonPersistentData):
        (WebCore::InspectorCSSAgent::enable):
        (WebCore::InspectorCSSAgent::disable):
        * inspector/InspectorCSSAgent.h:
        (InspectorCSSAgent):

2012-09-12  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: NMI: migrate core instrumentation code to WTF namespace
        https://bugs.webkit.org/show_bug.cgi?id=96511

        Reviewed by Yury Semikhatsky.

        After moving core NMI code to WTF namespace I removed forward declarations
        of MemoryObjectInfo and MemoryInstrumentation from WebCore headers and add
        forward declaration into wtf/Forward.h

        * bindings/v8/DOMDataStore.h:
        (WebCore):
        * bindings/v8/ScriptProfiler.h:
        (WebCore):
        * bindings/v8/V8DOMMap.h:
        (WebCore):
        * bindings/v8/V8PerIsolateData.h:
        (WebCore):
        * bindings/v8/V8ValueCache.h:
        (WebCore):
        * css/CSSProperty.h:
        * css/CSSRule.h:
        (WebCore):
        * css/CSSSelectorList.h:
        (WebCore):
        * css/CSSStyleDeclaration.h:
        (WebCore):
        * css/CSSStyleSheet.h:
        (WebCore):
        * css/CSSValue.h:
        * css/MediaList.h:
        (WebCore):
        * css/MediaQuery.h:
        * css/MediaQueryExp.h:
        * css/StylePropertySet.h:
        (WebCore):
        * css/StyleResolver.h:
        * css/StyleRule.h:
        (WebCore):
        * css/StyleRuleImport.h:
        (WebCore):
        * css/StyleSheetContents.h:
        (WebCore):
        * css/WebKitCSSKeyframeRule.h:
        * css/WebKitCSSKeyframesRule.h:
        (WebCore):
        * css/WebKitCSSMixFunctionValue.h:
        * dom/DocumentEventQueue.h:
        (WebCore):
        * dom/ElementAttributeData.h:
        (WebCore):
        * dom/Event.h:
        (WebCore):
        * dom/Node.h:
        (WebCore):
        * dom/WebCoreMemoryInstrumentation.cpp:
        (WTF):
        (WTF::WebCore::KURL):
        * dom/WebCoreMemoryInstrumentation.h:
        (WebCore):
        (WTF):
        * inspector/MemoryInstrumentationImpl.h:
        * loader/DocumentLoader.h:
        (WebCore):
        * loader/FrameLoader.h:
        (WebCore):
        * loader/ResourceLoader.h:
        (WebCore):
        * loader/SubstituteData.h:
        * loader/cache/CachedCSSStyleSheet.h:
        (WebCore):
        * loader/cache/CachedRawResource.h:
        (WebCore):
        * loader/cache/CachedResource.h:
        (WebCore):
        * loader/cache/CachedResourceHandle.h:
        * loader/cache/CachedResourceLoader.h:
        (WebCore):
        * loader/cache/CachedScript.h:
        (WebCore):
        * loader/cache/CachedShader.h:
        * loader/cache/CachedXSLStyleSheet.h:
        (WebCore):
        * loader/cache/MemoryCache.h:
        (WebCore):
        * page/Frame.h:
        (WebCore):
        * platform/SharedBuffer.h:
        * platform/graphics/CrossfadeGeneratedImage.h:
        (WebCore):
        * platform/graphics/Image.h:
        (WebCore):
        * platform/network/FormData.h:
        (WebCore):
        * platform/network/ResourceRequestBase.h:
        * platform/network/ResourceResponseBase.h:
        * rendering/style/RenderStyle.h:
        (WebCore):
        * rendering/style/StyleRareInheritedData.h:
        (WebCore):
        * rendering/style/StyleRareNonInheritedData.h:
        (WebCore):

2012-09-13  Raul Hudea  <rhudea@adobe.com>

        [CSSRegions][CSSOM] Implement Element.getRegionFlowRanges
        https://bugs.webkit.org/show_bug.cgi?id=78493

        Reviewed by David Hyatt.

        Implement the getRegionFlowRanges function from the CSS Regions spec. It is implemented by iterating over 
        the content nodes and figuring out which nodes have boundingBox intersecting the region box and figuring out
        the start and end positions.

        Tests: fast/regions/get-region-flow-ranges-absolute-pos.html
               fast/regions/get-region-flow-ranges-content-nodes.html
               fast/regions/get-region-flow-ranges-display-none.html
               fast/regions/get-region-flow-ranges-empty-regions.html
               fast/regions/get-region-flow-ranges-fixed-pos.html
               fast/regions/get-region-flow-ranges-horiz-bt.html
               fast/regions/get-region-flow-ranges-inline-only.html
               fast/regions/get-region-flow-ranges-text-vert-lr.html
               fast/regions/get-region-flow-ranges-text.html
               fast/regions/get-region-flow-ranges-vert-lr.html
               fast/regions/get-region-flow-ranges-vert-rl.html
               fast/regions/get-region-flow-ranges-writing-modes-rl-rb-lr.html
               fast/regions/get-region-flow-ranges-writing-modes-tb-rl-lr.html
               fast/regions/get-region-flow-ranges.html

        * dom/Element.cpp:
        (WebCore::Element::webkitGetRegionFlowRanges):
        (WebCore):
        * dom/Element.h:
        * dom/Element.idl: added the webkitGetRegionFlowRanges method
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats): Use the logicalTopOfFlowThreadContentRect instead of offsetFromLogicalTopOfFirstPage (renamed)
        (WebCore::RenderBlock::hasNextPage): Use the logicalTopOfFlowThreadContentRect instead of offsetFromLogicalTopOfFirstPage (renamed)
        (WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage): Added a slower path which works without LayoutState
        (WebCore::RenderBlock::clampToStartAndEndRegions): Use the logicalTopOfFlowThreadContentRect instead of offsetFromLogicalTopOfFirstPage (renamed)
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats): Use the logicalTopOfFlowThreadContentRect instead of offsetFromLogicalTopOfFirstPage (renamed)
        (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion): Use the logicalTopOfFlowThreadContentRect instead of offsetFromLogicalTopOfFirstPage (renamed)
        (WebCore::computeInlineStaticDistance): Use the logicalTopOfFlowThreadContentRect instead of offsetFromLogicalTopOfFirstPage (renamed)
        * rendering/RenderNamedFlowThread.cpp:
        (WebCore::isContainedInNodes):
        (WebCore):
        (WebCore::boxIntersectsRegion):
        (WebCore::RenderNamedFlowThread::getRanges): returns a vector of Ranges that contains Node that are part of a region
        * rendering/RenderNamedFlowThread.h:
        (RenderNamedFlowThread):
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::logicalTopOfFlowThreadContentRect): Returns the logical top of a rectangle inside the flow thread content
        (WebCore):
        (WebCore::RenderRegion::logicalBottomOfFlowThreadContentRect): Returns the logical bottom of a rectangle inside the flow thread content
        (WebCore::RenderRegion::getRanges): proxy the getRanges call to its named flow thread
        * rendering/RenderRegion.h:
        (RenderRegion):
        (WebCore::RenderRegion::logicalTopForFlowThreadContent): Renamed from offsetFromLogicalTopOfFirstPage
        (WebCore::RenderRegion::logicalBottomForFlowThreadContent): Returns the logical bottom of the FlowThreadContent rect

2012-09-13  Adam Barth  <abarth@webkit.org>

        new test fast/canvas/canvas-css-crazy.html fails on Mac
        https://bugs.webkit.org/show_bug.cgi?id=96582

        Reviewed by Csaba Osztrogonác.

        We represent 0 pointers with null, not undefined.

        Test: fast/canvas/canvas-css-crazy.html

        * bindings/js/JSCanvasRenderingContextCustom.cpp:
        (WebCore::toJS):

2012-09-12  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Styles] Styles not updated when there is a heavy stream of DOM updates
        https://bugs.webkit.org/show_bug.cgi?id=96482

        Reviewed by Vsevolod Vlasov.

        Update the Styles pane even if there is a pending rebuild update for the same current node.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):

2012-09-12  Chris Fleizach  <cfleizach@apple.com>

        AX: svg:image not accessible
        https://bugs.webkit.org/show_bug.cgi?id=96341

        Unreviewed.

        Build fix for non-SVG ports.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):

2012-09-12  Yoshifumi Inoue  <yosin@chromium.org>

        New time input needs accessibility
        https://bugs.webkit.org/show_bug.cgi?id=96032

        Reviewed by Chris Fleizach.

        This patch adds accessibility support into multiple fields time input
        UI by setting "role" HTML attribute of DateTimeFieldElement to "spinbutton"
        and changing ARIA attributes to post value change notification.

        This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
        ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.

        Tests: fast/forms/time-multiple-fields/time-multiple-fields-ax-aria-attributes.html
               fast/forms/time-multiple-fields/time-multiple-fields-ax-value-changed-notification.html

        * html/shadow/DateTimeFieldElement.cpp:
        (WebCore::DateTimeFieldElement::DateTimeFieldElement): Changed to set
        "role" HTML attribute to "spinbutton".
        (WebCore::DateTimeFieldElement::initialize): Changed to set new
        parameter axHelpText to aria-help attribute and set aria-valuemax and
        aria-valuemin attributes.
        (WebCore::DateTimeFieldElement::updateVisibleValue): Changed to set
        aria-valuetext and aria-valuenow attributes.
        * html/shadow/DateTimeFieldElement.h:
        (DateTimeFieldElement): Changed to add new parameter axHelpText to initialize().
        * html/shadow/DateTimeFieldElements.cpp:
        (WebCore::DateTimeAMPMFieldElement::create): Changed to add new argument.
        (WebCore::DateTimeHourFieldElement::create): ditto.
        (WebCore::DateTimeMillisecondFieldElement::create): ditto.
        (WebCore::DateTimeMinuteFieldElement::create): ditto.
        (WebCore::DateTimeSecondFieldElement::create): ditto.
        * html/shadow/DateTimeNumericFieldElement.cpp:
        (WebCore::DateTimeNumericFieldElement::maximum): Added for DateTimeFieldElement::initialize().
        (WebCore::DateTimeNumericFieldElement::minimum): ditto.
        * html/shadow/DateTimeNumericFieldElement.h:
        (DateTimeNumericFieldElement): Added maximum() and minimum() declarations.
        * html/shadow/DateTimeSymbolicFieldElement.cpp:
        (WebCore::DateTimeSymbolicFieldElement::maximum): Added for DateTimeFieldElement::initialize().
        (WebCore::DateTimeSymbolicFieldElement::minimum): ditto.
        * html/shadow/DateTimeSymbolicFieldElement.h:
        (DateTimeSymbolicFieldElement): Added maximum() and minimum() declarations.

2012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r127876.
        http://trac.webkit.org/changeset/127876
        https://bugs.webkit.org/show_bug.cgi?id=96600

        mouse click doesn't work for spin button if spin button in
        iframe (Requested by yosin on #webkit).

        * WebCore.exp.in:
        * WebCore.order:
        * dom/Document.cpp:
        (WebCore::Document::nodesFromRect):
        * dom/Document.h:
        (Document):
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::createContextMenu):
        * page/DragController.cpp:
        (WebCore::DragController::canProcessDrag):
        (WebCore::DragController::startDrag):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::updateAutoscrollRenderer):
        (WebCore::EventHandler::hitTestResultAtPoint):
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::handleGestureEvent):
        (WebCore::EventHandler::bestClickableNodeForTouchPoint):
        (WebCore::EventHandler::bestContextMenuNodeForTouchPoint):
        (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
        (WebCore::EventHandler::handleTouchEvent):
        * page/EventHandler.h:
        (EventHandler):
        * page/FocusController.cpp:
        (WebCore::updateFocusCandidateIfNeeded):
        * page/Frame.cpp:
        (WebCore::Frame::visiblePositionForPoint):
        (WebCore::Frame::documentAtPoint):
        * page/TouchDisambiguation.cpp:
        (WebCore::findGoodTouchTargets):
        * rendering/HitTestRequest.h:
        * testing/Internals.cpp:
        (WebCore::Internals::nodesFromRect):

2012-09-09  Filip Pizlo  <fpizlo@apple.com>

        JSC should have property butterflies
        https://bugs.webkit.org/show_bug.cgi?id=91933

        Reviewed by Geoffrey Garen.

        Teach the DOM that to intercept get/put on indexed properties, you now have
        to override getOwnPropertySlotByIndex and putByIndex.

        No new tests because no new behavior. One test was rebased because indexed
        property iteration order now matches other engines (indexed properties always
        come first).

        * bindings/js/ArrayValue.cpp:
        (WebCore::ArrayValue::get):
        * bindings/js/JSBlobCustom.cpp:
        (WebCore::JSBlobConstructor::constructJSBlob):
        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
        * bindings/js/JSDOMStringListCustom.cpp:
        (WebCore::toDOMStringList):
        * bindings/js/JSDOMStringMapCustom.cpp:
        (WebCore::JSDOMStringMap::deletePropertyByIndex):
        (WebCore):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::getOwnPropertySlot):
        (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
        (WebCore):
        (WebCore::JSDOMWindow::putByIndex):
        (WebCore::JSDOMWindow::deletePropertyByIndex):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::getOwnPropertySlotByIndex):
        (WebCore):
        (WebCore::JSDOMWindowShell::putByIndex):
        (WebCore::JSDOMWindowShell::deletePropertyByIndex):
        * bindings/js/JSDOMWindowShell.h:
        (JSDOMWindowShell):
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::deletePropertyByIndex):
        (WebCore):
        * bindings/js/JSInspectorFrontendHostCustom.cpp:
        (WebCore::populateContextMenuItems):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::deletePropertyByIndex):
        (WebCore):
        * bindings/js/JSStorageCustom.cpp:
        (WebCore::JSStorage::deletePropertyByIndex):
        (WebCore):
        * bindings/js/JSWebSocketCustom.cpp:
        (WebCore::JSWebSocketConstructor::constructJSWebSocket):
        * bindings/js/ScriptValue.cpp:
        (WebCore::jsToInspectorValue):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneSerializer::serialize):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::RuntimeArray):
        * bridge/runtime_array.h:
        (JSC::RuntimeArray::createStructure):
        (RuntimeArray):

2012-09-12  Kent Tamura  <tkent@chromium.org>

        Introduce ValidationMessageClient
        https://bugs.webkit.org/show_bug.cgi?id=96238

        Reviewed by Hajime Morita.

        ValidationMessageClient interface is responsible to operate validation
        message UI for interactive form validation. If a Page object has a
        ValidtionMessageClient, ValidationMessae class uses
        ValidtionMessageClient instead of Shadow DOM.

        No new tests because of no behavior changes.

        * GNUmakefile.list.am: Add ValidtionMessageClient.h.
        * Target.pri: ditto.
        * WebCore.gypi: ditto.
        * WebCore.xcodeproj/project.pbxproj: ditto.

        * html/ValidationMessage.cpp:
        (WebCore::ValidationMessage::~ValidationMessage):
        Hide a validation message via ValidationMessageClient if it is available.
        (WebCore::ValidationMessage::validationMessageClient):
        A helper function to get Page::validationMessageClient.
        (WebCore::ValidationMessage::updateValidationMessage):
        Adding title attribute is not neeeded if ValidationMessageClient is
        used. It shoudl be handled in a ValidtionMessageClient implementation.
        (WebCore::ValidationMessage::setMessage):
        Show a validation message via ValidationMessageClient if it is available.
        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
        Add an assertion that ValidationMessageClient should not be available.
        (WebCore::ValidationMessage::buildBubbleTree): ditto.
        (WebCore::ValidationMessage::requestToHideMessage):
        Hide a validation message via ValidationMessageClient if it is available.
        (WebCore::ValidationMessage::shadowTreeContains):
        Always returns false if ValidationMessageClient is available, it means no Shadow DOM.
        (WebCore::ValidationMessage::deleteBubbleTree):
        Add an assertion that ValidationMessageClient should not be available.
        (WebCore::ValidationMessage::isVisible):
        Ask ValidationMessageClient for visibility if it is available.
        * html/ValidationMessage.h:
        (WebCore): Add a comment.
        (ValidationMessage): Add validtionMessageClient member function.

        * page/Page.cpp:
        (WebCore::Page::Page): Initialize m_validationMessageClient.
        (WebCore::Page::PageClients::PageClients):
        Initialize validationMessageClient member with 0.
        So, existing code makes Page::m_validationMessageClient 0.
        * page/Page.h:
        (PageClients): Add validationMessageClient member.
        (WebCore::Page::validationMessageClient):
        Added. Accessor for m_validationMessageClient.
        (Page): Add m_validationMessageClient.

        * page/Settings.h:
        (Settings): Updated the comment for setInteractiveFormValidationEnabled.

        * page/ValidationMessageClient.h: Added.

2012-09-12  Dmitry Titov  <dimich@chromium.org>

        [V8] OOM in Workers due to external memory retention.
        https://bugs.webkit.org/show_bug.cgi?id=96459

        Reviewed by David Levin.

        Added memory checks to the locations in Workers code that are about to invoke the next JS block.

        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/v8/V8GCController.cpp:
        (WebCore):
        (WebCore::workingSetEstimateMBMutex): Added a Mutex-protected accessors to a static caching WS estimate.
        (WebCore::V8GCController::gcEpilogue):
        (WebCore::V8GCController::checkMemoryUsage):
        * bindings/v8/V8GCController.h:
        (V8GCController):
        * bindings/v8/V8WorkerContextEventListener.cpp:
        (WebCore::V8WorkerContextEventListener::callListenerFunction):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::evaluate):

2012-09-12  Julien Chaffraix  <jchaffraix@webkit.org>

        REGRESSION(r122501): replaced elements with percent width are wrongly size when inserted inside an auto-table layout
        https://bugs.webkit.org/show_bug.cgi?id=95892

        Reviewed by Ojan Vafai.

        r122501 exposed an issue in how preferred logical widths are computed on replaced objects. The code relies on the
        logical width computation methods. Unfortunately the previous code relies on the layout information, which may not
        be up-to-date during preferred logical width computation.

        Test: fast/table/bad-replaced-sizing-preferred-logical-widths.html
              fast/replaced/vertical-writing-mode-max-logical-width.html

        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computeMaxPreferredLogicalWidth):
        Added this helper method. The main difference with the old code is that it handles the percent logical width
        properly before calling the old code path. This is not totally right but before forking the whole code, it's
        better to have more evidence that forking preferred logical widths and logical width computation is the way to go.

        (WebCore::RenderReplaced::computePreferredLogicalWidths):
        Changed to call computeMaxPreferredLogicalWidth. Also fixed an existing bug in vertical-writing modes where we would
        add the wrong paddings and borders.

        * rendering/RenderReplaced.h:
        (RenderReplaced): Added computeMaxPreferredLogicalWidth.

2012-09-12  Max Vujovic  <mvujovic@adobe.com>

        [CSS Shaders] Cached validated programs are destroyed and recreated when there is only one custom filter animating
        https://bugs.webkit.org/show_bug.cgi?id=96563

        Reviewed by Dean Jackson.

        Before this patch, in FilterEffectRenderer::build, we would first clear the old effects and
        then create the new effects.

        Suppose we have one FECustomFilter animating on the page. This FECustomFilter holds the last
        reference to the cached validated program. Before this patch, we would first destroy the old
        FECustomFilter, which would destroy its cached validated program. Then, we would create the
        new FECustomFilter and have to recreate the validated program.

        This patch makes FilterEffectRenderer::build keep the old effects around until we're
        done creating the new effects. This way, we won't recreate validated programs.

        No new tests. We can't test this because the validated program cache is not exposed to web
        pages.

        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::build):

2012-09-12  Tony Chang  <tony@chromium.org>

        flex item sized incorrectly in a column flexbox with height set via top/bottom
        https://bugs.webkit.org/show_bug.cgi?id=94855

        Reviewed by Ojan Vafai.

        Stop using computeContentLogicalHeight() to get the height of the flexbox and
        use computeLogicalHeight directly.  This properly takes into account out of flow
        positioning.

        We can actually refactor some of this into common code, but I want to do that as
        a separate pass.

        Test: css3/flexbox/columns-height-set-via-top-bottom.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems): Fix out of date comment.
        (WebCore::RenderFlexibleBox::mainAxisContentExtent): Use computeLogicalHeight instead of computeContentLogicalHeight.
        This code actually never gets used-- I'll try to remove in a follow up.
        (WebCore::RenderFlexibleBox::computeAvailableFreeSpace): Use computeLogicalHeight instead of computeContentLogicalHeight.
        (WebCore::RenderFlexibleBox::lineBreakLength): Use computeLogicalHeight instead of computeContentLogicalHeight.

2012-09-12  Adam Barth  <abarth@webkit.org>

        [V8] V8DOMWrapper::perContextData has no callers and can be removed
        https://bugs.webkit.org/show_bug.cgi?id=96574

        Reviewed by Kentaro Hara.

        * bindings/v8/V8DOMWrapper.cpp:
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::getCachedWrapper):

2012-09-12  Alexandru Chiculita  <achicu@adobe.com>

        [CSS Shaders] Implement transform parameter animations for CSS Custom Filters
        https://bugs.webkit.org/show_bug.cgi?id=94980

        Reviewed by Dean Jackson.

        Based on patch from Joshua Netterfield <jnetterfield@rim.com>.

        According to Section 39.2 of Filter Effects 1.0 Editor's draft
        (https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html), animations
        of transforms should be handled following the CSS3 transform interpolation
        rules. This patch implements this functionality.

        Test: css3/filters/custom/custom-filter-transforms-animation.html

        * page/animation/CSSPropertyAnimation.cpp:
        (WebCore::blendFunc):
        (WebCore):
        * platform/graphics/filters/CustomFilterNumberParameter.h:
        (WebCore::CustomFilterNumberParameter::blend):
        * platform/graphics/filters/CustomFilterOperation.cpp:
        (WebCore::blendCustomFilterParameters):
        (WebCore::CustomFilterOperation::blend):
        * platform/graphics/filters/CustomFilterOperation.h:
        (WebCore):
        (WebCore::CustomFilterOperation::blendingNeedsRendererSize): Some filters need the box size, so that they could compute
        Transforms. Right now only the CustomFilterOperation needs that, but I've implemented using this generic function.
        (CustomFilterOperation):
        * platform/graphics/filters/CustomFilterParameter.h:
        (CustomFilterParameter):
        * platform/graphics/filters/CustomFilterTransformParameter.h:
        (CustomFilterTransformParameter):
        (WebCore::CustomFilterTransformParameter::blend):
        * platform/graphics/filters/FilterOperation.h:
        (WebCore::FilterOperation::FilterOperation::blend):
        (FilterOperation):
        (WebCore::FilterOperation::FilterOperation::blendingNeedsRendererSize):
        * platform/graphics/transforms/TransformOperations.cpp: Extracted the blending functions from CSSPropertyAnimation.cpp
        so that they could be reused from other classes.
        (WebCore::TransformOperations::blendByMatchingOperations):
        (WebCore):
        (WebCore::TransformOperations::blendByUsingMatrixInterpolation): Used when the TransformOperations do not match.
        (WebCore::TransformOperations::blend): Uses when the caller doesn't know whether the TransformOperations match or not.
        * platform/graphics/transforms/TransformOperations.h:
        (TransformOperations):

2012-09-12  Alec Flett  <alecflett@chromium.org>

        IndexedDB: Use ScriptValue instead of SerializedScriptValue when possible
        https://bugs.webkit.org/show_bug.cgi?id=94023

        Reviewed by Kentaro Hara.

        Transition the put/add/update methods to accept direct ScriptValue
        objects rather than SerializedScriptValues, to eliminate lots of
        redundant deserialization/serialization steps while storing
        values.

        Also see https://bugs.webkit.org/show_bug.cgi?id=95409 for
        followup get/openCursor work, following this.

        No new tests, this is a performance refactor of core IDB
        functionality. Most existing tests cover correctness. Tests that
        might fail include:

        storage/indexeddb/objectstore-basics.html
        storage/indexeddb/keypath-basics.html
        storage/indexeddb/index-basics.html

        * Modules/indexeddb/IDBCursor.cpp:
        (WebCore::IDBCursor::update):
        * Modules/indexeddb/IDBCursor.h:
        (IDBCursor):
        * Modules/indexeddb/IDBCursor.idl:
        * Modules/indexeddb/IDBObjectStore.cpp:
        (WebCore::generateIndexKeysForValue):
        (WebCore::IDBObjectStore::add):
        (WebCore::IDBObjectStore::put):
        (WebCore):
        * Modules/indexeddb/IDBObjectStore.h:
        (WebCore::IDBObjectStore::add):
        (WebCore::IDBObjectStore::put):
        (IDBObjectStore):
        * Modules/indexeddb/IDBObjectStore.idl:
        * bindings/v8/IDBBindingUtilities.cpp:
        (WebCore):
        (WebCore::createIDBKeyFromScriptValueAndKeyPath):
        (WebCore::deserializeIDBValue):
        (WebCore::canInjectIDBKeyIntoScriptValue):
        * bindings/v8/IDBBindingUtilities.h:
        (WebCore):

2012-09-12  Chris Fleizach  <cfleizach@apple.com>

        AX: svg:image not accessible
        https://bugs.webkit.org/show_bug.cgi?id=96341

        Reviewed by Adele Peterson.

        Test: accessibility/svg-image.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):

2012-09-12  Ojan Vafai  <ojan@chromium.org>

        percentage widths rendered wrong in vertical writing mode with orthogonal parent
        https://bugs.webkit.org/show_bug.cgi?id=96308

        Reviewed by Tony Chang.

        When the containingBlock is in a perpendicular writing-mode, we need to use
        it's logicalWidth as the availableHeight for computing percentage values.

        Tests: fast/writing-mode/percentage-height-orthogonal-writing-modes-quirks.html
               fast/writing-mode/percentage-height-orthogonal-writing-modes.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computePercentageLogicalHeight):
        (WebCore::RenderBox::availableLogicalHeightUsing):
        Added some FIXMEs for perpendicular writing mode cases.

2012-09-12  Adam Barth  <abarth@webkit.org>

        [v8] document.getCSSCanvasContext doesn't need to be custom
        https://bugs.webkit.org/show_bug.cgi?id=96560

        Reviewed by Eric Seidel.

        Instead of having a special case for toV8(CanvasRenderingContext*)
        inlined into this custom function, we should just make the toV8
        function itself custom.

        Test: fast/canvas/canvas-css-crazy.html

        * UseV8.cmake:
        * WebCore.gypi:
        * bindings/v8/custom/V8DocumentCustom.cpp:
        * dom/Document.idl:
        * html/canvas/CanvasRenderingContext.idl:

2012-09-12  Eric Seidel  <eric@webkit.org>

        HTML parser fails to propertly close 4 identical nested formatting elements
        https://bugs.webkit.org/show_bug.cgi?id=96385

        Reviewed by Adam Barth.

        Add missing Adoption agency step 4.a to fix one of our two outlying Adoption Agency bugs.
        This is the same step that Opera was missing (must have been recently added to the spec).

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2012-09-12  Siraj Razick  <siraj.razick@collabora.co.uk>

        [GTK] Protect RedirectedXCompositeWindow with USE(GLX) when building the clutter AC backend
        https://bugs.webkit.org/show_bug.cgi?id=96165

        Reviewed by Martin Robinson.

        RedirectedXCompositeWindow.cpp and RedirectedXCompositeWindow.h files requies openGL specific
        headers to compile so when we build webkit clutter AC backend these files failed to compile,
        This patch protects these two files with USE(GLX) when building webkit with Clutter AC backend.

        No new tests since this is a build fix

        * platform/gtk/RedirectedXCompositeWindow.cpp:
        * platform/gtk/RedirectedXCompositeWindow.h:
        protects both the files with USE(GLX)

2012-09-12  Ojan Vafai  <ojan@chromium.org>

        RenderBox::computeLogicalClientHeight is incorrectly named
        https://bugs.webkit.org/show_bug.cgi?id=94288

        Reviewed by Tony Chang.

        Just renamed a couple methods to make it more clear what they return.
        No behavior changes.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeLogicalHeightUsing):
        (WebCore::RenderBox::computeContentLogicalHeight):
        (WebCore::RenderBox::computeContentAndScrollbarLogicalHeightUsing):
        (WebCore::RenderBox::availableLogicalHeightUsing):
        * rendering/RenderBox.h:
        (RenderBox):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::mainAxisContentExtent):
        (WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
        (WebCore::RenderFlexibleBox::computeAvailableFreeSpace):
        (WebCore::RenderFlexibleBox::lineBreakLength):

2012-09-12  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: The |source| property of IDBFactory.open() request should be null
        https://bugs.webkit.org/show_bug.cgi?id=96551

        Reviewed by Tony Chang.

        Per the IDB spec, the source property of the IDBOpenDBRequest returned by IDBFactory.open()
        should be set to null. We were setting it to the IDBFactory object instead.

        Tests: storage/indexeddb/basics.html
               storage/indexeddb/basics-workers.html
               storage/indexeddb/mozilla/event-source.html
               storage/indexeddb/readonly.html

        * Modules/indexeddb/IDBFactory.cpp:
        (WebCore::IDBFactory::open):

2012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r128353.
        http://trac.webkit.org/changeset/128353
        https://bugs.webkit.org/show_bug.cgi?id=96565

        Re-land change that broke tests on Chromium. Tests are now
        disabled, will rebaseline after this rolls. (Requested by
        dmazzoni on #webkit).

        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
        (WebCore::AccessibilityNodeObject::canHaveChildren):
        (WebCore):
        (WebCore::AccessibilityNodeObject::accessibilityIsIgnored):
        (WebCore::AccessibilityNodeObject::isWebArea):
        (WebCore::AccessibilityNodeObject::isImageButton):
        (WebCore::AccessibilityNodeObject::isAnchor):
        (WebCore::AccessibilityNodeObject::isNativeTextControl):
        (WebCore::AccessibilityNodeObject::isSearchField):
        (WebCore::AccessibilityNodeObject::isNativeImage):
        (WebCore::AccessibilityNodeObject::isImage):
        (WebCore::AccessibilityNodeObject::isPasswordField):
        (WebCore::AccessibilityNodeObject::isInputImage):
        (WebCore::AccessibilityNodeObject::isProgressIndicator):
        (WebCore::AccessibilityNodeObject::isSlider):
        (WebCore::AccessibilityNodeObject::isMenuRelated):
        (WebCore::AccessibilityNodeObject::isMenu):
        (WebCore::AccessibilityNodeObject::isMenuBar):
        (WebCore::AccessibilityNodeObject::isMenuButton):
        (WebCore::AccessibilityNodeObject::isMenuItem):
        (WebCore::AccessibilityNodeObject::isNativeCheckboxOrRadio):
        (WebCore::AccessibilityNodeObject::isEnabled):
        (WebCore::AccessibilityNodeObject::isIndeterminate):
        (WebCore::AccessibilityNodeObject::isPressed):
        (WebCore::AccessibilityNodeObject::isChecked):
        (WebCore::AccessibilityNodeObject::isHovered):
        (WebCore::AccessibilityNodeObject::isMultiSelectable):
        (WebCore::AccessibilityNodeObject::isReadOnly):
        (WebCore::AccessibilityNodeObject::isRequired):
        (WebCore::AccessibilityNodeObject::headingLevel):
        (WebCore::AccessibilityNodeObject::valueDescription):
        (WebCore::AccessibilityNodeObject::isARIARange):
        (WebCore::AccessibilityNodeObject::valueForRange):
        (WebCore::AccessibilityNodeObject::maxValueForRange):
        (WebCore::AccessibilityNodeObject::minValueForRange):
        (WebCore::AccessibilityNodeObject::stepValueForRange):
        (WebCore::AccessibilityNodeObject::isHeading):
        (WebCore::AccessibilityNodeObject::isLink):
        (WebCore::AccessibilityNodeObject::isControl):
        (WebCore::AccessibilityNodeObject::isFieldset):
        (WebCore::AccessibilityNodeObject::isGroup):
        (WebCore::AccessibilityNodeObject::selectedRadioButton):
        (WebCore::AccessibilityNodeObject::selectedTabItem):
        (WebCore::AccessibilityNodeObject::checkboxOrRadioValue):
        (WebCore::AccessibilityNodeObject::anchorElement):
        (WebCore::AccessibilityNodeObject::actionElement):
        (WebCore::AccessibilityNodeObject::mouseButtonListener):
        (WebCore::AccessibilityNodeObject::isDescendantOfBarrenParent):
        (WebCore::AccessibilityNodeObject::alterSliderValue):
        (WebCore::AccessibilityNodeObject::increment):
        (WebCore::AccessibilityNodeObject::decrement):
        (WebCore::AccessibilityNodeObject::changeValueByStep):
        (WebCore::AccessibilityNodeObject::changeValueByPercent):
        (WebCore::AccessibilityNodeObject::isGenericFocusableElement):
        (WebCore::AccessibilityNodeObject::labelForElement):
        (WebCore::AccessibilityNodeObject::ariaAccessibilityDescription):
        (WebCore::siblingWithAriaRole):
        (WebCore::AccessibilityNodeObject::menuElementForMenuButton):
        (WebCore::AccessibilityNodeObject::menuForMenuButton):
        (WebCore::AccessibilityNodeObject::menuItemElementForMenu):
        (WebCore::AccessibilityNodeObject::menuButtonForMenu):
        (WebCore::AccessibilityNodeObject::accessibilityDescription):
        (WebCore::AccessibilityNodeObject::helpText):
        (WebCore::AccessibilityNodeObject::hierarchicalLevel):
        (WebCore::AccessibilityNodeObject::textUnderElement):
        (WebCore::AccessibilityNodeObject::title):
        (WebCore::AccessibilityNodeObject::text):
        (WebCore::AccessibilityNodeObject::stringValue):
        (WebCore::accessibleNameForNode):
        (WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
        (WebCore::AccessibilityNodeObject::elementsFromAttribute):
        (WebCore::AccessibilityNodeObject::ariaLabeledByElements):
        (WebCore::AccessibilityNodeObject::ariaLabeledByAttribute):
        (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
        * accessibility/AccessibilityNodeObject.h:
        (AccessibilityNodeObject):
        (WebCore::AccessibilityNodeObject::node):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::parentObject):
        (WebCore::AccessibilityRenderObject::isReadOnly):
        (WebCore::AccessibilityRenderObject::helpText):
        (WebCore::AccessibilityRenderObject::accessibilityDescription):
        (WebCore::AccessibilityRenderObject::text):
        (WebCore::AccessibilityRenderObject::contentChanged):
        (WebCore):
        (WebCore::AccessibilityRenderObject::canHaveChildren):
        * accessibility/AccessibilityRenderObject.h:
        (AccessibilityRenderObject):

2012-09-12  Michael Saboff  <msaboff@apple.com>

        Element::classAttributeChanged should use characters8/16 to find first non-whitespace
        https://bugs.webkit.org/show_bug.cgi?id=96446

        Reviewed by Benjamin Poulain.

        Made two new static templated methods to handle 8 or 16 bit class names.

        No functional change, so no new tests.

        * dom/Element.cpp:
        (WebCore::classStringHasClassName):
        (WebCore::Element::classAttributeChanged):

2012-09-12  Adam Barth  <abarth@chromium.org>

        [V8] V8DOMWrapper::constructorForType is unnecessary now that we can get V8PerContextData from the v8::Context
        https://bugs.webkit.org/show_bug.cgi?id=96556

        Reviewed by Eric Seidel.

        These functions no longer serve a purpose now that we can get the
        V8PerContextData directly from the context. Previously we had to find
        the Frame in order to find the per-context data.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateConstructorGetter):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::installDOMWindow):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/V8DOMWrapper.h:
        (V8DOMWrapper):
        * bindings/v8/V8PerContextData.cpp:
        (WebCore::V8PerContextData::from):
        * bindings/v8/V8PerContextData.h:
        (V8PerContextData):
            - Changed this function to accept an arbitrary context rather than
              requiring the caller to use the current context.

2012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r128318 and r128332.
        http://trac.webkit.org/changeset/128318
        http://trac.webkit.org/changeset/128332
        https://bugs.webkit.org/show_bug.cgi?id=96547

        Caused accessibility test failures on snow leopard (Requested
        by jamesr_ on #webkit).

        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
        (WebCore::AccessibilityNodeObject::accessibilityIsIgnored):
        (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
        * accessibility/AccessibilityNodeObject.h:
        (AccessibilityNodeObject):
        (WebCore::AccessibilityNodeObject::node):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore):
        (WebCore::AccessibilityRenderObject::isWebArea):
        (WebCore::AccessibilityRenderObject::isImageButton):
        (WebCore::AccessibilityRenderObject::isAnchor):
        (WebCore::AccessibilityRenderObject::isNativeTextControl):
        (WebCore::AccessibilityRenderObject::isSearchField):
        (WebCore::AccessibilityRenderObject::isNativeImage):
        (WebCore::AccessibilityRenderObject::isImage):
        (WebCore::AccessibilityRenderObject::isPasswordField):
        (WebCore::AccessibilityRenderObject::isInputImage):
        (WebCore::AccessibilityRenderObject::isProgressIndicator):
        (WebCore::AccessibilityRenderObject::isSlider):
        (WebCore::AccessibilityRenderObject::isMenuRelated):
        (WebCore::AccessibilityRenderObject::isMenu):
        (WebCore::AccessibilityRenderObject::isMenuBar):
        (WebCore::AccessibilityRenderObject::isMenuButton):
        (WebCore::AccessibilityRenderObject::isMenuItem):
        (WebCore::AccessibilityRenderObject::isPressed):
        (WebCore::AccessibilityRenderObject::isIndeterminate):
        (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
        (WebCore::AccessibilityRenderObject::isChecked):
        (WebCore::AccessibilityRenderObject::isHovered):
        (WebCore::AccessibilityRenderObject::isMultiSelectable):
        (WebCore::AccessibilityRenderObject::isReadOnly):
        (WebCore::AccessibilityRenderObject::headingLevel):
        (WebCore::AccessibilityRenderObject::isHeading):
        (WebCore::AccessibilityRenderObject::isLink):
        (WebCore::AccessibilityRenderObject::isControl):
        (WebCore::AccessibilityRenderObject::isFieldset):
        (WebCore::AccessibilityRenderObject::isGroup):
        (WebCore::AccessibilityRenderObject::selectedRadioButton):
        (WebCore::AccessibilityRenderObject::selectedTabItem):
        (WebCore::AccessibilityRenderObject::actionElement):
        (WebCore::AccessibilityRenderObject::mouseButtonListener):
        (WebCore::AccessibilityRenderObject::alterSliderValue):
        (WebCore::AccessibilityRenderObject::increment):
        (WebCore::AccessibilityRenderObject::decrement):
        (WebCore::siblingWithAriaRole):
        (WebCore::AccessibilityRenderObject::menuElementForMenuButton):
        (WebCore::AccessibilityRenderObject::menuForMenuButton):
        (WebCore::AccessibilityRenderObject::menuItemElementForMenu):
        (WebCore::AccessibilityRenderObject::menuButtonForMenu):
        (WebCore::AccessibilityRenderObject::hierarchicalLevel):
        (WebCore::AccessibilityRenderObject::checkboxOrRadioValue):
        (WebCore::AccessibilityRenderObject::valueDescription):
        (WebCore::AccessibilityRenderObject::stepValueForRange):
        (WebCore::AccessibilityRenderObject::isARIARange):
        (WebCore::AccessibilityRenderObject::valueForRange):
        (WebCore::AccessibilityRenderObject::maxValueForRange):
        (WebCore::AccessibilityRenderObject::minValueForRange):
        (WebCore::accessibleNameForNode):
        (WebCore::AccessibilityRenderObject::accessibilityDescriptionForElements):
        (WebCore::AccessibilityRenderObject::elementsFromAttribute):
        (WebCore::AccessibilityRenderObject::ariaLabeledByElements):
        (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute):
        (WebCore::labelForElement):
        (WebCore::AccessibilityRenderObject::title):
        (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription):
        (WebCore::AccessibilityRenderObject::accessibilityDescription):
        (WebCore::AccessibilityRenderObject::isDescendantOfBarrenParent):
        (WebCore::AccessibilityRenderObject::text):
        (WebCore::AccessibilityRenderObject::isRequired):
        (WebCore::AccessibilityRenderObject::changeValueByStep):
        (WebCore::AccessibilityRenderObject::changeValueByPercent):
        (WebCore::AccessibilityRenderObject::isEnabled):
        (WebCore::AccessibilityRenderObject::isGenericFocusableElement):
        (WebCore::AccessibilityRenderObject::canHaveChildren):
        * accessibility/AccessibilityRenderObject.h:
        (AccessibilityRenderObject):

2012-09-12  Christophe Dumez  <christophe.dumez@intel.com>

        [EFL] Compilation error in RenderThemeEfl.cpp
        https://bugs.webkit.org/show_bug.cgi?id=96540

        Unreviewed build fix.

        Fix compilation error in RenderThemeEfl.cpp when building
        in debug mode.

        * platform/efl/RenderThemeEfl.h:
        (WebCore::RenderThemeEfl::canvas):
        (WebCore::RenderThemeEfl::edje):

2012-09-12  Sami Kyostila  <skyostil@google.com>

        Rename OVERFLOW_SCROLLING as ACCELERATED_OVERFLOW_SCROLLING
        https://bugs.webkit.org/show_bug.cgi?id=96251

        Reviewed by Simon Fraser.

        Rename OVERFLOW_SCROLLING as ACCELERATED_OVERFLOW_SCROLLING to better describe
        the feature it controls.

        No tests because of no change in runtime behavior.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::isValidKeywordPropertyAndValue):
        (WebCore::isKeywordPropertyID):
        (WebCore::CSSParser::parseValue):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSValueKeywords.in:
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::collectMatchingRulesForList):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::usesCompositedScrolling):
        * rendering/style/RenderStyle.h:
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
        (WebCore::StyleRareInheritedData::operator==):
        * rendering/style/StyleRareInheritedData.h:
        (StyleRareInheritedData):

2012-09-12  Levi Weintraub  <leviw@chromium.org>

        Inline repainting can be off-by-one with sub-pixel enabled
        https://bugs.webkit.org/show_bug.cgi?id=95882

        Reviewed by Eric Seidel.

        With sub-pixel layout enabled, context accumulated from containing renderers is used to properly
        pixel snap. Selection repaint rects are stored outside the affected renderers, and are handed to
        the embedder without the context to correctly determine the snapped values. This can result in
        repaint areas smaller than what's needed.

        This could be fixed three ways:
        - by changing selection repaint rects to an IntRect and pixel snapping the values before storing
          them outside the render tree. This is the narrowest solution.
        - by adapting layout to store pixel snapping hints along with the size/location of the renderer.
          This is the best possible solution, as it would help solve a lot of pixel snapping issues and
          reduce complexity of handling. I eventually intend on implementing this.
        - by reverting repaintUsingContainer to IntRects and using pixel snapping when possible, and
          enclosingIntRect where we lack context.

        This implements the last solution, as it's the least invasive, but can potentially fix numerous
        sub-pixel repaint issues.

        Test: fast/sub-pixel/selection/selection-rect-in-sub-pixel-table.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutRunsAndFloats):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPositions):
        (WebCore::RenderLayer::scrollTo):
        (WebCore::RenderLayer::repaintIncludingNonCompositingDescendants):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintUsingContainer):
        (WebCore::RenderObject::repaint):
        (WebCore::RenderObject::repaintRectangle):
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
        * rendering/RenderObject.h:
        (RenderObject):
        * rendering/RenderSelectionInfo.h:
        (WebCore::RenderSelectionInfo::repaint):
        (WebCore::RenderBlockSelectionInfo::repaint):

2012-09-12  Michael Saboff  <msaboff@apple.com>

        Build fixed for http://trac.webkit.org/changeset/128243

        Unreviewed build fix.

        Change UnicodeString::extract for gcc based on ICU fix described in
        http://bugs.icu-project.org/trac/ticket/8197.

        * icu/unicode/unistr.h:
        (UnicodeString::extract):

2012-09-12  Christopher Cameron  <ccameron@chromium.org>

        [chromium] Evict textures through the texture manager instead of the resource provider
        https://bugs.webkit.org/show_bug.cgi?id=96463

        Reviewed by James Robinson.

        When deleting contents textures' resources on the impl thread, do the
        deletion through the CCPrioritizedTextureManager instead of the
        CCResourceProvider.

        This requires traversing the backings list on the impl thread while
        the main thread is running, so remove the one remaining traversal of
        the backings list by the main thread. This traversal happens when
        unlinking textures that were evicted by the impl thread, so explicitly
        send the list of evicted backings from the impl thread to the main thread.

        Unify all resource deletion paths in the CCPrioritizedTextureManager.
        Always perform the sequence of eviction (deleting the GL resource) and
        then destruction of evicted backings (deleting the objects).  Also,
        use the same function (evictBackingsToReduceMemory) to reduce memory
        consumption both during commit and when done by the impl thread in response
        to a request by the GPU memory manager.

        Note that destroying only some of the resources at a time during texture
        eviction (as opposed all resources) is still not supported because the
        texture upload queues cannot be only-partially invalidated yet.

        Updated tests to take this behavior into account.

        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::reduceContentsTexturesMemoryOnImplThread):
        (WebCore):
        (WebCore::CCLayerTreeHost::getEvictedContentTexturesBackings):
        (WebCore::CCLayerTreeHost::unlinkEvictedContentTexturesBackings):
        (WebCore::CCLayerTreeHost::deleteEvictedContentTexturesBackings):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        (CCLayerTreeHost):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
        (WebCore::CCLayerTreeHostImpl::releaseContentsTextures):
        (WebCore::CCLayerTreeHostImpl::setContentsTexturesPurged):
        (WebCore):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
        (CCLayerTreeHostImplClient):
        (CCLayerTreeHostImpl):
        * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
        (WebCore::CCPrioritizedTextureManager::~CCPrioritizedTextureManager):
        (WebCore::CCPrioritizedTextureManager::acquireBackingTextureIfNeeded):
        (WebCore::CCPrioritizedTextureManager::evictBackingsToReduceMemory):
        (WebCore::CCPrioritizedTextureManager::reduceMemory):
        (WebCore::CCPrioritizedTextureManager::clearAllMemory):
        (WebCore::CCPrioritizedTextureManager::reduceMemoryOnImplThread):
        (WebCore::CCPrioritizedTextureManager::getEvictedBackings):
        (WebCore::CCPrioritizedTextureManager::unlinkEvictedBackings):
        (WebCore):
        (WebCore::CCPrioritizedTextureManager::deleteEvictedBackings):
        (WebCore::CCPrioritizedTextureManager::evictBackingResource):
        * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
        (CCPrioritizedTextureManager):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
        (WebCore::CCSingleThreadProxy::releaseContentsTexturesOnImplThread):
        (WebCore):
        (WebCore::CCSingleThreadProxy::commitAndComposite):
        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
        (WebCore::CCThreadProxy::releaseContentsTexturesOnImplThread):
        (WebCore):
        (WebCore::CCThreadProxy::scheduledActionBeginFrame):
        (WebCore::CCThreadProxy::beginFrame):
        (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
        (WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):
        (WebCore::CCThreadProxy::recreateContextOnImplThread):
        * platform/graphics/chromium/cc/CCThreadProxy.h:
        (BeginFrameAndCommitState):
        (CCThreadProxy):

2012-09-12  Mike Fenton  <mifenton@rim.com>

        [BlackBerry] Add custom messages for input type validation.
        https://bugs.webkit.org/show_bug.cgi?id=96533

        Reviewed by Antonio Gomes.

        PR 179148.

        Add validation messages for Email, MultipleEmail and Url.

        Reviewed Internally by Nima Ghanavatian.

        * platform/blackberry/LocalizedStringsBlackBerry.cpp:
        (WebCore::validationMessageTypeMismatchForEmailText):
        (WebCore::validationMessageTypeMismatchForMultipleEmailText):
        (WebCore::validationMessageTypeMismatchForURLText):

2012-09-12  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Remove unused notifyFormStateChanged function in PlatformSupport
        https://bugs.webkit.org/show_bug.cgi?id=96527

        Reviewed by Kentaro Hara.

        Part of a refactoring series. See tracking bug 82948.

        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-09-12  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Shrink RenderFlowThread size by using bit flags
        https://bugs.webkit.org/show_bug.cgi?id=96503

        Reviewed by Andreas Kling.

        Use bit fields instead of full bool.

        No new functionality, just refactoring. Functionality covered by existing tests in fast/regions.

        * rendering/RenderFlowThread.h:

2012-09-12  Max Vujovic  <mvujovic@adobe.com>

        [CSS Shaders] Remove direct texture access via u_texture
        https://bugs.webkit.org/show_bug.cgi?id=93871

        Reviewed by Dean Jackson.

        Remove the author-accessible "u_texture" sampler, which referenced the DOM element texture.

        Additionally, reject shaders with author-defined sampler uniforms. When we implement texture 
        parameters, we will allow shaders whose samplers are bound to valid textures. We must not
        allow OpenGL to give unbound samplers a default value of 0 because that references the DOM
        element texture, which should be inaccessible to the author's shader code.

        Test: css3/filters/custom/custom-filter-no-element-texture-access.html

        * platform/graphics/ANGLEWebKitBridge.cpp:
        (WebCore::getValidationResultValue):
            Add a file-static function to easily query the integer values that ANGLE exposes about
            the last validation result. The new getUniforms method and the existing
            validateShaderSource method now both use getValidationResultValue.
        (WebCore):
        (WebCore::ANGLEWebKitBridge::validateShaderSource):
            Use the new getValidationResultValue function instead of ANGLE's ShGetInfo function.
        (WebCore::ANGLEWebKitBridge::getUniforms):
            Add a new public method to ANGLEWebKitBridge which gets the info about all of the
            uniforms in the last validated vertex shader or fragment shader. Uniform info includes
            name, type, and size.
        * platform/graphics/ANGLEWebKitBridge.h:
        (ANGLEShaderSymbol):
        (WebCore::ANGLEShaderSymbol::isSampler):
            Returns true if the symbol's data type is a GLSL sampler (e.g. sampler2D, samplerCube).
        (WebCore):
        (ANGLEWebKitBridge):
        * platform/graphics/filters/CustomFilterCompiledProgram.cpp:
        (WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram):
            Take in an additional programType constructor parameter.
        (WebCore::CustomFilterCompiledProgram::initializeParameterLocations):
            Remove the author-accessible DOM element texture sampler "u_texture". Only find the
            location of the internal DOM element texture sampler "css_u_texture" if the author is
            using the CSS mix function.
        * platform/graphics/filters/CustomFilterCompiledProgram.h:
        * platform/graphics/filters/CustomFilterProgramInfo.h:
        (CustomFilterProgramInfo):
        (WebCore::CustomFilterProgramInfo::programType):
            Add the new CustomFilterProgramType enum. In CustomFilterProgramInfo, we plan to replace
            mixSettings.enabled with a programType. See:
            https://bugs.webkit.org/show_bug.cgi?id=96448
        * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
            Reject all shaders that have sampler uniforms defined.
        (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
        (WebCore::CustomFilterValidatedProgram::compiledProgram):
        * platform/graphics/filters/FECustomFilter.cpp:
        (WebCore::FECustomFilter::bindProgramAndBuffers):
            Add an assert to verify that the DOM element texture is bound only if the author is
            using the CSS mix function.

2012-09-12  Dominic Mazzoni  <dmazzoni@google.com>

        Assert hit in is multiSelectable()
        https://bugs.webkit.org/show_bug.cgi?id=96530

        Reviewed by Chris Fleizach.

        Fix crash if element isn't a select element.

        This bug slipped through in a refactoring change (bug 96323).
        Covered by existing tests.

        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::isMultiSelectable):

2012-09-11 MORITA Hajime  <morrita@google.com>

        [Scoped Style] NodeRareData::m_numberOfScopedHTMLStyleChildren could be replaced with a node flag.
        https://bugs.webkit.org/show_bug.cgi?id=96450

        Reviewed by Dimitri Glazkov.

        This change gets rid of NodeRareData::m_numberOfScopedHTMLStyleChildren
        by replacing it with a Node flag called HasScopedHTMLStyleChildFlag.
        Instead of tracking the number of certain node, this chagne compute the number
        when necessary.

        Now we no longer need to hit rareData() for each hasScopedHTMLStyleChild() call.
        Note that because such a re-counting occurs only when the scoped <style> elements
        leave the tree, the performance impact is negligible.

        No new tests. Covered by existing tests.

        * dom/Node.cpp:
        (WebCore):
        * dom/Node.h:
        (WebCore::Node::hasScopedHTMLStyleChild):
        (WebCore::Node::setHasScopedHTMLStyleChild):
        (Node):
        * dom/NodeRareData.h:
        (WebCore::NodeRareData::NodeRareData):
        (NodeRareData):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::isRegisteredAsScoped):
        (WebCore):
        (WebCore::Node::registerScopedHTMLStyleChild):
        (WebCore::Node::unregisterScopedHTMLStyleChild):
        (WebCore::Node::numberOfScopedHTMLStyleChildren):
        (WebCore::HTMLStyleElement::unregisterWithScopingNode):
        * html/HTMLStyleElement.h:
        (HTMLStyleElement):

2012-09-12  Dimitri Glazkov  <dglazkov@chromium.org>

        Remove transient state regarding uknown pseudoelements from SelectorChecker.
        https://bugs.webkit.org/show_bug.cgi?id=96425

        Reviewed by Eric Seidel.

        The fact that an unknown pseudoelement was found when checking selector was stored as extra state on SelectorChecker. That's bad,
        because this state is at odds with the lifecycle of the instance and had to be explicitly reset prior to each checking. To address
        this, I made checkSelector report the value as its result (by-ref parameter, actually).

        No new tests, refactoring only. Covered by existing tests.

        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::SelectorChecker): Removed the now-unneded state initialization.
        (WebCore::SelectorChecker::checkSelector): Changed to take extra parameter.
        (WebCore):
        (WebCore::SelectorChecker::checkOneSelector): Ditto.
        * css/SelectorChecker.h:
        (SelectorChecker): Changed decls accordingly.
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::StyleResolver): Added state to StyleResolver.
        (WebCore::StyleResolver::collectMatchingRulesForList): Changed to use own state, rather than StyleChecker's state.
        * css/StyleResolver.h:
        (StyleResolver): Moved state here from StyleChecker.

2012-09-12  Andrei Onea  <onea@adobe.com>

        [CSSRegions]Use RefPtr's instead of weak references on DOMNamedFlowCollection
        https://bugs.webkit.org/show_bug.cgi?id=95311

        Reviewed by Andreas Kling.

        Currently, DOMNamedFlowCollection holds a collection of raw pointers to WebKitNamedFlow.
        This causes a crash when there is a JS instance of a NamedFlowCollection snapshot taken
        before the NamedFlow is deleted, since the memory previously occupied by the NamedFlow
        can be accessed. Because of this, we need to use RefPtr's for the snapshot, so that such
        dangling references extend the lifetime of the NamedFlow objects.

        Test: fast/regions/webkit-named-flow-collection-crash.html

        * dom/DOMNamedFlowCollection.cpp:
        (WebCore::DOMNamedFlowCollection::DOMNamedFlowCollection):
        (WebCore::DOMNamedFlowCollection::item):
        (WebCore::DOMNamedFlowCollection::namedItem):
        (WebCore):
        (WebCore::DOMNamedFlowCollection::DOMNamedFlowHashFunctions::hash):
        (WebCore::DOMNamedFlowCollection::DOMNamedFlowHashFunctions::equal):
        (DOMNamedFlowCollection::DOMNamedFlowHashFunctions):
        (WebCore::DOMNamedFlowCollection::DOMNamedFlowHashTranslator::hash):
        (WebCore::DOMNamedFlowCollection::DOMNamedFlowHashTranslator::equal):
        Create new internal ListHashSet for RefPtr<WebKitNamedFlow>.
        * dom/DOMNamedFlowCollection.h:
        (WebCore::DOMNamedFlowCollection::create):
        (DOMNamedFlowCollection):
        * dom/NamedFlowCollection.cpp:
        (WebCore::NamedFlowCollection::createCSSOMSnapshot):
        (WebCore):
        (WebCore::NamedFlowCollection::NamedFlowHashFunctions::hash):
        (WebCore::NamedFlowCollection::NamedFlowHashFunctions::equal):
        (NamedFlowCollection::NamedFlowHashFunctions):
        (WebCore::NamedFlowCollection::NamedFlowHashTranslator::hash):
        (WebCore::NamedFlowCollection::NamedFlowHashTranslator::equal):
        Move back the definitions for NamedFlowHashFunctions and NamedFlowHashTranslator
        to the .cpp file.
        * dom/NamedFlowCollection.h:
        (NamedFlowCollection):

2012-09-12  MORITA Hajime  <morrita@google.com>

        [Shadow DOM] Unpolished elements should reject author shadows
        https://bugs.webkit.org/show_bug.cgi?id=96404

        Reviewed by Dimitri Glazkov.

        Gave areAuthorShadowsAllowed() overrides for these replaced elements
        which aren't author shadow ready.

        No new tests. Covered by existing tests.

        * html/HTMLCanvasElement.h: Did areAuthorShadowsAllowed() overrride.
        * html/HTMLFieldSetElement.h: Did areAuthorShadowsAllowed() overrride.
        * html/HTMLFrameElementBase.h: Did areAuthorShadowsAllowed() overrride.
        * html/HTMLMediaElement.h: Did areAuthorShadowsAllowed() overrride.
        * html/HTMLPlugInElement.h: Did areAuthorShadowsAllowed() overrride.
        * html/HTMLSelectElement.h: Did areAuthorShadowsAllowed() overrride.

2012-09-12  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Remove unused allowScriptDespiteSettings function from PlatformSupport
        https://bugs.webkit.org/show_bug.cgi?id=96526

        Reviewed by Kentaro Hara.

        Part of a refactoring series. See tracking bug 82948.

        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-09-12  Dominic Mazzoni  <dmazzoni@google.com>

        AX: Refactor most AccessibilityRenderObject code into AccessibilityNodeObject
        https://bugs.webkit.org/show_bug.cgi?id=96323

        Reviewed by Chris Fleizach.

        This patch is large, but it's at least 75% cut-and-paste.

        All it does is move the implementation of a large chunk of
        AccessibilityRenderObject methods to AccessibilityNodeObject
        instead. This allows them to operate on elements without
        renderers, such as those in canvas fallback content. It also
        moves us towards the goal where AccessibilityRenderObject
        only has code that's specific to renderers and not just nodes.

        Half of the methods cut and paste with essentially no changes.
        Some required just tiny changes to access an attribute via the
        element (e.g. HTMLSelectElement) rather than its associated
        renderer (e.g. RenderMenuList). A few were a little trickier,
        as the behavior needs to be slightly different when there's a
        renderer. In those last cases, as much of the code as possible is
        in AccessibilityNodeObject and AccessibilityRenderObject overrides
        it as necessary.

        Test: accessibility/canvas-fallback-content-2.html

        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
        (WebCore::AccessibilityNodeObject::canHaveChildren):
        (WebCore):
        (WebCore::AccessibilityNodeObject::accessibilityIsIgnored):
        (WebCore::AccessibilityNodeObject::isWebArea):
        (WebCore::AccessibilityNodeObject::isImageButton):
        (WebCore::AccessibilityNodeObject::isAnchor):
        (WebCore::AccessibilityNodeObject::isNativeTextControl):
        (WebCore::AccessibilityNodeObject::isSearchField):
        (WebCore::AccessibilityNodeObject::isNativeImage):
        (WebCore::AccessibilityNodeObject::isImage):
        (WebCore::AccessibilityNodeObject::isPasswordField):
        (WebCore::AccessibilityNodeObject::isInputImage):
        (WebCore::AccessibilityNodeObject::isProgressIndicator):
        (WebCore::AccessibilityNodeObject::isSlider):
        (WebCore::AccessibilityNodeObject::isMenuRelated):
        (WebCore::AccessibilityNodeObject::isMenu):
        (WebCore::AccessibilityNodeObject::isMenuBar):
        (WebCore::AccessibilityNodeObject::isMenuButton):
        (WebCore::AccessibilityNodeObject::isMenuItem):
        (WebCore::AccessibilityNodeObject::isNativeCheckboxOrRadio):
        (WebCore::AccessibilityNodeObject::isEnabled):
        (WebCore::AccessibilityNodeObject::isIndeterminate):
        (WebCore::AccessibilityNodeObject::isPressed):
        (WebCore::AccessibilityNodeObject::isChecked):
        (WebCore::AccessibilityNodeObject::isHovered):
        (WebCore::AccessibilityNodeObject::isMultiSelectable):
        (WebCore::AccessibilityNodeObject::isReadOnly):
        (WebCore::AccessibilityNodeObject::isRequired):
        (WebCore::AccessibilityNodeObject::headingLevel):
        (WebCore::AccessibilityNodeObject::valueDescription):
        (WebCore::AccessibilityNodeObject::isARIARange):
        (WebCore::AccessibilityNodeObject::valueForRange):
        (WebCore::AccessibilityNodeObject::maxValueForRange):
        (WebCore::AccessibilityNodeObject::minValueForRange):
        (WebCore::AccessibilityNodeObject::stepValueForRange):
        (WebCore::AccessibilityNodeObject::isHeading):
        (WebCore::AccessibilityNodeObject::isLink):
        (WebCore::AccessibilityNodeObject::isControl):
        (WebCore::AccessibilityNodeObject::isFieldset):
        (WebCore::AccessibilityNodeObject::isGroup):
        (WebCore::AccessibilityNodeObject::selectedRadioButton):
        (WebCore::AccessibilityNodeObject::selectedTabItem):
        (WebCore::AccessibilityNodeObject::checkboxOrRadioValue):
        (WebCore::AccessibilityNodeObject::anchorElement):
        (WebCore::AccessibilityNodeObject::actionElement):
        (WebCore::AccessibilityNodeObject::mouseButtonListener):
        (WebCore::AccessibilityNodeObject::isDescendantOfBarrenParent):
        (WebCore::AccessibilityNodeObject::alterSliderValue):
        (WebCore::AccessibilityNodeObject::increment):
        (WebCore::AccessibilityNodeObject::decrement):
        (WebCore::AccessibilityNodeObject::changeValueByStep):
        (WebCore::AccessibilityNodeObject::changeValueByPercent):
        (WebCore::AccessibilityNodeObject::isGenericFocusableElement):
        (WebCore::AccessibilityNodeObject::labelForElement):
        (WebCore::AccessibilityNodeObject::ariaAccessibilityDescription):
        (WebCore::siblingWithAriaRole):
        (WebCore::AccessibilityNodeObject::menuElementForMenuButton):
        (WebCore::AccessibilityNodeObject::menuForMenuButton):
        (WebCore::AccessibilityNodeObject::menuItemElementForMenu):
        (WebCore::AccessibilityNodeObject::menuButtonForMenu):
        (WebCore::AccessibilityNodeObject::accessibilityDescription):
        (WebCore::AccessibilityNodeObject::helpText):
        (WebCore::AccessibilityNodeObject::hierarchicalLevel):
        (WebCore::AccessibilityNodeObject::textUnderElement):
        (WebCore::AccessibilityNodeObject::title):
        (WebCore::AccessibilityNodeObject::text):
        (WebCore::AccessibilityNodeObject::stringValue):
        (WebCore::accessibleNameForNode):
        (WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
        (WebCore::AccessibilityNodeObject::elementsFromAttribute):
        (WebCore::AccessibilityNodeObject::ariaLabeledByElements):
        (WebCore::AccessibilityNodeObject::ariaLabeledByAttribute):
        (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
        * accessibility/AccessibilityNodeObject.h:
        (AccessibilityNodeObject):
        (WebCore::AccessibilityNodeObject::node):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::parentObject):
        (WebCore):
        (WebCore::AccessibilityRenderObject::isReadOnly):
        (WebCore::AccessibilityRenderObject::helpText):
        (WebCore::AccessibilityRenderObject::accessibilityDescription):
        (WebCore::AccessibilityRenderObject::text):
        (WebCore::AccessibilityRenderObject::contentChanged):
        (WebCore::AccessibilityRenderObject::canHaveChildren):
        * accessibility/AccessibilityRenderObject.h:
        (AccessibilityRenderObject):
        (WebCore::AccessibilityRenderObject::setRenderObject):

2012-09-12  John Mellor  <johnme@chromium.org>

        Text Autosizing: Don't autosize text in constrained height elements.
        https://bugs.webkit.org/show_bug.cgi?id=96143

        Reviewed by Julien Chaffraix.

        Autosizing text within constained height elements usually goes badly,
        as the autosized text will wrap onto more lines, hence it will become
        taller and often overflow its container, breaking the page's layout.

        This patch disables autosizing for blocks with a fixed height ancestor
        (or which are fixed height themselves), unless the lowest such ancestor
        (or one of the ancestors in between it and the text block) has
        overflow-y:auto/scroll, in which case the height isn't really fixed.

        Tests: fast/text-autosizing/constrained-and-overflow-auto-ancestor.html
               fast/text-autosizing/constrained-and-overflow-hidden-ancestor.html
               fast/text-autosizing/constrained-and-overflow-paged-x-ancestor.html
               fast/text-autosizing/constrained-and-overflow-scroll-ancestor.html
               fast/text-autosizing/constrained-height-ancestor.html
               fast/text-autosizing/constrained-maxheight-ancestor.html
               fast/text-autosizing/constrained-maxheight.html
               fast/text-autosizing/constrained-percent-maxheight.html
               fast/text-autosizing/constrained-percent-of-viewport-maxheight.html
               fast/text-autosizing/constrained-then-overflow-ancestors.html
               fast/text-autosizing/constrained-then-overflow-then-positioned-ancestors.html
               fast/text-autosizing/constrained-then-position-absolute-ancestors.html
               fast/text-autosizing/constrained-then-position-fixed-ancestors.html
               fast/text-autosizing/constrained-within-overflow-ancestor.html

        * rendering/TextAutosizer.cpp:
        (WebCore::TextAutosizer::processBox):

            Skips boxes for which contentHeightIsConstrained returns true.

        (WebCore::TextAutosizer::contentHeightIsConstrained):

            Walks up the render tree until it finds either a constrained height
            or overflow-y:auto/scroll ancestor.

2012-09-12  Mark Pilgrim  <pilgrim@chromium.org>

        [Chromium] Remove unused getProcessMemorySize from PlatformSupport
        https://bugs.webkit.org/show_bug.cgi?id=96520

        Reviewed by Kentaro Hara.

        Part of a refactoring series. See tracking bug 82948.

        * platform/chromium/PlatformSupport.h:
        (PlatformSupport):

2012-09-12  Roland Takacs  <rtakacs@inf.u-szeged.hu>

        [Qt] Segmentation fault when closing QtTestBrowser
        https://bugs.webkit.org/show_bug.cgi?id=95003

        Reviewed by Simon Hausmann.

        Defined a new QObject* variable.
        If WebKit1 is used, it points to the QGLWidget that was 
        created in 'createPlatformGraphicsContext3DFromWidget'.
        If WebKit2 is used, it points to the QWindow that was 
        created in GraphicsContext3DPrivate's constructor.
        It is neccessary for deallocating them.

        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
        * platform/qt/QWebPageClient.h:
        (QWebPageClient):

2012-09-12  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL] Fix build break when netscape-plugin-api is enebled after r126971
        https://bugs.webkit.org/show_bug.cgi?id=96513

        Unreviewed build fix.

        * plugins/efl/PluginViewEfl.cpp:
        (WebCore::PluginView::platformGetValue):

2012-09-12  Lianghui Chen  <liachen@rim.com>

        [BlackBerry] Use own instance of CertMgrWrapper in BlackBerry CredentialBackingStore.
        https://bugs.webkit.org/show_bug.cgi?id=96457
        Internal PR: 205769

        Internally reviewed by George Staikos, Jonathan Dong.
        Reviewed by George Staikos.

        CertMgrWrapper in BlackBerry platform layer has been changed from
        singleton to normal class, every user of it need to create its own
        instance now.

        No new tests for platform specific interface change.

        * platform/network/blackberry/CredentialBackingStore.cpp:
        (WebCore::CredentialBackingStore::CredentialBackingStore):
        (WebCore::CredentialBackingStore::~CredentialBackingStore):
        (WebCore::CredentialBackingStore::addLogin):
        (WebCore::CredentialBackingStore::updateLogin):
        (WebCore::CredentialBackingStore::getLogin):
        (WebCore::CredentialBackingStore::certMgrWrapper):
        (WebCore):
        * platform/network/blackberry/CredentialBackingStore.h:
        (Platform):
        (CredentialBackingStore):

2012-09-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        [EFL] Avoid manual memory management in RenderThemeEfl
        https://bugs.webkit.org/show_bug.cgi?id=96501

        Reviewed by Simon Hausmann.

        Use OwnPtr as it works for Evas_Object and Evas_Ecore objects.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::ThemePartCacheEntry::ThemePartCacheEntry):
        (WebCore::RenderThemeEfl::ThemePartCacheEntry::~ThemePartCacheEntry):
        (WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
        (WebCore::RenderThemeEfl::ThemePartCacheEntry::reuse):
        (WebCore::RenderThemeEfl::paintThemePart):
        (WebCore::RenderThemeEfl::setColorFromThemeClass):
        (WebCore::RenderThemeEfl::themePath):
        (WebCore::RenderThemeEfl::loadTheme):
        (WebCore::RenderThemeEfl::applyPartDescriptionsFrom):
        (WebCore::RenderThemeEfl::RenderThemeEfl):
        (WebCore::RenderThemeEfl::~RenderThemeEfl):
        (WebCore::RenderThemeEfl::emitMediaButtonSignal):
        * platform/efl/RenderThemeEfl.h:
        (WebCore::RenderThemeEfl::canvas):
        (WebCore::RenderThemeEfl::edje):
        (RenderThemeEfl):
        (WebCore::RenderThemeEfl::ThemePartCacheEntry::canvas):
        (WebCore::RenderThemeEfl::ThemePartCacheEntry::edje):
        (ThemePartCacheEntry):

2012-09-12  Florin Malita  <fmalita@chromium.org>

        getScreenCTM returns different values depending on zoom
        https://bugs.webkit.org/show_bug.cgi?id=96361

        Reviewed by Dirk Schulze.

        SVGSVGElement::localCoordinateSpaceTransform() needs to adjust for the
        zoom level (which is already factored into CSS coordinates) at the
        SVG/HTML boundary.

        Test: svg/zoom/page/zoom-get-screen-ctm.html

        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::localCoordinateSpaceTransform):

2012-09-12  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Drastically shorten length of commandline needed for JS bindings generator
        https://bugs.webkit.org/show_bug.cgi?id=96266

        Reviewed by Tor Arne Vestbø.

        The generate-bindings script supports the SOURCE_ROOT environment variable for IDL include file
        lookups, which allows specifying relative include search directories.

        * DerivedSources.pri:

2012-09-12  Patrick Gansterer  <paroga@webkit.org>

        Remove last call to numberToString() from WebCore code
        https://bugs.webkit.org/show_bug.cgi?id=96484

        Reviewed by Kentaro Hara.

        Replace WTF::numberToString() with String::numberToStringECMAScript() to remove duplicated
        code. Using the new function allows us to improve and/or remove numberToString() without
        changing all caller sides later. Also remove an unneeded strlen() in the touched code.

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::setNamedHiddenReference):
        * bindings/v8/V8DependentRetained.h:
        (WebCore::V8DependentRetained::createPropertyName):
        * bindings/v8/V8HiddenPropertyName.cpp:
        (WebCore::V8HiddenPropertyName::hiddenReferenceName):
        * bindings/v8/V8HiddenPropertyName.h:
        (V8HiddenPropertyName):

2012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r128221.
        http://trac.webkit.org/changeset/128221
        https://bugs.webkit.org/show_bug.cgi?id=96504

        The rollout was incorrect. (Requested by zdobersek on
        #webkit).

        * platform/network/soup/ResourceResponseSoup.cpp:
        (WebCore::ResourceResponse::updateFromSoupMessage):

2012-09-12  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed. Touch two files for fixing broken compile dependency on Apple Windows Debug bot.

        * css/StyleResolver.cpp:
        * loader/FrameLoader.cpp:

2012-09-12  Ilya Tikhonovsky  <loislo@chromium.org>


        Web Inspector: NMI move String* instrumentation to wtf.
        https://bugs.webkit.org/show_bug.cgi?id=96405

        Reviewed by Yury Semikhatsky.

        This instrumentation is solving the problem with substrings and removes traits based code which is hard to upstream.

        * dom/WebCoreMemoryInstrumentation.cpp:
        (WebCore):
        * dom/WebCoreMemoryInstrumentation.h:
        (WebCore):

2012-08-20  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] Audio device not closed after playing sound
        https://bugs.webkit.org/show_bug.cgi?id=89122

        Reviewed by Martin Robinson.

        Set the GStreamer pipeline to NULL instead of PAUSED on EOS. This
        allows the audio-sink to release its connection to the audio
        device. This is done only if the Media element is not
        looping. To make the MediaPlayerPrivate layer aware of that
        information the MediaPlayerClient interface was updated with a new
        method mediaPlayerIsLooping, implemented by the HTMLMediaElement.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::mediaPlayerIsLooping): Implementation of
        MediaPlayerClient::mediaPlayerLoop, proxies to ::loop();
        * html/HTMLMediaElement.h:
        (HTMLMediaElement):
        * platform/graphics/MediaPlayer.h:
        (WebCore::MediaPlayerClient::mediaPlayerIsLooping): New method allowing
        the MediaPlayer and its backend to know if a playback loop is
        requested by the client.
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
        (WebCore::MediaPlayerPrivateGStreamer::playbackPosition): Report
        seek time or media duration if EOS was reached. These early
        returns are needed because the position query doesn't work on a
        NULL pipeline.
        (WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
        Refactored to use an early return.
        (WebCore::MediaPlayerPrivateGStreamer::prepareToPlay): Reset the
        seeking flag.
        (WebCore::MediaPlayerPrivateGStreamer::play): reset m_isEndReached.
        (WebCore::MediaPlayerPrivateGStreamer::pause): Don't pause on EOS.
        (WebCore::MediaPlayerPrivateGStreamer::seek): Refactor, call
        currentTime() after we're sure playbin is valid and no error occured.
        (WebCore::MediaPlayerPrivateGStreamer::paused): Fake paused state
        on EOS.

2012-09-12  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Build on X11 with GraphicsSurface but without NPAPI is broken
        https://bugs.webkit.org/show_bug.cgi?id=96495

        Reviewed by Kenneth Rohde Christiansen.

        When enabling NPAPI we link against XRender on X11. The other component that needs Xrender
        is GraphicsSurface. So when building without NPAPI we need to make sure that we link in Xrender.

        This patch cleans up the GraphicsSurface related linkage required on Mac OS X and X11 by wrapping
        it in use?(graphics_surface) instead of 3D_GRAPHICS. It is not neccesary to perform the have?(XCOMPOSITE)
        check anymore because it's already done in features.prf before enabling use_graphics_surface in the
        first place.

        * WebCore.pri:

2012-09-12  Andrei Poenaru  <poenaru@adobe.com>

        Web Inspector: Protocol Extension: Add "regionLayoutUpdate" event
        https://bugs.webkit.org/show_bug.cgi?id=93443

        Reviewed by Alexander Pavlov.

        Added "regionLayoutUpdate" event to the protocol.

        Removed "getFlowByName" from protocol.

        The front-end keeps in sync the requested Named Flow Collections.

        Modified existing test: inspector/styles/protocol-css-regions-commands.html

        * dom/NamedFlowCollection.cpp:
        (WebCore::NamedFlowCollection::ensureFlowWithName):
        (WebCore::NamedFlowCollection::discardNamedFlow):
        * inspector/Inspector.json:
        * inspector/InspectorCSSAgent.cpp:
        (UpdateRegionLayoutTask):
        (WebCore):
        (WebCore::UpdateRegionLayoutTask::UpdateRegionLayoutTask):
        (WebCore::UpdateRegionLayoutTask::scheduleFor):
        (WebCore::UpdateRegionLayoutTask::unschedule):
        (WebCore::UpdateRegionLayoutTask::reset):
        (WebCore::UpdateRegionLayoutTask::onTimer):
        (WebCore::InspectorCSSAgent::reset):
        (WebCore::InspectorCSSAgent::didCreateNamedFlow):
        (WebCore::InspectorCSSAgent::willRemoveNamedFlow):
        (WebCore::InspectorCSSAgent::didUpdateRegionLayout):
        (WebCore::InspectorCSSAgent::regionLayoutUpdated):
        (WebCore::InspectorCSSAgent::getNamedFlowCollection):
        (WebCore::InspectorCSSAgent::documentNodeWithRequestedFlowsId):
        * inspector/InspectorCSSAgent.h:
        (WebCore):
        (InspectorCSSAgent):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore):
        (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl):
        (WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl):
        (WebCore::InspectorInstrumentation::didUpdateRegionLayoutImpl):
        * inspector/InspectorInstrumentation.h:
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::didCreateNamedFlow):
        (WebCore::InspectorInstrumentation::willRemoveNamedFlow):
        (WebCore):
        (WebCore::InspectorInstrumentation::didUpdateRegionLayout):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel):
        (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync.callback):
        (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
        (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync.callback):
        (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync):
        (WebInspector.CSSStyleModel.prototype._namedFlowCreated):
        (WebInspector.CSSStyleModel.prototype._namedFlowRemoved):
        (WebInspector.CSSStyleModel.prototype._regionLayoutUpdated):
        (WebInspector.CSSStyleModel.prototype._resetNamedFlowCollections):
        (WebInspector.CSSDispatcher.prototype.namedFlowCreated):
        (WebInspector.CSSDispatcher.prototype.namedFlowRemoved):
        (WebInspector.CSSDispatcher.prototype.regionLayoutUpdated):
        (WebInspector.NamedFlow):
        (WebInspector.NamedFlowCollection):
        (WebInspector.NamedFlowCollection.prototype._appendNamedFlow):
        (WebInspector.NamedFlowCollection.prototype._removeNamedFlow):
        (WebInspector.NamedFlowCollection.prototype.flowByName):
        * rendering/RenderNamedFlowThread.cpp:
        (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):

2012-09-12  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Elements] Sidebar panes not updated on style changes due to "class" attribute modifications
        https://bugs.webkit.org/show_bug.cgi?id=95722

        Reviewed by Vsevolod Vlasov.

        The DOMAgent StyleInvalidated event has been removed in favor of the StylesSidebarPane explicitly listening on the
        AttrModified/AttrRemoved events that result in those same updates.

        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype._attributeModified):
        (WebInspector.DOMAgent.prototype._loadNodeAttributes):
        (WebInspector.DOMAgent.prototype._childNodeRemoved):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype.updateSelection): Drive-by: avoid a costly synchronous layout during DOM tree updates.
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane):
        (WebInspector.StylesSidebarPane.prototype._attributeChanged):
        (WebInspector.StylesSidebarPane.prototype._canAffectCurrentStyles):

2012-09-12  Simon Hausmann  <simon.hausmann@nokia.com>

        Build with ENABLE_REQUEST_ANIMATION_FRAME=0 is broken
        https://bugs.webkit.org/show_bug.cgi?id=96491

        Reviewed by Csaba Osztrogonác.

        In the IDL file, don't just check for the define, also check if it's set to 1 before enabling the
        RAF APIs. It's done like this with all the other feature defines in IDL files.

        * page/DOMWindow.idl:

2012-09-12  Vivek Galatage  <vivekgalatage@gmail.com>

        Web Inspector: InspectorBackend.loadFromJSONIfNeeded should take the JSON url as argument
        https://bugs.webkit.org/show_bug.cgi?id=96472

        Reviewed by Yury Semikhatsky.

        The method loadFromJSONIfNeeded need to take the jsonUrl as argument
        as this will be called from the Inspector Protocol Test Harness
        residing in a different location.

        No new tests as code refactoring done.

        * inspector/front-end/InspectorBackend.js:
        (InspectorBackendClass.prototype.loadFromJSONIfNeeded):
        * inspector/front-end/inspector.js:

2012-09-12  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: XMLHttpRequest instrumentation methods used by timeline should have better names.
        https://bugs.webkit.org/show_bug.cgi?id=96486

        Reviewed by Alexander Pavlov.

        Renamed instrumentation methods.

        * inspector/InspectorInstrumentation.cpp:
        (WebCore):
        (WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEventImpl):
        (WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEventImpl):
        (WebCore::InspectorInstrumentation::willDispatchXHRLoadEventImpl):
        (WebCore::InspectorInstrumentation::didDispatchXHRLoadEventImpl):
        * inspector/InspectorInstrumentation.h:
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent):
        (WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEvent):
        (WebCore::InspectorInstrumentation::willDispatchXHRLoadEvent):
        (WebCore::InspectorInstrumentation::didDispatchXHRLoadEvent):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::willDispatchXHRReadyStateChangeEvent):
        (WebCore::InspectorTimelineAgent::didDispatchXHRReadyStateChangeEvent):
        (WebCore::InspectorTimelineAgent::willDispatchXHRLoadEvent):
        (WebCore::InspectorTimelineAgent::didDispatchXHRLoadEvent):
        * inspector/InspectorTimelineAgent.h:
        (InspectorTimelineAgent):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::callReadyStateChangeListener):

2012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r128279.
        http://trac.webkit.org/changeset/128279
        https://bugs.webkit.org/show_bug.cgi?id=96487

        "Snow Leopard compilation broken" (Requested by yurys on
        #webkit).

        * dom/WebCoreMemoryInstrumentation.cpp:
        (WebCore):
        (WebCore::String):
        (WebCore::StringImpl):
        (WebCore::AtomicString):
        * dom/WebCoreMemoryInstrumentation.h:
        (WebCore):
        * inspector/MemoryInstrumentationImpl.cpp:
        (WebCore::MemoryInstrumentationImpl::countObjectSize):
        * platform/SharedBuffer.cpp:
        (WebCore::SharedBuffer::reportMemoryUsage):

2012-09-12  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: Persistent handle referenced from ScriptWrappable is double counted
        https://bugs.webkit.org/show_bug.cgi?id=96483

        Reviewed by Alexander Pavlov.

        * bindings/v8/ScriptWrappable.h:
        (WebCore::ScriptWrappable::reportMemoryUsage): the handle is a part of an
        array where all such handles are allocated and should not be counted here
        second time. In order to make the clang plugin that validate memory instrumentation
        happy we report it here as weak pointer (no-op).

2012-09-12  Eugene Klyuchnikov  <eustas.bug@gmail.com>

        Web Inspector: Implement search and filtering on Timeline panel
        https://bugs.webkit.org/show_bug.cgi?id=95445

        Reviewed by Yury Semikhatsky.

        Implemented textual search/filtering on Timeline panel.
        Fixed "revealRecordAt" - now it scans all records in window,
        now only visible ones.

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineWindowFilter):
        Extracte