2010-05-27 Xan Lopez More GTK+ distcheck fixes. * GNUmakefile.am: 2010-05-27 Yury Semikhatsky Reviewed by Pavel Feldman. [v8] Web Inspector: notify ScriptDebugListener when execution is resumed https://bugs.webkit.org/show_bug.cgi?id=39838 * bindings/v8/ScriptDebugServer.cpp: (WebCore::ScriptDebugServer::handleV8DebugEvent): 2010-05-27 Anders Bakken Reviewed by David Levin. qt_pixmapruntime.cpp has coding-style errors https://bugs.webkit.org/show_bug.cgi?id=39745 Fix webkit coding style issues in qt_pixmapruntime.cpp * bridge/qt/qt_pixmapruntime.cpp: 2010-05-26 Jeremy Orlow Reviewed by Steve Block. Clean up IndexedDB layout tests https://bugs.webkit.org/show_bug.cgi?id=39748 Remove an assert that always fires. Tests: storage/indexeddb/idb-database-request.html storage/indexeddb/indexed-database-request.html * storage/IDBDatabaseImpl.cpp: (WebCore::IDBDatabaseImpl::objectStores): 2010-05-27 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: Get CSS rule offsets lazily. https://bugs.webkit.org/show_bug.cgi?id=39832 * inspector/InspectorCSSStore.cpp: (WebCore::InspectorCSSStore::getStartEndOffsets): * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::buildObjectForRule): 2010-05-27 Anders Bakken Reviewed by David Levin. qt_class.cpp has coding-style errors https://bugs.webkit.org/show_bug.cgi?id=39741 Fix webkit coding style issues in qt_class.cpp * bridge/qt/qt_class.cpp: (JSC::Bindings::QtClass::fieldNamed): 2010-05-27 Eric Seidel Reviewed by Darin Adler. Remove bit-rotten INSTRUMENT_LAYOUT_SCHEDULING code from HTMLTokenizer https://bugs.webkit.org/show_bug.cgi?id=39714 This came from a discussion on #webkit with Hyatt about this code being old and no longer used to either of our knowledge. No functional changes, thus no tests. I also removed a bogus FIXME I had added in an earlier patch before I understood what the HTMLTokenizer was trying to do. * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::scriptHandler): (WebCore::HTMLTokenizer::scriptExecution): (WebCore::HTMLTokenizer::continueProcessing): (WebCore::HTMLTokenizer::willWriteHTML): (WebCore::HTMLTokenizer::didWriteHTML): (WebCore::HTMLTokenizer::timerFired): (WebCore::HTMLTokenizer::executeExternalScriptsIfReady): 2010-05-27 Anton Muhin Reviewed by Adam Barth. Add callbacks to ScriptController to allow notifications on named items additions and removals https://bugs.webkit.org/show_bug.cgi?id=39679 * bindings/js/ScriptController.h: Callbacks with empty implementation added. (WebCore::ScriptController::namedItemAdded): (WebCore::ScriptController::namedItemRemoved): * bindings/v8/ScriptController.cpp: Empty implementation of callbacks. (WebCore::ScriptController::namedItemAdded): (WebCore::ScriptController::namedItemRemoved): * bindings/v8/ScriptController.h: Callbacks added. * html/HTMLDocument.cpp: Hooking in callbacks. (WebCore::HTMLDocument::addItemToMap): (WebCore::HTMLDocument::removeItemFromMap): * html/HTMLDocument.h: 2010-05-27 Zhenyao Mo Reviewed by Dimitri Glazkov. Implement lazy clearing of renderbuffers https://bugs.webkit.org/show_bug.cgi?id=36248 Test: fast/canvas/webgl/renderbuffer-initialization.html * html/canvas/WebGLFramebuffer.cpp: (WebCore::WebGLFramebuffer::WebGLFramebuffer): Init added members. (WebCore::WebGLFramebuffer::setAttachment): Set attachment object. (WebCore::WebGLFramebuffer::onBind): Perform buffer clearing if needed. (WebCore::WebGLFramebuffer::onAttachedObjectChange): Ditto. (WebCore::WebGLFramebuffer::isUninitialized): Check whether an attached object is uninitialized renderbuffer. (WebCore::WebGLFramebuffer::setInitialized): After initialize a renderbuffer, set the flag. (WebCore::WebGLFramebuffer::initializeRenderbuffers): Clear un-initialized renderbuffers if framebuffer is complete. * html/canvas/WebGLFramebuffer.h: (WebCore::WebGLFramebuffer::isDepthAttached): Changed to check object. (WebCore::WebGLFramebuffer::isStencilAttached): Ditto. (WebCore::WebGLFramebuffer::isDepthStencilAttached): Ditto. * html/canvas/WebGLRenderbuffer.cpp: (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): Init added members. * html/canvas/WebGLRenderbuffer.h: (WebCore::WebGLRenderbuffer::isInitialized): As the function name. (WebCore::WebGLRenderbuffer::setInitialized): Ditto. * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::bindFramebuffer): Call onBind(). (WebCore::WebGLRenderingContext::copyTexImage2D): Call onAttachedObjectChange(). (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto. (WebCore::WebGLRenderingContext::deleteTexture): Ditto. (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Call setAttachment. (WebCore::WebGLRenderingContext::framebufferTexture2D): Call onAttachedObjectChange(). (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto. (WebCore::WebGLRenderingContext::texImage2DBase): Ditto. * platform/graphics/mac/GraphicsContext3DMac.cpp: (WebCore::GraphicsContext3D::reshape): Initialize internal buffers. 2010-05-27 Kristian Monsen Reviewed by Darin Adler. Compile fix for Android, added include for Refcounted.h, this did not get included through Threading.h in Android. https://bugs.webkit.org/show_bug.cgi?id=39678 Build fix only, no new tests. * storage/SQLTransactionSyncCallback.h: 2010-05-27 Joone Hur Reviewed by Xan Lopez. Add GtkVersioning.h in ScrollbackGtk.cpp for maintaining compatibility with the previous GTK+ https://bugs.webkit.org/show_bug.cgi?id=39567 * platform/gtk/ScrollbarGtk.cpp: 2010-05-27 Hans Wennborg Reviewed by Alexey Proskuryakov. Increase limit on number of (i)frames from 200 to 1000. https://bugs.webkit.org/show_bug.cgi?id=39427 The limit on number of iframes was introduced in r3707 back in 2003. An example of a page that is broken because of this is: http://vimcolorschemetest.googlecode.com/svn/html/index-c.html Neither Firefox nor IE has such a limit. It seems that WebKit can handle a significantly higher number of frames, and the original reasons for imposing the limit are believed to be gone. Tests: compositing/iframes/lots-of-iframes.html compositing/iframes/lots-of-objects.html * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::isURLAllowed): * page/FrameTree.cpp: (WebCore::FrameTree::uniqueChildName): * page/Page.h: * rendering/RenderEmbeddedObject.cpp: (WebCore::isURLAllowed): 2010-05-27 Kwang Yul Seo Reviewed by Xan Lopez. [GTK] writeToFile fails when length is large https://bugs.webkit.org/show_bug.cgi?id=39666 writeToFile forgot to increment data pointer. * platform/gtk/FileSystemGtk.cpp: (WebCore::writeToFile): 2010-05-26 David Hyatt Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=39783, clean up the moveChild functions on RenderBlock. Eliminate the need to pass the toChildrenList to the moveChild functions by tightening up the type of the |to| argument to be a RenderBlock. Add a moveChildrenTo function that can move a range of children, and patch places that were doing this by hand. Make the append forms of the functions just use the insert forms with a beforeChild of 0. Patch insertChildNode in RenderObjectChildList so that it passes the fullInsert parameter through in the case where it does an append. Add an assert to RenderLayer that catches bad structure built when the fullInsert/Remove parameters are messed up when using append/insertChildNode. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::splitAnonymousBlocksAroundChild): (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks): (WebCore::RenderBlock::createAndAppendRootInlineBox): (WebCore::RenderBlock::moveChildTo): (WebCore::RenderBlock::moveChildrenTo): (WebCore::RenderBlock::makeChildrenNonInline): (WebCore::RenderBlock::removeChild): * rendering/RenderBlock.h: (WebCore::RenderBlock::moveChildTo): (WebCore::RenderBlock::moveAllChildrenTo): (WebCore::RenderBlock::moveChildrenTo): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::addChild): * rendering/RenderObjectChildList.cpp: (WebCore::RenderObjectChildList::insertChildNode): * rendering/RenderRubyBase.cpp: (WebCore::RenderRubyBase::moveInlineChildren): 2010-05-27 Eric Seidel Reviewed by Adam Barth. Add
/ hack to HTML5Lexer to fix the last remaining HTML5 test suite regressions
        https://bugs.webkit.org/show_bug.cgi?id=39818

        HTML parsers are supposed to ignore the first \n after a 
 or  tag
        for authoring convenience.  Our new HTML5Lexer didn't have this hack yet
        so there were 4 HTML5 tests failing.  Fixing this fixed the last of the HTML5
        test suite regressions using the HTML5Lexer vs the old lexer.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::reset):
        (WebCore::HTML5Lexer::nextToken):
        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::skipLeadingNewLineForListing):
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):

