1. 20 Mar, 2008 24 commits
  2. 19 Mar, 2008 16 commits
    • slewis@apple.com's avatar
      2008-03-19 Stephanie Lewis <slewis@apple.com> · 2e1b301a
      slewis@apple.com authored
              Rubber-stamped by Anders.
      
              Fix Windows Build
      
              * platform/cf/SharedBufferCF.cpp:
              (WebCore::SharedBuffer::createCFData):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2e1b301a
    • slewis@apple.com's avatar
      2008-03-19 Stephanie Lewis <slewis@apple.com> · 576d2c46
      slewis@apple.com authored
              Rubber-stamped by Anders.
      
              Fix Windows Build
      
              * platform/SharedBuffer.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31170 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      576d2c46
    • justin.garcia@apple.com's avatar
      WebCore: · bb4385ce
      justin.garcia@apple.com authored
      2008-03-19  Justin Garcia  <justin.garcia@apple.com>
      
              Reviewed by Oliver.
              
              <rdar://problem/5780697> Copying content with CSS property values that are percentages can cause fidelity issues
               
              Elements with height: x%; overflow: visible; overlap what's below them when they are copied from
              a document in quirksmode and pasted into to one in standards mode.  This fix uses the computed 
              the value for a property if its value is a percentage.
              
              * css/CSSMutableStyleDeclaration.cpp:
              (WebCore::CSSMutableStyleDeclaration::addParsedProperty): Added so that we don't have to use
              setProperty from appendStartMarkup.  We already have a parsed property value, so we shouldn't
              use setProperty, since it takes in a String.  If we did, we would have to call CSSValue::cssText()
              for a String only to re-parse it in setProperty.  This wasn't extremely important now, but it will 
              be as we compute more properties to fix the rest of the copy/paste fidelity bugs.
              * css/CSSMutableStyleDeclaration.h:
              * editing/markup.cpp:
              (WebCore::appendStartMarkup): Compute values for properties that have percentage values.  We could
              perhaps narrow this special case to only include properties that are effected by quirksmode.
      
      LayoutTests:
      
      2008-03-19  Justin Garcia  <justin.garcia@apple.com>
      
              Reviewed by Oliver.
              
              <rdar://problem/5780697> Copying content with CSS property values that are percentages can cause fidelity issues
      
              * editing/pasteboard/5780697-2-expected.txt: Added.
              * editing/pasteboard/5780697-2.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31169 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bb4385ce
    • mrowe@apple.com's avatar
      2008-03-19 Mark Rowe <mrowe@apple.com> · 3005eed5
      mrowe@apple.com authored
              Reviewed by Sam Weinig.
      
              Fix release build.
      
              * kjs/JSGlobalObject.cpp:  Add missing #include.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31168 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3005eed5
    • weinig@apple.com's avatar
      JavaScriptCore: · ccbb2d03
      weinig@apple.com authored
      2008-03-19  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Anders Carlsson.
      
              Fix for <rdar://problem/5785694>
              Crash occurs at KJS::Collector::collect() when loading web clip widgets with a PAC file
      
              Make the activeExecStates stack per JSGlobalObject instead of static to ensure
              thread safety.
      
              * JavaScriptCore.exp:
              * kjs/ExecState.cpp:
              (KJS::InterpreterExecState::InterpreterExecState):
              (KJS::InterpreterExecState::~InterpreterExecState):
              (KJS::EvalExecState::EvalExecState):
              (KJS::EvalExecState::~EvalExecState):
              (KJS::FunctionExecState::FunctionExecState):
              (KJS::FunctionExecState::~FunctionExecState):
              * kjs/ExecState.h:
              (KJS::):
              * kjs/JSGlobalObject.cpp:
              (KJS::JSGlobalObject::mark):
              * kjs/JSGlobalObject.h:
              (KJS::JSGlobalObject::activeExecStates):
              * kjs/collector.cpp:
              (KJS::Collector::collect):
              (KJS::Collector::reportOutOfMemoryToAllExecStates): Iterate all JSGlobalObjects and report
              the OutOfMemory condition to all the ExecStates in each.
      
      WebCore:
      
      2008-03-19  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Anders Carlsson.
      
              Fix for <rdar://problem/5785694>
              Crash occurs at KJS::Collector::collect() when loading web clip widgets with a PAC file
      
              Make the activeExecStates stack per JSGlobalObject instead of static to ensure
              thread safety.
      
              * bindings/objc/WebScriptObject.mm:
              (+[WebScriptObject throwException:]): Change to throw an exception on the current
              GlobalObject instead of the top of the static activeExecStates stack.
              (-[WebScriptObject setException:]): Change to use the top of the rootObjects GlobalObject
              instead of the top of the static activeExecStates stack.
      
              * bridge/c/c_instance.cpp:
              * bridge/c/c_instance.h:
              * bridge/jni/jni_instance.cpp:
              (JavaInstance::virtualBegin):
              (JavaInstance::virtualEnd):
              * bridge/jni/jni_instance.h:
              * bridge/objc/objc_instance.h:
              * bridge/objc/objc_instance.mm:
              (ObjcInstance::~ObjcInstance):
              (ObjcInstance::virtualBegin):
              (ObjcInstance::virtualEnd):
              * bridge/runtime.cpp:
              (KJS::Bindings::Instance::setDidExecuteFunction):
              (KJS::Bindings::Instance::didExecuteFunction):
              (KJS::Bindings::Instance::setCurrentGlobalObject): Added.
              (KJS::Bindings::Instance::currentGlobalObject): Added.
              (KJS::Bindings::Instance::begin):
              (KJS::Bindings::Instance::end):
              * bridge/runtime.h:
              (KJS::Bindings::Instance::virtualBegin): Renamed from begin().
              (KJS::Bindings::Instance::virtualEnd): Renamed from end().
              We now store the currently active globalObject everytime we cross the runtime
              object boundary.  To do this, we take advantage of the existing begin/end
              methods that are called when crossing this boundary, making begin set the current
              globalObject and then call the old begin, now called virtualBegin.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31167 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ccbb2d03
    • beidson@apple.com's avatar
      2008-03-19 Brady Eidson <beidson@apple.com> · 22f1098a
      beidson@apple.com authored
              Reviewed by Anders
      
              Change SharedBuffer so the wrapping platform data aspect can be shared with all CoreFoundation platforms
              (Mac and Windows instead of just Mac)
      
              * WebCore.vcproj/WebCore.vcproj: Add SharedBufferCF.cpp
              * WebCore.xcodeproj/project.pbxproj: Ditto
      
              * platform/SharedBuffer.cpp:
              * platform/SharedBuffer.h: Change the private c'tor from NSData to CFDataRef, other PLATFORM tweaks
      
              * platform/cf/SharedBufferCF.cpp: Added.
              (WebCore::SharedBuffer::SharedBuffer):
              (WebCore::SharedBuffer::createCFData): Non-Mac version of createCFData
              (WebCore::SharedBuffer::hasPlatformData):
              (WebCore::SharedBuffer::platformData):
              (WebCore::SharedBuffer::platformDataSize):
              (WebCore::SharedBuffer::maybeTransferPlatformData):
              (WebCore::SharedBuffer::clearPlatformData):
      
              * platform/mac/SharedBufferMac.mm:
              (WebCore::SharedBuffer::wrapNSData): Use the CFDataRef constructor via toll-free bridging
              (WebCore::SharedBuffer::createCFData): Mac-specific version of createCFData
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31166 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      22f1098a
    • mitz@apple.com's avatar
      2008-03-19 Dan Bernstein <mitz@apple.com> · 2a66f46e
      mitz@apple.com authored
              - build fix
      
              * Interfaces/WebKit.idl: Touched.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31165 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2a66f46e
    • aroben@apple.com's avatar
      Fix a couple of bugs where the node highlight would appear when it shouldn't · 896e8c6e
      aroben@apple.com authored
              There were at least two ways you could get the highlight to appear
              when it shouldn't:
                1) Selecting a node in the Inspector while the inspected WebView was
                   in a background tab.
                2) Selecting a node in the Inspector, switching to another tab,
                   closing the Inspector, then switching back to the inspected
                   WebView's tab.
      
              This patch fixes the above two issues, and possibly others.
      
              show() and hide() are now private methods of WebNodeHighlight. They
              are replaced by a single public method,
              setShowsWhileWebViewIsVisible(bool). WebInspectorClient uses this to
              tell the highlight whether it should be showing when the inspected
              WebView is visible.
      
              Reviewed by John Sullivan.
      
              * WebCoreSupport/WebInspectorClient.cpp:
              (WebInspectorClient::highlight): If the highlight is already showing,
              it just needs to update since the highlighted node has changed. If the
              highlight is not showing, call setShowsWhileWebViewIsVisible(true) so
              that the highlight will show when the WebView is shown.
              (WebInspectorClient::hideHighlight): Changed to call
              setShowsWhileWebViewIsVisible(false) instead of hide().
              * WebNodeHighlight.cpp:
              (WebNodeHighlight::WebNodeHighlight): Initialize new member, and
              initialize m_inspectedWebViewWindow to its final value here instead of
              in show().
              (WebNodeHighlight::setShowsWhileWebViewIsVisible): Added. If we're not
              supposed to show ourselves when the WebView is visible, we hide
              ourselves and return. Otherwise, we make our visibility match the
              WebView's.
              (WebNodeHighlight::isWebViewVisible): Added.
              (WebNodeHighlight::show): Removed initialization of
              m_inspectedWebViewWindow (this is now done by our constructor). Added
              an assertion that we're supposed to show ourselves when the WebView is
              visible.
              (WebNodeHighlight::onWebViewShowWindow): If we shouldn't show
              ourselves when the WebView is visible, then we don't need to do
              anything at all when the WebView's visibility changes.
              * WebNodeHighlight.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31164 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      896e8c6e
    • aroben@apple.com's avatar
      Small WebNodeHighlight cleanup · 86612616
      aroben@apple.com authored
              Renamed the following methods:
                visible() -> isShowing()
                updateWindow() -> update()
      
              Removed the window() method.
      
              Added a new method, placeBehindWindow(HWND), that moves the highlight
              overlay in the window z-order to be just behind the passed-in window.
              WebInspectorClient calls this instead of doing the move directly using
              the old window() method.
      
              Reviewed by John Sullivan.
      
              * WebCoreSupport/WebInspectorClient.cpp:
              (WebInspectorClient::attachWindow):
              (WebInspectorClient::detachWindow):
              (WebInspectorClient::highlight): Call placeBehindWindow instead of
              calling SetWindowPos directly.
              * WebNodeHighlight.cpp:
              (WebNodeHighlight::show):
              (WebNodeHighlight::isShowing):
              (WebNodeHighlight::placeBehindWindow): Added. Code came from
              WebInspectorClient::highlight.
              (WebNodeHighlight::onWebViewWindowPosChanged):
              (WebNodeHighlight::onRootWindowPosChanged):
              * WebNodeHighlight.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31163 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      86612616
    • oliver@apple.com's avatar
      Bug 17954: Canvas arc() with radius of 0 throws exception · 72f9333e
      oliver@apple.com authored
      http://bugs.webkit.org/show_bug.cgi?id=17954
      
      Reviewed by Antti
      
      Simple fix -- use >= instead of > when validating the radius.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31162 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      72f9333e
    • justin.garcia@apple.com's avatar
      WebCore: · 14613b12
      justin.garcia@apple.com authored
      2008-03-19  Justin Garcia  <justin.garcia@apple.com>
      
              Reviewed by Oliver.
      
              <rdar://problem/5794920> Acid3: Assertion failure in VisiblePosition::previous when clicking on results (17004)
              
              The position inside an empty inline-block was a candidate, but upstream and downstream
              would move across it without stopping.  This confused canonicalPosition, since no more
              than two candidates should have the same upstream/downstream (be visually equivalent).
              
              Code was added intentionally in isCandidate to make VisiblePositions inside empty 
              inline-blocks, so we need to make upstream/downstream understand that.
      
              * dom/Position.cpp:
              (WebCore::endsOfNodeAreVisuallyDistinctPositions): upstream and downstream used to only
              stop when entering or leaving a non-inline element (referred to as a "block").  We must also 
              avoid entering or leaving an empty inline-block.  This will allow a VisiblePosition there, to 
              match up with what the code in isCandidate intended.
              (WebCore::enclosingVisualBoundary): Removed enclosingBlock and replaced it with this.
              (WebCore::Position::upstream): Added better comments, called the new functions.
              (WebCore::Position::downstream): Ditto.
              * dom/Position.h:
      
      LayoutTests:
      
      2008-03-19  Justin Garcia  <justin.garcia@apple.com>
      
              Reviewed by Oliver.
              
              <rdar://problem/5794920> Acid3: Assertion failure in VisiblePosition::previous when clicking on results (17004)
      
              * editing/pasteboard/4989774.html: Updated to wait for the images to load before trying to copy it.
              * editing/selection/5794920-1-expected.txt: Added.
              * editing/selection/5794920-1.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31161 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      14613b12
    • mitz@apple.com's avatar
      2008-03-19 Dan Bernstein <mitz@apple.com> · 920b8e07
      mitz@apple.com authored
              Rubber-stamped by John Sullivan.
      
              - change CSS property and value keyword constants from all-caps with
                underscores to intra-caps.
      
              * css/makeprop.pl:
              * css/makevalues.pl:
              * All files using the constants
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31160 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      920b8e07
    • aroben@apple.com's avatar
      Make clicking anywhere in a row in the DOM tree select that row's node · 14abdfbf
      aroben@apple.com authored
              We now have mousedown and dblclick event listeners on the root of the
              tree that forward the event to the node on the row the mouse is over.
      
              Reviewed by Tim Hatcher.
      
              * page/inspector/DocumentPanel.js:
              (WebInspector.DocumentPanel): Added a dblclick and mousedown event
              listeners to the root of the tree.
              (WebInspector.DocumentPanel._treeElementFromEvent): Added. Finds the
              tree element for the row underneath the mouse.
              (WebInspector.DocumentPanel._ondblclick): Added. Sends the dblclick
              event on to the tree element in the current row.
              (WebInspector.DocumentPanel._onmousedown): Added. Selects the tree
              element in the current row.
              * page/inspector/treeoutline.js:
              (TreeOutline.treeElementFromPoint): Added.
              (TreeElement.treeElementSelected): Changed to call
              TreeElement.isEventWithinDisclosureTriangle, and added an early return.
              (TreeElement.treeElementToggled): Ditto.
              (TreeElement.isEventWithinDisclosureTriangle): Added.
              * page/inspector/utilities.js:
              (Node.enclosingNodeOrSelfWithNodeNameInArray): Added.
              (Node.enclosingNodeOrSelfWithNodeName): Now just calls
              enclosingNodeOrSelfWithNodeNameInArray.
              (Elemnt.get totalOffsetLeft): Added.
              (Elemnt.get totalOffsetTop): Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31159 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      14abdfbf
    • mrowe@apple.com's avatar
      Fix http://bugs.webkit.org/show_bug.cgi?id=17816 (libWebCoreSQLite3.a is... · 5b8b0790
      mrowe@apple.com authored
      Fix http://bugs.webkit.org/show_bug.cgi?id=17816 (libWebCoreSQLite3.a is 2-architecture universal binary (not 4-architecture)).
      
      Rubber-stamped by Sam Weinig.
      
      * libWebCoreSQLite3.a:  Land a 4-way fat binary.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31158 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5b8b0790
    • mitz@apple.com's avatar
      WebCore: · 070a7def
      mitz@apple.com authored
              Reviewed by Sam Weinig.
      
              - fix assertion failure in RenderBlock::determineStartPosition() at http://www.wired.com/techbiz/it/magazine/16-04/bz_apple
      
              Test: fast/repaint/line-flow-with-floats-10.html
      
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::determineStartPosition): Removed bogus assertion.
              If the float's top margin has changed and it has not been repositioned
              yet, we do not have its new y position.
      
      LayoutTests:
      
              Reviewed by Sam Weinig.
      
              - test for assertion failure in RenderBlock::determineStartPosition() at http://www.wired.com/techbiz/it/magazine/16-04/bz_apple
      
              * fast/repaint/line-flow-with-floats-10.html: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-10-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-10-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-10-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31157 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      070a7def
    • adachan@apple.com's avatar
      2008-03-19 Ada Chan <adachan@apple.com> · 17b59e6c
      adachan@apple.com authored
              Added a method to paint WebView content specified by 
              the document rect into a device context.
      
              Reviewed by Darin.
      
              * Interfaces/IWebViewPrivate.idl:
              * WebView.cpp:
              (WebView::paintDocumentRectToContext):
              * WebView.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31156 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      17b59e6c