1. 15 Apr, 2011 40 commits
    • jberlin@webkit.org's avatar
      Hang underneath ApplicationCacheStorage::writeDataToUniqueFileInDirectory when loading · 85f284b2
      jberlin@webkit.org authored
      http://www.webkit.org/demos/calendar.
      https://bugs.webkit.org/show_bug.cgi?id=58698
      
      Reviewed by Brian Weinstein.
      
      * platform/win/FileSystemWin.cpp:
      (WebCore::openFile):
      Add breaks to the case statement.
      (WebCore::directoryName):
      Remove any trailing slash in directoryName. After closer inspection of all callers, it
      appears the that callers do not need the trailing slash, and those that use the length do
      so only to change the direction of the slashes throughout the length of the path.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84051 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      85f284b2
    • rolandsteiner@chromium.org's avatar
      2011-04-15 Roland Steiner <rolandsteiner@chromium.org> · 9fb65cb3
      rolandsteiner@chromium.org authored
              Reviewed by Dimitri Glazkov.
      
              Bug 52963 - Enable O(1) access to root from any node in shadow DOM subtree
              https://bugs.webkit.org/show_bug.cgi?id=52963
      
              .) Change base class of ShadowRoot from DocumentFragment to TreeScope.
              .) Re-enable tree scope handling in Node (had ASSERT_NOT_REACHED, etc.).
              .) Merged setTreeScope() with setTreeScopeRecursively()
              .) Call setTreeScopeRecursively in DOM manipulation functions where applicable.
      
              No new tests. (refactoring)
      
              * dom/ContainerNode.cpp:
              (WebCore::ContainerNode::takeAllChildrenFrom):
              (WebCore::ContainerNode::removeBetween):
              (WebCore::ContainerNode::removeChildren):
              (WebCore::ContainerNode::parserAddChild):
              * dom/Document.cpp:
              (WebCore::Document::Document):
              (WebCore::Document::~Document):
              (WebCore::Document::setDocType):
              * dom/Element.h:
              * dom/Node.cpp:
              (WebCore::Node::treeScope):
              (WebCore::Node::setTreeScopeRecursively):
              * dom/Node.h:
              (WebCore::Node::document):
              * dom/ShadowRoot.cpp:
              (WebCore::ShadowRoot::ShadowRoot):
              (WebCore::ShadowRoot::~ShadowRoot):
              (WebCore::ShadowRoot::nodeType):
              (WebCore::ShadowRoot::cloneNode):
              (WebCore::ShadowRoot::childTypeAllowed):
              * dom/ShadowRoot.h:
              (WebCore::toShadowRoot):
              * dom/TreeScope.cpp:
              (WebCore::TreeScope::TreeScope):
              (WebCore::TreeScope::setParentTreeScope):
              * dom/TreeScope.h:
              * rendering/RenderSlider.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84050 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9fb65cb3
    • ggaren@apple.com's avatar
      2011-04-15 Geoffrey Garen <ggaren@apple.com> · ca362019
      ggaren@apple.com authored
              Reviewed by Oliver Hunt.
      
              DOM object handles are never removed from cache
              https://bugs.webkit.org/show_bug.cgi?id=58707
      
              We were trying to remove hash table items by value instead of by key.
      
              * bindings/js/DOMWrapperWorld.cpp:
              (WebCore::JSNodeHandleOwner::finalize): Changed to work more like
              DOMObjectHandleOwner::finalize because I'm going to merge them.
      
              (WebCore::DOMObjectHandleOwner::finalize): Remove hash table items
              by key, not value. (Oops!) Use a helper function to make sure we get
              this right.
      
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::cacheDOMObjectWrapper): Store the hash table key as our weak
              handle context, so we can use it at destruction time.
      
              * bindings/js/JSDOMBinding.h: Removed unnecessary include.
      
              * bindings/js/JSNodeCustom.h:
              (WebCore::cacheDOMNodeWrapper): Store the hash table key as our weak
              handle context, so we can use it at destruction time.
      
              * bindings/js/ScriptWrappable.h:
              (WebCore::ScriptWrappable::setWrapper): Forward context parameter, to
              support the above.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84049 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ca362019
    • commit-queue@webkit.org's avatar
      2011-04-15 Fridrich Strba <fridrich.strba@bluewin.ch> · 48f3ae6c
      commit-queue@webkit.org authored
              Reviewed by Gavin Barraclough.
      
              Correctly prefix symbols. Since gcc 4.5.0, Windows x64 symbols
              are not prefixed by underscore anymore. This is consistent with
              what MSVC does.
              https://bugs.webkit.org/show_bug.cgi?id=58573
      
              * jit/JITStubs.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      48f3ae6c
    • kbr@google.com's avatar
      2011-04-15 Kenneth Russell <kbr@google.com> · ee6b4a98
      kbr@google.com authored
              Unreviewed. Chromium Linux Release build fix due to unused variables.
      
              * platform/audio/mkl/FFTFrameMKL.cpp:
              (WebCore::FFTFrame::doFFT):
              (WebCore::FFTFrame::doInverseFFT):
              (WebCore::FFTFrame::cleanup):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ee6b4a98
    • barraclough@apple.com's avatar
      Bug 58705 - DFG JIT Add support for flow control (branch, jump). · e23e0406
      barraclough@apple.com authored
      Reviewed by Geoff Garen.
      
      Add support for control flow by breaking the CodeBlock up into multiple
      basic blocks, generating code for each basic block in turn through the
      speculative JIT & then the non-speculative JIT.
      
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::setTemporary):
      (JSC::DFG::ByteCodeParser::addToGraph):
      (JSC::DFG::ByteCodeParser::parseBlock):
      (JSC::DFG::ByteCodeParser::parse):
      * dfg/DFGGraph.cpp:
      (JSC::DFG::Graph::dump):
      * dfg/DFGGraph.h:
      (JSC::DFG::BasicBlock::BasicBlock):
      (JSC::DFG::BasicBlock::getBytecodeOffset):
      (JSC::DFG::Graph::blockIndexForBytecodeOffset):
      * dfg/DFGJITCodeGenerator.h:
      (JSC::DFG::JITCodeGenerator::JITCodeGenerator):
      (JSC::DFG::JITCodeGenerator::addBranch):
      (JSC::DFG::JITCodeGenerator::linkBranches):
      (JSC::DFG::JITCodeGenerator::BranchRecord::BranchRecord):
      * dfg/DFGNode.h:
      (JSC::DFG::Node::Node):
      (JSC::DFG::Node::isJump):
      (JSC::DFG::Node::isBranch):
      (JSC::DFG::Node::takenBytecodeOffset):
      (JSC::DFG::Node::notTakenBytecodeOffset):
      * dfg/DFGNonSpeculativeJIT.cpp:
      (JSC::DFG::NonSpeculativeJIT::compile):
      * dfg/DFGNonSpeculativeJIT.h:
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84045 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e23e0406
    • bfulgham@webkit.org's avatar
      Unreviewed build change after r83945. · 8c059067
      bfulgham@webkit.org authored
      New 'PlatformPathCairo.cpp' was not added to the WinCairo build.
      
      * WebCore.vcproj/WebCore.vcproj: Add missing file to WinCairo
        build.  Exclude for standard Apple build.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8c059067
    • andersca@apple.com's avatar
      Add API to get the bundle page overlay fade in fraction. · 3b0bdc4d
      andersca@apple.com authored
      Reviewed by Sam Weinig.
      
      * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
      (WKBundlePageOverlayFractionFadedIn):
      * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84043 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3b0bdc4d
    • andersca@apple.com's avatar
      2011-04-15 Anders Carlsson <andersca@apple.com> · 7b9c1516
      andersca@apple.com authored
              Reviewed by Dan Bernstein.
      
              Fade the find page overlay
              https://bugs.webkit.org/show_bug.cgi?id=58697
      
              Add a symbol that WebKit2 needs.
      
              * WebCore.exp.in:
      2011-04-15  Anders Carlsson  <andersca@apple.com>
      
              Reviewed by Dan Bernstein.
      
              Fade the find page overlay
              https://bugs.webkit.org/show_bug.cgi?id=58697
      
              * WebProcess/WebPage/FindController.cpp:
              Make the color components floats.
      
              (WebKit::overlayBackgroundColor):
              (WebKit::holeShadowColor):
              (WebKit::holeFillColor):
              Add helper functions for returning the colors given the fraction faded in.
      
              (WebKit::FindController::drawRect):
              Use the new helper functions.
      
              * WebProcess/WebPage/WebPage.cpp:
              (WebKit::WebPage::installPageOverlay):
              Start the fade animation unless we're replacing an already existing page overlay
              with another.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84042 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7b9c1516
    • barraclough@apple.com's avatar
      Bug 58701 - DFG JIT - add GetLocal/SetLocal nodes · 5540b565
      barraclough@apple.com authored
      Reviewed by Geoff Garen.
      
      Use these for both access to arguments & local variables, adds ability
      to set locals, such that values will persist between basic blocks.
      
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::ByteCodeParser):
      (JSC::DFG::ByteCodeParser::get):
      (JSC::DFG::ByteCodeParser::set):
      (JSC::DFG::ByteCodeParser::getVariable):
      (JSC::DFG::ByteCodeParser::setVariable):
      (JSC::DFG::ByteCodeParser::getArgument):
      (JSC::DFG::ByteCodeParser::setArgument):
      (JSC::DFG::ByteCodeParser::getThis):
      (JSC::DFG::ByteCodeParser::setThis):
      (JSC::DFG::ByteCodeParser::VariableRecord::VariableRecord):
      (JSC::DFG::ByteCodeParser::parseBlock):
      * dfg/DFGGraph.cpp:
      (JSC::DFG::Graph::dump):
      (JSC::DFG::Graph::derefChildren):
      * dfg/DFGGraph.h:
      (JSC::DFG::Graph::ref):
      (JSC::DFG::Graph::deref):
      * dfg/DFGNode.h:
      (JSC::DFG::Node::hasLocal):
      (JSC::DFG::Node::local):
      * dfg/DFGNonSpeculativeJIT.cpp:
      (JSC::DFG::NonSpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5540b565
    • morrita@google.com's avatar
      2011-04-15 MORITA Hajime <morrita@google.com> · 7403e021
      morrita@google.com authored
              Reviewed by Dimitri Glazkov.
      
              RenderDetailsMarker should belong to shadow element.
              https://bugs.webkit.org/show_bug.cgi?id=58591
      
              * Render tree structure has changed.
              * Changed style rule on details-writing-mode.html to avoid to hit shadow CSS leak bug.
      
              * fast/html/details-writing-mode.html:
              * platform/chromium/test_expectations.txt:
              * platform/mac/fast/html/details-add-summary-1-and-click-expected.checksum:
              * platform/mac/fast/html/details-add-summary-1-and-click-expected.png:
              * platform/mac/fast/html/details-add-summary-1-and-click-expected.txt:
              * platform/mac/fast/html/details-add-summary-1-expected.checksum:
              * platform/mac/fast/html/details-add-summary-1-expected.png:
              * platform/mac/fast/html/details-add-summary-1-expected.txt:
              * platform/mac/fast/html/details-add-summary-10-and-click-expected.checksum:
              * platform/mac/fast/html/details-add-summary-10-and-click-expected.png:
              * platform/mac/fast/html/details-add-summary-10-and-click-expected.txt:
              * platform/mac/fast/html/details-add-summary-10-expected.checksum:
              * platform/mac/fast/html/details-add-summary-10-expected.png:
              * platform/mac/fast/html/details-add-summary-10-expected.txt:
              * platform/mac/fast/html/details-add-summary-2-and-click-expected.checksum:
              * platform/mac/fast/html/details-add-summary-2-and-click-expected.png:
              * platform/mac/fast/html/details-add-summary-2-and-click-expected.txt:
              * platform/mac/fast/html/details-add-summary-2-expected.checksum:
              * platform/mac/fast/html/details-add-summary-2-expected.png:
              * platform/mac/fast/html/details-add-summary-2-expected.txt:
              * platform/mac/fast/html/details-add-summary-3-and-click-expected.checksum:
              * platform/mac/fast/html/details-add-summary-3-and-click-expected.png:
              * platform/mac/fast/html/details-add-summary-3-and-click-expected.txt:
              * platform/mac/fast/html/details-add-summary-3-expected.checksum:
              * platform/mac/fast/html/details-add-summary-3-expected.png:
              * platform/mac/fast/html/details-add-summary-3-expected.txt:
              * platform/mac/fast/html/details-add-summary-4-and-click-expected.checksum:
              * platform/mac/fast/html/details-add-summary-4-and-click-expected.png:
              * platform/mac/fast/html/details-add-summary-4-and-click-expected.txt:
              * platform/mac/fast/html/details-add-summary-4-expected.checksum:
              * platform/mac/fast/html/details-add-summary-4-expected.png:
              * platform/mac/fast/html/details-add-summary-4-expected.txt:
              * platform/mac/fast/html/details-add-summary-5-and-click-expected.checksum:
              * platform/mac/fast/html/details-add-summary-5-and-click-expected.png:
              * platform/mac/fast/html/details-add-summary-5-and-click-expected.txt:
              * platform/mac/fast/html/details-add-summary-5-expected.checksum:
              * platform/mac/fast/html/details-add-summary-5-expected.png:
              * platform/mac/fast/html/details-add-summary-5-expected.txt:
              * platform/mac/fast/html/details-add-summary-6-and-click-expected.checksum:
              * platform/mac/fast/html/details-add-summary-6-and-click-expected.png:
              * platform/mac/fast/html/details-add-summary-6-and-click-expected.txt:
              * platform/mac/fast/html/details-add-summary-6-expected.checksum:
              * platform/mac/fast/html/details-add-summary-6-expected.png:
              * platform/mac/fast/html/details-add-summary-6-expected.txt:
              * platform/mac/fast/html/details-add-summary-7-and-click-expected.checksum:
              * platform/mac/fast/html/details-add-summary-7-and-click-expected.png:
              * platform/mac/fast/html/details-add-summary-7-and-click-expected.txt:
              * platform/mac/fast/html/details-add-summary-7-expected.checksum:
              * platform/mac/fast/html/details-add-summary-7-expected.png:
              * platform/mac/fast/html/details-add-summary-7-expected.txt:
              * platform/mac/fast/html/details-add-summary-8-and-click-expected.checksum:
              * platform/mac/fast/html/details-add-summary-8-and-click-expected.png:
              * platform/mac/fast/html/details-add-summary-8-and-click-expected.txt:
              * platform/mac/fast/html/details-add-summary-8-expected.checksum:
              * platform/mac/fast/html/details-add-summary-8-expected.png:
              * platform/mac/fast/html/details-add-summary-8-expected.txt:
              * platform/mac/fast/html/details-add-summary-9-and-click-expected.checksum:
              * platform/mac/fast/html/details-add-summary-9-and-click-expected.png:
              * platform/mac/fast/html/details-add-summary-9-and-click-expected.txt:
              * platform/mac/fast/html/details-add-summary-9-expected.checksum:
              * platform/mac/fast/html/details-add-summary-9-expected.png:
              * platform/mac/fast/html/details-add-summary-9-expected.txt:
              * platform/mac/fast/html/details-no-summary1-expected.checksum:
              * platform/mac/fast/html/details-no-summary1-expected.png:
              * platform/mac/fast/html/details-no-summary1-expected.txt:
              * platform/mac/fast/html/details-no-summary2-expected.checksum:
              * platform/mac/fast/html/details-no-summary2-expected.png:
              * platform/mac/fast/html/details-no-summary2-expected.txt:
              * platform/mac/fast/html/details-no-summary3-expected.checksum:
              * platform/mac/fast/html/details-no-summary3-expected.png:
              * platform/mac/fast/html/details-no-summary3-expected.txt:
              * platform/mac/fast/html/details-no-summary4-expected.checksum:
              * platform/mac/fast/html/details-no-summary4-expected.png:
              * platform/mac/fast/html/details-no-summary4-expected.txt:
              * platform/mac/fast/html/details-open-javascript-expected.checksum:
              * platform/mac/fast/html/details-open-javascript-expected.png:
              * platform/mac/fast/html/details-open-javascript-expected.txt:
              * platform/mac/fast/html/details-open1-expected.checksum:
              * platform/mac/fast/html/details-open1-expected.png:
              * platform/mac/fast/html/details-open1-expected.txt:
              * platform/mac/fast/html/details-open2-expected.checksum:
              * platform/mac/fast/html/details-open2-expected.png:
              * platform/mac/fast/html/details-open2-expected.txt:
              * platform/mac/fast/html/details-open3-expected.checksum:
              * platform/mac/fast/html/details-open3-expected.png:
              * platform/mac/fast/html/details-open3-expected.txt:
              * platform/mac/fast/html/details-open4-expected.checksum:
              * platform/mac/fast/html/details-open4-expected.png:
              * platform/mac/fast/html/details-open4-expected.txt:
              * platform/mac/fast/html/details-open5-expected.checksum:
              * platform/mac/fast/html/details-open5-expected.png:
              * platform/mac/fast/html/details-open5-expected.txt:
              * platform/mac/fast/html/details-open6-expected.checksum:
              * platform/mac/fast/html/details-open6-expected.png:
              * platform/mac/fast/html/details-open6-expected.txt:
              * platform/mac/fast/html/details-position-expected.checksum:
              * platform/mac/fast/html/details-position-expected.png:
              * platform/mac/fast/html/details-position-expected.txt:
              * platform/mac/fast/html/details-remove-summary-1-and-click-expected.checksum:
              * platform/mac/fast/html/details-remove-summary-1-and-click-expected.png:
              * platform/mac/fast/html/details-remove-summary-1-and-click-expected.txt:
              * platform/mac/fast/html/details-remove-summary-1-expected.checksum:
              * platform/mac/fast/html/details-remove-summary-1-expected.png:
              * platform/mac/fast/html/details-remove-summary-1-expected.txt:
              * platform/mac/fast/html/details-remove-summary-2-and-click-expected.checksum:
              * platform/mac/fast/html/details-remove-summary-2-and-click-expected.png:
              * platform/mac/fast/html/details-remove-summary-2-and-click-expected.txt:
              * platform/mac/fast/html/details-remove-summary-2-expected.checksum:
              * platform/mac/fast/html/details-remove-summary-2-expected.png:
              * platform/mac/fast/html/details-remove-summary-2-expected.txt:
              * platform/mac/fast/html/details-remove-summary-3-and-click-expected.checksum:
              * platform/mac/fast/html/details-remove-summary-3-and-click-expected.png:
              * platform/mac/fast/html/details-remove-summary-3-and-click-expected.txt:
              * platform/mac/fast/html/details-remove-summary-3-expected.checksum:
              * platform/mac/fast/html/details-remove-summary-3-expected.png:
              * platform/mac/fast/html/details-remove-summary-3-expected.txt:
              * platform/mac/fast/html/details-remove-summary-4-and-click-expected.checksum:
              * platform/mac/fast/html/details-remove-summary-4-and-click-expected.png:
              * platform/mac/fast/html/details-remove-summary-4-and-click-expected.txt:
              * platform/mac/fast/html/details-remove-summary-4-expected.checksum:
              * platform/mac/fast/html/details-remove-summary-4-expected.png:
              * platform/mac/fast/html/details-remove-summary-4-expected.txt:
              * platform/mac/fast/html/details-remove-summary-5-and-click-expected.checksum:
              * platform/mac/fast/html/details-remove-summary-5-and-click-expected.png:
              * platform/mac/fast/html/details-remove-summary-5-and-click-expected.txt:
              * platform/mac/fast/html/details-remove-summary-5-expected.checksum:
              * platform/mac/fast/html/details-remove-summary-5-expected.png:
              * platform/mac/fast/html/details-remove-summary-5-expected.txt:
              * platform/mac/fast/html/details-remove-summary-6-and-click-expected.checksum:
              * platform/mac/fast/html/details-remove-summary-6-and-click-expected.png:
              * platform/mac/fast/html/details-remove-summary-6-and-click-expected.txt:
              * platform/mac/fast/html/details-remove-summary-6-expected.checksum:
              * platform/mac/fast/html/details-remove-summary-6-expected.png:
              * platform/mac/fast/html/details-remove-summary-6-expected.txt:
              * platform/mac/fast/html/details-writing-mode-expected.checksum:
              * platform/mac/fast/html/details-writing-mode-expected.png:
              * platform/mac/fast/html/details-writing-mode-expected.txt:
      2011-04-15  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Dimitri Glazkov.
      
              RenderDetailsMarker should belong to shadow element.
              https://bugs.webkit.org/show_bug.cgi?id=58591
      
              - Introduced DetailsMarkerControl element, which is a shadow element of <summary>, creates RenderDetailsMarker.
              - Removed custom layout code from RenderDetails, RenderDetailsMarker, which is now done by usual CSS layout.
                Note that marker size is given via style for -webkit-details-marker pseudo class.
              - Converted default summary implementation from pure-renderer style to shadow of HTMLDetailsElement.
                Now RenderDetails knows nothing about default summary.
              - Moved event handling code from HTMLDetailsElement to HTMLSummaryElement because now the marker is always child of
                <summary>, and the clickable area is now <summary> itself.
      
              - Note that the rendering result is changed due to the conversion from custom layout code to usual CSS styling.
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.list.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * css/html.css:
              (summary::-webkit-details-marker):
              * dom/Element.cpp:
              (WebCore::Element::attach):
              * dom/Node.cpp:
              (WebCore::shouldCreateRendererFor):
              * dom/Node.h:
              (WebCore::Node::canHaveLightChildRendererWithShadow):
              * html/HTMLDetailsElement.cpp:
              (WebCore::HTMLDetailsElement::findSummaryFor):
              (WebCore::HTMLDetailsElement::findMainSummary):
              (WebCore::HTMLDetailsElement::refreshMainSummary):
              (WebCore::HTMLDetailsElement::createShadowSubtree):
              (WebCore::HTMLDetailsElement::childrenChanged):
              (WebCore::HTMLDetailsElement::finishParsingChildren):
              (WebCore::HTMLDetailsElement::toggleOpen):
              * html/HTMLDetailsElement.h:
              (WebCore::HTMLDetailsElement::canHaveLightChildRendererWithShadow):
              * html/HTMLSummaryElement.cpp:
              (WebCore::HTMLSummaryElement::create):
              (WebCore::HTMLSummaryElement::createShadowSubtree):
              (WebCore::HTMLSummaryElement::detailsElement):
              (WebCore::HTMLSummaryElement::isMainSummary):
              (WebCore::HTMLSummaryElement::defaultEventHandler):
              * html/HTMLSummaryElement.h:
              (WebCore::HTMLSummaryElement::canHaveLightChildRendererWithShadow):
              * html/shadow/DetailsMarkerControl.cpp: Added.
              (WebCore::DetailsMarkerControl::DetailsMarkerControl):
              (WebCore::DetailsMarkerControl::createRenderer):
              (WebCore::DetailsMarkerControl::rendererIsNeeded):
              (WebCore::DetailsMarkerControl::shadowPseudoId):
              (WebCore::DetailsMarkerControl::summaryElement):
              * html/shadow/DetailsMarkerControl.h: Added.
              (WebCore::DetailsMarkerControl::create):
              * rendering/RenderDetails.cpp:
              (WebCore::RenderDetails::RenderDetails):
              (WebCore::RenderDetails::styleDidChange):
              (WebCore::RenderDetails::moveSummaryToContents):
              (WebCore::RenderDetails::checkMainSummary):
              (WebCore::RenderDetails::layout):
              * rendering/RenderDetails.h:
              * rendering/RenderDetailsMarker.cpp:
              (WebCore::RenderDetailsMarker::RenderDetailsMarker):
              (WebCore::RenderDetailsMarker::isOpen):
              (WebCore::RenderDetailsMarker::getPath):
              (WebCore::RenderDetailsMarker::paint):
              (WebCore::RenderDetailsMarker::details):
              * rendering/RenderDetailsMarker.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84039 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7403e021
    • barraclough@apple.com's avatar
      Bug 58696 - DFG JIT split handling of vars/temporaries · d2b6ae76
      barraclough@apple.com authored
      Reviewed by Sam Weinig.
      
      Presently all callee registers are treated as having single block scope,
      since the DFG JIT can only compile single block functions. In order to
      expand the JIT to support control flow we will need to change to retaining
      locals (but not temporaries) across basic block boundaries.
      
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::ByteCodeParser):
      (JSC::DFG::ByteCodeParser::get):
      (JSC::DFG::ByteCodeParser::set):
      (JSC::DFG::ByteCodeParser::getVariable):
      (JSC::DFG::ByteCodeParser::setVariable):
      (JSC::DFG::ByteCodeParser::getTemporary):
      (JSC::DFG::ByteCodeParser::setTemporary):
      (JSC::DFG::ByteCodeParser::getArgument):
      (JSC::DFG::ByteCodeParser::getInt32Constant):
      (JSC::DFG::ByteCodeParser::getDoubleConstant):
      (JSC::DFG::ByteCodeParser::getJSConstant):
      (JSC::DFG::ByteCodeParser::constantUndefined):
      (JSC::DFG::ByteCodeParser::constantNull):
      (JSC::DFG::ByteCodeParser::one):
      (JSC::DFG::ByteCodeParser::parseBlock):
      (JSC::DFG::ByteCodeParser::parse):
      (JSC::DFG::parse):
      * dfg/DFGNode.h:
      * dfg/DFGScoreBoard.h:
      (JSC::DFG::ScoreBoard::ScoreBoard):
      (JSC::DFG::ScoreBoard::~ScoreBoard):
      (JSC::DFG::ScoreBoard::allocate):
      (JSC::DFG::ScoreBoard::use):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d2b6ae76
    • andersca@apple.com's avatar
      Fix Windows build. · 6eb41d99
      andersca@apple.com authored
      * WebProcess/WebPage/PageOverlay.cpp:
      (WebKit::PageOverlay::fadeAnimationTimerFired):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6eb41d99
    • andersca@apple.com's avatar
      2011-04-15 Anders Carlsson <andersca@apple.com> · 28139bfc
      andersca@apple.com authored
              Reviewed by Sam Weinig.
      
              Add the ability for PageOverlays to fade in and out
              https://bugs.webkit.org/show_bug.cgi?id=58694
      
              * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
              (WKBundlePageUninstallPageOverlay):
              WebPage::uninstallPageOverlay now takes a boolean. Default to false for now.
      
              * WebProcess/WebPage/FindController.cpp:
              (WebKit::FindController::findString):
              Pass false to uninstallPageOverlay.
      
              (WebKit::FindController::hideFindUI):
              Pass true to uninstallPageOverlay.
              
              * WebProcess/WebPage/PageOverlay.cpp:
              (WebKit::PageOverlay::PageOverlay):
              Initialize new member variables.
      
              (WebKit::PageOverlay::bounds):
              Get rid of an unnecessary webPage() getter.
      
              (WebKit::PageOverlay::setPage):
              Stop the animation timer.
      
              (WebKit::PageOverlay::startFadeInAnimation):
              Update m_fractionFadedIn and call startFadeAnimation.
      
              (WebKit::PageOverlay::startFadeOutAnimation):
              Ditto.
              
              (WebKit::PageOverlay::startFadeAnimation):
              Initialize m_fadeAnimationStartTime and start the fade animation timer.
      
              (WebKit::PageOverlay::fadeAnimationTimerFired):
              Update m_fractionFadedIn and call setNeedsDisplay().
      
              * WebProcess/WebPage/PageOverlay.h:
              * WebProcess/WebPage/WebPage.cpp:
              (WebKit::WebPage::uninstallPageOverlay):
              If fadeOut is true, tell the page overlay to start the fade out animation.
              When the fade animation is complete, the page overlay will uninstall itself.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      28139bfc
    • weinig@apple.com's avatar
      2011-04-15 Sam Weinig <sam@webkit.org> · e5405800
      weinig@apple.com authored
              Reviewed by Adam Roben.
      
              Implement localize strings for windows WebKit2
              https://bugs.webkit.org/show_bug.cgi?id=58688
      
              * platform/win/LocalizedStringsWin.cpp:
              (WebCore::createWebKitBundle):
              (WebCore::webKitBundle):
              (WebCore::localizedString):
              Add implementation of localizedString for Windows.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e5405800
    • msaboff@apple.com's avatar
      Fixing build. · b255a529
      msaboff@apple.com authored
          Inadvertantly checked in 
          Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig
          instead of Source/JavaScriptCore/JavaScriptCore.exp
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84032 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b255a529
    • msaboff@apple.com's avatar
      2011-04-15 Michael Saboff <msaboff@apple.com> · 7674db8c
      msaboff@apple.com authored
              Reviewed by Oliver Hunt.
      
              globalObject moved to JSObjectWithGlobalObject.cpp inhibits inlining
              https://bugs.webkit.org/show_bug.cgi?id=58677
      
              Moved JSObjectWithGlobalObject::globalObject() to 
              runtime/JSObjectWithGlobalObject.h to allow the compiler to inline
              it for a performance benefit.  An equivalent instance had been in
              a header file before r60057.
      
              * JavaScriptCore.exp:
              * runtime/JSObjectWithGlobalObject.cpp:
              * runtime/JSObjectWithGlobalObject.h:
              (JSC::JSObjectWithGlobalObject::globalObject):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7674db8c
    • ggaren@apple.com's avatar
      2011-04-15 Geoffrey Garen <ggaren@apple.com> · 95a80e24
      ggaren@apple.com authored
              Reviewed by Oliver Hunt.
      
              Some mechanical DOM wrapper cleanup
              https://bugs.webkit.org/show_bug.cgi?id=58689
      
              * WebCore.exp.in: Export!
      
              * bindings/js/DOMWrapperWorld.cpp:
              (WebCore::isReachableFromDOM): Inverted the inDocument test to make the
              relationship of the special cases to the normal case clearer.
      
              * bindings/js/JSArrayBufferViewHelper.h:
              (WebCore::toJSArrayBufferView):
              * bindings/js/JSCSSRuleCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSCSSValueCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::getCachedDOMObjectWrapper):
              (WebCore::cacheDOMObjectWrapper):
              * bindings/js/JSDOMBinding.h:
              (WebCore::createDOMObjectWrapper):
              (WebCore::getDOMObjectWrapper):
              (WebCore::createDOMNodeWrapper):
              (WebCore::getDOMNodeWrapper): Changed DOM wrapper functions to operate
              in terms of DOMWrapperWorlds instead of ExecStates. This is clearer,
              and ever-so-slightly faster.
              
              Removed hasCachedXXX functions, now that they're unused.
      
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::history):
              (WebCore::JSDOMWindow::location):
              * bindings/js/JSDocumentCustom.cpp:
              (WebCore::JSDocument::location):
              (WebCore::toJS):
              * bindings/js/JSElementCustom.cpp:
              (WebCore::toJSNewlyCreated):
              * bindings/js/JSEventCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSHTMLCollectionCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSImageDataCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSNodeCustom.cpp:
              (WebCore::createWrapperInline):
              * bindings/js/JSNodeCustom.h:
              (WebCore::getCachedDOMNodeWrapper):
              (WebCore::cacheDOMNodeWrapper):
              (WebCore::toJS):
              * bindings/js/JSSVGPathSegCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSStyleSheetCustom.cpp:
              (WebCore::toJS): Updated for changes above.
      
              * xml/XMLHttpRequest.cpp:
              (WebCore::XMLHttpRequest::dropProtection): Removed use of hasCachedDOMObjectWrapper
              because XHR is almost always created and used by JavaScript, so it's
              simpler to just always report extra cost.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      95a80e24
    • andreas.kling@nokia.com's avatar
      2011-04-15 Andreas Kling <kling@webkit.org> · 7c3dbd43
      andreas.kling@nokia.com authored
              Rolling out accidental part of r84010.
      
              * platform/qt/RenderThemeQt.cpp:
              (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
              (WebCore::RenderThemeQt::setButtonPadding):
      2011-04-15  Andreas Kling  <kling@webkit.org>
      
              Rolling out accidental part of r84010.
      
              * fast/forms/button-line-break.html: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84025 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c3dbd43
    • oliver@apple.com's avatar
      Forgot windows build fix. · 030efbf3
      oliver@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      030efbf3
    • joepeck@webkit.org's avatar
      2011-04-15 Joseph Pecoraro <joepeck@webkit.org> · 390d0c41
      joepeck@webkit.org authored
              Reviewed by Yury Semikhatsky.
      
              Frontend Part of Web Inspector: Remote Web Inspector - Cross Platform InspectorServer
              https://bugs.webkit.org/show_bug.cgi?id=51364
      
              The front end should not use a transparent background when
              loaded as a web page (remote debugging) but should when loaded
              regularly in a custom window. This adds a "remote" style class
              onto the document body when the page is loaded remotely.
      
              * inspector/front-end/inspector.css:
              (body.detached.platform-mac-snowleopard:not(.remote) #toolbar): respect the "remote" class.
              * inspector/front-end/inspector.js: add a "remote" class on the body when loaded remotely.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84023 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      390d0c41
    • joepeck@webkit.org's avatar
      2011-04-15 Joseph Pecoraro <joepeck@webkit.org> · 1853cf7b
      joepeck@webkit.org authored
              Reviewed by David Kilzer.
      
              JSLock ASSERT seen often when using the inspector for long
              periods of time. We should take the JSLock whenever we
              might allocate memory in the JavaScript Heap.
      
              JSC InjectedScriptHost::nodeAsScriptValue should take JSLock before possible JavaScript Allocations
              https://bugs.webkit.org/show_bug.cgi?id=58674
      
              * bindings/js/JSInjectedScriptHostCustom.cpp:
              (WebCore::InjectedScriptHost::nodeAsScriptValue): take the JSLock.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84022 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1853cf7b
    • oliver@apple.com's avatar
      2011-04-14 Oliver Hunt <oliver@apple.com> · 887bd664
      oliver@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Make JSNodeFilterCondition handle its lifetime correctly
              https://bugs.webkit.org/show_bug.cgi?id=58622
      
              Add export
      
              * JavaScriptCore.exp:
      2011-04-14  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoffrey Garen.
      
              Make JSNodeFilterCondition handle its lifetime correctly
              https://bugs.webkit.org/show_bug.cgi?id=58622
      
              Switch over to a WeakHandle and external roots to keep the
              condition value live.
      
              * bindings/js/JSNodeFilterCondition.cpp:
              (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
              (WebCore::JSNodeFilterCondition::markAggregate):
              (WebCore::JSNodeFilterCondition::acceptNode):
              (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots):
              * bindings/js/JSNodeFilterCondition.h:
              (WebCore::JSNodeFilterCondition::create):
              * bindings/js/JSNodeFilterCustom.cpp:
              (WebCore::toNodeFilter):
              * bindings/scripts/CodeGeneratorJS.pm:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84021 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      887bd664
    • bweinstein@apple.com's avatar
      Views should be made visible before painting in WM_PRINTCLIENT messages · 8b27ff8e
      bweinstein@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=58676
      <rdar://problem/9279211>
      
      Reviewed by Adam Roben.
      
      * UIProcess/win/WebView.cpp:
      (WebKit::WebView::onPrintClientEvent): If our view isn't currently visible set it to visible
          before painting, then reset it back to not visible after painting.
      (WebKit::WebView::onShowWindowEvent): Call setIsVisible instead of duplicating logic.
      (WebKit::WebView::setIsVisible): Set the m_isVisible flag and call viewStateDidChange.
      * UIProcess/win/WebView.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84019 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8b27ff8e
    • luiz@webkit.org's avatar
      [Qt] QNetworkReplyHandler refactoring: some adjustments · 3721d90b
      luiz@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=57092
      
      Reviewed by Andreas Kling.
      
      - Removing flag m_redirected from QNetworkReplyHandler and using m_redirectionTargetUrl.isValid() instead.
      - Moving flag m_responseContainsData from QNetworkReplyHandler to the reply wrapper and removing the connection of
      signal metaDataChanged for m_responseContainsData to be consistent.
      - Using an OwnPtr to keep the reference to the QNetworkReplyWrapper.
      
      * platform/network/qt/QNetworkReplyHandler.cpp:
      (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
      (WebCore::QNetworkReplyWrapper::receiveMetaData):
      (WebCore::QNetworkReplyWrapper::didReceiveReadyRead):
      (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
      (WebCore::QNetworkReplyHandler::release):
      (WebCore::shouldIgnoreHttpError):
      (WebCore::QNetworkReplyHandler::finish):
      (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
      (WebCore::QNetworkReplyHandler::redirect):
      (WebCore::QNetworkReplyHandler::forwardData):
      * platform/network/qt/QNetworkReplyHandler.h:
      (WebCore::QNetworkReplyWrapper::responseContainsData):
      (WebCore::QNetworkReplyWrapper::redirected):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84018 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3721d90b
    • andersca@apple.com's avatar
      2011-04-15 Jon Lee <jonlee@apple.com> · f4a3560f
      andersca@apple.com authored
              Reviewed by Anders Carlsson.
      
              onClick does not function with <select> elements in WebKit2
              https://bugs.webkit.org/show_bug.cgi?id=57904
              <rdar://problem/9217757>
      
              Reviewed by Anders Carlsson.
      
              * Shared/NativeWebMouseEvent.h: Copied from Source/WebKit2/UIProcess/WebPopupMenuProxy.h.
              (WebKit::NativeWebMouseEvent::nativeEvent):
              * Shared/mac/NativeWebMouseEventMac.mm: Added.
              (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
              * Shared/qt/NativeWebMouseEventQt.cpp: Copied from Source/WebKit2/UIProcess/WebPopupMenuProxy.h.
              (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
              * Shared/win/NativeWebMouseEventWin.cpp: Copied from Source/WebKit2/UIProcess/WebPopupMenuProxy.h.
              (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
              * UIProcess/API/mac/WKView.mm:
              (-[WKView mouseMoved:]):
              (-[WKView _mouseHandler:]): Pre-compiler mouse handler calls need to use the new NativeWebMouseEvent class
              * UIProcess/API/qt/qwkpage.cpp:
              (QWKPagePrivate::mouseMoveEvent):
              (QWKPagePrivate::mousePressEvent):
              (QWKPagePrivate::mouseReleaseEvent):
              (QWKPagePrivate::mouseDoubleClickEvent):
              * UIProcess/WebPageProxy.cpp:
              (WebKit::WebPageProxy::handleMouseEvent): keep track of mouse down event in order to be able to send a fake mouse up event on the select element
              (WebKit::WebPageProxy::currentMouseDownEvent): for access by the popup menu proxy to dispatch the fake mouse up event
              (WebKit::WebPageProxy::didReceiveEvent): clear out the cached mouse down event
              (WebKit::WebPageProxy::processDidCrash): clear out the cached events since we assume that didReceiveEvent did not called prior to the crash
              * UIProcess/WebPageProxy.h:
              * UIProcess/WebPopupMenuProxy.h:
              * UIProcess/mac/WebPopupMenuProxyMac.mm:
              (WebKit::WebPopupMenuProxyMac::showPopupMenu): after notifying the popup menu client that the value changed, fake mouse up and mouse move events are posted
              * UIProcess/win/WebPopupMenuProxyWin.cpp:
              (WebKit::WebPopupMenuProxyWin::showPopupMenu): after notifying the popup menu client that the value changed, fake mouse up and mouse move events are posted
              * UIProcess/win/WebView.cpp:
              (WebKit::WebView::onMouseEvent):
              * WebKit2.pro:
              * WebKit2.xcodeproj/project.pbxproj:
              * win/WebKit2.vcproj:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84017 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f4a3560f
    • ap@apple.com's avatar
      Chromium build fix. · 415a5439
      ap@apple.com authored
              * platform/SecureTextInput.h: CARBON_SECURE_INPUT_MODE no longer exists.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84016 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      415a5439
    • ap@apple.com's avatar
      Qt build fix. · 474e3e4c
      ap@apple.com authored
              * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::selectionStateChanged): Wrap the variable
              in PLATFORM(MAC), too, as it's unused on other platforms.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      474e3e4c
    • beidson@apple.com's avatar
      Get the right reviewer up in here. · 6932459c
      beidson@apple.com authored
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84012 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6932459c
    • beidson@apple.com's avatar
      <rdar://problem/9287880> and https://bugs.webkit.org/show_bug.cgi?id=58596 · 78b97626
      beidson@apple.com authored
      WK2: Past searches not remembered for <input type=search results="5" autosave="foo">
      
      Reviewed by Sam Weinig.
      
      Add SaveRecentSearches and LoadRecentSearches messages:
      * UIProcess/WebPageProxy.messages.in:
      * UIProcess/WebPageProxy.h:
      
      Message up to the UIProcess for the save/load operations:
      * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
      (WebKit::WebSearchPopupMenu::saveRecentSearches):
      (WebKit::WebSearchPopupMenu::loadRecentSearches):
      * WebProcess/WebCoreSupport/WebPopupMenu.h:
      (WebKit::WebPopupMenu::page):
      
      Save the values to disk CFPreference-style:
      * UIProcess/cf/WebPageProxyCF.cpp:
      (WebKit::autosaveKey):
      (WebKit::WebPageProxy::saveRecentSearches):
      (WebKit::WebPageProxy::loadRecentSearches):
      
      Stubbed out for non-CF platforms:
      * UIProcess/gtk/WebPageProxyGtk.cpp:
      (WebKit::WebPageProxy::saveRecentSearches):
      (WebKit::WebPageProxy::loadRecentSearches):
      * UIProcess/qt/WebPageProxyQt.cpp:
      (WebKit::WebPageProxy::saveRecentSearches):
      (WebKit::WebPageProxy::loadRecentSearches):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84011 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      78b97626
    • andreas.kling@nokia.com's avatar
      2011-04-15 Andreas Kling <kling@webkit.org> · c1ea2bff
      andreas.kling@nokia.com authored
              Reviewed by Antonio Gomes.
      
              [Qt] DRT: Block access to external URLs.
      
              * platform/qt/Skipped: Unskip now passing tests.
      2011-04-15  Andreas Kling  <kling@webkit.org>
      
              Reviewed by Antonio Gomes.
      
              [Qt] DRT: Block access to external URLs.
      
              Implement the "Blocked access to external URL" behavior for Qt's DRT,
              based on what other ports are doing.
      
              Fixes <http://webkit.org/b/57306> and <http://webkit.org/b/58523>.
      
              * WebCoreSupport/FrameLoaderClientQt.cpp:
              (WebCore::FrameLoaderClientQt::dispatchWillSendRequest):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84010 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c1ea2bff
    • commit-queue@webkit.org's avatar
      2011-04-15 Mike Reed <reed@google.com> · c23b99aa
      commit-queue@webkit.org authored
              Reviewed by Darin Fisher.
      
              hide unused static function when SKIA_GPU is enabled
              https://bugs.webkit.org/show_bug.cgi?id=58670
      
              No new tests. Just fixes a warning (treated as an error) when SKIA_GPU is enabled
      
              * platform/graphics/skia/ImageSkia.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84000 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c23b99aa
    • simon.fraser@apple.com's avatar
      2011-04-15 Simon Fraser <simon.fraser@apple.com> · 3bbca03b
      simon.fraser@apple.com authored
              Reviewed by Beth Dakin.
      
              Some borders with border-radius do not have rounded inner edges
              https://bugs.webkit.org/show_bug.cgi?id=58457
      
              Improve the logic used to compute the inner radii on curved
              borders, to maintain borders of even thickness around the curve.
      
              Tests: fast/borders/mixed-border-styles-radius.html
                     fast/borders/mixed-border-styles.html
      
              * rendering/RenderBoxModelObject.h:
              * rendering/RenderBoxModelObject.cpp:
              (WebCore::RenderBoxModelObject::computeBorderOuterRect):
              (WebCore::RenderBoxModelObject::computeBorderInnerRect):
              Two new utility functions to share some code that was in both paintBorder()
              and paintBoxShaadow().
              getRoundedInnerBorderWithBorderWidths() now takes the outer border box
              as well as the inner box.
      
              (WebCore::RenderBoxModelObject::paintBorder): Call new methods.
              (WebCore::RenderBoxModelObject::paintBoxShadow): Ditto.
      
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::drawBoxSideFromPath):
              getRoundedInnerBorderWithBorderWidths() now takes the outer border box
              as well as the inner box.
      
              * rendering/style/RenderStyle.cpp:
              (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
              * rendering/style/RenderStyle.h:
              Compute the inner radii by starting with teh radii used for the
              outer box, and then shrinking them down based on the border thickness.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83998 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3bbca03b
    • ap@apple.com's avatar
      Reviewed by Dan Bernstein. · 6b25b276
      ap@apple.com authored
              WebKit2: Password field input does not switch to ASCII-compatible source
              https://bugs.webkit.org/show_bug.cgi?id=58583
              <rdar://problem/9059651>
      
              The implementation is more modern than what we have in WK1. Instead of returning a null
              input context (as in non-editable content), we now set page context's properties.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83997 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6b25b276
    • xji@chromium.org's avatar
      2011-04-13 Xiaomei Ji <xji@chromium.org> · 5d825159
      xji@chromium.org authored
              Reviewed by Ryosuke Niwa.
      
              Continue (3rd) experiment with moving caret by word in visual order.
              https://bugs.webkit.org/show_bug.cgi?id=58294
      
              * editing/selection/move-by-word-visually-expected.txt:
              * editing/selection/move-by-word-visually.html:
      2011-04-13  Xiaomei Ji  <xji@chromium.org>
      
              Reviewed by Ryosuke Niwa.
      
              Continue (3rd) experiment with moving caret by word in visual order.
              https://bugs.webkit.org/show_bug.cgi?id=58294
      
              This patch along with r82588 and r83483 implements moving caret by
              word in visual order.
              
              The overall algorithm is:
              1. First get the InlineBox and offset of the pass-in VisiblePosition.
              2. Based on the position (left boundary, middle, right boundary) of the offset and the
                 direction of the movement, look for visually adjacent word breaks.
              2.1 If the offset is the minimum offset of the box,
                  return the rightmost word boundary in previous boxes if moving left.
                  return the leftmost word boundary in box and next boxes if moving right.
              2.2 Similar for the case when offset is at the maximum offset of the box.
              2.3 When offset is inside the box (not at boundaries), first find the previousWordPosition 
                  or nextWordPosition based on the directionality of the box. If this word break position 
                  is also inside the same box, return it. Otherwise (the nextWordPosition or 
                  previousWordPosition is not in the same box or is at the box boundary), collect all the 
                  word breaks in the box and search for the one closest to the input "offset" based on 
                  box directionality, block directionality, and movement direction. Continue search in 
                  adjacent boxes if needed.
      
              Notes:
              1. Word boundaries are collected one box at a time. Only when a boundary that is closest to 
                 the input position (in the moving direction) is not available in current box, word 
                 boundaries in adjacent box will be collected. So, there is no need to save InlineBox in 
                 word boundaries. Instead, the word boundaries are saved as a pair 
                 (VisiblePosition, offset) to avoid recomputing VisiblePosition.
       
              2. We only collect boundaries of the right kind (i.e. left boundary of a word in LTR block
                 and right boundary of a word in RTL block). And word boundaries are collected using 
                 previousWordPosition() and nextWordPosition(). So when box directionality is the same as 
                 block directionality, word boundaries are collected from right to left visually in a LTR 
                 box, and word boundaries are collected from left to right visually in a RTL box. It is
                 the other way around when box directionality is different from block directionality.
      
              3. To find the right kinds of word boundaries, we must move back and forth between words
                 in some situations. For example, if we're moving to the right in a LTR box in LTR block,
                 we cannot simply return nextWordPosition() because it would return the right boundary
                 of a word. Instead, we return nextWordPosition()'s nextWordPosition()'s previousWordPosition().
      
              4. When collecting word breaks inside a box, it first computes a start position, then
                 collect the right kind of word breaks until it reaches the end of (or beyond) the box.
                 In the meanwhile, it might need special handling on the rightmost or leftmost position 
                 based on the directionality of the box and block. These computations do not consider the 
                 box's bidi level.
      
              * editing/visible_units.cpp:
              (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
              (WebCore::collectWordBreaksInBox):
              (WebCore::previousWordBoundaryInBox):
              (WebCore::nextWordBoundaryInBox):
              (WebCore::visuallyLastWordBoundaryInBox):
              (WebCore::leftWordBoundary):
              (WebCore::rightWordBoundary):
              (WebCore::leftWordPosition):
              (WebCore::rightWordPosition):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83996 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5d825159
    • jer.noble@apple.com's avatar
      2011-04-14 Jer Noble <jer.noble@apple.com> · 411a8ab9
      jer.noble@apple.com authored
              Reviewed by Eric Carlson.
      
              REGRESSION: Rendering in <video> element appears to render quickly to catch up if it has been playing in a background tab
              https://bugs.webkit.org/show_bug.cgi?id=58637
      
              Notify AVFoundation that no one will be rendering when the view or window moves off screen.
      
              * UIProcess/API/mac/PageClientImpl.mm:
              (WebKit::PageClientImpl::isViewVisible): Return false if the view's window is not visible.
              * UIProcess/API/mac/WKView.mm:
              (-[WKView addWindowObserversForWindow:]): Observe orderOut and orderIn events.
              (-[WKView removeWindowObservers]): Ditto.
              (-[WKView _windowDidOrderOffScreen:]): Added.
              (-[WKView _windowDidOrderOnScreen:]): Added.
              * WebProcess/WebPage/DrawingAreaImpl.cpp:
              (WebKit::DrawingAreaImpl::suspendPainting): Call LayerTreeHost::pauseRendering.
              (WebKit::DrawingAreaImpl::resumePainting): Call LayerTreeHost::resumeRendering.
              * WebProcess/WebPage/LayerTreeHost.h:
              (WebKit::LayerTreeHost::pauseRendering): Added stub.
              (WebKit::LayerTreeHost::resumeRendering): Added stub.
              * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
              * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
              (WebKit::LayerTreeHostCAMac::pauseRendering): Added. Post a notification with our
                  intention to stop rendering.
              (WebKit::LayerTreeHostCAMac::resumeRendering): Added. Post a notification with our
                  intention to start rendering.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83994 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      411a8ab9
    • zmo@google.com's avatar
      2011-04-14 Zhenyao Mo <zmo@google.com> · 89de6c4a
      zmo@google.com authored
              Reviewed by Kenneth Russell.
      
              Use HTMLImageElement in Canvas 2D / WebGL before response is ready causes crash
              https://bugs.webkit.org/show_bug.cgi?id=58501
      
              * html/canvas/WebGLRenderingContext.cpp:
              (WebCore::WebGLRenderingContext::texImage2D): Call validateHTMLImageElement().
              (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
              (WebCore::WebGLRenderingContext::validateHTMLImageElement): Make sure image is ready.
              * html/canvas/WebGLRenderingContext.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83992 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      89de6c4a
    • morrita@google.com's avatar
      2011-04-07 MORITA Hajime <morrita@google.com> · 3e9aec70
      morrita@google.com authored
              Reviewed by Ryosuke Niwa.
      
              DocumentMaker::AllMarkers should not be a part of DocumentMarker::MarkerType
              https://bugs.webkit.org/show_bug.cgi?id=58112
      
              - Converted DocumentMarker::MarkerTypes from unsigned int to a class.
              - Converted DocumentMarker::AllMarkers from an enum entry to a subclass of MarkerTypes.
              - Changed type of some MarkerType argument on DocumentMarkerController API to MarkerTypes
                which should allow a combination of MarkerType constansts.
              - Removed some MarkerType arguments on DocumentMarkerController API
                which only received AllMarkers.
      
              No new tests, no behavior change.
      
              * WebCore.exp.in:
              * dom/DocumentMarker.h:
              (WebCore::DocumentMarker::MarkerTypes::MarkerTypes):
              (WebCore::DocumentMarker::MarkerTypes::contains):
              (WebCore::DocumentMarker::MarkerTypes::intersects):
              (WebCore::DocumentMarker::MarkerTypes::operator==):
              (WebCore::DocumentMarker::MarkerTypes::add):
              (WebCore::DocumentMarker::MarkerTypes::remove):
              (WebCore::DocumentMarker::AllMarkers::AllMarkers):
              * dom/DocumentMarkerController.cpp:
              (WebCore::DocumentMarkerController::possiblyHasMarkers):
              (WebCore::DocumentMarkerController::addMarker):
              (WebCore::DocumentMarkerController::copyMarkers):
              (WebCore::DocumentMarkerController::removeMarkers):
              (WebCore::DocumentMarkerController::markerContainingPoint):
              (WebCore::DocumentMarkerController::markersInRange):
              (WebCore::DocumentMarkerController::renderedRectsForMarkers):
              (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair):
              (WebCore::DocumentMarkerController::repaintMarkers):
              (WebCore::DocumentMarkerController::shiftMarkers):
              (WebCore::DocumentMarkerController::setMarkersActive):
              (WebCore::DocumentMarkerController::hasMarkers):
              (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
              * dom/DocumentMarkerController.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83991 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3e9aec70
    • ggaren@apple.com's avatar
      2011-04-14 Geoffrey Garen <ggaren@apple.com> · 52d4a4dd
      ggaren@apple.com authored
              Reviewed by Oliver Hunt.
      
              Complicated hash table is complicated
              https://bugs.webkit.org/show_bug.cgi?id=58631
              
              Now that we use the opaque roots system to track node wrapper lifetime,
              we can remove a lot of complicated hash-tablery that used to do the same.
              
              Now normal world node wrappers are just set as direct properties of
              ScriptWrappable, while isolated world node wrappers and other DOM object
              wrappers are stored in a shared, per-world hash table.
      
              In addition to reducing complexity, this makes DOM wrapper allocation
              1.6X faster (tested with scratch-gc-dom3.html), and it reduces the memory
              footprint of normal world wrappers by ~2/3, and isolated world wrappers
              by ~1/3.
      
              * WebCore.exp.in: Paying the patch tithe.
      
              * bindings/js/DOMWrapperWorld.cpp:
              (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
              (WebCore::DOMWrapperWorld::clearWrappers): No more per-document hash tables.
      
              (WebCore::JSNodeHandleOwner::finalize): Changed to call a helper function,
              so the code to destroy a wrapper can live next to the code to create one.
      
              * bindings/js/DOMWrapperWorld.h: No more per-document hash tables.
      
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::uncacheDOMObjectWrapper):
              * bindings/js/JSDOMBinding.h:
              (WebCore::createDOMNodeWrapper):
              (WebCore::getDOMNodeWrapper): No more per-document hash tables.
              Added uncacheDOMObjectWrapper to be symmetrical with cacheDOMObjectWrapper.
      
              * bindings/js/JSDocumentCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSElementCustom.cpp:
              (WebCore::toJSNewlyCreated):
              * bindings/js/JSNodeCustom.cpp:
              (WebCore::createWrapperInline): Ditto.
      
              * bindings/js/JSNodeCustom.h:
              (WebCore::getCachedDOMNodeWrapper):
              (WebCore::cacheDOMNodeWrapper):
              (WebCore::uncacheDOMNodeWrapper):
              (WebCore::toJS): Implemented the scheme described above.
      
              * bindings/js/ScriptWrappable.h:
              (WebCore::ScriptWrappable::wrapper):
              (WebCore::ScriptWrappable::setWrapper):
              (WebCore::ScriptWrappable::clearWrapper): ScriptWrappable needs a handle
              owner now, since we don't have an extra handle living in a hash table
              to maintain ownership for us.
      
              * dom/Document.cpp:
              (WebCore::Document::Document):
              (WebCore::Document::~Document):
              * dom/Document.h:
              * dom/Node.cpp:
              (WebCore::Node::setDocument): No more per-document hash tables.
      
              * html/HTMLCanvasElement.cpp:
              (WebCore::HTMLCanvasElement::createImageBuffer): Removed call to
              hasCachedDOMNodeWrapperUnchecked because that was the old way of doing
              things, and I was in the mood for getting rid of the old way. It's
              debatable whether the check was ever a good idea. Even when a <canvas>
              doesn't have a direct JS wrapper, other JS references can still keep
              the <canvas> alive. So, it's probably best always to report extra cost.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83990 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      52d4a4dd
    • jberlin@webkit.org's avatar
      WebKit2: Need a way to keep the WebProcess alive for testing purposes. · 58e75983
      jberlin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=58592
      
      Reviewed by Sam Weinig.
      
      * UIProcess/API/C/WKContext.cpp:
      (WKContextDisableProcessTermination):
      (WKContextEnableProcessTermination):
      * UIProcess/API/C/WKContextPrivate.h:
      
      * UIProcess/WebContext.cpp:
      (WebKit::WebContext::WebContext):
      Initialize m_processTerminationEnabled to true.
      (WebKit::WebContext::enableProcessTermination):
      Set m_processTerminationEnabled to true, and try to terminate the web process.
      (WebKit::WebContext::shouldTerminate):
      If !m_processTerminationEnabled, return false.
      * UIProcess/WebContext.h:
      (WebKit::WebContext::disableProcessTermination):
      Set m_processTerminationEnabled to false;
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83988 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      58e75983