2010-05-26  Eric Seidel  

        Reviewed by Adam Barth.

        Teach the HTML5 parser how to handle external scripts
        https://bugs.webkit.org/show_bug.cgi?id=39716

        Make it possible for the HTML5Tokenizer to run external scripts.
        I created a new class HTML5ScriptRunner to hold all of the
        script-logic which is scattered throughout the old HTMLTokenizer.

        The design is for the HTML5Tokenizer (the "controller") to hold
        the Lexer, TreeBuilder and ScriptRunner.  The Lexer returns back
        to the controller, which passes tokens to the TreeBuilder.  When the
        treebuilder encounters a  tag it pauses itself and returns
        back to the controller which calls the ScriptRunner.  The TreeBuilder
        is un-paused when the HTML5Tokenizer calls takeScriptToProcess().

        The ScriptRunner attempts to process the passed script, and additionally
        any blocked scripts it can.  It returns to the controller indicating if
        parsing should continue.  If not, callbacks when external scripts load
        or when stylesheets are finished parsing will cause the controller to
        kick off script execution and parsing again at a later point.

        * WebCore.xcodeproj/project.pbxproj:
         - Add HTML5ScriptRunner.*
        * bindings/js/CachedScriptSourceProvider.h:
         - Add missing include discovered while building.
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::finishParsingChildren):
         - Remove previous hack for inline