1. 29 Jan, 2007 14 commits
    • oliver's avatar
      2007-01-25 Oliver Hunt <oliver@apple.com> · e71315c1
      oliver authored
              Reviewed by Adam.
      WebKit:
              Migrated drag state and logic to WebCore, removed superfluous methods
      
              * ChangeLog:
              * WebCoreSupport/WebDragClient.h:
              * WebCoreSupport/WebDragClient.mm:
              (WebDragClient::dragSourceActionMaskForPoint):
              * WebCoreSupport/WebFrameBridge.mm:
                 allowDHTMLDrag move to WebCore::EventHandler
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
              (-[WebHTMLView draggedImage:movedTo:]):
              (-[WebHTMLView draggedImage:endedAt:operation:]):
                dragOffset and dragSourecAction is now stored in WebCore::DragController
                migrated _delegateDragSourceActionMask to WebCore::DragController
              * WebView/WebHTMLViewInternal.h:
                Removed dragOffset declaration, migrated to WebCore::DragController
              * WebView/WebView.mm:
                removed unnecessary method, _loadingDragOperationForDraggingInfo                       
      
      WebKitQt:       
              Reviewed by Adam.
      
              Stub for new DragClient method
      
              * WebCoreSupport/DragClientQt.cpp:
              (WebCore::DragClientQt::dragSourceActionMaskForPoint):
              * WebCoreSupport/DragClientQt.h:                  
      
      WebCore:
              Reviewed by Adam.
      
              Migrated more drag logic and state to WebCore
                                                    
              * page/DragClient.h:       
      
              * page/DragController.cpp:
              (WebCore::DragController::delegateDragSourceAction):
                New forwarding method for the UI delegate
              * page/DragController.h:
              (WebCore::DragController::dragOffset):
                Now store the drag offset -- the offset of the cursor relative to the drag image)
                in DragController
              * page/EventHandler.cpp:
              (WebCore::EventHandler::allowDHTMLDrag):
                Moved from WebFrameBridge
              * page/EventHandler.h:
              * page/mac/EventHandlerMac.mm:
              (WebCore::EventHandler::eventMayStartDrag):
              (WebCore::EventHandler::handleDrag):                  
                EventHandlerMac now uses EventHandler::allowDHTMLDrag rather than the 
                implementation in WebFrameBridge
              * page/mac/WebCoreFrameBridge.h:
                removed definition of allowDHTMLDrag from WebFrameBridge
              * platform/graphics/svg/SVGImageEmptyClients.h:
              (WebCore::SVGEmptyDragClient::dragSourceActionMaskForPoint):
                Updated empty DragClient
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e71315c1
    • ap's avatar
      Reviewed by Darin. · fd9f8312
      ap authored
              http://bugs.webkit.org/show_bug.cgi?id=12359
              XPathEvaluator may return some nodes more than once in a result set
      
              Test: fast/xpath/nodeset-duplicates.html
      
              * xml/XPathPath.cpp:
              (WebCore::XPath::LocationPath::doEvaluate): Ensure uniqueness of elements
              in the node-set.
      
              * xml/XPathPredicate.cpp:
              (WebCore::XPath::Union::doEvaluate): Fixed a uniqueness algorithm that was
              already present here. Added a FIXME about incorrect result ordering.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19227 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd9f8312
    • ap's avatar
      Reviewed by Darin. · af0e1445
      ap authored
              http://bugs.webkit.org/show_bug.cgi?id=12340
              XPathEvaluator behavior does not match Firefox - name() and attribute nodes
      
      WebCore:
              * xml/XPathFunctions.cpp:
              (WebCore::XPath::FunName::doEvaluate): Do not try to append a prefix if it doesn't exist.
      
      LayoutTests:
              * fast/xpath/name-null-namespace-expected.txt: Added.
              * fast/xpath/name-null-namespace.html: Added.
              Test for the bug.
      
              * fast/dom/xpath-empty-string-expected.txt: Removed.
              * fast/dom/xpath-empty-string.html: Removed.
              Moved these to fast/xpath.
      
              * fast/xpath/xpath-namespaces.html: Fixed an inline document to be well-formed, so the test now passes in Firefox.
              This is really a quirk of our DOMParser that the test passed in WebKit: on error, a descriptive message is appended to
              the partially parsed document, instead of replacing it.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19226 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af0e1445
    • ap's avatar
      Reviewed by Darin. · 6eb5af47
      ap authored
              http://bugs.webkit.org/show_bug.cgi?id=11815
              XPathEvaluator behavior does not match Firefox - substring() and empty element
      
              Test: fast/xpath/empty-string-substring.html
      
              * xml/XPathValue.cpp:
              (WebCore::XPath::Value::Value):
              * xml/XPathValue.h:
              Added a constructor taking const char*, so that string literals and arrays don't 
              get converted to boolean values.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19225 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6eb5af47
    • zack's avatar
      Cosmetic fixes - don't resize the widget in the constructor · 6d5f76ba
      zack authored
      (it was a hack from the initial port) and fix the paint
      signature)
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19224 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6d5f76ba
    • mjs's avatar
      - change from struct to class to make picky compilers happy · d9116de7
      mjs authored
              * loader/SubstituteData.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19223 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d9116de7
    • bdash's avatar
      2007-01-30 Mark Rowe <mrowe@apple.com> · 638e3d0a
      bdash authored
              Reviewed by Maciej.
      
              http://bugs.webkit.org/show_bug.cgi?id=12458
              Bug 12458: Crash in W3C-SVG-1.1/animate-elem-09-t.svg running layout tests under guard malloc
      
              * ksvg2/svg/SVGAnimationElement.cpp: 
              (WebCore::parseValues): ptr either points to a ';' or off the end of the buffer.  We're
              interested in what comes before the ';', so start there instead.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19222 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      638e3d0a
    • zack's avatar
      Take the scrollbars into considation when computing · 3b817005
      zack authored
      the contents size of the main frame
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19221 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3b817005
    • mjs's avatar
      - fix includes · e52bab7a
      mjs authored
              * loader/SubstituteData.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19220 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e52bab7a
    • mjs's avatar
      - added new file that I forgot in the last commit · 32bef010
      mjs authored
              * loader/SubstituteData.h: Added.
              (WebCore::SubstituteData::SubstituteData):
              (WebCore::SubstituteData::isValid):
              (WebCore::SubstituteData::content):
              (WebCore::SubstituteData::mimeType):
              (WebCore::SubstituteData::textEncoding):
              (WebCore::SubstituteData::failingURL):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19219 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      32bef010
    • mjs's avatar
      WebCore: · 2d326f5c
      mjs authored
              Reviewed by Mark.
      
              - made data loading cross-platform
              - fixed <rdar://problem/4910106>
      
              * WebCore.exp:
              * WebCore.xcodeproj/project.pbxproj:
              * loader/CachedResource.cpp:
              * loader/CachedResource.h:
              * loader/DocLoader.cpp:
              (WebCore::DocLoader::requestResource):
              * loader/DocumentLoader.cpp:
              (WebCore::DocumentLoader::DocumentLoader):
              (WebCore::DocumentLoader::setRequest):
              (WebCore::DocumentLoader::urlForHistory):
              (WebCore::DocumentLoader::unreachableURL):
              * loader/DocumentLoader.h:
              (WebCore::DocumentLoader::substituteData):
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::load):
              (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
              (WebCore::FrameLoader::reloadAllowingStaleData):
              (WebCore::FrameLoader::reload):
              (WebCore::FrameLoader::commitProvisionalLoad):
              (WebCore::FrameLoader::startLoadingMainResource):
              (WebCore::FrameLoader::startLoading):
              (WebCore::FrameLoader::checkNavigationPolicy):
              * loader/FrameLoader.h:
              * loader/FrameLoaderClient.h:
              * loader/MainResourceLoader.cpp:
              (WebCore::MainResourceLoader::willSendRequest):
              (WebCore::MainResourceLoader::continueAfterContentPolicy):
              (WebCore::MainResourceLoader::handleEmptyLoad):
              (WebCore::MainResourceLoader::handleDataLoad):
              (WebCore::MainResourceLoader::loadNow):
              (WebCore::MainResourceLoader::load):
              * loader/MainResourceLoader.h:
              * loader/mac/DocumentLoaderMac.mm:
              * loader/mac/WebDataProtocol.h: Removed.
              * loader/mac/WebDataProtocol.mm: Removed.
              * loader/qt/DocumentLoaderQt.cpp:
              * platform/graphics/svg/SVGImageEmptyClients.h:
              (WebCore::SVGEmptyFrameLoaderClient::createDocumentLoader):
      
      WebKit:
      
              Reviewed by Mark.
      
              - updated for cross-platform data loading support
              
              * WebCoreSupport/WebFrameLoaderClient.h:
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::createDocumentLoader):
              * WebView/WebDataSource.mm:
              (-[WebDataSource initWithRequest:]):
              * WebView/WebDocumentLoaderMac.h:
              * WebView/WebDocumentLoaderMac.mm:
              (WebDocumentLoaderMac::WebDocumentLoaderMac):
              * WebView/WebFrame.mm:
              (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
              (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]):
              (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]):
              (-[WebFrame loadArchive:]):
              * WebView/WebFrameInternal.h:
              * WebView/WebHTMLView.mm:
              (uniqueURLWithRelativePart):
              (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
      
      WebKitQt:
      
              Reviewed by Mark.
      
              - updated for cross-platform data loading support
      
              * WebCoreSupport/FrameLoaderClientQt.cpp:
              (WebCore::FrameLoaderClientQt::createDocumentLoader):
              * WebCoreSupport/FrameLoaderClientQt.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19218 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2d326f5c
    • zack's avatar
      Order the build files alphabetically instead of · d5d0c607
      zack authored
      the random mess we had before
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19217 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d5d0c607
    • zack's avatar
      Use the platform independent scrollbar code. · 2fb3bc52
      zack authored
      Remove the redundant empty stubs and forward
      few missing platform scrollbar calls
      r=Lars
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2fb3bc52
    • lars's avatar
      Reviewed by Zack · 80fc94e3
      lars authored
              Fix the way we handle native widgets (QWidget) inside
              WebCore. Now WebCore::Widget owns the QWidget in all
              cases. This is the only way to get well defined semantics
              for all teh native widgets we have (currently ScrollView
              and ScrollBar, but plugins will follow).
      
              This has the side effect that one cannot rely on a defined 
              lifetime of a QWebFrame when using the API. 
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19213 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      80fc94e3
  2. 28 Jan, 2007 6 commits
    • staikos's avatar
      Fix redirects with the Qt resource implementation. · 059e5aeb
      staikos authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19210 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      059e5aeb
    • bdash's avatar
      2007-01-29 Mark Rowe <mrowe@apple.com> · e1d0d467
      bdash authored
              Reviewed by Brady.
      
              http://bugs.webkit.org/show_bug.cgi?id=11085
              Bug 11085: REGRESSION: favicon.ico always looked for on port 80
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::iconURL): Copy the port over to the favicon URL.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19208 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e1d0d467
    • aroben's avatar
      Reviewed by Adele. · f0fc1980
      aroben authored
              Fix http://bugs.webkit.org/show_bug.cgi?id=12453
              REGRESSION(r19197): Tabbing into web page requires two key presses
      
              All layout tests pass.
      
              * page/FocusController.cpp:
              (WebCore::FocusController::advanceFocus): If there's no focused frame,
              actually go ahead and find a focusable node instead of just focusing
              the main frame and quitting. This behavior was a holdover from a
              previous desired tabbing behavior with respect to frames.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19207 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f0fc1980
    • ddkilzer's avatar
      LayoutTests: · 5d01fa2d
      ddkilzer authored
              Reviewed by Darin and David Hyatt.
      
              - Test for http://bugs.webkit.org/show_bug.cgi?id=12423
                Mixing white-space:pre text with non white-space:pre text does not wrap properly
      
              * fast/block/basic/white-space-pre-wraps-expected.checksum: Added.
              * fast/block/basic/white-space-pre-wraps-expected.png: Added.
              * fast/block/basic/white-space-pre-wraps-expected.txt: Added.
              * fast/block/basic/white-space-pre-wraps.html: Added.
      
      WebCore:
      
              Reviewed by Darin and David Hyatt.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=12423
                Mixing white-space:pre text with non white-space:pre text does not wrap properly
      
              Test: fast/block/basic/white-space-pre-wraps.html
      
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::findNextLineBreak): Wrap a non-wrapping text run if it
              appears on a line with previous text runs that do wrap.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19206 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5d01fa2d
    • ddkilzer's avatar
      LayoutTests: · 667cffa5
      ddkilzer authored
              Reviewed by Darin.  Patch by Mitz.
      
              - test for http://bugs.webkit.org/show_bug.cgi?id=8360
                Repro crash when onscroll handler deletes the scrolled object
      
              * fast/layers/removed-by-scroll-handler-expected.checksum: Added.
              * fast/layers/removed-by-scroll-handler-expected.png: Added.
              * fast/layers/removed-by-scroll-handler-expected.txt: Added.
              * fast/layers/removed-by-scroll-handler.html: Added.
      
      WebCore:
      
              Reviewed by Darin.  Patch by Mitz.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=8360
                Repro crash when onscroll handler deletes the scrolled object
      
              Test: fast/layers/removed-by-scroll-handler.html
      
              * page/FrameView.cpp:
              (WebCore::FrameViewPrivate::FrameViewPrivate): Added a m_enqueueEvents count.
              (WebCore::FrameView::layout): Raise the enqueue count before starting layout and
              until after enqueued events are dispatched.
              (WebCore::FrameView::scheduleEvent): Made this function dispatch the event
              immediately unless the enqueue count is positive.
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::scrollToOffset): Schedule the scroll event through the
              FrameView.
              (WebCore::RenderLayer::scrollRectToVisible):
              (WebCore::RenderLayer::updateScrollInfoAfterLayout):
              (WebCore::Marquee::start):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19204 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      667cffa5
    • eseidel's avatar
      2007-01-28 Charles Ying <charles_ying@yahoo.com> · cf1dda57
      eseidel authored
              Reviewed by eseidel.  Landed by eseidel.
      
              Fix http://bugs.webkit.org/show_bug.cgi?id=12429
                  animateTransform rotate, with cx/cy is broken
                  
              SVGTransform now contains a float point to store the rotation center, needed
                  to track rotation center for interpolation by animateTransform.
                  
              SVGTransform now has an additional constructor:
                  SVGTransform(type) to make empty base value transforms that match their
                  distanced values.
                  
              Removed m_colorDistance and m_transformDistance from their respective classes
                  as they are now computed at update time.
      
              Fix a case where animateTransform did not parse transform values correctly
                  according to BNF in W3C spec:
      
              Test case in:
              * manual-tests/animation/animateTransform-toanimation.svg: Added.
      
              Fix a case where animateTransform only specified a to animation only.
      
              Test case in:
              * manual-tests/animation/animateTransform-parser.svg: Added.
      
              * ksvg2/svg/SVGAnimateColorElement.cpp:
              (WebCore::SVGAnimateColorElement::updateAnimationBaseValueFromElement):
              (WebCore::SVGAnimateColorElement::updateAnimatedValue):
              (WebCore::SVGAnimateColorElement::calculateFromAndToValues):
              * ksvg2/svg/SVGAnimateColorElement.h:
              * ksvg2/svg/SVGAnimateTransformElement.cpp:
              (WebCore::SVGAnimateTransformElement::updateAnimatedValue):
              (WebCore::SVGAnimateTransformElement::updateAnimationBaseValueFromElement):
              (WebCore::SVGAnimateTransformElement::calculateFromAndToValues):
              (WebCore::SVGAnimateTransformElement::parseTransformValue):
              * ksvg2/svg/SVGAnimateTransformElement.h:
              * ksvg2/svg/SVGTransform.cpp:
              (SVGTransform::SVGTransform):
              (SVGTransform::angle):
              (SVGTransform::rotationCenter):
              (SVGTransform::setTranslate):
              (SVGTransform::setScale):
              (SVGTransform::setRotate):
              (SVGTransform::setSkewX):
              (SVGTransform::setSkewY):
              * ksvg2/svg/SVGTransform.h:
              * ksvg2/svg/SVGTransformDistance.cpp:
              (WebCore::SVGTransformDistance::SVGTransformDistance):
              (WebCore::SVGTransformDistance::scaledDistance):
              (WebCore::SVGTransformDistance::addSVGTransforms):
              (WebCore::SVGTransformDistance::addSVGTransform):
              (WebCore::SVGTransformDistance::addToSVGTransform):
              (WebCore::SVGTransformDistance::distance):
              * ksvg2/svg/SVGTransformDistance.h:
              * manual-tests/animation/animateTransform-parser.svg: Added.
              * manual-tests/animation/animateTransform-toanimation.svg: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19202 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cf1dda57
  3. 27 Jan, 2007 11 commits
    • aroben's avatar
      Reviewed by Ada. · 50b4bd16
      aroben authored
              Fix <rdar://problem/4957184> REGRESSION: After creating a new mail
              message, the caret is automatically in message body
      
              -[WebHTMLView _updateActiveState] was calling
              FocusController::focusedOrMainFrame, which had the surprising
              side-effect of setting the focused frame if there was none. The fix
              was to remove this side-effect.
      
              No tests possible, as this bug involves focus outside the WebView,
              which we have no support for in DRT.
      
              Change inspired by Dave Harrison.
      
              * page/FocusController.cpp:
              (WebCore::FocusController::focusedOrMainFrame): Removed this method's
              non-obvious side-effect of setting the focused frame.
              * WebCore.xcodeproj/project.pbxproj: Version wars.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19197 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      50b4bd16
    • ddkilzer's avatar
      WebCore: · 1c7c44d3
      ddkilzer authored
              Reviewed by Maciej.
      
              http://bugs.webkit.org/show_bug.cgi?id=11880: Improve some egregious
              Windows form control drawing issues:
              Provide Classic mode fallbacks for the button/textfield drawing
              routines.
              Provide some basic drawing of menulists (still relatively broken).
              Some cleanup.
      
              * platform/win/TemporaryLinkStubs.cpp:
              (WebCore::RenderThemeWin::systemFont):
              * rendering/RenderThemeWin.cpp:
              (WebCore::m_menuListTheme):
              (WebCore::RenderThemeWin::close):
              (WebCore::RenderThemeWin::determineClassicState):
              (WebCore::RenderThemeWin::getThemeData):
              (WebCore::RenderThemeWin::paintButton):
              (WebCore::RenderThemeWin::paintTextField):
              (WebCore::RenderThemeWin::paintMenuList):
              (WebCore::RenderThemeWin::paintMenuListButton):
              * rendering/RenderThemeWin.h:
              (WebCore::ThemeData::m_classicState):
              (WebCore::RenderThemeWin::setRadioSize):
              (WebCore::RenderThemeWin::paintTextArea):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19196 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1c7c44d3
    • ddkilzer's avatar
      WebCore: · 21d24f57
      ddkilzer authored
              Reviewed by Adam.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=12260
                Windows platform build is not maintained
      
              * loader/win/FrameLoaderWin.cpp:
              * platform/network/win/ResourceHandleWin.cpp:
              * platform/win/TemporaryLinkStubs.cpp:
              (WebCore::contextMenuItemTagOpenLinkInNewWindow):
              (WebCore::contextMenuItemTagDownloadLinkToDisk):
              (WebCore::contextMenuItemTagCopyLinkToClipboard):
              (WebCore::contextMenuItemTagOpenImageInNewWindow):
              (WebCore::contextMenuItemTagDownloadImageToDisk):
              (WebCore::contextMenuItemTagCopyImageToClipboard):
              (WebCore::contextMenuItemTagOpenFrameInNewWindow):
              (WebCore::contextMenuItemTagCopy):
              (WebCore::contextMenuItemTagGoBack):
              (WebCore::contextMenuItemTagGoForward):
              (WebCore::contextMenuItemTagStop):
              (WebCore::contextMenuItemTagReload):
              (WebCore::contextMenuItemTagCut):
              (WebCore::contextMenuItemTagPaste):
              (WebCore::contextMenuItemTagNoGuessesFound):
              (WebCore::contextMenuItemTagIgnoreSpelling):
              (WebCore::contextMenuItemTagLearnSpelling):
              (WebCore::contextMenuItemTagSearchWeb):
              (WebCore::contextMenuItemTagLookUpInDictionary):
              (WebCore::contextMenuItemTagOpenLink):
              (WebCore::contextMenuItemTagIgnoreGrammar):
              (WebCore::contextMenuItemTagSpellingMenu):
              (WebCore::contextMenuItemTagShowSpellingPanel):
              (WebCore::contextMenuItemTagCheckSpelling):
              (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
              (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
              (WebCore::contextMenuItemTagFontMenu):
              (WebCore::contextMenuItemTagBold):
              (WebCore::contextMenuItemTagItalic):
              (WebCore::contextMenuItemTagUnderline):
              (WebCore::contextMenuItemTagOutline):
              (WebCore::contextMenuItemTagWritingDirectionMenu):
              (WebCore::contextMenuItemTagDefaultDirection):
              (WebCore::contextMenuItemTagLeftToRight):
              (WebCore::contextMenuItemTagRightToLeft):
              (WebCore::DocumentLoader::unreachableURL):
              (WebCore::FrameLoader::redirectDataToPlugin):
              (WebCore::FrameLoader::partClearedInBegin):
              (WebCore::FrameLoader::createPlugin):
      
      WebKit:
      
              Reviewed by Adam.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=12260
                Windows platform build is not maintained
      
              * COM/ChromeClientWin.cpp:
              (ChromeClientWin::canTakeFocus):
              (ChromeClientWin::takeFocus):
              * COM/ChromeClientWin.h:
              * COM/ContextMenuClientWin.cpp:
              (ContextMenuClientWin::getCustomMenuFromDefaultItems):
              (ContextMenuClientWin::searchWithGoogle):
              * COM/ContextMenuClientWin.h:
              * COM/WebFrameLoaderClient.cpp:
              (WebFrameLoaderClient::assignIdentifierToInitialRequest):
              (WebFrameLoaderClient::dispatchWillSendRequest):
              (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
              (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
              (WebFrameLoaderClient::dispatchDidReceiveResponse):
              (WebFrameLoaderClient::dispatchDidReceiveContentLength):
              (WebFrameLoaderClient::dispatchDidFinishLoading):
              (WebFrameLoaderClient::dispatchDidFailLoading):
              (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
              (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
              (WebFrameLoaderClient::dispatchDidFailLoad):
              (WebFrameLoaderClient::dispatchCreatePage):
              (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
              (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
              (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
              (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
              (WebFrameLoaderClient::setMainDocumentError):
              (WebFrameLoaderClient::incrementProgress):
              (WebFrameLoaderClient::completeProgress):
              (WebFrameLoaderClient::startDownload):
              (WebFrameLoaderClient::committedLoad):
              (WebFrameLoaderClient::cancelledError):
              (WebFrameLoaderClient::cannotShowURLError):
              (WebFrameLoaderClient::interruptForPolicyChangeError):
              (WebFrameLoaderClient::cannotShowMIMETypeError):
              (WebFrameLoaderClient::fileDoesNotExistError):
              (WebFrameLoaderClient::shouldFallBack):
              (WebFrameLoaderClient::willUseArchive):
              (WebFrameLoaderClient::createDocumentLoader):
              (WebFrameLoaderClient::download):
              * COM/WebFrameLoaderClient.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19195 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      21d24f57
    • weinig's avatar
      LayoutTests: · 78bac1c8
      weinig authored
              Reviewed by Mitz.
      
              - Test for http://bugs.webkit.org/show_bug.cgi?id=11957
                Unordered List Bullets too big and changing from size
      
              * fast/lists/big-list-marker-expected.checksum: Added.
              * fast/lists/big-list-marker-expected.png: Added.
              * fast/lists/big-list-marker-expected.txt: Added.
              * fast/lists/big-list-marker.html: Added.
      
      WebCore:
      
              Reviewed by Mitz.
      
              - Patch for http://bugs.webkit.org/show_bug.cgi?id=11957
                REGRESSION: Unordered List Bullets too big and changing from size
      
              * rendering/RenderListMarker.cpp:
              (WebCore::RenderListMarker::paint): Explicitly set the stroke size to 1.0f.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19192 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      78bac1c8
    • lars's avatar
      Fix the Qt build and disable the usage · b15efeec
      lars authored
              of QScrollbars for PlatformScrollBar for 
              now as it causes crashes in the layout tests.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19190 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b15efeec
    • ddkilzer's avatar
      WebCore: · b27bdd03
      ddkilzer authored
              Reviewed by NOBODY (buildbot build fix).
      
              * ksvg2/svg/ColorDistance.cpp:
              (WebCore::ColorDistance::scaledDistance): Added static cast of arguments to int.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19189 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b27bdd03
    • rwlbuis's avatar
      · 4c28f6e9
      rwlbuis authored
              Reviewed by NOBODY (typo in method name fix).
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19188 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c28f6e9
    • eseidel's avatar
      2007-01-27 Eric Seidel <eric@webkit.org> · 4e4bf8c7
      eseidel authored
              Reviewed by olliej.
      
              Fix support for SVG's <set> element.
      
              Manual test added.
      
              * ksvg2/svg/SVGSetElement.cpp:
              (WebCore::SVGSetElement::updateAnimatedValue):
              (WebCore::SVGSetElement::calculateFromAndToValues):
              * ksvg2/svg/SVGSetElement.h:
              * manual-tests/animation/set-to.svg: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4e4bf8c7
    • ap's avatar
      Release build fix. · 3eb5f91b
      ap authored
              * loader/TextResourceDecoder.cpp:
              (WebCore::TextResourceDecoder::checkForHeadCharset):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3eb5f91b
    • ap's avatar
      Reviewed by Darin. · 6873b110
      ap authored
              http://bugs.webkit.org/show_bug.cgi?id=12389
              Chinese decoding error at hk.antispam.yahoo.com
      
              Test: fast/encoding/noscript-in-head.html
      
              * loader/TextResourceDecoder.cpp:
              (WebCore::TextResourceDecoder::checkForHeadCharset): We were already allowing 
              NOSCRIPT tags in head, let's actually skip over their content.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19185 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6873b110
    • aroben's avatar
      Added forgotten Radar reference. · 0be4e09a
      aroben authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19184 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0be4e09a
  4. 26 Jan, 2007 9 commits
    • ggaren's avatar
      JavaScriptCore: · d6a0e7ff
      ggaren authored
              Reviewed by Maciej Stachowiak.
              
              Fixed <rdar://problem/4608404> WebScriptObject's _rootObject lack 
              of ownership policy causes crashes (e.g., in Dashcode)
              
              The old model for RootObject ownership was either to (1) leak them or (2) assign
              them to a single owner -- the WebCore::Frame -- which would destroy them 
              when it believed that all of its plug-ins had unloaded.
              
              This model was broken because of (1) and also because plug-ins are not the only 
              RootObject clients. All Bindings clients are RootObjects clients, including 
              applications, which outlive any particular WebCore::Frame.
              
              The new model for RootObject ownership is to reference-count them, with a
              throw-back to the old model: The WebCore::Frame tracks the RootObjects
              it creates, and invalidates them when it believes that all of its plug-ins 
              have unloaded.
              
              We maintain this throw-back to avoid plug-in leaks, particularly from Java.
              Java is completely broken when it comes to releasing JavaScript objects. 
              Comments in our code allege that Java does not always call finalize when 
              collecting objects. Moreoever, my own testing reveals that, when Java does 
              notify JavaScript of a finalize, the data it provides is totally bogus.
              
              This setup is far from ideal, but I don't think we can do better without
              completely rewriting the bindings code, and possibly part of the Java
              plug-in / VM.
              
              Layout tests pass. No additional leaks reported. WebCore/manual-tests/*liveconnect*
              and a few LiveConnect demos on the web also run without a hitch.
              
              const RootObject* => RootObject*, since we need to ref/deref
              
              * bindings/NP_jsobject.cpp:
              (jsDeallocate): deref our RootObjects. Also unprotect or JSObject, instead
              of just relying on the RootObject to do it for us when it's invalidated.
              (_isSafeScript): Check RootObject validity.
              (_NPN_CreateScriptObject): ditto
              (_NPN_Invoke): ditto
              (_NPN_Evaluate): ditto
              (_NPN_GetProperty): ditto
              (_NPN_SetProperty): ditto
              (_NPN_RemoveProperty): ditto
              (_NPN_HasProperty): ditto
              (_NPN_HasMethod): ditto
              (_NPN_SetException): ditto
      
              * bindings/runtime_root.cpp: 
              Revived bit-rotted LIAR LIAR LIAR comment.
              
              LOOK: Added support for invalidating RootObjects without deleting them, 
              which is the main goal of this patch. 
      
              Moved protect counting into the RootObject class, to emphasize that 
              the RootObject protects the JSObject, and unprotects it upon being invalidated.
                  addNativeReference => RootObject::gcProtect
                  removeNativeReference => RootObject::gcUnprotect
                  ProtectCountSet::contains => RootObject::gcIsProtected
                  
              I know we'll all be sad to see the word "native" go.
              
              * bindings/runtime_root.h: Added ref-counting support to RootObject, with
              all the standard accoutrements.
      
              * bindings/c/c_utility.cpp:
              (KJS::Bindings::convertValueToNPVariant): If we can't find a valid RootObject,
              return void instead of just leaking.
      
              * bindings/jni/jni_instance.cpp:
              (JavaInstance::JavaInstance): Don't take a RootObject in our constructor;
              be like other Instances and require the caller to call setRootObject. This
              reduces the number of ownership code paths.
              (JavaInstance::invokeMethod): Check RootObject for validity.
              * bindings/jni/jni_instance.h: Removed private no-arg constructor. Having
              an arg constructor accomplishes the same thing.
      
              * bindings/jni/jni_jsobject.cpp:
              (JavaJSObject::invoke): No need to call findProtectCountSet, because finalize()
              checks for RootObject validity.
              (JavaJSObject::JavaJSObject): check RootObject for validity
              (JavaJSObject::call): ditto
              (JavaJSObject::eval): ditto
              (JavaJSObject::getMember): ditto
              (JavaJSObject::setMember): ditto
              (JavaJSObject::removeMember): ditto
              (JavaJSObject::getSlot): ditto
              (JavaJSObject::setSlot): ditto
              (JavaJSObject::toString): ditto
              (JavaJSObject::finalize): ditto
              (JavaJSObject::createNative): No need to tell the RootObject to protect 
              the global object, since the RootObject already owns the interpreter.
      
              * bindings/jni/jni_runtime.cpp:
              (JavaArray::JavaArray): Removed copy construcutor becaue it was unused.
              Dead code is dangerous code.
      
              * bindings/objc/objc_runtime.mm: Added WebUndefined protocol. Previous use
              of WebScriptObject was bogus, because WebUndefined is not a subclass of
              WebScriptObject.
              (convertValueToObjcObject): If we can't find a valid RootObject,
              return nil instead of just leaking.
      
              * bindings/objc/objc_utility.mm:
              (KJS::Bindings::convertValueToObjcValue): If we can't find a valid RootObject,
              return nil instead of just leaking.
      
      LayoutTests:
      
              Reviewed by Maciej Stachowiak.
              
              Added test for <rdar://problem/4608404> WebScriptObject's _rootObject lack 
              of ownership policy causes crashes (e.g., in Dashcode)
              
              No test for Java or NPP versions of this bug because there's no reliable way to
              make Java and NPP objects outlive their RootObjects (although Java objects
              sometimes do).
      
              * plugins/root-object-premature-delete-crash-expected.txt: Added.
              * plugins/root-object-premature-delete-crash.html: Added.
      
      WebCore:
      
              Reviewed by Maciej Stachowiak.
              
              Fixed <rdar://problem/4608404> WebScriptObject's _executionContext lack 
              of ownership policy causes crashes (e.g., in Dashcode)
      
              Added RootObject ref-counting goodness.
      
              * page/mac/FrameMac.h:
              * page/mac/FrameMac.mm:
              (WebCore::FrameMac::cleanupPluginObjects): Invalidate our RootObjects 
              instead of detroying them. Track _bindingRootObject separately from the
              rest of our RootObjects, since it has its own variable.
      
              * page/mac/WebCoreFrameBridge.mm:
              (createRootObject): Use the Frame's new, more encapsulated function to
              create a RootObject.
      
              * bindings/objc/WebScriptObject.mm: Nixed rootObject setters, since they
              were unused and they complicated reference-counting.
      
      WebKitTools:
      
              Reviewed by Maciej Stachowiak.
              
              Added support for test for <rdar://problem/4608404> WebScriptObject's 
              _rootObject lack of ownership policy causes crashes (e.g., in Dashcode)
              
              * DumpRenderTree/DumpRenderTree.m:
              (+[LayoutTestController isSelectorExcludedFromWebScript:]):
              (+[LayoutTestController webScriptNameForSelector:]):
              (-[LayoutTestController storeWebScriptObject:]):
              (-[LayoutTestController accessStoredWebScriptObject]):
              (-[LayoutTestController dealloc]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19183 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d6a0e7ff
    • ddkilzer's avatar
      WebCore: · 4d725b5b
      ddkilzer authored
              Reviewed by Eric.
      
              Release build fix.
      
              * ksvg2/svg/SVGAnimationElement.cpp:
              (WebCore::SVGAnimationElement::calculateValueIndexAndPercentagePast): Added static cast
              to unsigned when calculating flooredValueIndex.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4d725b5b
    • darin's avatar
      - checked in slightly newer revision of the patch below · 416ab884
      darin authored
              * css/CSSComputedStyleDeclaration.cpp:
              (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
              Grouped all the unimplemented values at the bottom. Fixed the ifdef for
              CSS_PROP__WEBKIT_DASHBOARD_REGION so that it compiles on all platforms.
      
              * css/cssparser.cpp: (WebCore::CSSParser::parseValue): Removed default
              case and added type so that the compiler warns about missing properties.
              * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19176 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      416ab884
    • weinig's avatar
      LayoutTests: · f507bb59
      weinig authored
              Reviewed by Beth.
      
              - updated test results for change to computed style
      
              * editing/pasteboard/paste-table-002-expected.txt:
              Updated for change to order of style properties.
      
              * fast/css/computed-style-expected.txt:
              Updated for change to order of style properties and to add new ones.
      
      WebCore:
      
              Reviewed by Beth.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=12412
                "unimplemented propertyID: 46" seen at dojotoolkit.org
      
              Covered by fast/css/computed-style.html
      
              * css/CSSPropertyNames.in: Sorted the file into two separate sections, one
              for properties without the -webkit- prefix and another for properties with.
      
              * css/makeprop: Generate a CSSPropertyID enum instead of a set of #defines.
              Removed unused CSS_PROP_MIN and CSS_PROP_MAX. Renamed CSS_PROP_TOTAL to
              numCSSProperties and changed it to a const int instead of #define.
              Added a declaration of getPropertyName in the header. Changed the return
              type of getPropertyName to const char* and the parameter type to CSSPropertyID.
      
              * css/CSSComputedStyleDeclaration.cpp: Sort the lists of properties in
              an easier to maintain order -- properties without a WebKit prefix first.
              (WebCore::valueForLength): Changed return value to PassRefPtr.
              (WebCore::valueForMaxLength): Ditto.
              (WebCore::valueForBorderStyle): Ditto.
              (WebCore::valueForTextAlign): Ditto.
              (WebCore::valueForAppearance): Added.
              (WebCore::valueForMarginCollapse): Added.
              (WebCore::valueForShadow): Changed return value to PassRefPtr.
              (WebCore::getPositionOffsetValue): Ditto.
              (WebCore::currentColorOrValidColor): Ditto.
              (WebCore::CSSComputedStyleDeclaration::cssText): Added cast since
              getPropertyName now takes an enum value.
              (WebCore::primitiveValueFromLength): Changed return value to PassRefPtr.
              (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
              Added cast to CSSPropertyID so that gcc will detect missing enums in the
              switch statement. Simplified the background-size and border-spacing
              implementations so they don't have local variables. Added lots of cases
              to the switch statement for unimplemented properties. Implemented the
              outline-width, box-sizing, -webkit-appearance, -webkit-rtl-ordering,
              -webkit-user-drag, and -webkit-user-select properties.
              (WebCore::CSSComputedStyleDeclaration::item): Added cast since
              getPropertyName now takes an enum value.
      
              * css/CSSMutableStyleDeclaration.cpp: Removed declaration of getPropertyName.
              (WebCore::CSSMutableStyleDeclaration::item): Added cast since
              getPropertyName now takes an enum value.
      
              * css/CSSProperty.cpp: Removed declaration of getPropertyName.
              (WebCore::CSSProperty::cssText): Added cast since
              getPropertyName now takes an enum value and returns a const char*.
      
              * css/CSSStyleDeclaration.cpp: Removed declaration of getPropertyName.
              (WebCore::CSSStyleDeclaration::getPropertyShorthand): Added cast since
              getPropertyName now takes an enum value and returns a const char*.
      
      WebKit:
      
              Reviewed by Beth.
      
              * WebInspector/webInspector/inspector.js: Updated for new computed style properties.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19175 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f507bb59
    • aliceli1's avatar
      Reviewed by Brady. · bf1f391d
      aliceli1 authored
              Fixed <rdar://problem/4838076> CrashTracer: 10 crashes in Mail at com.apple.WebCore: WTF::HashMap<WebCore::String
      
              * loader/DocLoader.cpp:
              (WebCore::DocLoader::requestResource):
              Added nil check around resource from cache.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19174 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bf1f391d
    • aroben's avatar
      Reviewed by Oliver. · fd0b6d07
      aroben authored
              Build fix.
      
              * ksvg2/svg/SVGAnimationElement.cpp:
              (WebCore::SVGAnimationElement::calculateValueIndexAndPercentagePast):
              Keep index variables as unsigned until we need to convert to float.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19173 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd0b6d07
    • aliceli1's avatar
      LayoutTests: · 4de9cdf7
      aliceli1 authored
              Reviewed by Ada.
      
              Added tests for <rdar://problem/4919097> REGRESSION: Ctrl-Y fails to yank (11076)
      
              * editing/pasteboard/emacs-ctrl-a-k-y-expected.checksum: Added.
              * editing/pasteboard/emacs-ctrl-a-k-y-expected.png: Added.
              * editing/pasteboard/emacs-ctrl-a-k-y-expected.txt: Added.
              * editing/pasteboard/emacs-ctrl-a-k-y.html: Added.
              Test for <rdar://problem/4919097>
      
              * editing/deleting/delete-by-word-001-expected.txt:
              * editing/deleting/delete-by-word-002-expected.txt:
              * editing/deleting/delete-to-end-of-paragraph-expected.txt:
              * editing/pasteboard/emacs-cntl-y-001-expected.txt:
              The expected results of these tests were affected by the WebCore checkin of the same number.  The results are the same, but there were more editing delegates that were called, as expected.  I suspect these tests were created during the time that <rdar://problem/4919097> was broken
      
      WebCore:
      
              Reviewed by Ada.
      
              Fixed <rdar://problem/4919097> REGRESSION: Ctrl-Y fails to yank (11076)
      
              * editing/Editor.cpp:
              (WebCore::Editor::deleteWithDirection):
              If there's no selection, locally create a range that is to the end of the granularity unit and pass that to deleteRange(). 
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19172 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4de9cdf7
    • weinig's avatar
      Reviewed by Maciej. · cb316bee
      weinig authored
              Qt build fix.
      
              * page/qt/EventHandlerQt.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cb316bee
    • weinig's avatar
      Reviewed by Hyatt. · 2901c77a
      weinig authored
              Fix so that we only relayout frameset children on calls to layout.
      
              * page/FrameView.cpp:
              (WebCore::FrameView::layout):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19170 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2901c77a