1. 08 Nov, 2011 40 commits
    • fpizlo@apple.com's avatar
      DFG OSR exit code should be generated by a separate compiler, not · c73adafc
      fpizlo@apple.com authored
      related to DFG::JITCompiler
      https://bugs.webkit.org/show_bug.cgi?id=71787
      
      Reviewed by Gavin Barraclough.
              
      Moves the exitSpeculativeWithOSR() method from JITCompiler to
      OSRExitCompiler::compileExit().
      
      * CMakeListsEfl.txt:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      * dfg/DFGJITCompiler.cpp:
      (JSC::DFG::JITCompiler::linkOSRExits):
      * dfg/DFGJITCompiler32_64.cpp: Removed.
      * dfg/DFGOSRExitCompiler.h: Added.
      (JSC::DFG::OSRExitCompiler::OSRExitCompiler):
      * dfg/DFGOSRExitCompiler32_64.cpp: Added.
      (JSC::DFG::OSRExitCompiler::compileExit):
      * dfg/DFGOSRExitCompiler64.cpp: Added.
      (JSC::DFG::OSRExitCompiler::compileExit):
      * runtime/JSValue.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99629 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c73adafc
    • commit-queue@webkit.org's avatar
      Move NSRange / DOMRange functions back to WebFrameInternal · 7266e63b
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=71844
      
      Patch by Joseph Pecoraro <pecoraro@apple.com> on 2011-11-08
      Reviewed by Alexey Proskuryakov.
      
      * WebView/WebFrame.mm:
      (-[WebFrame _convertNSRangeToDOMRange:]):
      (-[WebFrame _convertDOMRangeToNSRange:]):
      * WebView/WebFrameInternal.h:
      * WebView/WebFramePrivate.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99628 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7266e63b
    • fpizlo@apple.com's avatar
      Basic DFG definitions should be moved out of DFGNode.h · 29ea2b82
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=71861
      
      Rubber-stamped by Gavin Barraclough.
      
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * dfg/DFGCommon.h: Added.
      (JSC::DFG::NodeIndexTraits::defaultValue):
      * dfg/DFGNode.h:
      * dfg/DFGOSRExit.h:
      * dfg/DFGRegisterBank.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99627 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      29ea2b82
    • commit-queue@webkit.org's avatar
      [Mac] Disable C++ exceptions from DumpRenderTree · c62667b7
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=71834
      
      Patch by Benjamin Poulain <bpoulain@apple.com> on 2011-11-08
      Reviewed by Darin Adler.
      
      DumpRenderTree Mac does not handle C++ exceptions. When such exception
      happens, it tends to cause the AutoReleasePool stack to be corrupted,
      which leads to crashes long after the exception was raised.
      
      This patch disabled C++ exceptions in order to catch the problems where
      they happen when a C++ exception is raised.
      
      * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99626 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c62667b7
    • bfulgham@webkit.org's avatar
      [WinCairo] Unreviewed build fix after r99613. · e687c0b4
      bfulgham@webkit.org authored
      * win/WebKit2CFLite.def: Add missing export.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99625 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e687c0b4
    • fsamuel@chromium.org's avatar
      Delete WebViewimpl::scalePage · 0b0691a0
      fsamuel@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=71711
      
      Reviewed by Darin Fisher.
      
      Once this patch lands: http://codereview.chromium.org/8477033
      
      WebViewImpl::scalePage will no longer be used in Chromium and
      can safely be deleted.
      
      * public/WebView.h:
      * src/WebViewImpl.cpp:
      * src/WebViewImpl.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99624 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0b0691a0
    • ojan@chromium.org's avatar
      Rebaseline test failing due to subtle antialiasing differences. · bb2e9823
      ojan@chromium.org authored
      Garden-o-matic claims it broke at r99613.
      
      * platform/chromium-cg-mac-leopard/fast/writing-mode/Kusa-Makura-background-canvas-expected.png:
      * platform/chromium-cg-mac-snowleopard/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Added.
      * platform/chromium-cg-mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Removed.
      * platform/chromium-mac-snowleopard/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Added.
      * platform/chromium-mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Removed.
      * platform/chromium-mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99623 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bb2e9823
    • barraclough@apple.com's avatar
      Towards 8 Bit Strings: Templatize JSC::Parser class by Lexer type · 03571d70
      barraclough@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=71761
      
      Templatized Parser based on Lexer<T>. Moved two enums,
      SourceElementsMode and FunctionRequirements out of Parser definition
      to work around a clang compiler defect.
      
      Cleaned up SourceCode data() to return StringImpl* and eliminated
      the recently added stringData() virtual method.
      
      To keep code in Parser.cpp and keep Parser.h small, the two flavors
      of Parser are explicitly instantiated at the end of Parser.cpp.
      
      Patch by Michael Saboff <msaboff@apple.com> on 2011-11-08
      Reviewed by Gavin Barraclough.
      
      * interpreter/Interpreter.cpp:
      (JSC::appendSourceToError):
      * parser/Lexer.cpp:
      (JSC::::setCode):
      (JSC::::sourceCode):
      * parser/Parser.cpp:
      (JSC::::Parser):
      (JSC::::~Parser):
      (JSC::::parseInner):
      (JSC::::didFinishParsing):
      (JSC::::allowAutomaticSemicolon):
      (JSC::::parseSourceElements):
      (JSC::::parseVarDeclaration):
      (JSC::::parseConstDeclaration):
      (JSC::::parseDoWhileStatement):
      (JSC::::parseWhileStatement):
      (JSC::::parseVarDeclarationList):
      (JSC::::parseConstDeclarationList):
      (JSC::::parseForStatement):
      (JSC::::parseBreakStatement):
      (JSC::::parseContinueStatement):
      (JSC::::parseReturnStatement):
      (JSC::::parseThrowStatement):
      (JSC::::parseWithStatement):
      (JSC::::parseSwitchStatement):
      (JSC::::parseSwitchClauses):
      (JSC::::parseSwitchDefaultClause):
      (JSC::::parseTryStatement):
      (JSC::::parseDebuggerStatement):
      (JSC::::parseBlockStatement):
      (JSC::::parseStatement):
      (JSC::::parseFormalParameters):
      (JSC::::parseFunctionBody):
      (JSC::::parseFunctionInfo):
      (JSC::::parseFunctionDeclaration):
      (JSC::::parseExpressionOrLabelStatement):
      (JSC::::parseExpressionStatement):
      (JSC::::parseIfStatement):
      (JSC::::parseExpression):
      (JSC::::parseAssignmentExpression):
      (JSC::::parseConditionalExpression):
      (JSC::::isBinaryOperator):
      (JSC::::parseBinaryExpression):
      (JSC::::parseProperty):
      (JSC::::parseObjectLiteral):
      (JSC::::parseStrictObjectLiteral):
      (JSC::::parseArrayLiteral):
      (JSC::::parsePrimaryExpression):
      (JSC::::parseArguments):
      (JSC::::parseMemberExpression):
      (JSC::::parseUnaryExpression):
      * parser/Parser.h:
      (JSC::::parse):
      (JSC::parse):
      * parser/SourceCode.h:
      (JSC::SourceCode::data):
      (JSC::SourceCode::subExpression):
      * parser/SourceProvider.h:
      (JSC::UStringSourceProvider::data):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99622 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      03571d70
    • ojan@chromium.org's avatar
      Rebaselines and expectations after r99609 and r99616 and r99613. · fa35c931
      ojan@chromium.org authored
      * platform/chromium-cg-mac-snowleopard/fast/multicol/pagination-h-horizontal-bt-expected.png: Added.
      * platform/chromium-cg-mac-snowleopard/fast/multicol/pagination-h-horizontal-tb-expected.png: Added.
      * platform/chromium-cg-mac-snowleopard/fast/multicol/pagination-h-vertical-lr-expected.png: Added.
      * platform/chromium-cg-mac-snowleopard/fast/multicol/pagination-h-vertical-rl-expected.png: Added.
      * platform/chromium-cg-mac-snowleopard/fast/multicol/pagination-v-horizontal-bt-expected.png: Added.
      * platform/chromium-cg-mac-snowleopard/fast/multicol/pagination-v-horizontal-tb-expected.png: Added.
      * platform/chromium-cg-mac-snowleopard/fast/multicol/pagination-v-vertical-lr-expected.png: Added.
      * platform/chromium-cg-mac-snowleopard/fast/multicol/pagination-v-vertical-rl-expected.png: Added.
      * platform/chromium-linux-x86/fast/multicol/pagination-h-horizontal-bt-expected.png: Added.
      * platform/chromium-linux-x86/fast/multicol/pagination-h-horizontal-tb-expected.png: Added.
      * platform/chromium-linux-x86/fast/multicol/pagination-h-vertical-lr-expected.png: Added.
      * platform/chromium-linux-x86/fast/multicol/pagination-h-vertical-rl-expected.png: Added.
      * platform/chromium-linux-x86/fast/multicol/pagination-v-horizontal-bt-expected.png: Added.
      * platform/chromium-linux-x86/fast/multicol/pagination-v-horizontal-tb-expected.png: Added.
      * platform/chromium-linux-x86/fast/multicol/pagination-v-vertical-lr-expected.png: Added.
      * platform/chromium-linux-x86/fast/multicol/pagination-v-vertical-rl-expected.png: Added.
      * platform/chromium-linux/fast/multicol/pagination-h-horizontal-bt-expected.png: Added.
      * platform/chromium-linux/fast/multicol/pagination-h-horizontal-tb-expected.png: Added.
      * platform/chromium-linux/fast/multicol/pagination-h-vertical-lr-expected.png: Added.
      * platform/chromium-linux/fast/multicol/pagination-h-vertical-rl-expected.png: Added.
      * platform/chromium-linux/fast/multicol/pagination-v-horizontal-bt-expected.png: Added.
      * platform/chromium-linux/fast/multicol/pagination-v-horizontal-tb-expected.png: Added.
      * platform/chromium-linux/fast/multicol/pagination-v-vertical-lr-expected.png: Added.
      * platform/chromium-linux/fast/multicol/pagination-v-vertical-rl-expected.png: Added.
      * platform/chromium-win-vista/fast/multicol/pagination-h-horizontal-bt-expected.png: Added.
      * platform/chromium-win-vista/fast/multicol/pagination-h-horizontal-tb-expected.png: Added.
      * platform/chromium-win-vista/fast/multicol/pagination-h-vertical-lr-expected.png: Added.
      * platform/chromium-win-vista/fast/multicol/pagination-h-vertical-rl-expected.png: Added.
      * platform/chromium-win-vista/fast/multicol/pagination-v-horizontal-bt-expected.png: Added.
      * platform/chromium-win-vista/fast/multicol/pagination-v-horizontal-tb-expected.png: Added.
      * platform/chromium-win-vista/fast/multicol/pagination-v-vertical-lr-expected.png: Added.
      * platform/chromium-win-vista/fast/multicol/pagination-v-vertical-rl-expected.png: Added.
      * platform/chromium-win-xp/fast/multicol/pagination-h-horizontal-bt-expected.png: Added.
      * platform/chromium-win-xp/fast/multicol/pagination-h-horizontal-tb-expected.png: Added.
      * platform/chromium-win-xp/fast/multicol/pagination-h-vertical-lr-expected.png: Added.
      * platform/chromium-win-xp/fast/multicol/pagination-h-vertical-rl-expected.png: Added.
      * platform/chromium-win-xp/fast/multicol/pagination-v-horizontal-bt-expected.png: Added.
      * platform/chromium-win-xp/fast/multicol/pagination-v-horizontal-tb-expected.png: Added.
      * platform/chromium-win-xp/fast/multicol/pagination-v-vertical-lr-expected.png: Added.
      * platform/chromium-win-xp/fast/multicol/pagination-v-vertical-rl-expected.png: Added.
      * platform/chromium-win/fast/multicol/pagination-h-horizontal-bt-expected.png: Added.
      * platform/chromium-win/fast/multicol/pagination-h-horizontal-tb-expected.png: Added.
      * platform/chromium-win/fast/multicol/pagination-h-vertical-lr-expected.png: Added.
      * platform/chromium-win/fast/multicol/pagination-h-vertical-rl-expected.png: Added.
      * platform/chromium-win/fast/multicol/pagination-v-horizontal-bt-expected.png: Added.
      * platform/chromium-win/fast/multicol/pagination-v-horizontal-tb-expected.png: Added.
      * platform/chromium-win/fast/multicol/pagination-v-vertical-lr-expected.png: Added.
      * platform/chromium-win/fast/multicol/pagination-v-vertical-rl-expected.png: Added.
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99621 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fa35c931
    • jchaffraix@webkit.org's avatar
      Moved myself to the reviewer list (yay!). · 48acfeb8
      jchaffraix@webkit.org authored
      * Scripts/webkitpy/common/config/committers.py:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99620 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      48acfeb8
    • bfulgham@webkit.org's avatar
      [WinCairo] Unreviewed build fix after r98624 and r99613. · ae472dfe
      bfulgham@webkit.org authored
      * win/WebKit2CFLite.def: Add missing exports.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99619 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ae472dfe
    • msaboff@apple.com's avatar
      Towards 8 Bit Strings: Templatize JSC::Parser class by Lexer type · 831599f4
      msaboff@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=71761
      
      Source/JavaScriptCore: 
      
      Templatized Parser based on Lexer<T>. Moved two enums,
      SourceElementsMode and FunctionRequirements out of Parser definition
      to work around a clang compiler defect.
      
      Cleaned up SourceCode data() to return StringImpl* and eliminated
      the recently added stringData() virtual method.
      
      To keep code in Parser.cpp and keep Parser.h small, the two flavors
      of Parser are explicitly instantiated at the end of Parser.cpp.
      
      Reviewed by Gavin Barraclough.
      
      * interpreter/Interpreter.cpp:
      (JSC::appendSourceToError):
      * parser/Lexer.cpp:
      (JSC::::setCode):
      (JSC::::sourceCode):
      * parser/Parser.cpp:
      (JSC::::Parser):
      (JSC::::~Parser):
      (JSC::::parseInner):
      (JSC::::didFinishParsing):
      (JSC::::allowAutomaticSemicolon):
      (JSC::::parseSourceElements):
      (JSC::::parseVarDeclaration):
      (JSC::::parseConstDeclaration):
      (JSC::::parseDoWhileStatement):
      (JSC::::parseWhileStatement):
      (JSC::::parseVarDeclarationList):
      (JSC::::parseConstDeclarationList):
      (JSC::::parseForStatement):
      (JSC::::parseBreakStatement):
      (JSC::::parseContinueStatement):
      (JSC::::parseReturnStatement):
      (JSC::::parseThrowStatement):
      (JSC::::parseWithStatement):
      (JSC::::parseSwitchStatement):
      (JSC::::parseSwitchClauses):
      (JSC::::parseSwitchDefaultClause):
      (JSC::::parseTryStatement):
      (JSC::::parseDebuggerStatement):
      (JSC::::parseBlockStatement):
      (JSC::::parseStatement):
      (JSC::::parseFormalParameters):
      (JSC::::parseFunctionBody):
      (JSC::::parseFunctionInfo):
      (JSC::::parseFunctionDeclaration):
      (JSC::::parseExpressionOrLabelStatement):
      (JSC::::parseExpressionStatement):
      (JSC::::parseIfStatement):
      (JSC::::parseExpression):
      (JSC::::parseAssignmentExpression):
      (JSC::::parseConditionalExpression):
      (JSC::::isBinaryOperator):
      (JSC::::parseBinaryExpression):
      (JSC::::parseProperty):
      (JSC::::parseObjectLiteral):
      (JSC::::parseStrictObjectLiteral):
      (JSC::::parseArrayLiteral):
      (JSC::::parsePrimaryExpression):
      (JSC::::parseArguments):
      (JSC::::parseMemberExpression):
      (JSC::::parseUnaryExpression):
      * parser/Parser.h:
      (JSC::::parse):
      (JSC::parse):
      * parser/SourceCode.h:
      (JSC::SourceCode::data):
      (JSC::SourceCode::subExpression):
      * parser/SourceProvider.h:
      (JSC::UStringSourceProvider::data):
      
      Source/WebCore: 
      
      Cleaned up SourceCode data() to return StringImpl* and eliminated
      the recently added stringData() virtual method.
      
      No tests added - refactored base class SourceCode and its subclasses.
      
      * bindings/js/CachedScriptSourceProvider.h:
      (WebCore::CachedScriptSourceProvider::data):
      * bindings/js/ScriptDebugServer.cpp:
      (WebCore::ScriptDebugServer::dispatchDidParseSource):
      (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
      * bindings/js/StringSourceProvider.h:
      (WebCore::StringSourceProvider::data):
      
      Source/WebKit/mac: 
      
      Changed WKPCEvaluate() to use emptyString() when the source is
      zero length.
      
      Reviewed by Gavin Barraclough.
      
      * Plugins/Hosted/NetscapePluginHostProxy.mm:
      (WKPCEvaluate):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99618 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      831599f4
    • bdakin@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=71856 · 680d752d
      bdakin@apple.com authored
      WebKit should use new NSWindowDidChangeBackingPropertiesNotification instead of 
      old NSWindowDidChangeResolutionNotification
      -and corresponding-
      <rdar://problem/10317253>
      
      Reviewed by Tim Hatcher.
      
      Source/WebKit/mac: 
      
      * WebView/WebView.mm:
      (-[WebView addWindowObserversForWindow:]):
      (-[WebView removeWindowObservers]):
      
      We have to check that the backing scale factor actually changed since this 
      notification can also be used to signify other changes. 
      (-[WebView _windowDidChangeBackingProperties:]):
      
      Source/WebKit2: 
      
      * UIProcess/API/mac/WKView.mm:
      (-[WKView addWindowObserversForWindow:]):
      (-[WKView removeWindowObservers]):
      
      We have to check that the backing scale factor actually changed since this 
      notification can also be used to signify other changes. 
      (-[WKView _windowDidChangeBackingProperties:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99617 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      680d752d
    • xji@chromium.org's avatar
      REGRESSION: rtl horizontal scrollbar / resize bug - Body shifts on resize when... · 24f5740a
      xji@chromium.org authored
      REGRESSION: rtl horizontal scrollbar / resize bug - Body shifts on resize when scrolled all the way to the left
      https://bugs.webkit.org/show_bug.cgi?id=70395
      
      Reviewed by Tony Chang.
      
      Source/WebCore: 
      
      Change the condition to perform immediate scolling inside ScrollView::updateScrollbars()
      to be correct for RTL page as well, which is checking either the scroll position change or
      the m_scrollOrigin changes (such as in window resize in which scroll position might remain the same).
      
      And remove condition checking inside ScrollableArea::scrollToOffsetWithoutAnimation() since
      the pass-in offset is adjusted within the current scroll range, it could be the same as
      m_currentPos when m_currentPos is (0, 0) and current scroll range is smaller than old 
      scroll range, but scolling is still needed when page resize and scroll range changes.
      
      Test: fast/dom/rtl-scroll-to-leftmost-and-resize.html
      
      * platform/ScrollAnimator.cpp:
      (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation): Remove condition checking.
      * platform/ScrollView.cpp:
      (WebCore::ScrollView::updateScrollbars): Change condition to perform immediate scrolling to be
      correct for RTL pages as well.
      * platform/ScrollableArea.cpp: Update m_scrollOriginChanged.
      (WebCore::ScrollableArea::ScrollableArea):
      (WebCore::ScrollableArea::setScrollOrigin):
      (WebCore::ScrollableArea::setScrollOriginX):
      (WebCore::ScrollableArea::setScrollOriginY):
      * platform/ScrollableArea.h: Add m_scrollOriginChanged.
      (WebCore::ScrollableArea::scrollOriginChanged):
      (WebCore::ScrollableArea::resetScrollOriginChanged):
      
      LayoutTests: 
      
      * fast/dom/rtl-scroll-to-leftmost-and-resize.html: Added.
      * platform/chromium/test_expectations.txt:
      * platform/mac-snowleopard/fast/dom/rtl-scroll-to-leftmost-and-resize-expected.png: Added.
      * platform/mac-snowleopard/fast/dom/rtl-scroll-to-leftmost-and-resize-expected.txt: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      24f5740a
    • andersca@apple.com's avatar
      Add a basic layer hierarchy to the Core Animation drawing area · 396fd793
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=71838
      
      Reviewed by Sam Weinig.
      
      * UIProcess/API/mac/WKView.mm:
      (-[WKView drawRect:]):
      Return early if we're using a tiled drawing area.
      
      (-[WKView initWithFrame:contextRef:pageGroupRef:]):
      If we're using a tiled drawing area, make the WKView layer backed and set its layer
      to a simple CALayer with a white background and set the view's content redraw policy
      to never to avoid ever calling drawRect.
      
      * UIProcess/DrawingAreaProxy.h:
      (WebKit::DrawingAreaProxy::didUpdateGeometry):
      * UIProcess/DrawingAreaProxy.messages.in:
      Add a new didUpdateGeometry message.
      
      * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
      * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
      (WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy):
      Initialize m_isWaitingForDidUpdateGeometry.
      
      (WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
      Send an UpdateGeometry message to the web process and wait for a reply.
      
      (WebKit::TiledCoreAnimationDrawingAreaProxy::enterAcceleratedCompositingMode):
      Tell the web page proxy to enter accelerated compositing mode.
      
      (WebKit::TiledCoreAnimationDrawingAreaProxy::exitAcceleratedCompositingMode):
      Assert that this function is never called.
      
      (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
      Send another UpdateGeometry message if needed.
      
      (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
      Add helper function to actually send the UpdateGeometry message.
      
      * WebProcess/WebPage/DrawingArea.h:
      (WebKit::DrawingArea::updateGeometry):
      * WebProcess/WebPage/DrawingArea.messages.in:
      Add UpdateGeometry message.
      
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
      (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
      Create a red root layer and a remote layer client that hosts it.
      
      (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
      Resize the root layer and tell the UI process that we've updated the geometry.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99615 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      396fd793
    • barraclough@apple.com's avatar
      DFG JIT calculation of OSR entry points is not THUMB2 safe · b8e1689e
      barraclough@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=71852
      
      Reviewed by Oliver Hunt.
      
      Executable addresses are tagged with a low bit set to distinguish
      between THUMB2 and traditional ARM.
      
      * dfg/DFGJITCompiler.cpp:
      (JSC::DFG::JITCompiler::exitSpeculativeWithOSR):
      * dfg/DFGJITCompiler32_64.cpp:
      (JSC::DFG::JITCompiler::exitSpeculativeWithOSR):
      * dfg/DFGOSREntry.cpp:
      (JSC::DFG::prepareOSREntry):
      * jit/JITCode.h:
      (JSC::JITCode::executableAddressAtOffset):
      (JSC::JITCode::start):
      (JSC::JITCode::size):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99614 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b8e1689e
    • mitz@apple.com's avatar
      <rdar://problem/10262225> Allow RenderView to have columns · 1bf25204
      mitz@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=71840
      
      Source/WebCore: 
      
      Reviewed by Simon Fraser.
      
      Tests: fast/multicol/pagination-h-horizontal-bt.html
             fast/multicol/pagination-h-horizontal-tb.html
             fast/multicol/pagination-h-vertical-lr.html
             fast/multicol/pagination-h-vertical-rl.html
             fast/multicol/pagination-v-horizontal-bt.html
             fast/multicol/pagination-v-horizontal-tb.html
             fast/multicol/pagination-v-vertical-lr.html
             fast/multicol/pagination-v-vertical-rl.html
      
      * WebCore.exp.in: Export Page::setPagination() for WebCoreTestSupport.
      * css/CSSStyleSelector.cpp:
      (WebCore::CSSStyleSelector::styleForDocument): Set the column axis and the column gap in the
      document style if the view is paginated.
      * page/Page.cpp:
      (WebCore::Page::setPagination): Added this setter.
      * page/Page.h:
      (WebCore::Page::Pagination::Pagination):
      (WebCore::Page::pagination): Added this getter.
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::requiresColumns): Added and moved some logic to here from...
      (WebCore::RenderBlock::setDesiredColumnCountAndWidth): ...here.
      * rendering/RenderBlock.h:
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::paintRootBoxFillLayers): Changed to use the new RenderView::backgroundRect()
      instead of unscaledDocumentRect().
      * rendering/RenderView.cpp:
      (WebCore::RenderView::requiresColumns): Added this override that always returns true if the view
      is paginated.
      (WebCore::RenderView::backgroundRect): Added. In the paginated case, returns a rectangle stretching
      across all columns.
      * rendering/RenderView.h:
      * testing/Internals.cpp:
      (WebCore::Internals::reset): Also reset pagination.
      (WebCore::Internals::setPagination): Added this setter for testing.
      * testing/Internals.h:
      * testing/Internals.idl:
      
      Source/WebKit2: 
      
      * win/WebKit2.def: Export Page::setPagination() for WebCoreTestSupport.
      
      LayoutTests: 
      
      Reviewed by Simon Fraser.
      
      * fast/multicol/pagination-h-horizontal-bt.html: Added.
      * fast/multicol/pagination-h-horizontal-tb.html: Added.
      * fast/multicol/pagination-h-vertical-lr.html: Added.
      * fast/multicol/pagination-h-vertical-rl.html: Added.
      * fast/multicol/pagination-v-horizontal-bt.html: Added.
      * fast/multicol/pagination-v-horizontal-tb.html: Added.
      * fast/multicol/pagination-v-vertical-lr.html: Added.
      * fast/multicol/pagination-v-vertical-rl.html: Added.
      * platform/mac/fast/multicol/pagination-h-horizontal-bt-expected.png: Added.
      * platform/mac/fast/multicol/pagination-h-horizontal-bt-expected.txt: Added.
      * platform/mac/fast/multicol/pagination-h-horizontal-tb-expected.png: Added.
      * platform/mac/fast/multicol/pagination-h-horizontal-tb-expected.txt: Added.
      * platform/mac/fast/multicol/pagination-h-vertical-lr-expected.png: Added.
      * platform/mac/fast/multicol/pagination-h-vertical-lr-expected.txt: Added.
      * platform/mac/fast/multicol/pagination-h-vertical-rl-expected.png: Added.
      * platform/mac/fast/multicol/pagination-h-vertical-rl-expected.txt: Added.
      * platform/mac/fast/multicol/pagination-v-horizontal-bt-expected.png: Added.
      * platform/mac/fast/multicol/pagination-v-horizontal-bt-expected.txt: Added.
      * platform/mac/fast/multicol/pagination-v-horizontal-tb-expected.png: Added.
      * platform/mac/fast/multicol/pagination-v-horizontal-tb-expected.txt: Added.
      * platform/mac/fast/multicol/pagination-v-vertical-lr-expected.png: Added.
      * platform/mac/fast/multicol/pagination-v-vertical-lr-expected.txt: Added.
      * platform/mac/fast/multicol/pagination-v-vertical-rl-expected.png: Added.
      * platform/mac/fast/multicol/pagination-v-vertical-rl-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99613 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1bf25204
    • commit-queue@webkit.org's avatar
      Document.importNode's 'deep' argument should default to true. · 5ccb211e
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=71190
      
      Patch by Vineet Chaudhary <vineet.chaudhary@motorola.com> on 2011-11-08
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      As new specification says deep argument of importNode should be default to true.
      
      Test: fast/dom/document-importNode-arguments.html
      
      * dom/Document.h: Added supportive method.
      (WebCore::Document::importNode):
      * dom/Document.idl: Modified deep argument as optional.
      
      LayoutTests:
      
      Added test to check document.importNode with No deep argument,
      deep argument true and false.
      
      * fast/dom/document-importNode-arguments-expected.txt: Added.
      * fast/dom/document-importNode-arguments.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99612 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5ccb211e
    • adamk@chromium.org's avatar
      WebKitMutationObserver.observe should raise a DOMException if passed invalid arguments · 22fdee69
      adamk@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=71596
      
      Reviewed by Ryosuke Niwa.
      
      Source/WebCore:
      
      Adds two cases where WebKitMutationObserver.observe throws an exception:
        - When passed a null Node*.
        - When passed options that don't make sense, e.g.,
          'attributeOldValue' but not 'attributes'.
      
      * bindings/js/JSWebKitMutationObserverCustom.cpp:
      (WebCore::JSWebKitMutationObserver::observe):
      * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
      (WebCore::V8WebKitMutationObserver::observeCallback):
      * dom/WebKitMutationObserver.cpp:
      (WebCore::WebKitMutationObserver::validateOptions):
      (WebCore::WebKitMutationObserver::observe):
      * dom/WebKitMutationObserver.h:
      * dom/WebKitMutationObserver.idl:
      
      LayoutTests:
      
      * fast/mutation/observe-exceptions-expected.txt:
      * fast/mutation/observe-exceptions.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99611 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      22fdee69
    • hyatt@apple.com's avatar
      Revert check-in. My mistake. · fef20b60
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99610 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fef20b60
    • commit-queue@webkit.org's avatar
      IndexedDB: implement compound (array) key support · 11a6a476
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=62284
      
      Patch by Joshua Bell <jsbell@chromium.org> on 2011-11-08
      Reviewed by Tony Chang.
      
      Source/WebCore:
      
      Add support for Array values as IDBKeys. (Multirow indexes are still
      not yet supported.)
      
      Tests: storage/indexeddb/cursor-key-order.html
             storage/indexeddb/key-type-array.html
      
      * bindings/js/JSIDBKeyCustom.cpp:
      (WebCore::toJS):
      * bindings/v8/IDBBindingUtilities.cpp:
      (WebCore::createIDBKeyFromValue):
      * bindings/v8/custom/V8IDBKeyCustom.cpp:
      (WebCore::toV8):
      * storage/IDBKey.cpp:
      (WebCore::IDBKey::compare):
      * storage/IDBKey.h:
      (WebCore::IDBKey::createArray):
      (WebCore::IDBKey::valid):
      (WebCore::IDBKey::array):
      (WebCore::IDBKey::compareTypes):
      * storage/IDBLevelDBCoding.cpp:
      (WebCore::IDBLevelDBCoding::compareEncodedStringsWithLength):
      (WebCore::IDBLevelDBCoding::encodeIDBKey):
      (WebCore::IDBLevelDBCoding::decodeIDBKey):
      (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
      (WebCore::IDBLevelDBCoding::keyTypeByteToKeyType):
      (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
      * storage/IDBLevelDBCoding.h:
      
      Source/WebKit/chromium:
      
      Extend WebKit API to support Array values as IDBKeys.
      
      * public/WebIDBKey.h:
      * src/AssertMatchingEnums.cpp:
      * src/WebIDBKey.cpp:
      (WebKit::WebIDBKey::createArray):
      (WebKit::convertFromWebIDBKeyArray):
      (WebKit::convertToWebIDBKeyArray):
      (WebKit::WebIDBKey::assignArray):
      (WebKit::WebIDBKey::array):
      * tests/IDBBindingUtilitiesTest.cpp:
      (WebCore::TEST):
      * tests/IDBLevelDBCodingTest.cpp:
      (IDBLevelDBCoding::createArrayIDBKey):
      (IDBLevelDBCoding::TEST):
      (IDBLevelDBCoding::compareStrings):
      
      LayoutTests:
      
      * storage/indexeddb/cursor-key-order-expected.txt: Added.
      * storage/indexeddb/cursor-key-order.html: Added.
      * storage/indexeddb/factory-cmp-expected.txt:
      * storage/indexeddb/factory-cmp.html:
      * storage/indexeddb/index-basics-expected.txt:
      * storage/indexeddb/index-basics.html:
      * storage/indexeddb/key-type-array-expected.txt: Added.
      * storage/indexeddb/key-type-array.html: Added.
      * storage/indexeddb/keyrange-expected.txt:
      * storage/indexeddb/keyrange.html:
      * storage/indexeddb/objectstore-basics-expected.txt:
      * storage/indexeddb/objectstore-basics.html:
      * storage/indexeddb/open-cursor-expected.txt:
      * storage/indexeddb/open-cursor.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99609 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      11a6a476
    • msaboff@apple.com's avatar
      JSC::Parser::Parser leaks Lexer member · d1b119dc
      msaboff@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=71847
      
      Changed m_lexer member of Parser to be OwnPtr to fix a memory leak.
      
      Reviewed by Oliver Hunt.
      
      * parser/Parser.cpp:
      (JSC::Parser::Parser):
      (JSC::Parser::parseFunctionBody):
      * parser/Parser.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99608 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d1b119dc
    • dbates@webkit.org's avatar
      Remove get() defined in CredentialStorageQt.cpp · f120a1b2
      dbates@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=71829
      
      Reviewed by Andreas Kling.
      
      CredentialStorage::get() is implemented in CredentialStorage.cpp. And CredentialStorage.cpp
      provides the base implementation for each platform. We shouldn't re-define
      CredentialStorage::get() in CredentialStorageQt.cpp.
      
      * Target.pri: Add files CredentialStorage.{cpp, h}.
      * platform/network/qt/CredentialStorageQt.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99607 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f120a1b2
    • jonlee@apple.com's avatar
      [WK2] Expose acceptMIMETypes for file inputs · 0c9a4a86
      jonlee@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=71836
      <rdar://problem/10407367>
      
      Reviewed by Anders Carlsson.
      
      * Shared/WebOpenPanelParameters.cpp:
      (WebKit::WebOpenPanelParameters::acceptMIMETypes):
      * Shared/WebOpenPanelParameters.h:
      * UIProcess/API/C/WKOpenPanelParameters.cpp:
      (WKOpenPanelParametersCopyAcceptedMIMETypes):
      * UIProcess/API/C/WKOpenPanelParameters.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99606 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0c9a4a86
    • hyatt@apple.com's avatar
      Fix more build bustage. · c4625d05
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99605 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c4625d05
    • hyatt@apple.com's avatar
      Fix build bustage. · 96b86fdf
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      96b86fdf
    • commit-queue@webkit.org's avatar
      [WK2][GTK] The default database & local storage directory names should note... · b1af0bc6
      commit-queue@webkit.org authored
      [WK2][GTK] The default database & local storage directory names should note they exist for Gtk port's needs
      https://bugs.webkit.org/show_bug.cgi?id=71837
      
      Patch by Zan Dobersek <zandobersek@gmail.com> on 2011-11-08
      Reviewed by Martin Robinson.
      
      Ensure that directories for databases and local storage are in a 'webkitgtk'
      directory in current user's data directory, noting they originate from the Gtk port.
      
      * UIProcess/gtk/WebContextGtk.cpp:
      (WebKit::WebContext::platformDefaultDatabaseDirectory):
      (WebKit::WebContext::platformDefaultLocalStorageDirectory):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99603 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b1af0bc6
    • commit-queue@webkit.org's avatar
      IndexedDB: reference cycle between IDBDatabase and IDBTransaction · ecade31c
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=71749
      
      Patch by Joshua Bell <jsbell@chromium.org> on 2011-11-08
      Reviewed by Tony Chang.
      
      Source/WebCore:
      
      Break a cyclic reference leak following a setVersion call.
      
      * storage/IDBDatabase.cpp:
      (WebCore::IDBDatabase::setVersionChangeTransaction):
      (WebCore::IDBDatabase::clearVersionChangeTransaction):
      (WebCore::IDBDatabase::createObjectStore):
      (WebCore::IDBDatabase::deleteObjectStore):
      * storage/IDBDatabase.h:
      * storage/IDBRequest.cpp:
      (WebCore::IDBRequest::onSuccess):
      * storage/IDBTransaction.cpp:
      (WebCore::IDBTransaction::create):
      (WebCore::IDBTransaction::onAbort):
      (WebCore::IDBTransaction::onComplete):
      
      LayoutTests:
      
      Add test case to verify that creating/deleting a store outside
      a transaction throws same error if store exists. Also fix
      the test to actually try removing stores.
      
      * storage/indexeddb/create-and-remove-object-store-expected.txt:
      * storage/indexeddb/create-and-remove-object-store.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99599 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ecade31c
    • zeno.albisser@nokia.com's avatar
      Added myself as a committer. · 94add245
      zeno.albisser@nokia.com authored
      * Scripts/webkitpy/common/config/committers.py:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99598 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      94add245
    • ojan@chromium.org's avatar
      Fix expectations mixup. · d0e812b7
      ojan@chromium.org authored
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d0e812b7
    • dbates@webkit.org's avatar
      Remove get() defined in CredentialStorageSoup.cpp · da5702cb
      dbates@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=71825
      
      Reviewed by Martin Robinson.
      
      CredentialStorage::get() is implemented in CredentialStorage.cpp. And CredentialStorage.cpp
      provides the base implementation for each platform. We shouldn't re-define
      CredentialStorage::get() in CredentialStorageSoup.cpp.
      
      * GNUmakefile.list.am: Add source file CredentialStorage.cpp.
      * platform/network/soup/CredentialStorageSoup.cpp: Remove re-definition of CredentialStorage::get().
      CredentialStorage::get() is defined in CredentialStorage.cpp.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99596 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      da5702cb
    • rolandsteiner@chromium.org's avatar
      Rename CSS document() -> findDocument(), to indicate tree climbing · d4ecb97f
      rolandsteiner@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=71764
      
      Renamed document() to findDocument(), styleSheetOwnerNode() to findStyleSheetOwnerNode().
      
      Reviewed by Darin Adler.
      
      No new tests. (simple refactoring)
      
      * css/CSSGrammar.y:
      * css/CSSImportRule.cpp:
      (WebCore::CSSImportRule::setCSSStyleSheet):
      (WebCore::CSSImportRule::requestStyleSheet):
      * css/CSSMutableStyleDeclaration.cpp:
      (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
      * css/CSSParser.cpp:
      (WebCore::parseColorValue):
      (WebCore::parseSimpleLengthValue):
      (WebCore::CSSParser::setStyleSheet):
      (WebCore::CSSParser::findDocument):
      (WebCore::CSSParser::parseAttr):
      * css/CSSParser.h:
      * css/CSSStyleRule.cpp:
      (WebCore::CSSStyleRule::setSelectorText):
      * css/CSSStyleSheet.cpp:
      (WebCore::CSSStyleSheet::cssRules):
      (WebCore::CSSStyleSheet::findStyleSheetOwnerNode):
      (WebCore::CSSStyleSheet::findDocument):
      (WebCore::CSSStyleSheet::styleSheetChanged):
      * css/CSSStyleSheet.h:
      * inspector/InspectorCSSAgent.cpp:
      (WebCore::InspectorCSSAgent::bindStyleSheet):
      * inspector/InspectorStyleSheet.cpp:
      (WebCore::InspectorStyleSheet::ownerDocument):
      * page/PageSerializer.cpp:
      (WebCore::PageSerializer::serializeCSSStyleSheet):
      (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d4ecb97f
    • rniwa@webkit.org's avatar
      Indent command can insert block quote in non editable content · da5ac7a5
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=71754
      
      Reviewed by Enrica Casucci.
      
      Source/WebCore: 
      
      The bug was caused by IndentOutdentCommand's incorrectly using deprecatedNode to determine the outer block,
      not updating the start after inserting the targetBlockquote, and cloneParagraphUnderNewElement's cloning
      outerNode even if it was body. Fixed those bugs.
      
      Test: editing/execCommand/indent-images.html
            editing/execCommand/indent-images-2.html
            editing/execCommand/indent-images-3.html
      
      * editing/CompositeEditCommand.cpp:
      (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
      * editing/IndentOutdentCommand.cpp:
      (WebCore::IndentOutdentCommand::indentIntoBlockquote):
      
      LayoutTests: 
      
      Add tests to indent two images in a document.
      
      * editing/execCommand/indent-images-expected.txt: Added.
      * editing/execCommand/indent-images.html: Added.
      * editing/execCommand/indent-images-2-expected.txt: Added.
      * editing/execCommand/indent-images-2.html: Added.
      * editing/execCommand/indent-images-3-expected.txt: Added.
      * editing/execCommand/indent-images-3.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99594 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      da5ac7a5
    • adamk@chromium.org's avatar
      Only walk up the tree in search of MutationObservers if one has been added · f32db17c
      adamk@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=71499
      
      Reviewed by Ojan Vafai.
      
      Source/WebCore:
      
      Analogous to m_listenerTypes, added an m_subtreeMutationObserverTypes field
      to Document that keeps track of which observer types have been added.
      This allows us to avoid doing any extra work if MutationObservers are
      not attached to a document.
      
      This could be improved upon to keep a count of each type, as removing
      an observer currently has no effect on m_subtreeMutationObserverTypes.
      But that would require a more complex implementation: one counter per
      mutation type. And it would be easier to get wrong: if the counter
      gets out of sync with the actual state of the DOM, we could start
      dropping mutation notifications.
      
      Test: fast/mutation/cross-document.html
      
      * dom/Document.h:
      (WebCore::Document::hasSubtreeMutationObserverOfType):
      (WebCore::Document::hasSubtreeMutationObserver):
      (WebCore::Document::addSubtreeMutationObserverTypes):
      * dom/MutationObserverRegistration.h:
      (WebCore::MutationObserverRegistration::isSubtree):
      (WebCore::MutationObserverRegistration::deliveryOptions):
      (WebCore::MutationObserverRegistration::mutationTypes):
      * dom/Node.cpp:
      (WebCore::Node::didMoveToNewOwnerDocument): Update mutationObserverTypes when a Node is moved to a new document.
      (WebCore::Node::getRegisteredMutationObserversOfType): Exit early if it's known that no observers of |type| are registered.
      (WebCore::Node::notifyMutationObserversNodeWillDetach): Exit early if it's known no subtree observers of any type are registered.
      * dom/WebKitMutationObserver.cpp:
      (WebCore::WebKitMutationObserver::observe): Update mutationObserverTypes when an observation occurs.
      * dom/WebKitMutationObserver.h: Add WebKitMutationObserver::AllMutationTypes to enum
      
      LayoutTests:
      
      Created a basic test showing that MutationObservers
      are preserved when a Node switches documents.
      
      * fast/mutation/cross-document-expected.txt: Added.
      * fast/mutation/cross-document.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99593 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f32db17c
    • andreas.kling@nokia.com's avatar
      Devirtualize CSSValue. · a5eb3c54
      andreas.kling@nokia.com authored
      <http://webkit.org/b/71666>
      
      Reviewed by Antti Koivisto.
      
      Make the CSSValue destructor non-virtual (along with all the subclasses.)
      This removes the vtables, and the pointers thereto in each value instance,
      shrinking each object by one CPU word (4 or 8 bytes.)
      
      We use the same trick as CSSRule to implement destruction; providing our
      own deref() instead of RefCounted's, and performing a statically typed
      delete in a destroy() method called when the ref count reaches 0.
      
      Also made all the empty subclass destructors inline.
      
      * css/CSSAspectRatioValue.cpp:
      * css/CSSAspectRatioValue.h:
      (WebCore::CSSAspectRatioValue::~CSSAspectRatioValue):
      * css/CSSBorderImageSliceValue.cpp:
      * css/CSSBorderImageSliceValue.h:
      (WebCore::CSSBorderImageSliceValue::~CSSBorderImageSliceValue):
      * css/CSSBorderImageValue.cpp:
      * css/CSSBorderImageValue.h:
      (WebCore::CSSBorderImageValue::~CSSBorderImageValue):
      * css/CSSCanvasValue.h:
      * css/CSSCrossfadeValue.cpp:
      * css/CSSCrossfadeValue.h:
      (WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
      * css/CSSCursorImageValue.h:
      * css/CSSFlexValue.cpp:
      * css/CSSFlexValue.h:
      (WebCore::CSSFlexValue::~CSSFlexValue):
      * css/CSSFontFaceSrcValue.cpp:
      * css/CSSFontFaceSrcValue.h:
      (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
      * css/CSSFunctionValue.cpp:
      * css/CSSFunctionValue.h:
      (WebCore::CSSFunctionValue::~CSSFunctionValue):
      * css/CSSImageGeneratorValue.h:
      * css/CSSImageValue.h:
      * css/CSSMutableValue.h:
      (WebCore::CSSMutableValue::~CSSMutableValue):
      * css/CSSParserValues.h:
      * css/CSSPrimitiveValue.h:
      * css/CSSUnicodeRangeValue.cpp:
      * css/CSSUnicodeRangeValue.h:
      (WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue):
      * css/CSSValue.cpp:
      (WebCore::CSSValue::destroy):
      * css/CSSValue.h:
      (WebCore::CSSValue::deref):
      (WebCore::CSSValue::~CSSValue):
      * css/CSSValueList.cpp:
      * css/CSSValueList.h:
      (WebCore::CSSValueList::~CSSValueList):
      * css/WebKitCSSFilterValue.cpp:
      * css/WebKitCSSFilterValue.h:
      (WebCore::WebKitCSSFilterValue::~WebKitCSSFilterValue):
      * css/WebKitCSSTransformValue.cpp:
      * css/WebKitCSSTransformValue.h:
      (WebCore::WebKitCSSTransformValue::~WebKitCSSTransformValue):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99592 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a5eb3c54
    • darin@apple.com's avatar
      Speculative fix for crashes seen in DocumentWriter::deprecatedFrameEncoding · 1d09b424
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=71828
      
      Reviewed by Nate Chapin.
      
      No new tests; not sure how to reproduce this, but crash traces indicate it
      is an otherwise-harmless null dereference.
      
      * loader/DocumentWriter.cpp:
      (WebCore::DocumentWriter::deprecatedFrameEncoding):
      Handle null document the same as a document without a URL.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99591 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1d09b424
    • ojan@chromium.org's avatar
      Move regressions from V8 roll to from the downstream expectations file. · 1c18e8c3
      ojan@chromium.org authored
      Add regressions from http://trac.webkit.org/changeset/99561.
      
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99590 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1c18e8c3
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r95720. · 866a6bea
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/95720
      https://bugs.webkit.org/show_bug.cgi?id=71831
      
      This has made the menulists on WebKit patch reviews much less
      usable (Requested by mrobinson on #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-11-08
      
      * platform/gtk/GtkPopupMenu.cpp:
      (WebCore::GtkPopupMenu::menuPositionFunction):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99589 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      866a6bea
    • thakis@chromium.org's avatar
      [chromium] Remove 6 exit time destructors and 6 static initializers · 88b91733
      thakis@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=71760
      
      Reviewed by Nate Chapin.
      
      Do this by moving global statics into function-local statics, and using
      DEFINE_LOCAL_STATIC to leak them. Since this code is accessed on a single
      thread, this is a safe change to make.
      
      No behavior change, so no new tests.
      
      * bindings/v8/ScriptGCEvent.cpp:
      (WebCore::sEventListeners):
      (WebCore::ScriptGCEvent::addEventListener):
      (WebCore::ScriptGCEvent::removeEventListener):
      (WebCore::ScriptGCEvent::gcEpilogueCallback):
      * bindings/v8/ScriptGCEvent.h:
      * bindings/v8/V8NPObject.cpp:
      (WebCore::staticTemplateMap):
      (WebCore::weakTemplateCallback):
      (WebCore::npObjectGetProperty):
      (WebCore::staticNPObjectMap):
      (WebCore::weakNPObjectCallback):
      (WebCore::createV8ObjectForNPObject):
      (WebCore::forgetV8ObjectForNPObject):
      * bindings/v8/V8Proxy.cpp:
      (WebCore::staticExtensionsList):
      (WebCore::V8Proxy::registeredExtensionWithV8):
      (WebCore::V8Proxy::registerExtension):
      (WebCore::V8Proxy::extensions):
      * bindings/v8/V8Proxy.h:
      * bindings/v8/npruntime.cpp:
      * plugins/chromium/PluginDataChromium.cpp:
      (WebCore::pluginCache):
      (WebCore::PluginData::initPlugins):
      (WebCore::PluginData::refresh):
      (WebCore::getPluginMimeTypeFromExtension):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99588 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      88b91733
    • tony@chromium.org's avatar
      [chromium] broaden test failure for zoom-animator-scale-test2.html to include cg-gpu. · feeb99b8
      tony@chromium.org authored
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99587 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      feeb99b8