1. 04 Dec, 2007 1 commit
    • aroben@apple.com's avatar
      Make the implementation of Frame::setNeedsReapplyStyles cross-platform · 4cfcb8ae
      aroben@apple.com authored
       WebCore:
      
               Make the implementation of Frame::setNeedsReapplyStyles cross-platform
      
               Reviewed by Hyatt.
      
               No change in functionality.
      
               * page/Frame.cpp:
               (WebCore::Frame::setNeedsReapplyStyles): Added. Invalidates the
               FrameView so that FrameView::layout will be called, which ends up
               calling reapplyStyles.
               (WebCore::Frame::needsReapplyStyles): Added.
               (WebCore::Frame::reapplyStyles): Renamed from reparseConfiguration.
               (WebCore::FramePrivate::FramePrivate):
               * page/Frame.h:
               * page/FramePrivate.h: Added new boolean member.
               * page/FrameView.cpp:
               (WebCore::FrameView::layout): Call Frame::reapplyStyles if needed.
               (WebCore::FrameView::needsLayout): Say that we need layout if the
               Frame needs styles reapplied.
               * page/mac/WebCoreFrameBridge.h: Removed setNeedsReapplyStyles.
               * page/mac/WebCoreFrameBridge.mm:
               (-[WebCoreFrameBridge reapplyStylesForDeviceType:]): Updated for
               rename.
      
               * bridge/win/FrameWin.cpp: Removed Frame::setNeedsReapplyStyles.
               * page/gtk/FrameGtk.cpp: Ditto.
               * page/mac/FrameMac.mm: Ditto.
               * page/qt/FrameQt.cpp: Ditto.
               * platform/wx/TemporaryLinkStubs.cpp: Ditto.
      
       WebKit/mac:
      
               Remove -[WebFrameBridge setNeedsReapplyStyles]
      
               This functionality is now WebCore's responsibility.
      
               Reviewed by Hyatt.
      
               * WebCoreSupport/WebFrameBridge.mm:
               * WebKit.order:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28411 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4cfcb8ae
  2. 01 Dec, 2007 1 commit
    • ggaren@apple.com's avatar
      JavaScriptCore: · 41893215
      ggaren@apple.com authored
              Reviewed by Beth Dakin.
              
              Reversed the ownership relationship between Interpreter and JSGlobalObject.
              Now, the JSGlobalObject owns the Interpreter, and top-level objects
              that need the two to persist just protect the JSGlobalObject from GC.
              
              Global object bootstrapping looks a little odd right now, but it will
              make much more sense soon, after further rounds of refactoring.
      
              * bindings/runtime_root.h: Made this class inherit from RefCounted,
              to avoid code duplication.
      
              * kjs/collector.cpp:
              (KJS::Collector::collect): No need to give special GC treatment to 
              Interpreters, since we mark their global objects, which mark them.
      
              * kjs/interpreter.cpp:
              (KJS::Interpreter::mark): No need to mark our global object, since it
              marks us.
              * kjs/interpreter.h: Don't inherit from RefCounted -- JSGlobalObject 
              owns us directly.
      
              * kjs/testkjs.cpp: Modified to follow the new rules.
              (createGlobalObject):
              (runWithScripts):
      
      JavaScriptGlue:
      
              Reviewed by Beth Dakin.
              
              Modified to follow new JSGlobalObject/Interpreter ownership rules 
              in JavaScriptCore.
      
              * JSRun.cpp:
              (JSRun::JSRun):
              (JSRun::GetInterpreter):
              (JSRun::Evaluate):
              (JSRun::CheckSyntax):
              * JSRun.h:
              * JSValueWrapper.cpp:
              (unprotectGlobalObject):
              (initializeGlobalObjectKey):
              (getThreadGlobalExecState):
      
      WebCore:
      
              Reviewed by Beth Dakin.
              
              Modified WebCore to follow the new JSGlobalObject/Interpreter ownership
              rules in JavaScriptCore.
      
              * bindings/js/kjs_binding.cpp:
              * bindings/js/kjs_binding.h: Removed stale, unused 
              interpreterForGlobalObject().
      
              * bindings/js/kjs_proxy.cpp: Changed to store a global object, rather
              than an interpreter.
              (WebCore::KJSProxy::finishedWithEvent): Need to NULL check 
              m_globalObject here because we no longer unnecessarily instantiate it.
      
              * bindings/js/kjs_window.cpp:
              (KJS::ScheduledAction::execute):
              * bindings/js/kjs_window.h: Removed redundant and less efficient 
              interpreter() function -- global objects have direct access to their
              interpreters now.
      
              Changed these functions to pass around JSGlobalObjects instead of 
              Interpreters:
      
              * page/Frame.cpp:
              (WebCore::Frame::bindingRootObject):
              (WebCore::Frame::createRootObject):
              * page/Frame.h:
              * page/mac/WebCoreFrameBridge.mm:
              (createRootObject):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28309 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      41893215
  3. 13 Nov, 2007 1 commit
    • ggaren@apple.com's avatar
      JavaScriptCore: · 58ea1c13
      ggaren@apple.com authored
              Reviewed by Anders Carlsson.
      
              Renamed Shared to RefCounted.
      
              * API/JSClassRef.h:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * kjs/interpreter.h:
              * kjs/regexp.h:
              * wtf/RefCounted.h: Copied from JavaScriptCore/wtf/Shared.h.
              (WTF::RefCounted::RefCounted):
              * wtf/Shared.h: Removed.
      
      JavaScriptGlue:
      
              Reviewed by Anders Carlsson.
      
              Renamed Shared to RefCounted.
      
              * ForwardingHeaders/wtf/RefCounted.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/Shared.h.
              * ForwardingHeaders/wtf/Shared.h: Removed.
      
      WebCore:
      
              Reviewed by Anders Carlsson.
      
              Renamed Shared to RefCounted.
      
              * ForwardingHeaders/wtf/RefCounted.h: Copied from WebCore/ForwardingHeaders/wtf/Shared.h.
              * ForwardingHeaders/wtf/Shared.h: Removed.
              * bindings/js/JSSVGPODTypeWrapper.h:
              * css/CSSFontFace.h:
              * css/CSSRuleList.h:
              * css/Counter.h:
              * css/Pair.h:
              * css/Rect.h:
              * css/StyleBase.h:
              * css/StyleSheetList.h:
              * dom/Attribute.h:
              * dom/Clipboard.h:
              * dom/DOMImplementation.h:
              * dom/Event.h:
              * dom/EventListener.h:
              * dom/NamedNodeMap.h:
              * dom/NodeFilter.h:
              * dom/NodeFilterCondition.h:
              * dom/NodeList.h:
              * dom/QualifiedName.h:
              * dom/Range.h:
              * dom/RangeException.h:
              * dom/RegisteredEventListener.h:
              * dom/Traversal.h:
              * editing/EditCommand.h:
              * history/BackForwardList.h:
              * history/CachedPage.h:
              * history/HistoryItem.cpp:
              (WebCore::HistoryItem::HistoryItem):
              * history/HistoryItem.h:
              * html/CanvasGradient.h:
              * html/CanvasPattern.h:
              * html/CanvasRenderingContext2D.h:
              * html/CanvasStyle.h:
              * html/HTMLCollection.h:
              * html/MediaError.h:
              * html/TimeRanges.h:
              * html/VoidCallback.h:
              * ksvg2/css/SVGRenderStyle.cpp:
              (WebCore::SVGRenderStyle::SVGRenderStyle):
              * ksvg2/css/SVGRenderStyle.h:
              * ksvg2/css/SVGRenderStyleDefs.cpp:
              (StyleFillData::StyleFillData):
              (StyleStrokeData::StyleStrokeData):
              (StyleStopData::StyleStopData):
              (StyleTextData::StyleTextData):
              (StyleClipData::StyleClipData):
              (StyleMaskData::StyleMaskData):
              (StyleMarkerData::StyleMarkerData):
              (StyleMiscData::StyleMiscData):
              * ksvg2/css/SVGRenderStyleDefs.h:
              * ksvg2/svg/SVGAngle.cpp:
              (WebCore::SVGAngle::SVGAngle):
              * ksvg2/svg/SVGAngle.h:
              * ksvg2/svg/SVGAnimatedTemplate.h:
              * ksvg2/svg/SVGElementInstanceList.h:
              * ksvg2/svg/SVGException.h:
              * ksvg2/svg/SVGList.h:
              * ksvg2/svg/SVGPathSeg.h:
              * ksvg2/svg/SVGPreserveAspectRatio.cpp:
              (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
              * ksvg2/svg/SVGPreserveAspectRatio.h:
              * ksvg2/svg/SVGRenderingIntent.h:
              * ksvg2/svg/SVGTransform.h:
              * ksvg2/svg/SVGUnitTypes.h:
              * loader/DocumentLoader.h:
              * loader/FormState.h:
              * loader/ResourceLoader.h:
              * loader/TextResourceDecoder.h:
              * loader/icon/IconRecord.h:
              * page/BarInfo.h:
              * page/Console.h:
              * page/DOMSelection.h:
              * page/DOMWindow.h:
              * page/Frame.h:
              * page/History.h:
              * page/InspectorController.cpp:
              * page/Plugin.h:
              * page/Screen.h:
              * platform/ArrayImpl.h:
              * platform/CString.h:
              * platform/Cursor.h:
              * platform/DeprecatedValueListImpl.cpp:
              (WebCore::DeprecatedValueListImpl::Private::Private):
              * platform/FileChooser.h:
              * platform/FontFallbackList.h:
              * platform/FontFamily.cpp:
              (WebCore::FontFamily::FontFamily):
              * platform/FontFamily.h:
              * platform/FontSelector.h:
              * platform/GlyphPageTreeNode.h:
              * platform/PopupMenu.h:
              * platform/RegularExpression.cpp:
              * platform/ScrollBar.h:
              * platform/SharedBuffer.h:
              * platform/StringImpl.h:
              * platform/graphics/Icon.h:
              * platform/graphics/svg/SVGResource.h:
              * platform/network/FormData.cpp:
              (WebCore::FormData::FormData):
              * platform/network/FormData.h:
              * platform/network/ResourceHandle.h:
              * platform/network/ResourceHandleClient.h:
              * rendering/RenderStyle.cpp:
              (WebCore::StyleSurroundData::StyleSurroundData):
              (WebCore::StyleBoxData::StyleBoxData):
              (WebCore::StyleVisualData::StyleVisualData):
              (WebCore::StyleBackgroundData::StyleBackgroundData):
              (WebCore::StyleMarqueeData::StyleMarqueeData):
              (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
              (WebCore::StyleMultiColData::StyleMultiColData):
              (WebCore::StyleTransformData::StyleTransformData):
              (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
              (WebCore::StyleRareInheritedData::StyleRareInheritedData):
              (WebCore::StyleInheritedData::StyleInheritedData):
              * rendering/RenderStyle.h:
              * rendering/SVGCharacterLayoutInfo.h:
              (WebCore::SVGCharOnPath::SVGCharOnPath):
              * storage/SQLResultSetRowList.h:
              * xml/DOMParser.h:
              * xml/XMLHttpRequest.h:
              * xml/XMLSerializer.h:
              * xml/XPathEvaluator.h:
              * xml/XPathExpression.h:
              * xml/XPathNSResolver.h:
              * xml/XPathResult.h:
              * xml/XPathValue.h:
              * xml/XSLTProcessor.h:
      
      WebKit/mac:
      
              Reviewed by Anders Carlsson.
              
              Renamed Shared to RefCounted.
      
              * ForwardingHeaders/wtf/RefCounted.h: Copied from WebKit/mac/ForwardingHeaders/wtf/Shared.h.
              * ForwardingHeaders/wtf/Shared.h: Removed.
              * WebCoreSupport/WebContextMenuClient.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      58ea1c13
  4. 08 Nov, 2007 1 commit
    • darin@apple.com's avatar
      WebCore: · 02405e32
      darin@apple.com authored
              Reviewed by Steve.
      
              - cut down on notImplemented() functions on Windows
      
              * bridge/AXObjectCache.h: Put #if around the accessibility
              global.
      
              * bridge/win/FrameWin.cpp: (WebCore::Frame::setNeedsReapplyStyles):
              Moved here from TemporaryLinkStubs.
      
              * dom/Document.cpp: (WebCore::Document::lastModified): Re-implemented
              using the ResourceResponse that's now available from the DocumentLoader.
      
              * editing/JSEditor.cpp: (execTranspose): Changed to call transpose() on
              the Editor instead of the obsolete one on the Frame.
      
              * loader/DocumentLoader.h: Removed getResponseModifiedHeader.
              * loader/FrameLoader.h: Removed overrideMediaType.
      
              * loader/gtk/DocumentLoaderGtk.cpp: Removed.
              * loader/mac/DocumentLoaderMac.mm: Removed.
              * loader/qt/DocumentLoaderQt.cpp: Removed.
      
              * page/Frame.cpp: Removed transpose.
              * page/Frame.h: Ditto.
              * page/FrameView.h: Removed updateBorder.
              * page/gtk/FrameGtk.cpp: Removed issueTransposeCommand.
              * page/mac/FrameMac.mm: Ditto.
              * page/mac/WebCoreFrameBridge.h: Removed issueTransposeCommand and
              overrideMediaType.
              * page/qt/FrameQt.cpp: Removed issueTransposeCommand.
      
              * platform/gtk/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled.
              * platform/qt/TemporaryLinkStubs.cpp: Ditto.
              * platform/win/TemporaryLinkStubs.cpp: Removed or moved all but 3 of the stubs.
              * platform/wx/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled,
              issueTransposeCommand, and overrideMediaType.
      
              * platform/network/cf/ResourceHandleCFNet.cpp:
              (WebCore::ResourceHandle::loadsBlocked): Moved here from TemporaryLinkStubs.
              (WebCore::ResourceHandle::willLoadFromCache): Ditto.
              * platform/win/GraphicsContextWin.cpp:
              (WebCore::GraphicsContextPlatformPrivate::clip): Ditto.
              * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::inWindow): Ditto.
              * platform/win/SystemTimeWin.cpp: (WebCore::userIdleTime): Ditto.
              * platform/win/WidgetWin.cpp: (WebCore::Widget::setIsSelected): Ditto.
      
              * WebCore.pro: Updated for removed files.
              * WebCore.xcodeproj/project.pbxproj: Updated for removed file.
      
      WebKit/mac:
      
              Reviewed by Steve.
      
              - removed some unused WebCore bridge methods
      
              * WebCoreSupport/WebFrameBridge.mm: Removed issueTransposeCommand and overrideMediaType.
      
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::overrideMediaType): Changed to call WebView directly instead of
              using the bridge object.
      
      WebKit/win:
      
              Reviewed by Steve.
      
              * Interfaces/IWebUIDelegate.idl: Added the functions needed below.
              * WebChromeClient.cpp:
              (WebChromeClient::setMenubarVisible): Eliminated the notImplemented()
              here by calling through the UI delegate.
              (WebChromeClient::menubarVisible): Ditto.
              (WebChromeClient::runDatabaseSizeLimitPrompt): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27598 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      02405e32
  5. 29 Oct, 2007 1 commit
    • hyatt's avatar
      Land the back end for CSS animated property transitions. I am landing... · 02b766f2
      hyatt authored
              Land the back end for CSS animated property transitions.  I am landing this in stages, so the AnimationController
              class is deliberately left empty.
      
              Reviewed by darin/aroben
      
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * css/CSSComputedStyleDeclaration.cpp:
              (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
              * css/CSSPropertyNames.in:
              * css/CSSTimingFunctionValue.cpp: Added.
              (WebCore::CSSTimingFunctionValue::cssText):
              * css/CSSTimingFunctionValue.h: Added.
              (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
              (WebCore::CSSTimingFunctionValue::firstPoint):
              (WebCore::CSSTimingFunctionValue::secondPoint):
              * css/CSSValueKeywords.in:
              * history/CachedPage.cpp:
              (WebCore::CachedPage::restore):
              * page/AnimationController.cpp: Added.
              (WebCore::AnimationController::AnimationController):
              (WebCore::AnimationController::~AnimationController):
              (WebCore::AnimationController::cancelTransitions):
              (WebCore::AnimationController::updateTransitions):
              (WebCore::AnimationController::suspendAnimations):
              (WebCore::AnimationController::resumeAnimations):
              * page/AnimationController.h: Added.
              * page/Frame.cpp:
              (WebCore::Frame::animationController):
              (WebCore::Frame::clearTimers):
              * page/Frame.h:
              * page/FramePrivate.h:
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::setStyle):
              (WebCore::RenderBox::destroy):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::animationController):
              * rendering/RenderObject.h:
              * rendering/RenderStyle.cpp:
              (WebCore::Transition::Transition):
              (WebCore::Transition::~Transition):
              (WebCore::Transition::operator=):
              (WebCore::Transition::operator==):
              (WebCore::Transition::fillUnsetProperties):
              (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
              (WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData):
              (WebCore::StyleRareNonInheritedData::operator==):
              (WebCore::StyleRareNonInheritedData::transitionDataEquivalent):
              (WebCore::RenderStyle::diff):
              (WebCore::RenderStyle::adjustTransitions):
              (WebCore::RenderStyle::accessTransitions):
              * rendering/RenderStyle.h:
              (WebCore::BackgroundLayer::next):
              (WebCore::):
              (WebCore::TimingFunction::TimingFunction):
              (WebCore::TimingFunction::operator==):
              (WebCore::Transition::next):
              (WebCore::Transition::isTransitionDurationSet):
              (WebCore::Transition::isTransitionRepeatCountSet):
              (WebCore::Transition::isTransitionTimingFunctionSet):
              (WebCore::Transition::isTransitionPropertySet):
              (WebCore::Transition::isEmpty):
              (WebCore::Transition::clearTransitionDuration):
              (WebCore::Transition::clearTransitionRepeatCount):
              (WebCore::Transition::clearTransitionTimingFunction):
              (WebCore::Transition::clearTransitionProperty):
              (WebCore::Transition::transitionDuration):
              (WebCore::Transition::transitionRepeatCount):
              (WebCore::Transition::transitionTimingFunction):
              (WebCore::Transition::transitionProperty):
              (WebCore::Transition::setTransitionDuration):
              (WebCore::Transition::setTransitionRepeatCount):
              (WebCore::Transition::setTransitionTimingFunction):
              (WebCore::Transition::setTransitionProperty):
              (WebCore::Transition::setNext):
              (WebCore::Transition::operator!=):
              (WebCore::RenderStyle::transitions):
              (WebCore::RenderStyle::clearTransitions):
              (WebCore::RenderStyle::inheritTransitions):
              (WebCore::RenderStyle::initialTransitionDuration):
              (WebCore::RenderStyle::initialTransitionRepeatCount):
              (WebCore::RenderStyle::initialTransitionTimingFunction):
              (WebCore::RenderStyle::initialTransitionProperty):
              * rendering/RenderWidget.cpp:
              (WebCore::RenderWidget::destroy):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27228 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      02b766f2
  6. 16 Oct, 2007 1 commit
    • darin's avatar
      WebCore: · d4efa444
      darin authored
              Reviewed by Adele.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=15525
                transpose (control-T) should do the last two characters on a line if at end of line
              - remove unused CommandByName class
              - move transpose command implementation here from Mac OS X WebKit
      
              * editing/Editor.h:
              * editing/Editor.cpp:
              (WebCore::execTranspose): Added.
              (WebCore::Editor::transpose): Added. This has the transpose implementation from
              WebCoreFrameBridge and WebHTMLView, translated into WebCore-style C++ and with
              a special case for the end of a paragraph.
      
              * page/Frame.h: Removed unused command() function member.
              * page/FramePrivate.h: Removed unused m_command data member.
              * page/Frame.cpp: Ditto.
      
              * page/mac/WebCoreFrameBridge.h: Removed rangeOfCharactersAroundCaret method.
              * page/mac/WebCoreFrameBridge.mm: Ditto.
      
              * WebCore.pro: Removed CommandByName.h/cpp.
              * WebCore.vcproj/WebCore.vcproj: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
      
              * editing/CommandByName.cpp: Removed.
              * editing/CommandByName.h: Removed.
      
      WebKit:
      
              Reviewed by Adele.
      
              - moved transpose command implementation into WebCore
      
              * WebView/WebHTMLView.mm: Removed transpose: and replaced it with standard WebCore forwarding.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@26683 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d4efa444
  7. 04 Oct, 2007 1 commit
  8. 25 Sep, 2007 1 commit
    • ddkilzer's avatar
      JavaScriptCore: · c8eccecd
      ddkilzer authored
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * COPYING.LIB:
              * bindings/testbindings.cpp:
              * kjs/AllInOneFile.cpp:
              * kjs/DateMath.cpp:
              * kjs/PropertyNameArray.cpp:
              * kjs/PropertyNameArray.h:
              * kjs/config.h:
      
      WebCore:
      
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * LICENSE-LGPL-2:
              * LICENSE-LGPL-2.1:
              * WebCorePrefix.h:
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              * bindings/js/JSDOMWindowCustom.cpp:
              * bindings/js/JSDocumentCustom.cpp:
              * bindings/js/JSHTMLCollectionCustom.cpp:
              * bindings/js/JSHTMLElementWrapperFactory.cpp:
              * bindings/js/JSHTMLElementWrapperFactory.h:
              * bindings/js/JSHTMLInputElementBase.cpp:
              * bindings/js/JSHTMLInputElementBase.h:
              * bindings/js/JSHTMLOptionElementConstructor.cpp:
              * bindings/js/JSHTMLOptionElementConstructor.h:
              * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
              * bindings/js/JSHTMLSelectElementCustom.cpp:
              * bindings/js/JSNodeFilterCondition.cpp:
              * bindings/js/JSNodeFilterCondition.h:
              * bindings/js/JSNodeIteratorCustom.cpp:
              * bindings/js/JSSVGElementWrapperFactory.cpp:
              * bindings/js/JSSVGElementWrapperFactory.h:
              * bindings/js/JSSVGMatrixCustom.cpp:
              * bindings/js/JSSVGPathSegCustom.cpp:
              * bindings/js/JSSVGPathSegListCustom.cpp:
              * bindings/js/JSSVGPointListCustom.cpp:
              * bindings/js/JSTreeWalkerCustom.cpp:
              * bindings/js/JSXMLHttpRequest.cpp:
              * bindings/js/JSXMLHttpRequest.h:
              * bindings/js/kjs_binding.cpp:
              * bindings/js/kjs_binding.h:
              * bindings/js/kjs_css.cpp:
              * bindings/js/kjs_css.h:
              * bindings/js/kjs_dom.cpp:
              * bindings/js/kjs_dom.h:
              * bindings/js/kjs_events.cpp:
              * bindings/js/kjs_events.h:
              * bindings/js/kjs_html.cpp:
              * bindings/js/kjs_html.h:
              * bindings/js/kjs_navigator.cpp:
              * bindings/js/kjs_navigator.h:
              * bindings/js/kjs_proxy.cpp:
              * bindings/js/kjs_proxy.h:
              * bindings/js/kjs_window.cpp:
              * bindings/js/kjs_window.h:
              * bindings/objc/DOMImplementationFront.cpp:
              * bindings/objc/DOMImplementationFront.h:
              * bindings/scripts/CodeGenerator.pm:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bindings/scripts/CodeGeneratorObjC.pm:
              * bindings/scripts/IDLParser.pm:
              * bindings/scripts/IDLStructure.pm:
              * bindings/scripts/generate-bindings.pl:
              * config.h:
              * css/CSSBorderImageValue.cpp:
              * css/CSSBorderImageValue.h:
              * css/CSSCharsetRule.cpp:
              * css/CSSCharsetRule.h:
              * css/CSSCharsetRule.idl:
              * css/CSSComputedStyleDeclaration.cpp:
              * css/CSSComputedStyleDeclaration.h:
              * css/CSSCursorImageValue.cpp:
              * css/CSSCursorImageValue.h:
              * css/CSSFontFaceRule.cpp:
              * css/CSSFontFaceRule.h:
              * css/CSSFontFaceRule.idl:
              * css/CSSGrammar.y:
              * css/CSSHelper.cpp:
              * css/CSSHelper.h:
              * css/CSSImageValue.cpp:
              * css/CSSImageValue.h:
              * css/CSSImportRule.cpp:
              * css/CSSImportRule.h:
              * css/CSSImportRule.idl:
              * css/CSSInheritedValue.cpp:
              * css/CSSInheritedValue.h:
              * css/CSSInitialValue.cpp:
              * css/CSSInitialValue.h:
              * css/CSSMediaRule.cpp:
              * css/CSSMediaRule.h:
              * css/CSSMediaRule.idl:
              * css/CSSMutableStyleDeclaration.cpp:
              * css/CSSMutableStyleDeclaration.h:
              * css/CSSNamespace.h:
              * css/CSSPageRule.cpp:
              * css/CSSPageRule.h:
              * css/CSSPageRule.idl:
              * css/CSSParser.cpp:
              * css/CSSParser.h:
              * css/CSSPrimitiveValue.cpp:
              * css/CSSPrimitiveValue.h:
              * css/CSSPrimitiveValue.idl:
              * css/CSSProperty.cpp:
              * css/CSSProperty.h:
              * css/CSSQuirkPrimitiveValue.h:
              * css/CSSRule.cpp:
              * css/CSSRule.h:
              * css/CSSRule.idl:
              * css/CSSRuleList.cpp:
              * css/CSSRuleList.h:
              * css/CSSSelector.cpp:
              * css/CSSSelector.h:
              * css/CSSStyleDeclaration.cpp:
              * css/CSSStyleDeclaration.h:
              * css/CSSStyleDeclaration.idl:
              * css/CSSStyleRule.cpp:
              * css/CSSStyleRule.h:
              * css/CSSStyleRule.idl:
              * css/CSSStyleSelector.cpp:
              * css/CSSStyleSelector.h:
              * css/CSSStyleSheet.cpp:
              * css/CSSStyleSheet.h:
              * css/CSSStyleSheet.idl:
              * css/CSSUnknownRule.h:
              * css/CSSUnknownRule.idl:
              * css/CSSValue.h:
              * css/CSSValue.idl:
              * css/CSSValueList.cpp:
              * css/CSSValueList.h:
              * css/Counter.h:
              * css/Counter.idl:
              * css/DashboardRegion.h:
              * css/FontFamilyValue.cpp:
              * css/FontFamilyValue.h:
              * css/FontValue.cpp:
              * css/FontValue.h:
              * css/MediaFeatureNames.cpp:
              * css/MediaFeatureNames.h:
              * css/MediaList.cpp:
              * css/MediaList.h:
              * css/Pair.h:
              * css/RGBColor.idl:
              * css/Rect.h:
              * css/Rect.idl:
              * css/ShadowValue.cpp:
              * css/ShadowValue.h:
              * css/StyleBase.cpp:
              * css/StyleBase.h:
              * css/StyleList.cpp:
              * css/StyleList.h:
              * css/StyleSheet.cpp:
              * css/StyleSheet.h:
              * css/StyleSheet.idl:
              * css/StyleSheetList.cpp:
              * css/StyleSheetList.h:
              * css/StyleSheetList.idl:
              * css/html4.css:
              * css/make-css-file-arrays.pl:
              * css/makegrammar.pl:
              * css/makeprop.pl:
              * css/maketokenizer:
              * css/makevalues.pl:
              * css/quirks.css:
              * dom/AtomicStringList.h:
              * dom/Attr.cpp:
              * dom/Attr.h:
              * dom/Attr.idl:
              * dom/Attribute.cpp:
              * dom/Attribute.h:
              * dom/BeforeUnloadEvent.cpp:
              * dom/BeforeUnloadEvent.h:
              * dom/CDATASection.cpp:
              * dom/CDATASection.h:
              * dom/CDATASection.idl:
              * dom/CSSMappedAttributeDeclaration.cpp:
              * dom/CSSMappedAttributeDeclaration.h:
              * dom/CharacterData.cpp:
              * dom/CharacterData.h:
              * dom/CharacterData.idl:
              * dom/ChildNodeList.cpp:
              * dom/ChildNodeList.h:
              * dom/Clipboard.h:
              * dom/ClipboardEvent.cpp:
              * dom/ClipboardEvent.h:
              * dom/Comment.cpp:
              * dom/Comment.h:
              * dom/Comment.idl:
              * dom/ContainerNode.cpp:
              * dom/ContainerNode.h:
              * dom/DOMImplementation.cpp:
              * dom/DOMImplementation.h:
              * dom/DOMImplementation.idl:
              * dom/DocPtr.h:
              * dom/Document.cpp:
              * dom/Document.h:
              * dom/Document.idl:
              * dom/DocumentFragment.cpp:
              * dom/DocumentFragment.h:
              * dom/DocumentFragment.idl:
              * dom/DocumentMarker.h:
              * dom/DocumentType.cpp:
              * dom/DocumentType.h:
              * dom/DocumentType.idl:
              * dom/EditingText.cpp:
              * dom/EditingText.h:
              * dom/Element.cpp:
              * dom/Element.h:
              * dom/Element.idl:
              * dom/Entity.cpp:
              * dom/Entity.h:
              * dom/Entity.idl:
              * dom/EntityReference.cpp:
              * dom/EntityReference.h:
              * dom/EntityReference.idl:
              * dom/Event.cpp:
              * dom/Event.h:
              * dom/Event.idl:
              * dom/EventListener.h:
              * dom/EventListener.idl:
              * dom/EventNames.cpp:
              * dom/EventNames.h:
              * dom/EventTarget.idl:
              * dom/EventTargetNode.cpp:
              * dom/EventTargetNode.h:
              * dom/ExceptionCode.h:
              * dom/KeyboardEvent.cpp:
              * dom/KeyboardEvent.h:
              * dom/KeyboardEvent.idl:
              * dom/MappedAttribute.cpp:
              * dom/MappedAttribute.h:
              * dom/MappedAttributeEntry.h:
              * dom/MouseEvent.cpp:
              * dom/MouseEvent.h:
              * dom/MouseEvent.idl:
              * dom/MouseRelatedEvent.cpp:
              * dom/MouseRelatedEvent.h:
              * dom/MutationEvent.cpp:
              * dom/MutationEvent.h:
              * dom/MutationEvent.idl:
              * dom/NameNodeList.cpp:
              * dom/NameNodeList.h:
              * dom/NamedAttrMap.cpp:
              * dom/NamedAttrMap.h:
              * dom/NamedMappedAttrMap.cpp:
              * dom/NamedMappedAttrMap.h:
              * dom/NamedNodeMap.h:
              * dom/NamedNodeMap.idl:
              * dom/Node.cpp:
              * dom/Node.h:
              * dom/Node.idl:
              * dom/NodeFilter.cpp:
              * dom/NodeFilter.h:
              * dom/NodeFilter.idl:
              * dom/NodeFilterCondition.cpp:
              * dom/NodeFilterCondition.h:
              * dom/NodeIterator.cpp:
              * dom/NodeIterator.h:
              * dom/NodeIterator.idl:
              * dom/NodeList.cpp:
              * dom/NodeList.h:
              * dom/NodeList.idl:
              * dom/Notation.cpp:
              * dom/Notation.h:
              * dom/Notation.idl:
              * dom/ProcessingInstruction.cpp:
              * dom/ProcessingInstruction.h:
              * dom/ProcessingInstruction.idl:
              * dom/QualifiedName.cpp:
              * dom/QualifiedName.h:
              * dom/Range.cpp:
              * dom/Range.h:
              * dom/Range.idl:
              * dom/RangeException.h:
              * dom/RangeException.idl:
              * dom/RegisteredEventListener.cpp:
              * dom/RegisteredEventListener.h:
              * dom/StyleElement.cpp:
              * dom/StyleElement.h:
              * dom/StyledElement.cpp:
              * dom/StyledElement.h:
              * dom/Text.cpp:
              * dom/Text.h:
              * dom/Text.idl:
              * dom/Tokenizer.h:
              * dom/Traversal.cpp:
              * dom/Traversal.h:
              * dom/TreeWalker.cpp:
              * dom/TreeWalker.h:
              * dom/TreeWalker.idl:
              * dom/UIEvent.cpp:
              * dom/UIEvent.h:
              * dom/UIEvent.idl:
              * dom/UIEventWithKeyState.cpp:
              * dom/UIEventWithKeyState.h:
              * dom/WheelEvent.cpp:
              * dom/WheelEvent.h:
              * dom/WheelEvent.idl:
              * dom/XMLTokenizer.cpp:
              * dom/XMLTokenizer.h:
              * html/FormDataList.cpp:
              * html/FormDataList.h:
              * html/HTMLAnchorElement.cpp:
              * html/HTMLAnchorElement.h:
              * html/HTMLAnchorElement.idl:
              * html/HTMLAppletElement.cpp:
              * html/HTMLAppletElement.h:
              * html/HTMLAppletElement.idl:
              * html/HTMLAreaElement.cpp:
              * html/HTMLAreaElement.h:
              * html/HTMLAreaElement.idl:
              * html/HTMLBRElement.cpp:
              * html/HTMLBRElement.h:
              * html/HTMLBRElement.idl:
              * html/HTMLBaseElement.cpp:
              * html/HTMLBaseElement.h:
              * html/HTMLBaseElement.idl:
              * html/HTMLBaseFontElement.cpp:
              * html/HTMLBaseFontElement.h:
              * html/HTMLBaseFontElement.idl:
              * html/HTMLBlockquoteElement.cpp:
              * html/HTMLBlockquoteElement.h:
              * html/HTMLBlockquoteElement.idl:
              * html/HTMLBodyElement.cpp:
              * html/HTMLBodyElement.h:
              * html/HTMLBodyElement.idl:
              * html/HTMLButtonElement.cpp:
              * html/HTMLButtonElement.h:
              * html/HTMLButtonElement.idl:
              * html/HTMLCollection.cpp:
              * html/HTMLCollection.h:
              * html/HTMLCollection.idl:
              * html/HTMLDListElement.cpp:
              * html/HTMLDListElement.h:
              * html/HTMLDListElement.idl:
              * html/HTMLDirectoryElement.cpp:
              * html/HTMLDirectoryElement.h:
              * html/HTMLDirectoryElement.idl:
              * html/HTMLDivElement.cpp:
              * html/HTMLDivElement.h:
              * html/HTMLDivElement.idl:
              * html/HTMLDocument.cpp:
              * html/HTMLDocument.h:
              * html/HTMLDocument.idl:
              * html/HTMLElement.cpp:
              * html/HTMLElement.h:
              * html/HTMLElement.idl:
              * html/HTMLElementFactory.cpp:
              * html/HTMLElementFactory.h:
              * html/HTMLEmbedElement.cpp:
              * html/HTMLEmbedElement.h:
              * html/HTMLEmbedElement.idl:
              * html/HTMLEntityNames.gperf:
              * html/HTMLFieldSetElement.cpp:
              * html/HTMLFieldSetElement.h:
              * html/HTMLFieldSetElement.idl:
              * html/HTMLFontElement.cpp:
              * html/HTMLFontElement.h:
              * html/HTMLFontElement.idl:
              * html/HTMLFormCollection.cpp:
              * html/HTMLFormCollection.h:
              * html/HTMLFormElement.cpp:
              * html/HTMLFormElement.h:
              * html/HTMLFormElement.idl:
              * html/HTMLFrameElement.cpp:
              * html/HTMLFrameElement.h:
              * html/HTMLFrameElement.idl:
              * html/HTMLFrameElementBase.cpp:
              * html/HTMLFrameElementBase.h:
              * html/HTMLFrameOwnerElement.cpp:
              * html/HTMLFrameOwnerElement.h:
              * html/HTMLFrameSetElement.cpp:
              * html/HTMLFrameSetElement.h:
              * html/HTMLFrameSetElement.idl:
              * html/HTMLGenericFormElement.cpp:
              * html/HTMLGenericFormElement.h:
              * html/HTMLHRElement.cpp:
              * html/HTMLHRElement.h:
              * html/HTMLHRElement.idl:
              * html/HTMLHeadElement.cpp:
              * html/HTMLHeadElement.h:
              * html/HTMLHeadElement.idl:
              * html/HTMLHeadingElement.cpp:
              * html/HTMLHeadingElement.h:
              * html/HTMLHeadingElement.idl:
              * html/HTMLHtmlElement.cpp:
              * html/HTMLHtmlElement.h:
              * html/HTMLHtmlElement.idl:
              * html/HTMLIFrameElement.cpp:
              * html/HTMLIFrameElement.h:
              * html/HTMLIFrameElement.idl:
              * html/HTMLImageElement.cpp:
              * html/HTMLImageElement.h:
              * html/HTMLImageElement.idl:
              * html/HTMLImageLoader.cpp:
              * html/HTMLImageLoader.h:
              * html/HTMLInputElement.cpp:
              * html/HTMLInputElement.h:
              * html/HTMLInputElement.idl:
              * html/HTMLIsIndexElement.cpp:
              * html/HTMLIsIndexElement.h:
              * html/HTMLIsIndexElement.idl:
              * html/HTMLKeygenElement.cpp:
              * html/HTMLKeygenElement.h:
              * html/HTMLLIElement.cpp:
              * html/HTMLLIElement.h:
              * html/HTMLLIElement.idl:
              * html/HTMLLabelElement.cpp:
              * html/HTMLLabelElement.h:
              * html/HTMLLabelElement.idl:
              * html/HTMLLegendElement.cpp:
              * html/HTMLLegendElement.h:
              * html/HTMLLegendElement.idl:
              * html/HTMLLinkElement.cpp:
              * html/HTMLLinkElement.h:
              * html/HTMLLinkElement.idl:
              * html/HTMLMapElement.cpp:
              * html/HTMLMapElement.h:
              * html/HTMLMapElement.idl:
              * html/HTMLMarqueeElement.cpp:
              * html/HTMLMarqueeElement.h:
              * html/HTMLMarqueeElement.idl:
              * html/HTMLMenuElement.cpp:
              * html/HTMLMenuElement.h:
              * html/HTMLMenuElement.idl:
              * html/HTMLMetaElement.cpp:
              * html/HTMLMetaElement.h:
              * html/HTMLMetaElement.idl:
              * html/HTMLModElement.cpp:
              * html/HTMLModElement.h:
              * html/HTMLModElement.idl:
              * html/HTMLNameCollection.cpp:
              * html/HTMLNameCollection.h:
              * html/HTMLOListElement.cpp:
              * html/HTMLOListElement.h:
              * html/HTMLOListElement.idl:
              * html/HTMLObjectElement.cpp:
              * html/HTMLObjectElement.h:
              * html/HTMLObjectElement.idl:
              * html/HTMLOptGroupElement.cpp:
              * html/HTMLOptGroupElement.h:
              * html/HTMLOptGroupElement.idl:
              * html/HTMLOptionElement.cpp:
              * html/HTMLOptionElement.h:
              * html/HTMLOptionElement.idl:
              * html/HTMLOptionsCollection.cpp:
              * html/HTMLOptionsCollection.h:
              * html/HTMLOptionsCollection.idl:
              * html/HTMLParagraphElement.cpp:
              * html/HTMLParagraphElement.h:
              * html/HTMLParagraphElement.idl:
              * html/HTMLParamElement.cpp:
              * html/HTMLParamElement.h:
              * html/HTMLParamElement.idl:
              * html/HTMLParser.cpp:
              * html/HTMLParser.h:
              * html/HTMLPlugInElement.cpp:
              * html/HTMLPlugInElement.h:
              * html/HTMLPreElement.cpp:
              * html/HTMLPreElement.h:
              * html/HTMLPreElement.idl:
              * html/HTMLQuoteElement.cpp:
              * html/HTMLQuoteElement.h:
              * html/HTMLQuoteElement.idl:
              * html/HTMLScriptElement.cpp:
              * html/HTMLScriptElement.h:
              * html/HTMLScriptElement.idl:
              * html/HTMLSelectElement.cpp:
              * html/HTMLSelectElement.h:
              * html/HTMLSelectElement.idl:
              * html/HTMLStyleElement.cpp:
              * html/HTMLStyleElement.h:
              * html/HTMLStyleElement.idl:
              * html/HTMLTableCaptionElement.cpp:
              * html/HTMLTableCaptionElement.h:
              * html/HTMLTableCaptionElement.idl:
              * html/HTMLTableCellElement.cpp:
              * html/HTMLTableCellElement.h:
              * html/HTMLTableCellElement.idl:
              * html/HTMLTableColElement.cpp:
              * html/HTMLTableColElement.h:
              * html/HTMLTableColElement.idl:
              * html/HTMLTableElement.cpp:
              * html/HTMLTableElement.h:
              * html/HTMLTableElement.idl:
              * html/HTMLTablePartElement.cpp:
              * html/HTMLTablePartElement.h:
              * html/HTMLTableRowElement.cpp:
              * html/HTMLTableRowElement.h:
              * html/HTMLTableRowElement.idl:
              * html/HTMLTableSectionElement.cpp:
              * html/HTMLTableSectionElement.h:
              * html/HTMLTableSectionElement.idl:
              * html/HTMLTextAreaElement.cpp:
              * html/HTMLTextAreaElement.h:
              * html/HTMLTextAreaElement.idl:
              * html/HTMLTitleElement.cpp:
              * html/HTMLTitleElement.h:
              * html/HTMLTitleElement.idl:
              * html/HTMLTokenizer.cpp:
              * html/HTMLTokenizer.h:
              * html/HTMLUListElement.cpp:
              * html/HTMLUListElement.h:
              * html/HTMLUListElement.idl:
              * ksvg2/css/SVGCSSParser.cpp:
              * ksvg2/css/SVGCSSStyleSelector.cpp:
              * ksvg2/css/SVGRenderStyle.cpp:
              * ksvg2/css/SVGRenderStyle.h:
              * ksvg2/css/SVGRenderStyleDefs.cpp:
              * ksvg2/css/SVGRenderStyleDefs.h:
              * ksvg2/events/JSSVGLazyEventListener.cpp:
              * ksvg2/events/JSSVGLazyEventListener.h:
              * ksvg2/events/SVGZoomEvent.cpp:
              * ksvg2/events/SVGZoomEvent.h:
              * ksvg2/misc/KCanvasRenderingStyle.cpp:
              * ksvg2/misc/KCanvasRenderingStyle.h:
              * ksvg2/misc/PointerEventsHitRules.cpp:
              * ksvg2/misc/PointerEventsHitRules.h:
              * ksvg2/misc/SVGDocumentExtensions.cpp:
              * ksvg2/misc/SVGDocumentExtensions.h:
              * ksvg2/misc/SVGImageLoader.cpp:
              * ksvg2/misc/SVGImageLoader.h:
              * ksvg2/misc/SVGTimer.cpp:
              * ksvg2/misc/SVGTimer.h:
              * ksvg2/misc/TimeScheduler.cpp:
              * ksvg2/misc/TimeScheduler.h:
              * ksvg2/scripts/cssmakeprops:
              * ksvg2/scripts/cssmakevalues:
              * ksvg2/svg/ColorDistance.cpp:
              * ksvg2/svg/ColorDistance.h:
              * ksvg2/svg/GradientAttributes.h:
              * ksvg2/svg/LinearGradientAttributes.h:
              * ksvg2/svg/PatternAttributes.h:
              * ksvg2/svg/RadialGradientAttributes.h:
              * ksvg2/svg/SVGAElement.cpp:
              * ksvg2/svg/SVGAElement.h:
              * ksvg2/svg/SVGAngle.cpp:
              * ksvg2/svg/SVGAngle.h:
              * ksvg2/svg/SVGAngle.idl:
              * ksvg2/svg/SVGAnimateColorElement.cpp:
              * ksvg2/svg/SVGAnimateColorElement.h:
              * ksvg2/svg/SVGAnimateElement.cpp:
              * ksvg2/svg/SVGAnimateElement.h:
              * ksvg2/svg/SVGAnimateMotionElement.cpp:
              * ksvg2/svg/SVGAnimateMotionElement.h:
              * ksvg2/svg/SVGAnimateTransformElement.cpp:
              * ksvg2/svg/SVGAnimateTransformElement.h:
              * ksvg2/svg/SVGAnimatedPathData.cpp:
              * ksvg2/svg/SVGAnimatedPathData.h:
              * ksvg2/svg/SVGAnimatedPoints.cpp:
              * ksvg2/svg/SVGAnimatedPoints.h:
              * ksvg2/svg/SVGAnimatedTemplate.h:
              * ksvg2/svg/SVGAnimationElement.cpp:
              * ksvg2/svg/SVGAnimationElement.h:
              * ksvg2/svg/SVGCircleElement.cpp:
              * ksvg2/svg/SVGCircleElement.h:
              * ksvg2/svg/SVGClipPathElement.cpp:
              * ksvg2/svg/SVGClipPathElement.h:
              * ksvg2/svg/SVGColor.cpp:
              * ksvg2/svg/SVGColor.h:
              * ksvg2/svg/SVGColor.idl:
              * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
              * ksvg2/svg/SVGComponentTransferFunctionElement.h:
              * ksvg2/svg/SVGCursorElement.cpp:
              * ksvg2/svg/SVGCursorElement.h:
              * ksvg2/svg/SVGDefsElement.cpp:
              * ksvg2/svg/SVGDefsElement.h:
              * ksvg2/svg/SVGDescElement.cpp:
              * ksvg2/svg/SVGDescElement.h:
              * ksvg2/svg/SVGDocument.cpp:
              * ksvg2/svg/SVGDocument.h:
              * ksvg2/svg/SVGDocument.idl:
              * ksvg2/svg/SVGElement.cpp:
              * ksvg2/svg/SVGElement.h:
              * ksvg2/svg/SVGElement.idl:
              * ksvg2/svg/SVGElementInstance.cpp:
              * ksvg2/svg/SVGElementInstance.h:
              * ksvg2/svg/SVGElementInstanceList.cpp:
              * ksvg2/svg/SVGElementInstanceList.h:
              * ksvg2/svg/SVGEllipseElement.cpp:
              * ksvg2/svg/SVGEllipseElement.h:
              * ksvg2/svg/SVGException.h:
              * ksvg2/svg/SVGExternalResourcesRequired.cpp:
              * ksvg2/svg/SVGExternalResourcesRequired.h:
              * ksvg2/svg/SVGFEBlendElement.cpp:
              * ksvg2/svg/SVGFEBlendElement.h:
              * ksvg2/svg/SVGFEColorMatrixElement.cpp:
              * ksvg2/svg/SVGFEColorMatrixElement.h:
              * ksvg2/svg/SVGFEComponentTransferElement.cpp:
              * ksvg2/svg/SVGFEComponentTransferElement.h:
              * ksvg2/svg/SVGFECompositeElement.cpp:
              * ksvg2/svg/SVGFECompositeElement.h:
              * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
              * ksvg2/svg/SVGFEDiffuseLightingElement.h:
              * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
              * ksvg2/svg/SVGFEDisplacementMapElement.h:
              * ksvg2/svg/SVGFEDistantLightElement.cpp:
              * ksvg2/svg/SVGFEDistantLightElement.h:
              * ksvg2/svg/SVGFEFloodElement.cpp:
              * ksvg2/svg/SVGFEFloodElement.h:
              * ksvg2/svg/SVGFEFuncAElement.cpp:
              * ksvg2/svg/SVGFEFuncAElement.h:
              * ksvg2/svg/SVGFEFuncBElement.cpp:
              * ksvg2/svg/SVGFEFuncBElement.h:
              * ksvg2/svg/SVGFEFuncGElement.cpp:
              * ksvg2/svg/SVGFEFuncGElement.h:
              * ksvg2/svg/SVGFEFuncRElement.cpp:
              * ksvg2/svg/SVGFEFuncRElement.h:
              * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
              * ksvg2/svg/SVGFEGaussianBlurElement.h:
              * ksvg2/svg/SVGFEImageElement.cpp:
              * ksvg2/svg/SVGFEImageElement.h:
              * ksvg2/svg/SVGFELightElement.cpp:
              * ksvg2/svg/SVGFELightElement.h:
              * ksvg2/svg/SVGFEMergeElement.cpp:
              * ksvg2/svg/SVGFEMergeElement.h:
              * ksvg2/svg/SVGFEMergeNodeElement.cpp:
              * ksvg2/svg/SVGFEMergeNodeElement.h:
              * ksvg2/svg/SVGFEOffsetElement.cpp:
              * ksvg2/svg/SVGFEOffsetElement.h:
              * ksvg2/svg/SVGFEPointLightElement.cpp:
              * ksvg2/svg/SVGFEPointLightElement.h:
              * ksvg2/svg/SVGFESpecularLightingElement.cpp:
              * ksvg2/svg/SVGFESpecularLightingElement.h:
              * ksvg2/svg/SVGFESpotLightElement.cpp:
              * ksvg2/svg/SVGFESpotLightElement.h:
              * ksvg2/svg/SVGFETileElement.cpp:
              * ksvg2/svg/SVGFETileElement.h:
              * ksvg2/svg/SVGFETurbulenceElement.cpp:
              * ksvg2/svg/SVGFETurbulenceElement.h:
              * ksvg2/svg/SVGFilterElement.cpp:
              * ksvg2/svg/SVGFilterElement.h:
              * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
              * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
              * ksvg2/svg/SVGFitToViewBox.cpp:
              * ksvg2/svg/SVGFitToViewBox.h:
              * ksvg2/svg/SVGForeignObjectElement.cpp:
              * ksvg2/svg/SVGForeignObjectElement.h:
              * ksvg2/svg/SVGGElement.cpp:
              * ksvg2/svg/SVGGElement.h:
              * ksvg2/svg/SVGGradientElement.cpp:
              * ksvg2/svg/SVGGradientElement.h:
              * ksvg2/svg/SVGImageElement.cpp:
              * ksvg2/svg/SVGImageElement.h:
              * ksvg2/svg/SVGLangSpace.cpp:
              * ksvg2/svg/SVGLangSpace.h:
              * ksvg2/svg/SVGLength.cpp:
              * ksvg2/svg/SVGLength.h:
              * ksvg2/svg/SVGLength.idl:
              * ksvg2/svg/SVGLengthList.cpp:
              * ksvg2/svg/SVGLengthList.h:
              * ksvg2/svg/SVGLineElement.cpp:
              * ksvg2/svg/SVGLineElement.h:
              * ksvg2/svg/SVGLinearGradientElement.cpp:
              * ksvg2/svg/SVGLinearGradientElement.h:
              * ksvg2/svg/SVGList.h:
              * ksvg2/svg/SVGListTraits.h:
              * ksvg2/svg/SVGLocatable.cpp:
              * ksvg2/svg/SVGLocatable.h:
              * ksvg2/svg/SVGMPathElement.cpp:
              * ksvg2/svg/SVGMPathElement.h:
              * ksvg2/svg/SVGMarkerElement.cpp:
              * ksvg2/svg/SVGMarkerElement.h:
              * ksvg2/svg/SVGMaskElement.cpp:
              * ksvg2/svg/SVGMaskElement.h:
              * ksvg2/svg/SVGMatrix.idl:
              * ksvg2/svg/SVGMetadataElement.cpp:
              * ksvg2/svg/SVGMetadataElement.h:
              * ksvg2/svg/SVGMetadataElement.idl:
              * ksvg2/svg/SVGNumber.idl:
              * ksvg2/svg/SVGNumberList.cpp:
              * ksvg2/svg/SVGNumberList.h:
              * ksvg2/svg/SVGPaint.cpp:
              * ksvg2/svg/SVGPaint.h:
              * ksvg2/svg/SVGParserUtilities.cpp:
              * ksvg2/svg/SVGParserUtilities.h:
              * ksvg2/svg/SVGPathElement.cpp:
              * ksvg2/svg/SVGPathElement.h:
              * ksvg2/svg/SVGPathSeg.h:
              * ksvg2/svg/SVGPathSegArc.cpp:
              * ksvg2/svg/SVGPathSegArc.h:
              * ksvg2/svg/SVGPathSegClosePath.cpp:
              * ksvg2/svg/SVGPathSegClosePath.h:
              * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
              * ksvg2/svg/SVGPathSegCurvetoCubic.h:
              * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
              * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
              * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
              * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
              * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
              * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
              * ksvg2/svg/SVGPathSegLineto.cpp:
              * ksvg2/svg/SVGPathSegLineto.h:
              * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
              * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
              * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
              * ksvg2/svg/SVGPathSegLinetoVertical.h:
              * ksvg2/svg/SVGPathSegList.cpp:
              * ksvg2/svg/SVGPathSegList.h:
              * ksvg2/svg/SVGPathSegMoveto.cpp:
              * ksvg2/svg/SVGPathSegMoveto.h:
              * ksvg2/svg/SVGPatternElement.cpp:
              * ksvg2/svg/SVGPatternElement.h:
              * ksvg2/svg/SVGPoint.idl:
              * ksvg2/svg/SVGPointList.cpp:
              * ksvg2/svg/SVGPointList.h:
              * ksvg2/svg/SVGPolyElement.cpp:
              * ksvg2/svg/SVGPolyElement.h:
              * ksvg2/svg/SVGPolygonElement.cpp:
              * ksvg2/svg/SVGPolygonElement.h:
              * ksvg2/svg/SVGPolylineElement.cpp:
              * ksvg2/svg/SVGPolylineElement.h:
              * ksvg2/svg/SVGPreserveAspectRatio.cpp:
              * ksvg2/svg/SVGPreserveAspectRatio.h:
              * ksvg2/svg/SVGRadialGradientElement.cpp:
              * ksvg2/svg/SVGRadialGradientElement.h:
              * ksvg2/svg/SVGRect.idl:
              * ksvg2/svg/SVGRectElement.cpp:
              * ksvg2/svg/SVGRectElement.h:
              * ksvg2/svg/SVGRenderingIntent.h:
              * ksvg2/svg/SVGSVGElement.cpp:
              * ksvg2/svg/SVGSVGElement.h:
              * ksvg2/svg/SVGSVGElement.idl:
              * ksvg2/svg/SVGScriptElement.cpp:
              * ksvg2/svg/SVGScriptElement.h:
              * ksvg2/svg/SVGSetElement.cpp:
              * ksvg2/svg/SVGSetElement.h:
              * ksvg2/svg/SVGStopElement.cpp:
              * ksvg2/svg/SVGStopElement.h:
              * ksvg2/svg/SVGStringList.cpp:
              * ksvg2/svg/SVGStringList.h:
              * ksvg2/svg/SVGStylable.cpp:
              * ksvg2/svg/SVGStylable.h:
              * ksvg2/svg/SVGStyleElement.cpp:
              * ksvg2/svg/SVGStyleElement.h:
              * ksvg2/svg/SVGStyledElement.cpp:
              * ksvg2/svg/SVGStyledElement.h:
              * ksvg2/svg/SVGStyledLocatableElement.cpp:
              * ksvg2/svg/SVGStyledLocatableElement.h:
              * ksvg2/svg/SVGStyledTransformableElement.cpp:
              * ksvg2/svg/SVGStyledTransformableElement.h:
              * ksvg2/svg/SVGSwitchElement.cpp:
              * ksvg2/svg/SVGSwitchElement.h:
              * ksvg2/svg/SVGSymbolElement.cpp:
              * ksvg2/svg/SVGSymbolElement.h:
              * ksvg2/svg/SVGTRefElement.cpp:
              * ksvg2/svg/SVGTRefElement.h:
              * ksvg2/svg/SVGTSpanElement.cpp:
              * ksvg2/svg/SVGTSpanElement.h:
              * ksvg2/svg/SVGTests.cpp:
              * ksvg2/svg/SVGTests.h:
              * ksvg2/svg/SVGTextContentElement.cpp:
              * ksvg2/svg/SVGTextContentElement.h:
              * ksvg2/svg/SVGTextElement.cpp:
              * ksvg2/svg/SVGTextElement.h:
              * ksvg2/svg/SVGTextPositioningElement.cpp:
              * ksvg2/svg/SVGTextPositioningElement.h:
              * ksvg2/svg/SVGTitleElement.cpp:
              * ksvg2/svg/SVGTitleElement.h:
              * ksvg2/svg/SVGTransform.cpp:
              * ksvg2/svg/SVGTransform.h:
              * ksvg2/svg/SVGTransform.idl:
              * ksvg2/svg/SVGTransformDistance.cpp:
              * ksvg2/svg/SVGTransformDistance.h:
              * ksvg2/svg/SVGTransformList.cpp:
              * ksvg2/svg/SVGTransformList.h:
              * ksvg2/svg/SVGTransformable.cpp:
              * ksvg2/svg/SVGTransformable.h:
              * ksvg2/svg/SVGURIReference.cpp:
              * ksvg2/svg/SVGURIReference.h:
              * ksvg2/svg/SVGUnitTypes.h:
              * ksvg2/svg/SVGUseElement.cpp:
              * ksvg2/svg/SVGUseElement.h:
              * ksvg2/svg/SVGViewElement.cpp:
              * ksvg2/svg/SVGViewElement.h:
              * ksvg2/svg/SVGZoomAndPan.cpp:
              * ksvg2/svg/SVGZoomAndPan.h:
              * loader/Cache.cpp:
              * loader/Cache.h:
              * loader/CachedCSSStyleSheet.cpp:
              * loader/CachedCSSStyleSheet.h:
              * loader/CachedImage.cpp:
              * loader/CachedImage.h:
              * loader/CachedResource.cpp:
              * loader/CachedResource.h:
              * loader/CachedResourceClient.h:
              * loader/CachedResourceClientWalker.cpp:
              * loader/CachedResourceClientWalker.h:
              * loader/CachedScript.cpp:
              * loader/CachedScript.h:
              * loader/CachedXBLDocument.cpp:
              * loader/CachedXBLDocument.h:
              * loader/CachedXSLStyleSheet.cpp:
              * loader/CachedXSLStyleSheet.h:
              * loader/DocLoader.cpp:
              * loader/DocLoader.h:
              * loader/FTPDirectoryParser.cpp:
              * loader/FTPDirectoryParser.h:
              * loader/Request.cpp:
              * loader/Request.h:
              * loader/TextResourceDecoder.cpp:
              * loader/TextResourceDecoder.h:
              * loader/loader.cpp:
              * loader/loader.h:
              * page/Chrome.cpp:
              * page/Chrome.h:
              * page/ChromeClient.h:
              * page/Frame.cpp:
              * page/Frame.h:
              * page/FramePrivate.h:
              * page/FrameTree.cpp:
              * page/FrameTree.h:
              * page/FrameView.cpp:
              * page/FrameView.h:
              * page/MouseEventWithHitTestResults.cpp:
              * page/MouseEventWithHitTestResults.h:
              * page/Page.cpp:
              * page/Page.h:
              * page/Plugin.h:
              * page/mac/ChromeMac.mm:
              * platform/Arena.cpp:
              * platform/Arena.h:
              * platform/AtomicString.cpp:
              * platform/AtomicString.h:
              * platform/AtomicStringImpl.h:
              * platform/BidiContext.cpp:
              * platform/BidiContext.h:
              * platform/BidiResolver.h:
              * platform/Font.cpp:
              * platform/Font.h:
              * platform/FontData.h:
              * platform/FontDescription.h:
              * platform/FontFallbackList.h:
              * platform/PlatformString.h:
              * platform/PopupMenu.h:
              * platform/PopupMenuClient.h:
              * platform/SearchPopupMenu.h:
              * platform/SegmentedString.cpp:
              * platform/SegmentedString.h:
              * platform/Shared.h:
              * platform/StaticConstructors.h:
              * platform/String.cpp:
              * platform/StringHash.h:
              * platform/StringImpl.cpp:
              * platform/StringImpl.h:
              * platform/TextBreakIterator.h:
              * platform/TextBreakIteratorICU.cpp:
              * platform/TextBreakIteratorInternalICU.h:
              * platform/TextStyle.h:
              * platform/UnicodeRange.cpp:
              * platform/UnicodeRange.h:
              * platform/cf/StringCF.cpp:
              * platform/cf/StringImplCF.cpp:
              * platform/graphics/FloatPoint3D.cpp:
              * platform/graphics/FloatPoint3D.h:
              * platform/graphics/Icon.h:
              * platform/graphics/IntSizeHash.h:
              * platform/graphics/PathTraversalState.cpp:
              * platform/graphics/cairo/CairoPath.h:
              * platform/graphics/cairo/PathCairo.cpp:
              * platform/graphics/mac/IconMac.mm:
              * platform/graphics/qt/IconQt.cpp:
              * platform/graphics/svg/SVGResourceFilter.cpp:
              * platform/graphics/svg/SVGResourceFilter.h:
              * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
              * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
              * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
              * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
              * platform/graphics/svg/filters/SVGDistantLightSource.h:
              * platform/graphics/svg/filters/SVGFEBlend.cpp:
              * platform/graphics/svg/filters/SVGFEBlend.h:
              * platform/graphics/svg/filters/SVGFEColorMatrix.cpp:
              * platform/graphics/svg/filters/SVGFEColorMatrix.h:
              * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp:
              * platform/graphics/svg/filters/SVGFEComponentTransfer.h:
              * platform/graphics/svg/filters/SVGFEComposite.cpp:
              * platform/graphics/svg/filters/SVGFEComposite.h:
              * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp:
              * platform/graphics/svg/filters/SVGFEConvolveMatrix.h:
              * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp:
              * platform/graphics/svg/filters/SVGFEDiffuseLighting.h:
              * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp:
              * platform/graphics/svg/filters/SVGFEDisplacementMap.h:
              * platform/graphics/svg/filters/SVGFEFlood.cpp:
              * platform/graphics/svg/filters/SVGFEFlood.h:
              * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp:
              * platform/graphics/svg/filters/SVGFEGaussianBlur.h:
              * platform/graphics/svg/filters/SVGFEImage.cpp:
              * platform/graphics/svg/filters/SVGFEImage.h:
              * platform/graphics/svg/filters/SVGFEMerge.cpp:
              * platform/graphics/svg/filters/SVGFEMerge.h:
              * platform/graphics/svg/filters/SVGFEMorphology.cpp:
              * platform/graphics/svg/filters/SVGFEMorphology.h:
              * platform/graphics/svg/filters/SVGFEOffset.cpp:
              * platform/graphics/svg/filters/SVGFEOffset.h:
              * platform/graphics/svg/filters/SVGFESpecularLighting.cpp:
              * platform/graphics/svg/filters/SVGFESpecularLighting.h:
              * platform/graphics/svg/filters/SVGFETile.h:
              * platform/graphics/svg/filters/SVGFETurbulence.cpp:
              * platform/graphics/svg/filters/SVGFETurbulence.h:
              * platform/graphics/svg/filters/SVGFilterEffect.cpp:
              * platform/graphics/svg/filters/SVGFilterEffect.h:
              * platform/graphics/svg/filters/SVGLightSource.cpp:
              * platform/graphics/svg/filters/SVGLightSource.h:
              * platform/graphics/svg/filters/SVGPointLightSource.h:
              * platform/graphics/svg/filters/SVGSpotLightSource.h:
              * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm:
              * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h:
              * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm:
              * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm:
              * platform/graphics/svg/filters/cg/SVGFETileCg.mm:
              * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm:
              * platform/graphics/svg/qt/RenderPathQt.cpp:
              * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp:
              * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
              * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp:
              * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
              * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
              * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
              * platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
              * platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
              * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
              * platform/graphics/win/IconWin.cpp:
              * platform/gtk/FontPlatformData.h:
              * platform/gtk/FontPlatformDataGtk.cpp:
              * platform/gtk/PopupMenuGtk.cpp:
              * platform/gtk/RenderThemeGtk.cpp:
              * platform/gtk/RenderThemeGtk.h:
              * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
              * platform/image-decoders/png/PNGImageDecoder.cpp:
              * platform/mac/FontMac.mm:
              * platform/mac/FontPlatformData.h:
              * platform/mac/LocalCurrentGraphicsContext.h:
              * platform/mac/LocalCurrentGraphicsContext.mm:
              * platform/mac/PopupMenuMac.mm:
              * platform/mac/SearchPopupMenuMac.mm:
              * platform/mac/StringImplMac.mm:
              * platform/mac/StringMac.mm:
              * platform/mac/TextBreakIteratorInternalICUMac.mm:
              * platform/network/FormData.cpp:
              * platform/network/FormData.h:
              * platform/qt/FileChooserQt.cpp:
              * platform/qt/FontQt.cpp:
              * platform/qt/MenuEventProxy.h:
              * platform/qt/PlugInInfoStoreQt.cpp:
              * platform/qt/PopupMenuQt.cpp:
              * platform/qt/QWebPopup.cpp:
              * platform/qt/QWebPopup.h:
              * platform/qt/RenderThemeQt.cpp:
              * platform/qt/RenderThemeQt.h:
              * platform/qt/SearchPopupMenuQt.cpp:
              * platform/qt/TextBreakIteratorQt.cpp:
              * platform/qt/WheelEventQt.cpp:
              * platform/win/FontPlatformData.h:
              * platform/win/FontPlatformDataWin.cpp:
              * platform/win/PopupMenuWin.cpp:
              * platform/win/SearchPopupMenuWin.cpp:
              * platform/win/TextBreakIteratorInternalICUWin.cpp:
              * rendering/AutoTableLayout.cpp:
              * rendering/AutoTableLayout.h:
              * rendering/CounterNode.cpp:
              * rendering/CounterNode.h:
              * rendering/DataRef.h:
              * rendering/EllipsisBox.cpp:
              * rendering/EllipsisBox.h:
              * rendering/FixedTableLayout.cpp:
              * rendering/FixedTableLayout.h:
              * rendering/GapRects.h:
              * rendering/HitTestRequest.h:
              * rendering/HitTestResult.cpp:
              * rendering/HitTestResult.h:
              * rendering/InlineBox.cpp:
              * rendering/InlineBox.h:
              * rendering/InlineFlowBox.cpp:
              * rendering/InlineFlowBox.h:
              * rendering/InlineRunBox.h:
              * rendering/InlineTextBox.cpp:
              * rendering/InlineTextBox.h:
              * rendering/Length.h:
              * rendering/ListMarkerBox.cpp:
              * rendering/ListMarkerBox.h:
              * rendering/RenderApplet.cpp:
              * rendering/RenderApplet.h:
              * rendering/RenderArena.cpp:
              * rendering/RenderArena.h:
              * rendering/RenderBR.cpp:
              * rendering/RenderBR.h:
              * rendering/RenderBlock.cpp:
              * rendering/RenderBlock.h:
              * rendering/RenderBox.cpp:
              * rendering/RenderBox.h:
              * rendering/RenderButton.cpp:
              * rendering/RenderButton.h:
              * rendering/RenderContainer.cpp:
              * rendering/RenderContainer.h:
              * rendering/RenderCounter.cpp:
              * rendering/RenderCounter.h:
              * rendering/RenderFieldset.cpp:
              * rendering/RenderFieldset.h:
              * rendering/RenderFileUploadControl.cpp:
              * rendering/RenderFileUploadControl.h:
              * rendering/RenderFlexibleBox.cpp:
              * rendering/RenderFlexibleBox.h:
              * rendering/RenderFlow.cpp:
              * rendering/RenderFlow.h:
              * rendering/RenderForeignObject.cpp:
              * rendering/RenderForeignObject.h:
              * rendering/RenderFrame.cpp:
              * rendering/RenderFrame.h:
              * rendering/RenderFrameSet.cpp:
              * rendering/RenderFrameSet.h:
              * rendering/RenderImage.cpp:
              * rendering/RenderImage.h:
              * rendering/RenderInline.cpp:
              * rendering/RenderInline.h:
              * rendering/RenderLayer.cpp:
              * rendering/RenderLayer.h:
              * rendering/RenderLegend.cpp:
              * rendering/RenderLegend.h:
              * rendering/RenderListItem.cpp:
              * rendering/RenderListItem.h:
              * rendering/RenderListMarker.cpp:
              * rendering/RenderListMarker.h:
              * rendering/RenderMenuList.cpp:
              * rendering/RenderMenuList.h:
              * rendering/RenderObject.cpp:
              * rendering/RenderObject.h:
              * rendering/RenderPart.cpp:
              * rendering/RenderPart.h:
              * rendering/RenderPartObject.cpp:
              * rendering/RenderPartObject.h:
              * rendering/RenderPath.cpp:
              * rendering/RenderPath.h:
              * rendering/RenderReplaced.cpp:
              * rendering/RenderReplaced.h:
              * rendering/RenderSVGBlock.cpp:
              * rendering/RenderSVGBlock.h:
              * rendering/RenderSVGContainer.cpp:
              * rendering/RenderSVGContainer.h:
              * rendering/RenderSVGGradientStop.cpp:
              * rendering/RenderSVGGradientStop.h:
              * rendering/RenderSVGHiddenContainer.cpp:
              * rendering/RenderSVGHiddenContainer.h:
              * rendering/RenderSVGImage.cpp:
              * rendering/RenderSVGImage.h:
              * rendering/RenderSVGInline.cpp:
              * rendering/RenderSVGInline.h:
              * rendering/RenderSVGInlineText.cpp:
              * rendering/RenderSVGInlineText.h:
              * rendering/RenderSVGTSpan.cpp:
              * rendering/RenderSVGTSpan.h:
              * rendering/RenderSVGText.cpp:
              * rendering/RenderSVGText.h:
              * rendering/RenderSlider.cpp:
              * rendering/RenderSlider.h:
              * rendering/RenderStyle.cpp:
              * rendering/RenderStyle.h:
              * rendering/RenderTable.cpp:
              * rendering/RenderTable.h:
              * rendering/RenderTableCell.cpp:
              * rendering/RenderTableCell.h:
              * rendering/RenderTableCol.cpp:
              * rendering/RenderTableCol.h:
              * rendering/RenderTableRow.cpp:
              * rendering/RenderTableRow.h:
              * rendering/RenderTableSection.cpp:
              * rendering/RenderTableSection.h:
              * rendering/RenderText.cpp:
              * rendering/RenderText.h:
              * rendering/RenderTextControl.cpp:
              * rendering/RenderTextControl.h:
              * rendering/RenderTextFragment.cpp:
              * rendering/RenderTextFragment.h:
              * rendering/RenderTheme.cpp:
              * rendering/RenderTheme.h:
              * rendering/RenderThemeMac.h:
              * rendering/RenderThemeMac.mm:
              * rendering/RenderThemeSafari.cpp:
              * rendering/RenderThemeSafari.h:
              * rendering/RenderThemeWin.cpp:
              * rendering/RenderThemeWin.h:
              * rendering/RenderView.cpp:
              * rendering/RenderView.h:
              * rendering/RenderWidget.cpp:
              * rendering/RenderWidget.h:
              * rendering/RootInlineBox.cpp:
              * rendering/RootInlineBox.h:
              * rendering/SVGInlineFlowBox.cpp:
              * rendering/SVGInlineFlowBox.h:
              * rendering/SVGInlineTextBox.cpp:
              * rendering/SVGInlineTextBox.h:
              * rendering/SVGRootInlineBox.cpp:
              * rendering/SVGRootInlineBox.h:
              * rendering/TableLayout.h:
              * rendering/bidi.cpp:
              * rendering/bidi.h:
              * rendering/break_lines.cpp:
              * rendering/break_lines.h:
              * xml/DOMParser.cpp:
              * xml/DOMParser.h:
              * xml/DOMParser.idl:
              * xml/XMLHttpRequest.cpp:
              * xml/XMLHttpRequest.h:
              * xml/XMLSerializer.cpp:
              * xml/XMLSerializer.h:
              * xml/XMLSerializer.idl:
              * xml/XPathEvaluator.idl:
              * xml/XPathExpression.idl:
              * xml/XPathNSResolver.idl:
              * xml/XPathResult.idl:
              * xml/XSLImportRule.cpp:
              * xml/XSLImportRule.h:
              * xml/XSLStyleSheet.cpp:
              * xml/XSLStyleSheet.h:
              * xml/XSLTProcessor.cpp:
              * xml/XSLTProcessor.h:
      
      WebKitQt:
      
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * Api/qcookiejar.cpp:
              * Api/qcookiejar.h:
              * Api/qwebframe.cpp:
              * Api/qwebframe.h:
              * Api/qwebframe_p.h:
              * Api/qwebhistoryinterface.cpp:
              * Api/qwebhistoryinterface.h:
              * Api/qwebkitglobal.h:
              * Api/qwebnetworkinterface.cpp:
              * Api/qwebnetworkinterface.h:
              * Api/qwebnetworkinterface_p.h:
              * Api/qwebobjectplugin.cpp:
              * Api/qwebobjectplugin.h:
              * Api/qwebobjectpluginconnector.cpp:
              * Api/qwebobjectpluginconnector.h:
              * Api/qwebpage.cpp:
              * Api/qwebpage.h:
              * Api/qwebpage_p.h:
              * Api/qwebpagehistory.cpp:
              * Api/qwebpagehistory.h:
              * Api/qwebsettings.cpp:
              * Api/qwebsettings.h:
              * WebCoreSupport/EditCommandQt.cpp:
              * WebCoreSupport/EditCommandQt.h:
      
      WebKitSite:
      
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * blog/wp-content/plugins/wp-cache/wp-cache.php:
              * blog/wp-includes/class-snoopy.php:
              * blog/wp-includes/gettext.php:
              * blog/wp-includes/js/tinymce/license.html:
              * blog/wp-includes/streams.php:
      
      WebKitTools:
      
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * Drosera/config.h:
      
      LayoutTests:
      
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * svg/carto.net/resources/button.js:
              * svg/carto.net/resources/colourPicker.js:
              * svg/carto.net/resources/comboBox.js:
              * svg/carto.net/resources/helper_functions.js:
              * svg/carto.net/resources/mapApp.js:
              * svg/carto.net/resources/scrollbar.js:
              * svg/carto.net/resources/selectionList.js:
              * svg/carto.net/resources/slider.js:
              * svg/carto.net/resources/tabgroup.js:
              * svg/carto.net/resources/textbox.js:
              * svg/carto.net/resources/window.js:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@25754 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c8eccecd
  9. 21 Sep, 2007 1 commit
    • thatcher's avatar
      WebCore: · 10840e54
      thatcher authored
              Reviewed by Darin.
      
              <rdar://problem/5491013> REGRESSION: -[WebView windowScriptObject] returns a dummy object or nil if a page hasn't loaded
      
              Calling -[WebView windowScriptObject] before the page loads would give you nil. This behavior didn't match Tiger.
              The API behavior in Tiger let you get the window script object once and keep ahold of it as long as you needed it.
              The window object would remain valid even after page loads. This change restores the Tiger behavior.
      
              <rdar://problem/5495790> NULL dereference crash beneath Bindings::RootObject::interpreter when saving Dashcode document
      
              The changes to WebScriptObject's _isSafeScript call also fixed the crash in Dashcode.
      
              * bindings/objc/WebScriptObject.mm:
              (-[WebScriptObject _setOriginRootObject:andRootObject:]): New method used to update the the root objects,
              so the WebScriptObject can still be used after a page load.
              (-[WebScriptObject _isSafeScript]): Call [self _rootObject] instead of accessing the data member directly.
              DOMNode has an override for the _rootObject method, and it can return 0 when _private->_rootObject
              is non-zero. We would return YES here when it wasn't safe and later crash with my modified layout tests.
              Checking _rootObject first prevents other calls sites from needing to check for a valid root object,
              this fixed the Dashcode crash.
              (-[WebScriptObject _imp]): Ditto.
      
              * bindings/objc/WebScriptObjectPrivate.h: Add _setOriginRootObject:andRootObject:.
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::clear): Call the renamed clearScriptObjects function.
              (WebCore::FrameLoader::dispatchWindowObjectAvailable): Some gratuitous code cleanup.
      
              * page/Frame.cpp:
              (WebCore::Frame::clearScriptObjects): Renamed cleanupScriptObject to clearScriptObjects.
              Call clearPlatformScriptObjects last so m_bindingRootObject is already NULL.
              (WebCore::Frame::windowScriptNPObject): Hold a JSLock before accessing the window. This
              change is unrelated to the bug, but should be fixed.
      
              * page/mac/FrameMac.mm:
              (WebCore::Frame::windowScriptObject): Return a script object even if the interpreter is NULL.
              This resotres the Tiger behavior of always being able to access the window object.
              (WebCore::Frame::clearPlatformScriptObjects): Keep the window script object around, and update
              the root objects for the window script object.
      
              * page/Frame.h: Rename cleanupScriptObject to clearScriptObjects.
              * page/FramePrivate.h: Use a RetainPtr for m_windowScriptObject.
      
      WebKitTools:
      
              Reviewed by Darin.
      
              <rdar://problem/5491013> REGRESSION: -[WebView windowScriptObject] returns a dummy object or nil if a page hasn't loaded (breaks EA Sports Online)
      
              Assert that the -[WebScriptObject JSObject] return value is only NULL for non-window objects.
              This is tested by plugins/root-object-premature-delete-crash.html.
      
              * DumpRenderTree/mac/ObjCController.m:
              (-[ObjCController accessStoredWebScriptObject]):
      
      LayoutTests:
      
              Reviewed by Darin.
      
              <rdar://problem/5491013> REGRESSION: -[WebView windowScriptObject] returns a dummy object or nil if a page hasn't loaded (breaks EA Sports Online)
      
              Updated results to show the didClearWindowScriptObject delegate call. Tweaked plugins/root-object-premature-delete-crash.html
              to test a non-window script object half the time. This change works with a change to DumpRenderTree.
      
              * http/tests/loading/empty-subframe-expected.txt:
              * http/tests/loading/simple-subframe-expected.txt:
              * plugins/root-object-premature-delete-crash.html:
              * webarchive/loading/test-loading-archive-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@25697 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      10840e54
  10. 13 Sep, 2007 1 commit
    • darin's avatar
      WebCore: · ead9a459
      darin authored
              Reviewed by Oliver.
      
              - fix <rdar://problem/5470457> REGRESSION: Input method inline hole is mishandled in text
                <input> elements with maxlength limit
      
              * editing/Editor.h: Moved MarkedTextUnderline here and renamed it CompositionUnderline.
              Moved the rest of the marked text API here and used the term that will be more familiar
              to those on platforms other than Macintosh, "composition". This helps prevent confusion
              with the other kinds of mark -- the emacs "mark" and spelling/grammar marks. Also
              cleaned up the conditionals a bit for the Macintosh-specific parts of this header.
      
              * editing/Editor.cpp:
              (WebCore::Editor::Editor): Updated for name change.
              (WebCore::Editor::clear): Added. To be called by FrameLoader::clear().
              (WebCore::Editor::insertTextWithoutSendingTextEvent): Removed code to make inserted
              text replace the marked text range -- we now deal with this explicitly by not
              calling this function to replace marked text. Also removed unneeded code that was
              specific to the use of this to replace the marked text.
              (WebCore::Editor::selectComposition): Renamed from selectMarkedText. Updated since
              the composition range is not stored as a Range.
              (WebCore::Editor::confirmComposition): Added. To be called when changing a composition
              into actual text. Unlike the old code path, deletes the composition first, then inserts
              the text, triggering the normal insertion code path and events. This is helpful because
              it means the inserted text will be truncated by the <input> element, for example.
              (WebCore::Editor::confirmCompositionWithoutDisturbingSelection): Added.
              (WebCore::Editor::setComposition): Added. To be called when changing the composition.
              Takes parameters for the underlines and selection. Unlike the old code path, this passes
              a flag down that indicates the inserted text is part of a composition. This is helpful
              because we don't send the event that will cause the <input> element to do truncation.
              It's also a better API for future improvements to our input method handling.
              (WebCore::Editor::revealSelectionAfterEditingOperation): Updated for name change.
              (WebCore::Editor::setIgnoreCompositionSelectionChange): Ditto.
              (WebCore::Editor::compositionRange): Added. Needed now that the composition is not
              stored as a Range.
              (WebCore::Editor::getCompositionSelection): Added.
      
              * editing/TypingCommand.h:
              * editing/TypingCommand.cpp: (WebCore::TypingCommand::insertText):
              Added an insertedTextIsComposition parameter, and don't send the BeforeTextInsertedEvent
              if it's true.
      
              * loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): Replaced the Macintosh-specific
              call to setMarkedTextRange with a call to the new Editor::clear().
      
              * page/Frame.h:
              * page/Frame.cpp:
              * page/FramePrivate.h:
              * page/mac/FrameMac.mm:
              Removed the marked text code. It was streamlined and moved to Editor, except for the
              Mac-specific code, which was moved into WebKit.
      
              * page/mac/WebCoreFrameBridge.h:
              * page/mac/WebCoreFrameBridge.mm: Removed some now-unneeded marked text code.
              (-[WebCoreFrameBridge markedTextNSRange]): Updated for name/API change.
      
              * rendering/InlineTextBox.h:
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paint): Updated marked text code for name changes, and also
              streamlined the code a bit for the case where there is no composition.
              (WebCore::InlineTextBox::paintCompositionBackground): Name change.
              (WebCore::InlineTextBox::paintCompositionUnderline): Ditto.
      
              * rendering/RenderTextControl.h:
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::finishText): Added. Helper function shared by the
              (WebCore::RenderTextControl::text):
              (WebCore::getNextSoftBreak):
              (WebCore::RenderTextControl::textWithHardLineBreaks):
      
              * platform/CharacterNames.h: Added newlineCharacter.
      
              * dom/Range.h: Remove the now-unneeded version of toString that converts <br>
              elements into newlines.
              * dom/Range.cpp:
              (WebCore::Range::toString): Changed this to use a Vector<UChar> instead of
              a String so it will not have pathological reallocation performance, and removed
              the <br> feature.
              (WebCore::Range::pastEndNode): Made this return 0 when there is no start node.
              This bit of extra robustness guarantees you can't do a null dereference if the
              start node is 0 and the end node is not. Not sure this case really exists.
      
              * page/ContextMenuController.cpp: (ContextMenuController::contextMenuItemSelected):
              Removed a semi-bogus use of Range::toString(true). The right function to use here
              is plainText().
      
              * bridge/EditorClient.h: Removed obsolete markedTextAbandoned function.
      
              * WebCore.exp: Updated for above changes. 
      
      WebKit:
      
              Reviewed by Oliver.
      
              - fix <rdar://problem/5470457> REGRESSION: Input method inline hole is mishandled in text
                <input> elements with maxlength limit
      
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView _selectionChanged]): Tweaked code a bit.
              (-[WebHTMLView markedRange]): Simplified logic, since markedTextNSRange works when there's
              no composition range.
              (-[WebHTMLView hasMarkedText]): Call directly to Editor instead of bridge.
              (-[WebHTMLView unmarkText]): Call new confirmComposition to make it clear that this is
              confirming text, not just unmarking it to discard it.
              (extractUnderlines): Added. Converts directly from an NSAttributedString to the
              CompositionUnderline vector that's used by WebCore.
              (-[WebHTMLView setMarkedText:selectedRange:]): Changed to use the new setComposition.
              (-[WebHTMLView insertText:]): Changed to use confirmComposition when appropriate, instead
              of relying on special behavior of Editor::insertText.
              (-[WebHTMLView _updateSelectionForInputManager]): Rewrote to use getCompositionSelection
              and confirmCompositionWithoutDisturbingSelection.
      
              * WebCoreSupport/WebEditorClient.h:
              * WebCoreSupport/WebEditorClient.mm:
              Removed obsolete markedTextAbandoned function.
      
      win:
      
              Reviewed by Oliver.
      
              - fix <rdar://problem/5470457> REGRESSION: Input method inline hole is mishandled in text
                <input> elements with maxlength limit
      
              * WebView.cpp:
              (WebView::resetIME): Change to use confirmCompositionWithoutDisturbingSelection.
              (WebView::updateSelectionForIME): Update for name changes, and to use new functions
              in Editor.
              (WebView::onIMEStartComposition): Removed unneeded call to unmarkText.
              (compositionToUnderlines): Removed startOffset parameter, since setComposition now
              handles this.
              (WebView::onIMEComposition): Changed to use confirmComposition and setComposition.
              Logic gets a lot cleaner.
              (WebView::onIMEEndComposition): Removed unneeded calls to Editor.
              (WebView::onIMERequestCharPosition): Updated for name changes.
      
      LayoutTests:
      
              Reviewed by Oliver.
      
              - updated test results changed by change in input manager logic
      
              * platform/mac/editing/input/firstrectforcharacterrange-styled-expected.txt:
              * platform/mac/editing/input/text-input-controller-expected.txt:
              * platform/mac/editing/input/wrapped-line-char-rect-expected.txt:
              Updated. Small changes in which delegate methods are called.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@25547 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ead9a459
  11. 10 Aug, 2007 1 commit
    • thatcher's avatar
      JavaScriptCore: · 43a079ef
      thatcher authored
              Reviewed by Adam.
      
              <rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit
      
              Disable the NPAPI for 64-bit on Mac OS X.
      
              * Configurations/JavaScriptCore.xcconfig: Use the 64-bit export file.
              * JavaScriptCore.xcodeproj/project.pbxproj: Create a 64-bit export file
              that filters out the NPN fnctions.
              * bindings/NP_jsobject.cpp: #ifdef out this for 64-bit on Mac OS X
              * bindings/NP_jsobject.h: Ditto.
              * bindings/c/c_class.cpp: Ditto.
              * bindings/c/c_class.h: Ditto.
              * bindings/c/c_instance.cpp: Ditto.
              * bindings/c/c_instance.h: Ditto.
              * bindings/c/c_runtime.cpp: Ditto.
              * bindings/c/c_runtime.h: Ditto.
              * bindings/c/c_utility.cpp: Ditto.
              * bindings/c/c_utility.h: Ditto.
              * bindings/npapi.h: Ditto.
              * bindings/npruntime.cpp: Ditto.
              * bindings/npruntime.h: Ditto.
              * bindings/npruntime_impl.h: Ditto.
              * bindings/npruntime_priv.h: Ditto.
              * bindings/runtime.cpp:
              (KJS::Bindings::Instance::createBindingForLanguageInstance):
               don't creat an NPObject on Mac OS X in 64-bit.
      
      WebCore:
      
              Reviewed by Adam.
      
              <rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit
      
              Disable NPObject use in 64-bit on Mac OS X.
      
              * Configurations/WebCore.xcconfig: Add a framework search path to the sub-framworks of Carbon.
              * WebCore.xcodeproj/project.pbxproj: Filter out the Frame::windowScriptNPObject() symbol in 64-bit.
              * bindings/objc/DOM.mm:
              (-[DOMElement _NPObject]): Return null in 64-bit.
              * config.h: Set WTF_USE_NPOBJECT to 0 in 64-bit Mac OS X.
              * page/Frame.cpp:
              (WebCore::Frame::cleanupScriptObjects): Add more #if USE(NPOBJECT) blocks where needed.
              * page/Frame.h: Ditto.
              * page/mac/FrameMac.mm:
              (WebCore::Frame::createScriptInstanceForWidget): Ditto.
              * page/mac/WebCoreFrameBridge.h: Ditto.
              * page/mac/WebCoreFrameBridge.mm: Ditto.
      
      WebKit:
      
              Reviewed by Adam.
      
              <rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit
      
              Disable NPObject use in 64-bit on Mac OS X. Also generate the 64-bit export file.
      
              * Configurations/WebKit.xcconfig: Point to the generated 64-bit export file.
              * Plugins/WebBasePluginPackage.h:
              * Plugins/npfunctions.h: #ifdef out this header in 64-bit on Mac OS X.
              * WebKit.LP64.exp: Removed.
              * WebKit.xcodeproj/project.pbxproj: Generate the the 64-bit export file.
              * WebKitPrefix.h: Define WTF_USE_NPOBJECT.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@25000 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      43a079ef
  12. 08 Aug, 2007 1 commit
    • ggaren's avatar
      Reviewed by Maciej Stachowiak. · 1f92a1ab
      ggaren authored
              Added a thrash check to live decoded resource eviction.
              
              Here's the strategy: Stamp every image with its paint time. Don't evict 
              a live decoded resource until another resource paints with a reasonably
              (1 second) larger time stamp. 
              
              If no other resource paints, or another resource paints, but very soon 
              after the resource in question, the resource in question is very likely 
              to paint again soon. In fact, it's probably still on screen. So we 
              leave it alone. (Previously, we evicted it on a timer, but that would 
              evict a resource that was still on screen, hurting speed without 
              helping memory use.)
      
              In theory, this algorithm allows a single large resource or closely 
              related set of resources to linger in the live decoded cache even 
              though the cache is over its limit. However, that can only happen as 
              long as no other resource ever paints again, which guarantees an 
              absolute cap on cache memory usage from then on. Also, the resources 
              will only linger as long as they remain live. Upon going dead, they 
              will flush. Also, these circumstances are so rare that they are almost 
              impossible to encounter in the wild. So don't sweat it.
              
              Stop evicting if the next resource painted too recently:
              
              * loader/Cache.cpp:
              (WebCore::Cache::pruneLiveResources):
              * loader/CachedResource.cpp:
              (WebCore::CachedResource::CachedResource):
              (WebCore::CachedResource::liveResourceAccessed):
              * loader/CachedResource.h:
      
              Track the paint time stamp in Frame. We do this to give a consistent
              stamp to all resources painted in a single paint operation (in case the
              operation takes a significant amount of time), and to avoid excessive 
              calls to system time functions, which hurt the PLT:
      
              * page/Frame.cpp:
              (WebCore::Frame::paint):
              * page/Frame.h:
              (WebCore::Frame::currentPaintTimeStamp):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@24951 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1f92a1ab
  13. 05 Aug, 2007 1 commit
    • antti's avatar
      Reviewed by Darin. · 6e917c3a
      antti authored
              Fix <rdar://problem/5378214>
              Mail crashes at RenderLayer::paintLayer() when dragging a selection over To Do text
              
              ObjC interface does not guarantee that Document::updateRendering() gets called after
              modification are made to document. This can lead to situation where paint()
              is invoked with document still dirty which can then crash in number of interesting ways.
              
              - add hasChangedChild() as needsLayout() condition. layout() will then call recalcStyle() 
                catching most cases and making sure document is not dirty when entering painting.
              - protect recalcStyle() and layout() from being executed during painting. There are some
                cases needsLayout() protection does not cover.
              
              No layout test, these states are very hard or impossible to reach using Javascript interface
              (which generally guarantees that updateRendering() is done right after execution).
      
              * dom/Document.cpp:
              (WebCore::Document::recalcStyle):
              * page/Frame.cpp:
              (WebCore::Frame::paint):
              (WebCore::Frame::setPaintRestriction):
              (WebCore::Frame::isPainting):
              (WebCore::FramePrivate::FramePrivate):
              * page/Frame.h:
              * page/FramePrivate.h:
              * page/FrameView.cpp:
              (WebCore::FrameView::layout):
              (WebCore::FrameView::needsLayout):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@24878 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6e917c3a
  14. 24 Jul, 2007 1 commit
    • oliver's avatar
      WebCore: · 55cc92b5
      oliver authored
              Reviewed by Adam and Justin.
      
              <rdar://problem/5141779> WebView editableDOMRangeForPoint: & moveDragCaretToPoint: returns last position in DOMText range
      
              Remove bridge implementation for editableDOMRangeForPoint: and moveDragCaretToPoint:. 
              Now use cross-platform code Editor::rangeForPoint and DragController::placeDragCaret instead.
              This required lifting local code from DragController.cpp into the shared methods
              Frame::visiblePositionForPoint and Frame::documentAtPoint.
      
              * WebCore.exp:
              * editing/Editor.cpp:
              (WebCore::Editor::rangeForPoint):
              * editing/Editor.h:
              * page/DragController.cpp:
              (WebCore::DragController::dragEnded):
              (WebCore::DragController::performDrag):
              (WebCore::DragController::dragEnteredOrUpdated):
              (WebCore::DragController::tryDocumentDrag):
              (WebCore::DragController::operationForLoad):
              (WebCore::setSelectionToDragCaret):
              (WebCore::DragController::concludeDrag):
              (WebCore::DragController::placeDragCaret):
              * page/DragController.h:
              * page/Frame.cpp:
              (WebCore::Frame::visiblePositionForPoint):
              (WebCore::Frame::documentAtPoint):
              * page/Frame.h:
              * page/mac/WebCoreFrameBridge.h:
              * page/mac/WebCoreFrameBridge.mm:
      
      WebKit:
      
              Reviewed by Adam and Justin.
      
              <rdar://problem/5141779> WebView editableDOMRangeForPoint: & moveDragCaretToPoint: returns last position in DOMText range
      
              editableDOMRangeForPoint:, moveDragCaretToPoint:, and removeDragCaret now call directly into
              WebCore without relying on bridge look up through the now removed _bridgeAtPoint:.
      
              * WebKit.xcodeproj/project.pbxproj:
              * WebView/WebView.mm:
              (-[WebView moveDragCaretToPoint:]):
              (-[WebView removeDragCaret]):
              (-[WebView editableDOMRangeForPoint:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@24616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      55cc92b5
  15. 17 Jul, 2007 1 commit
    • weinig's avatar
      LayoutTests: · f9307634
      weinig authored
              Reviewed by Geoff Garen.
      
              Test for <rdar://problem/5333957>
      
              * http/tests/security/cross-frame-access-protocol.html: Fix a few typos.
              * http/tests/security/cross-frame-access-selection-expected.txt: Added.
              * http/tests/security/cross-frame-access-selection.html: Added.
              * http/tests/security/resources/foreign-domain-iframe-for-selection-test.html: Added.
      
      WebCore:
      
              Reviewed by Geoff Garen.
      
              Fix for <rdar://problem/5333957>
                      http://bugs.webkit.org/show_bug.cgi?id=14610
      
              Original patch by Feng Qian.
      
              - Clear the selection object when disconnecting a frame.
      
              Test: http/tests/security/cross-frame-access-selection.html
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::clear):
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::disconnectFrame):
              (WebCore::DOMWindow::clear):
              * page/DOMWindow.h:
              * page/Frame.cpp:
              (WebCore::Frame::clearScriptProxy):
              (WebCore::Frame::clearDOMWindow):
              * page/Frame.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@24398 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f9307634
  16. 16 Jul, 2007 1 commit
    • aroben's avatar
      Replace Frame::print with Chrome::print and remove -[WebFrameBridge print] · a64dcca8
      aroben authored
      WebCore:
      
              Replace Frame::print with Chrome::print
      
              This also adds a Frame* parameter to Chrome::print and
              ChromeClient::print so that it knows which Frame to print.
      
              Reviewed by Darin.
      
              All tests pass.
      
              * bindings/js/kjs_window.cpp:
              (KJS::WindowFunc::callAsFunction): Call Chrome::print.
              * editing/JSEditor.cpp: Ditto.
      
              * bridge/win/FrameWin.cpp: Removed Frame::print.
              * page/Frame.h: Ditto.
              * page/mac/FrameMac.mm: Ditto.
              * page/qt/FrameQt.cpp: Ditto.
              * platform/gdk/FrameGdk.cpp: Ditto.
              * page/mac/WebCoreFrameBridge.h: Removed -print.
      
              * page/Chrome.cpp: Added Frame* parameter to Chrome::print and pass it
              up to the ChromeClient.
              * page/Chrome.h: Ditto.
              * page/ChromeClient.h: Ditto.
              * platform/gdk/TemporaryLinkStubs.cpp: Ditto.
              * platform/graphics/svg/SVGImageEmptyClients.h: Ditto.
      
      WebKit:
      
              Move printing from WebFrameBridge to WebChromeClient
      
              Reviewed by Darin.
      
              * WebCoreSupport/WebChromeClient.h: Updated for ChromeClient changes.
              * WebCoreSupport/WebChromeClient.mm:
              (WebChromeClient::print): Moved code from WebFrameBridge.
              * WebCoreSupport/WebFrameBridge.mm: Removed -print.
      
      WebKit/win:
      
              Updated WebChromeClient for ChromeClient changes.
      
              Reviewed by Darin.
      
              * WebChromeClient.cpp:
              (WebChromeClient::print): Added a Frame* parameter.
              * WebChromeClient.h: Ditto.
      
      WebKitQt:
      
              Updated ChromeClientQt for ChromeClient changes.
      
              Reviewed by Darin.
      
              * WebCoreSupport/ChromeClientQt.cpp:
              (WebCore::ChromeClientQt::print): Added a Frame* parameter.
              * WebCoreSupport/ChromeClientQt.h: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@24330 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a64dcca8
  17. 11 Jul, 2007 1 commit
    • oliver's avatar
      Reviewed by Maciej. · f15ee260
      oliver authored
              Fix <rdar://problem/5329481> Character range rect code for IME support needs to be crossplatform
      
              Move -[WebCoreFrameBridge firstRectForDOMRange:] to Frame::firstRectForRange
      
              * page/Frame.cpp:
              (WebCore::Frame::firstRectForRange):
              * page/Frame.h:
              * page/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge firstRectForDOMRange:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@24222 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f15ee260
  18. 06 Jul, 2007 1 commit
    • oliver's avatar
      WebCore: · 4c510c0f
      oliver authored
              Reviewed by Maciej.
      
              Pulled a number of methods from WebKit and WebCoreFrameBridge into 
              C++ objects.
      
              * WebCore.exp:
              * WebCore.xcodeproj/project.pbxproj:
              * editing/Editor.cpp:
              (WebCore::Editor::replaceMarkedText):
                  From -[WebCoreFrameBridge replaceMarkedTextWithText:]
              * editing/Editor.h:
              * page/Frame.cpp:
              (WebCore::Frame::setMarkedTextRange):
                  Pulled platform independent logic from Mac specific implementation
              (WebCore::Frame::selectRangeInMarkedText):
                  Converted from -[WebHTMLView _selectRangeInMarkedText:]
              * page/Frame.h:
              * page/mac/FrameMac.mm:
              (WebCore::Frame::setMarkedTextRange):
                  Now only does Mac specific logic when manipulating initial
                  NSAttributedString
              * page/mac/WebCoreFrameBridge.h:
              * page/mac/WebCoreFrameBridge.mm:
                  Removed -[WebCoreFrameBridge replaceMarkedTextWithText:]
      
      WebKit:
      
              Reviewed by Maciej.
      
              <rdar://problem/5318756> Need to refactor IM/Marked text code to share logic with windows.
      
              Moved a number of methods from WebHTMLView into WebCore.
              Replaced bridge methods with calls directly into WebCore objects.
      
              * WebKit.xcodeproj/project.pbxproj:
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView setMarkedText:selectedRange:]):
                Now calls WebCore object methods directly, rather than calling 
                via the bridge.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@24085 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c510c0f
  19. 05 Jul, 2007 1 commit
    • sullivan's avatar
      WebCore: · 4ea5e41a
      sullivan authored
              Reviewed by Adam
      
              - WebCore part of fix for <rdar://problem/5315033>
      
              * rendering/RenderObject.h:
              replaced PaintRestrictionSelectionOnlyWhiteText with PaintRestrictionSelectionOnlyBlackText
              (WebCore::RenderObject::PaintInfo::PaintInfo):
              replaced forceWhiteText with forceBlackText
      
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::addLineBoxRects):
              added a useSelectionHeight parameter, which defaults to false; this method is unimplemented
              at this level so this has no effect.
      
              * rendering/RenderText.h:
              * rendering/RenderText.cpp:
              (WebCore::RenderText::addLineBoxRects):
              added a useSelectionHeight parameter, which defaults to false. If true, use the vertical position
              and height returned by selectionRect rather than replacing it with the more tight-fitting position
              and height of the line box.
      
              * dom/Range.h:
              * dom/Range.cpp:
              (WebCore::Range::addLineBoxRects):
              added a useSelectionHeight parameter, which defaults to false. Passes this along to RenderObject.        
      
              * page/Frame.h:
              renamed parameter to selectionImage
              * page/Frame.cpp:
              (WebCore::Frame::selectionTextRects):
              pass true for addLineBoxRects new useSelectionHeight parameter, so the rects returned by this new
              method will match the height that the selection would be painted here
              (WebCore::Frame::paint):
              updated for white->black name changes
              
              * page/mac/FrameMac.mm:
              (WebCore::Frame::selectionImage):
              updated for white->black name changes
              
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::paintTextDecorations):
              updated for white->black name changes
      
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::paintLayer):
              updated for white->black name changes
      
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paint):
              updated for white->black name changes, and actually use black instead of white. This was the goal
              of all the name changes.
      
      WebKit:
      
              Reviewed by Adam
              
              - WebKit part of fix for <rdar://problem/5315033>
      
              * WebView/WebDocumentPrivate.h:
              new selectionImageForcingBlackText: method. selectionImageForcingWhiteText: is no longer used and was never
              in an official release of WebKit, so it could be removed, except that doing so would cause trouble for people
              using nightly WebKit with Safari 3.0 beta. So I left it in, but made it just force black text instead of
              white text, which will look different for those nightly WebKit/Safari 3.0 beta people but not break anything.
              
              * Misc/WebSearchableTextView.m:
              (-[WebSearchableTextView selectionImageForcingBlackText:]):
              new unimplemented protocol method for this obsolete class
              
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView selectionImageForcingBlackText:]):
              calls through to WebCore the way selectionImageForcingWhiteText: used to
              (-[WebHTMLView selectionImageForcingWhiteText:]):
              now just calls selectionImageForcingBlackText:, thus not working as you would expect from the name
              
              * WebView/WebPDFView.mm:
              (-[WebPDFView selectionImageForcingBlackText:]):
              guts of old selectionImageForcingWhiteText:, but with black substituted for white
              (-[WebPDFView selectionImageForcingWhiteText:]):
              now just calls selectionImageForcingBlackText:, thus not working as you would expect from the name
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@24041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4ea5e41a
  20. 04 Jul, 2007 1 commit
    • aliceli1's avatar
      Reviewed by Adam. · 7f9f8407
      aliceli1 authored
              Fixed <rdar://problem/5225119> support smart pasting on Windows
      
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
                  Added new files
              * editing/SmartReplace.cpp: Added.
              (WebCore::isCharacterSmartReplaceExempt):
                  Added non-CF implementation placeholder
              * editing/SmartReplace.h: Added.
              * editing/SmartReplaceCF.cpp: Added.
              (WebCore::getSmartSet):
              (WebCore::isCharacterSmartReplaceExempt):
                  Added new implementation
      
              * bridge/win/FrameWin.cpp:
              * page/Frame.h:
              * page/mac/FrameMac.mm:
                  Removed old declaration and implementation
      
              * editing/ReplaceSelectionCommand.cpp:
              (WebCore::ReplaceSelectionCommand::doApply):
                  Changed to call the new function instead of old
      
              * page/mac/WebCoreFrameBridge.h:
              * page/mac/WebCoreFrameBridge.mm:
                  Removed old declaration and implementation
              (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
                  Changed to call the new function instead of old
      
              * platform/win/PasteboardWin.cpp:
              (WebCore::Pasteboard::Pasteboard):
                  Register new clipboard format
              (WebCore::Pasteboard::writeSelection):
                  Set data for smartpaste format on clipboard
              (WebCore::Pasteboard::canSmartReplace):
                  Added non-stub implementation
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@23986 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7f9f8407
  21. 30 Jun, 2007 1 commit
    • sullivan's avatar
      WebCore: · 37ecd187
      sullivan authored
              Reviewed by Oliver Hunt.
              
              - WebCore support for accessing the set of rectangles that encompass the selected text
              
              * page/Frame.h:
              * page/Frame.cpp:
              (WebCore::Frame::selectionTextRects):
              new function, fills in a passed Vector with the line box rects that represent the selected range
      
              * rendering/RenderText.cpp:
              (WebCore::RenderText::addLineBoxRects):
              fixed off-by-one bug involving use of the confusing function InlineTextBox::end()
      
              * WebCore.exp:
              exported symbol for this new function
      
      WebKit:
      
              Reviewed by Oliver Hunt.
      
              - WebKit support for accessing the set of rectangles that encompass the selected text
      
              * WebView/WebDocumentPrivate.h:
              added -selectionTextRects to WebDocumentSelection protocol; tweaked comments
      
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView _selectionDraggingRect]):
              use selectionRect instead of selectionImageRect since they're the same and maybe we can get
              rid of selectionImageRect someday
              (-[WebHTMLView selectionTextRects]):
              added implementation of new protocol method, which calls through to WebCore
              
              * WebView/WebPDFView.mm:
              (-[WebPDFView selectionTextRects]):
              added simple implementation of new protocol method, which just returns the single selection rect.
              PDFKit doesn't support obtaining multiple rects to describe a multi-line selection.
              (-[WebPDFView selectionImageForcingWhiteText:]):
              use selectionRect instead of selectionImageRect since they're the same and maybe we can get
              rid of selectionImageRect someday
              
              * Misc/WebSearchableTextView.m:
              (-[WebSearchableTextView selectionTextRects]):
              added no-op implementation of new protocol method to this obsolete class
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@23897 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      37ecd187
  22. 14 Jun, 2007 1 commit
  23. 25 May, 2007 1 commit
    • ggaren's avatar
      Reviewed by Darin Adler. · 6ad6e760
      ggaren authored
              Fixed a bug with Settings where a number of different objects held bare 
              Settings* data members, even though the Page owns the Settings object and 
              deletes it upon destruction.
      
              Added NULL checks since the Page can be deleted before the frame/document.
      
              * page/Settings.cpp: Removed reliance on setNeedsReapplyStylesForSettingsChange.
      
              * css/cssstyleselector.cpp: CSSStyleSelector was the worst offender. It 
              held a number of back pointers that were not guaranteed. I removed the 
              Settings*, Frame*, and FrameView* back pointers, but others could probably 
              go, too. I replaced them with a single Document* pointer, which is guaranteed
              because the Document owns the CSSStyleSelector.
      
              * page/Page.cpp: Removed setNeedsReapplyStylesForSettingsChange -- the 
              Settings object is now a proper subcontroller of Page, so it doesn't need
              to use a global table to find its page anymore. Also, this function
              confusingly implied that the Frames in a page can have heterogeneous settings,
              which is not true.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21749 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6ad6e760
  24. 12 May, 2007 1 commit
    • beidson's avatar
      Reviewed by Darin and Geoff · c030e97a
      beidson authored
              Fix for http://bugs.webkit.org/show_bug.cgi?id=13630
              and
              <rdar://problem/4873628>
      
              Back/Forward cache should work with pages with login fields.
      
              First change is to relocate the "useSecureKeyboardEntry" flag to the document.  This lets
              it persist through page cache transitions and it is truly a per-document concept more than
              per-frame anyways since its the document that has a password field, not the frame.
      
              Second change is to introduce the concept of an Element getting a "didRestoreFromCache()" callback.
              The idea is for elements to register with the document if they need work to be done when the
              page comes out of the back/forward cache.  Currently the only client of this service is 
              HTMLInputElements that are input type == PASSWORD.  Such an element's implementation for this
              method is to call reset()
      
              Finally, after a page is restored from the cache we have the document send the didRestoreFromCache()
              callback to its registered Elements.  The whole design is to clear the password fields after 
              restoring the page instead of when caching the page because we want to defer work for the common
              case - there shouldn't be extra work here just to navigate away from a page when the common case
              is that you'll never go back!
      
              No layout tests possible until http://bugs.webkit.org/show_bug.cgi?id=13672 is resolved
      
              * dom/Document.cpp:
              (WebCore::Document::Document):
              (WebCore::Document::registerForDidRestoreFromCacheCallback): Add an Element to the special page-restoration callback list
              (WebCore::Document::unregisterForDidRestoreFromCacheCallback): Remove such an element
              (WebCore::Document::didRestoreFromCache): Called by FrameLoader - dispatch to all the registered elements
              (WebCore::Document::setUseSecureKeyboardEntryWhenActive): Set the local flag and call updateSecureKeyboardEntryIfActive
                on the Frame
              (WebCore::Document::useSecureKeyboardEntryWhenActive): Return the flag
      
              * dom/Document.h:
              (WebCore::Document::unregisterFormElementWithState): Renamed
      
              * dom/Element.h:
              (WebCore::Element::didRestoreFromCache): Added virtual base method
      
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::~HTMLInputElement): Deregister from the document if inputType == PASSWORD
              (WebCore::HTMLInputElement::dispatchFocusEvent): Set the flag on the document, not the frame
              (WebCore::HTMLInputElement::dispatchBlurEvent): Ditto
              (WebCore::HTMLInputElement::setInputType): If changing to/from PASSWORD, register/deregister in the document accordingly
              (WebCore::HTMLInputElement::attach): Call registerForDidRestoreFromCacheCallback(this) instead of passwordFieldAdded()
              (WebCore::HTMLInputElement::didRestoreFromCache): Call reset();
              * html/HTMLInputElement.h:
      
              * html/HTMLSelectElement.cpp:
              (WebCore::HTMLSelectElement::~HTMLSelectElement): Renamed deregisterFormElementWithState to unregisterFormElementWithState
              * html/HTMLTextAreaElement.cpp:
              (WebCore::HTMLTextAreaElement::~HTMLTextAreaElement): Ditto
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::canCachePage): Remove the check for password fields - they're allowed now!
              (WebCore::FrameLoader::opened): Tell the document to dispatch to the registered elements
              (WebCore::FrameLoader::saveDocumentState): Remove the check for password fields.  Turns out that when we grab a copy a the
                form state we're only copying the state of form elements that are registered with the Document - and that set 
                explicitly excludes Password elements
      
              * page/Frame.cpp:
              (WebCore::Frame::setDocument): If the frame is active, set the setUseSecureKeyboardEntry based on the setting contained
                in the new document
              (WebCore::Frame::updateSecureKeyboardEntryIfActive): Notification for the secure entry flag changing - if the Frame is
                active, then update to the new setting from the document
              (WebCore::Frame::setIsActive): Grab the useSecureKeyboardEntry flag from the document instead of FramePrivate
              (WebCore::FramePrivate::FramePrivate):
              * page/Frame.h:
              * page/FramePrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c030e97a
  25. 10 May, 2007 2 commits
    • adele's avatar
      LayoutTests: · eaa0055b
      adele authored
              Reviewed by Hyatt.
      
              Test for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result
      
              * fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.checksum: Added.
              * fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png: Added.
              * fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt: Added.
              * fast/overflow/scroll-nested-positioned-layer-in-overflow.html: Added.
      
      WebCore:
      
              Reviewed by Hyatt.
      
              WebCore part of fix for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result
      
              Test: fast/overflow/scroll-nested-positioned-layer-in-overflow.html
      
              Merged visibleSelectionRect into selectionRect.  selectionRect() now takes an argument to determine
              whether or not to return a rect that clips to the visible content.  This change makes all of the implementations of selectionRect
              consistent by having them all consider the repaint rect when clipping to visible content.
      
              * page/Frame.cpp:
              (WebCore::Frame::revealSelection): Call selectionRect with clipToVisibleContent = false, so we can get a rect that's not visible to reveal.
              (WebCore::Frame::selectionRect): Added clipToVisibleContent argument, and merged visibleSelectionRect into this method.
              (WebCore::Frame::setIsActive): Use selectionRect instead of visibleSelectionRect.
              * page/Frame.h:
              * page/mac/FrameMac.mm: (WebCore::Frame::selectionImage): Update layout before creating the image.  Use selectionRect instead of visibleSelectionRect.
              * page/DragController.cpp: (WebCore::dragLocForSelectionDrag): Use selectionRect instead of visibleSelectionRect.
      
              * rendering/RenderBR.h: (WebCore::RenderBR::selectionRect): Updated argument.
              * rendering/RenderBlock.h: (WebCore::RenderBlock::selectionRect): ditto.
              * rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::selectionRect): ditto.
              * rendering/RenderSVGInlineText.h: ditto.
              * rendering/RenderObject.h: 
              (WebCore::RenderObject::selectionRect): ditto.
              (WebCore::RenderObject::SelectionInfo::SelectionInfo): ditto.
              * rendering/RenderView.cpp:
              (WebCore::RenderView::selectionRect): ditto.
              (WebCore::RenderView::setSelection): ditto.
              * rendering/RenderView.h:
      
              * rendering/RenderText.h:
              * rendering/RenderText.cpp: (WebCore::RenderText::selectionRect): Only call computeAbsoluteRepaintRect when clipping to visible content.
              Otherwise, just adjust the rect to the correct position.
              * rendering/RenderListMarker.h:
              * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::selectionRect):
                To match what we do in RenderText, if we're trying to clip to visible content, just call computeAbsoluteRepaintRect.
              * rendering/RenderReplaced.h:
              * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::selectionRect): ditto.
      
              * rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollRectToVisible): Check for a parent layer at the beginning, so we can try to scroll all of our parent layers 
                first, before trying to scroll the top level view.  Also, don't try to scroll overflow layers that have -webkit-line-clamp restricting the height.
                This will prevent us from revealing text hidden by the slider in Safari RSS.
      
              * WebCore.exp: Update symbols for WebKit.
      
      WebKit:
      
              Reviewed by Hyatt.
      
              WebKit part of fix for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result
      
              Updated to use selectionRect instead of visibleSelectionRect.  selectionRect() now returns the visible rect by default.
      
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
              (-[WebHTMLView selectionImageRect]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21387 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eaa0055b
    • mjs's avatar
      LayoutTests: · 8d620d5e
      mjs authored
              Reviewed by Oliver.
              
              - new test case for:
              <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
              <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)
      
              (The test case covers both scenarios.)
      
              * http/tests/misc/frame-access-during-load-expected.checksum: Added.
              * http/tests/misc/frame-access-during-load-expected.png: Added.
              * http/tests/misc/frame-access-during-load-expected.txt: Added.
              * http/tests/misc/frame-access-during-load.html: Added.
      
              - test results beneficially or harmlessly changed as a result of the above fixes
      
              * css2.1/t0801-c412-hz-box-00-b-a-expected.checksum:
              * css2.1/t0801-c412-hz-box-00-b-a-expected.png:
              * css2.1/t0801-c412-hz-box-00-b-a-expected.txt: This reflects an <object> containing
              an image now creating an image renderer.
      
              * dom/xhtml/level2/html/HTMLIFrameElement11-expected.txt: This is updated to a slightly
              less bad failure for access to a frame that's not loaded yet.
      
              The following test results now reflect the frame removal that the test was testing:
              
              * fast/dom/clientWidthAfterDocumentIsRemoved-expected.checksum:
              * fast/dom/clientWidthAfterDocumentIsRemoved-expected.png:
              * fast/dom/clientWidthAfterDocumentIsRemoved-expected.txt:
              * fast/dom/replaceChild-expected.checksum:
              * fast/dom/replaceChild-expected.png:
              * fast/dom/replaceChild-expected.txt:
      
              The following tests results now reflect empty document content for iframes that never load anything:
              
              * fast/events/focusingUnloadedFrame-expected.txt:
              * tables/mozilla_expected_failures/bugs/bug137388-1-expected.txt:
              * tables/mozilla_expected_failures/bugs/bug137388-2-expected.txt:
      
      WebCore:
      
              Reviewed by Oliver.
      
              - WebCore part of fix for:
              <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
              <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)
      
              The basic approach is to have Frames start out containing an empty document instead of absolutely nothing,
              so there is no need to initialize them on demand. Various side effects of that cause both of these bugs.
              
              However, this caused many regressions so I had to fix the fallout.
              
              * WebCore.exp: fix symbol exports
              * bindings/js/kjs_window.cpp:
              (KJS::createNewWindow): useless "created" bool (we don't need it here)
              (KJS::WindowFunc::callAsFunction): detect if we created a new frame, because if so,
              we need to initialize the domain (can't count on it not having a document), also
              don't try to make a new document for it.
              Also, stop properly.
              * css/cssstyleselector.cpp:
              (WebCore::CSSStyleSelector::CSSStyleSelector): don't count on document having a view here
              * html/HTMLObjectElement.cpp:
              (WebCore::HTMLObjectElement::isImageType): Ask client, to match how other <object> renderer
              decisions are made.
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::FrameLoader): Initialize new data members
              (WebCore::FrameLoader::init): Do the slightly tricky sequence of steps to properly make
              an empty document with everything hooked up.
              (WebCore::FrameLoader::createWindow): Added "created" bool.
              (WebCore::FrameLoader::stopLoading): (whitespace change)
              (WebCore::FrameLoader::begin): Don't try to create an empty document.
              (WebCore::FrameLoader::finishedParsing): If creating an initial empty document, don't
              do any of this work.
              (WebCore::FrameLoader::checkCompleted): Do checkLoadComplete() as well.
              (WebCore::FrameLoader::baseURL): don't check for null document
              (WebCore::FrameLoader::baseTarget): ditto
              (WebCore::FrameLoader::completeURL): ditto
              (WebCore::FrameLoader::didTellBridgeAboutLoad): ditto
              (WebCore::FrameLoader::scheduleLocationChange): determine duringLoad differently; doc won't
              be null.
              (WebCore::FrameLoader::gotoAnchor): don't check for null document
              (WebCore::FrameLoader::canTarget): don't check for null document
              (WebCore::FrameLoader::stopForUserCancel): new method for explicit stops like window.stop().
              (WebCore::FrameLoader::transitionToCommitted): check for pre-loaded state properly
              (WebCore::FrameLoader::createEmptyDocument): removed
              (WebCore::FrameLoader::checkLoadCompleteForThisFrame): don't send delegate callbacks when making initial
              doc.
              (WebCore::FrameLoader::tokenizerProcessedData): Assume document; just checkCompleted now that it
              does checkLoadComplete.
              (WebCore::FrameLoader::receivedMainResourceError): assume document
              (WebCore::FrameLoader::saveDocumentState): Assume there's a document except during initial load
              (WebCore::FrameLoader::mainReceivedCompleteError): do checkCompleted, not checkLoadComplete
              (WebCore::FrameLoader::continueLoadWithData): assume document
              * loader/FrameLoader.h:
              * loader/MainResourceLoader.cpp:
              (WebCore::MainResourceLoader::receivedError): Add more ref protection and do things in a slightly
              different order.
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::document): don't force document creation, just assert there is one.
              * page/Frame.cpp:
              (WebCore::Frame::init): Added init method.
              (WebCore::Frame::pageDestroyed): when a frame is removed, make sure to check if the parent is
              done loading.
              * page/Frame.h:
              * page/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]): No need to force
              document.
              (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]): ditto
              * platform/graphics/svg/SVGImage.cpp:
              (WebCore::SVGImage::dataChanged): init the frame
              * rendering/RenderPart.cpp:
              (WebCore::RenderPart::updateWidgetPosition): If a subframe needs layout, then lay it out even
              if the bounds did not change; the content size might be wrong.
              * rendering/RenderTreeAsText.cpp:
              (WebCore::externalRepresentation): Don't crash if the frame lacks a view.
      
      WebKit:
      
              Reviewed by Oliver.
      
              - WebKit part of fix for:
              <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
              <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)
      
              The basic approach is to have Frames start out containing an empty document instead of absolutely nothing,
              so there is no need to initialize them on demand. Various side effects of that cause both of these bugs.
              
              However, this caused many regressions so I had to fix the fallout.
      
              * WebCoreSupport/WebChromeClient.mm:
              (WebChromeClient::takeFocus): Avoid focus cycle problems (can happen in DumpRenderTree
              with initial empty document now).
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]): init the frame.
              (-[WebFrameBridge determineObjectFromMIMEType:URL:]): return image type when appropriate
              * WebView/WebFrame.mm:
              (-[WebFrame stopLoading]): use stopForUserCancel().
              * WebView/WebFrameView.mm:
              (-[WebFrameView _makeDocumentViewForDataSource:]): assume html when no mime type available.
              * WebView/WebView.mm:
              (-[WebView becomeFirstResponder]): Track whether we are becoming first responder from
              outside the view.
              (-[WebView _becomingFirstResponderFromOutside]): Return this value.
              * WebView/WebViewInternal.h:
      
      WebKitTools:
      
              Reviewed by Oliver.
              
              - don't clear events whenever an EventSendingController goes away, only do it at predictable times, 
              since destroying a subframe can make one go away
              
              (Discovered while fixing:
              
              <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
              <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)
      
              * DumpRenderTree/DumpRenderTree.m:
              (runTest): explicitly clear saved events after every page load
              * DumpRenderTree/EventSendingController.h:
              * DumpRenderTree/EventSendingController.m:
              (-[EventSendingController dealloc]): don't clear saved events here...
              (+[EventSendingController clearSavedEvents]): do it here
              * Scripts/check-for-global-initializers:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21367 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8d620d5e
  26. 02 May, 2007 1 commit
    • bdash's avatar
      2007-05-02 Mitz Pettel <mitz@webkit.org> · f8dc95fd
      bdash authored
              Reviewed by Brady.
      
              - http://bugs.webkit.org/show_bug.cgi?id=13564
                Remove friend class FrameLoader from Frame
      
              No test added since there is no change in functionality.
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::didOpenURL):
              (WebCore::FrameLoader::begin):
              (WebCore::FrameLoader::open):
              * loader/FrameLoader.h: Made clear() private.
              * page/Frame.cpp:
              (WebCore::Frame::setDocument): Changed the argument into a PassRefPtr.
              * page/Frame.h:
              * xml/XSLTProcessor.cpp:
              (WebCore::XSLTProcessor::createDocumentFromSource):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21219 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f8dc95fd
  27. 21 Apr, 2007 1 commit
  28. 16 Apr, 2007 1 commit
    • darin's avatar
      WebCore: · 28399bcb
      darin authored
              Reviewed by John Sullivan.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=13303
                <rdar://problem/5126341> REGRESSION: controls in a background Safari window
                maintain active appearance if the address bar has focus (13303)
      
              - fix a related problem where elements could look focused in non-active windows
      
              - simplify secure keyboard entry logic in Frame::setIsActive
      
              * WebCore.exp: Add two new symbols for use by WebKit.
      
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::dispatchFocusEvent): Call setUseSecureKeyboardEntryWhenActive
              rather than calling setSecureKeyboardEntry directly -- does nothing if the frame is not active.
              (WebCore::HTMLInputElement::dispatchBlurEvent): Ditto.
      
              * page/Frame.cpp:
              (WebCore::Frame::setUseSecureKeyboardEntryWhenActive): Added. Calls
              setUseSecureKeyboardEntry only if the frame is active, but also stores away the state,
              so that the setIsActive function doesn't have to recompute it.
              (WebCore::Frame::setIsActive): Rewrote all the comments in the function. Removed the code
              to manage control tints, which are not based on the whether the frame is active but rather
              on AppKit's concept of whether the window should have "key appearance". Simplified the
              logic about when to call setUseSecureKeyboardEntry by using the value of
              m_useSecureKeyboardEntryWhenActive.
              (WebCore::FramePrivate::FramePrivate): Initialize m_useSecureKeyboardEntryWhenActive.
              * page/Frame.h: Made setSecureKeyboardEntry private and renamed it to
              setUseSecureKeyboardEntry, removed isSecureKeyboardEntry, and
              added a public setUseSecureKeyboardEntryWhenActive.
              * page/FramePrivate.h: Added m_useSecureKeyboardEntryWhenActive.
              * page/mac/FrameMac.mm: (WebCore::Frame::setUseSecureKeyboardEntry): Added an assertion,
              and removed isSecureKeyboardEntry().
      
              * page/FrameView.h: Added updateControlTints.
              * page/FrameView.cpp: (WebCore::FrameView::updateControlTints): Added. Code was moved
              here from setIsActive for two reasons: (1) it makes more sense in the view class, and
              (2) it needs to be called at the appropriate time for AppKit, not when active changes.
      
              * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isFocused): Added an isActive
              check here to match the logic in the implementation of the CSS pseudo-state.
              * rendering/RenderThemeMac.mm:
              (WebCore::RenderThemeMac::updateFocusedState): Use the isFocused function instead of
              repeating the logic here. Removed the "need to add a key window test here" comment.
              (WebCore::RenderThemeMac::controlSupportsTints): Added a comment about the NSCell
              SPI that's related to the _windowChangedKeyState method we now use in WebHTMLView.
      
      WebKit:
      
              Reviewed by John Sullivan.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=13303
                <rdar://problem/5126341> REGRESSION: controls in a background Safari window
                maintain active appearance if the address bar has focus (13303)
      
              * WebView/WebHTMLView.mm: (-[WebHTMLView _windowChangedKeyState]):
              Added. Calls FrameView::updateControlTints.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20901 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      28399bcb
  29. 08 Apr, 2007 1 commit
    • aroben's avatar
      Reviewed by Oliver. · e9b4cc74
      aroben authored
              Bestowed the gift of -webkit-dashboard-region upon all platforms, since
              there's nothing Mac-specific about it other than the name. This also
              allowed me to get rid of FrameViewMac.mm.
      
              Removed a lot of #if PLATFORM(MAC):
      
              * css/CSSComputedStyleDeclaration.cpp:
              (WebCore::):
              (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
              * css/CSSPrimitiveValue.cpp:
              (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
              (WebCore::CSSPrimitiveValue::cleanup):
              (WebCore::CSSPrimitiveValue::cssText):
              * css/CSSPrimitiveValue.h:
              (WebCore::CSSPrimitiveValue::getDashboardRegionValue):
              (WebCore::CSSPrimitiveValue::):
              * css/cssparser.cpp:
              (WebCore::CSSParser::parseValue):
              (WebCore::CSSParser::parseDashboardRegions):
              * css/cssparser.h:
              * css/cssstyleselector.cpp:
              (WebCore::CSSStyleSelector::applyProperty):
              * dom/Document.cpp:
              (WebCore::Document::Document):
              * dom/Document.h:
              * page/Frame.cpp:
              (WebCore::Frame::paint):
              * page/Frame.h:
              * page/FrameView.cpp:
              (WebCore::FrameView::layout):
              (WebCore::FrameView::updateDashboardRegions): Moved from FrameViewMac.mm.
              * page/FrameView.h:
              * page/qt/FrameQt.cpp:
              (WebCore::Frame::dashboardRegionsChanged): Stubbed out.
              * platform/gdk/FrameGdk.cpp:
              (WebCore::Frame::dashboardRegionsChanged): Ditto.
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::scrollToOffset):
              (WebCore::RenderLayer::setHasHorizontalScrollbar):
              (WebCore::RenderLayer::setHasVerticalScrollbar):
              (WebCore::RenderLayer::updateScrollInfoAfterLayout):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::setStyle):
      
              * WebCore.xcodeproj/project.pbxproj: Removed FrameViewMac.mm.
              * bridge/mac/FrameViewMac.mm: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20794 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e9b4cc74
  30. 23 Mar, 2007 1 commit
  31. 19 Mar, 2007 1 commit
    • adele's avatar
      Reviewed by Hyatt. · 03b55a83
      adele authored
              - fix http://bugs.webkit.org/show_bug.cgi?id=13117
              REGRESSION (r14658): Flickering text fields when updating via javascript
      
              * page/Frame.cpp:
              (WebCore::Frame::forceLayout): Added a flag to allow partial relayout.
              * page/Frame.h:
              * page/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge forceLayoutAdjustingViewSize:]): Allow partial relayout
              if not adjusting view size.
              (-[WebCoreFrameBridge needsLayout]): Changed to check for pending subtree
              layout instead of just whether the root needs layout.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20324 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      03b55a83
  32. 08 Mar, 2007 1 commit
    • thatcher's avatar
      WebCore: · 0c0b046a
      thatcher authored
              Reviewed by John.
      
              <rdar://problem/4664697> highlighter SPI needs a node parameter to give more context
      
              Pass the RenderObject's node to customHighlightLineRect and paintCustomHighlight.
      
              * page/Frame.h:
              * page/mac/FrameMac.mm:
              (WebCore::Frame::customHighlightLineRect):
              (WebCore::Frame::paintCustomHighlight):
              * page/mac/WebCoreFrameBridge.h:
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paintCustomHighlight):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::paintCustomHighlight):
              * rendering/RootInlineBox.cpp:
              (WebCore::RootInlineBox::addHighlightOverflow):
              (WebCore::RootInlineBox::paintCustomHighlight):
      
      WebKit:
      
              Reviewed by John.
      
              <rdar://problem/4664697> highlighter SPI needs a node parameter to give more context
      
              Added new methods to the WebHTMLHighlighter protocol that include the DOMNode being painted.
      
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge customHighlightRect:forLine:representedNode:WebCore::]):
              (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:entireLine:representedNode:WebCore::]):
              * WebKit.xcodeproj/project.pbxproj:
              * WebView/WebHTMLViewPrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20067 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0c0b046a
  33. 22 Feb, 2007 1 commit
    • justing's avatar
      LayoutTests: · 9c7c499a
      justing authored
              Reviewed by darin
              
              <rdar://problem/5007143>
              REGRESSION: WebKit doesn't remember horizontal position of caret when moving forward by line
      
              Added, tests the removal of the use of the 
              recalc bool from xPosForVerticalArrowNavigation(...):
              * editing/selection/5007143-2-expected.checksum: Added.
              * editing/selection/5007143-2-expected.png: Added.
              * editing/selection/5007143-2-expected.txt: Added.
              * editing/selection/5007143-2.html: Added.
              Added, demonstrate the changes to modify:
              * editing/selection/5007143-expected.checksum: Added.
              * editing/selection/5007143-expected.png: Added.
              * editing/selection/5007143-expected.txt: Added.
              * editing/selection/5007143.html: Added.
              Demonstrates a bug (filed 5017312):
              * editing/style/block-style-004-expected.txt:
              * editing/style/block-style-005-expected.txt:
              * editing/style/block-style-006-expected.txt:
              Fixed:
              * editing/selection/3690703-2-expected.checksum:
              * editing/selection/3690703-2-expected.png:
              * editing/selection/3690703-2-expected.txt:
              * editing/style/create-block-for-style-009-expected.checksum:
              * editing/style/create-block-for-style-009-expected.png:
              * editing/style/create-block-for-style-009-expected.txt:
              * editing/style/create-block-for-style-011-expected.checksum:
              * editing/style/create-block-for-style-011-expected.png:
              * editing/style/create-block-for-style-011-expected.txt:
      
      WebCore:
      
              Reviewed by darin
              
              <rdar://problem/5007143>
              REGRESSION: WebKit doesn't remember horizontal position of caret when moving forward by line
      
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::SelectionController): Initialize 
              m_xPosForVerticalArrowNavigation.
              (WebCore::SelectionController::setSelection): Call the new setter.
              (WebCore::SelectionController::modifyMovingRightForward): For line
              and paragraph granularities, use the saved xPosForVerticalArrowNavigation 
              even if the old selection was a range. Use the x position of the 
              *start*, not the end of the selection if there is no saved 
              xPosForVerticalArrowNavigation.  This matches TextEdit's behavior.
              (WebCore::SelectionController::modifyMovingLeftBackward): For line
              and paragraph granularities, use the saved xPosForVerticalArrowNavigation 
              even if the old selection was a range.
              (WebCore::SelectionController::modify): Preserve the xPosForVerticalArrowNavigation
              for line and paragraph granularities.
              (WebCore::SelectionController::xPosForVerticalArrowNavigation): Removed
              the recalc bool because it is now always false.
              (WebCore::SelectionController::setXPosForVerticalArrowNavigation): Added.
              * editing/SelectionController.h: Moved m_xPosForVerticalArrowNavigation
              from Frame.
              * page/Frame.cpp: Moved m_xPosForVerticalArrowNavigation to SelectionController.
              * page/Frame.h: Ditto.
              * page/FramePrivate.h: Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19811 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9c7c499a
  34. 19 Feb, 2007 1 commit
    • mjs's avatar
      WebCore: · c13fa54c
      mjs authored
              Reviewed by Maciej.
              
              Additional coding by Maciej, additional review by Oliver.
      
              Get rid of the FrameMac and FrameQt classes. Instead
              move all methods into Frame directly, and implement
              some platform specific methods in foo/FrameFoo.cpp.
      
              Some general cleanup in Frame:
              * Move some methods out of Frame, to the place where they 
              belong.
              * Unify the different ways of creating the JavaScript wrappers
              for <object>, <embed> and <applet>
              * Some cleanup of the WebCoreFrameBridge
      
              * ForwardingHeaders/bindings/NP_jsobject.h: Added.
              * ForwardingHeaders/bindings/npruntime_impl.h: Added.
              * ForwardingHeaders/bindings/runtime_root.h: Added.
              * WebCore.exp:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/kjs_binding.cpp:
              (KJS::ScriptInterpreter::shouldInterruptScript):
              * bindings/objc/DOM.mm:
              (-[DOMNode KJS::Bindings::]):
              * bindings/objc/DOMInternal.mm:
              (-[WebScriptObject _initializeScriptDOMNodeImp]):
              * bridge/EditorClient.h:
              * bridge/mac/FrameViewMac.mm:
              (WebCore::FrameView::updateBorder):
              (WebCore::FrameView::updateDashboardRegions):
              * bridge/mac/WebCoreAXObject.mm:
              (-[WebCoreAXObject rendererForView:]):
              * dom/Position.cpp:
              (WebCore::Position::next):
              * editing/CommandByName.cpp:
              (WebCore::Frame::execCopy):
              (WebCore::Frame::execCut):
              (WebCore::Frame::execPaste):
              * editing/Editor.cpp:
              (WebCore::Editor::canEdit):
              (WebCore::Editor::pasteWithPasteboard):
              (WebCore::Editor::paste):
              (WebCore::Editor::pasteAsPlainText):
              * editing/Editor.h:
              * editing/JSEditor.cpp:
              * html/HTMLAppletElement.cpp:
              (WebCore::HTMLAppletElement::getInstance):
              * html/HTMLEmbedElement.cpp:
              (WebCore::HTMLEmbedElement::getInstance):
              * html/HTMLFormElement.cpp:
              (WebCore::HTMLFormElement::formData):
              * html/HTMLObjectElement.cpp:
              (WebCore::HTMLObjectElement::getInstance):
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::clear):
              (WebCore::FrameLoader::detachFromParent):
              * loader/mac/ImageDocumentMac.mm:
              (WebCore::finishImageLoad):
              * loader/qt/DocumentLoaderQt.cpp:
              * page/Chrome.cpp:
              (WebCore::Chrome::shouldInterruptJavaScript):
              * page/Chrome.h:
              * page/ChromeClient.h:
              * page/Frame.cpp:
              (WebCore::Frame::~Frame):
              (WebCore::Frame::markedTextRange):
              (WebCore::Frame::shouldChangeSelection):
              (WebCore::Frame::shouldDeleteSelection):
              (WebCore::Frame::isContentEditable):
              (WebCore::Frame::setSecureKeyboardEntry):
              (WebCore::Frame::isSecureKeyboardEntry):
              (WebCore::Frame::bindingRootObject):
              (WebCore::Frame::createRootObject):
              (WebCore::Frame::windowScriptNPObject):
              (WebCore::Frame::cleanupScriptObjects):
              (WebCore::FramePrivate::FramePrivate):
              * page/Frame.h:
              * page/FramePrivate.h:
              * page/FrameView.h:
              * page/mac/EventHandlerMac.mm:
              (WebCore::EventHandler::tabsToLinks):
              (WebCore::EventHandler::tabsToAllControls):
              (WebCore::EventHandler::focusDocumentView):
              (WebCore::EventHandler::passMouseDownEventToWidget):
              (WebCore::EventHandler::handleDrag):
              (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
              (WebCore::EventHandler::keyboardUIMode):
              * page/mac/FrameMac.h: Removed.
              * page/mac/FrameMac.mm:
              (WebCore::Frame::setBridge):
              (WebCore::Frame::bridge):
              (WebCore::Frame::searchForLabelsAboveCell):
              (WebCore::Frame::searchForLabelsBeforeElement):
              (WebCore::Frame::matchLabelsAgainstElement):
              (WebCore::Frame::focusWindow):
              (WebCore::Frame::unfocusWindow):
              (WebCore::Frame::imageFromRect):
              (WebCore::Frame::selectionImage):
              (WebCore::Frame::snapshotDragImage):
              (WebCore::Frame::fontAttributesForSelectionStart):
              (WebCore::Frame::baseWritingDirectionForSelectionStart):
              (WebCore::Frame::print):
              (WebCore::Frame::issuePasteCommand):
              (WebCore::Frame::issueTransposeCommand):
              (WebCore::Frame::respondToChangedSelection):
              (WebCore::Frame::textFieldDidBeginEditing):
              (WebCore::Frame::textFieldDidEndEditing):
              (WebCore::Frame::textDidChangeInTextField):
              (WebCore::Frame::textDidChangeInTextArea):
              (WebCore::Frame::doTextFieldCommandFromEvent):
              (WebCore::Frame::textWillBeDeletedInTextField):
              (WebCore::Frame::setSecureKeyboardEntry):
              (WebCore::Frame::isSecureKeyboardEntry):
              (WebCore::Frame::setMarkedTextRange):
              (WebCore::Frame::dashboardRegionsDictionary):
              (WebCore::Frame::dashboardRegionsChanged):
              (WebCore::Frame::willPopupMenu):
              (WebCore::Frame::isCharacterSmartReplaceExempt):
              (WebCore::Frame::setNeedsReapplyStyles):
              (WebCore::Frame::customHighlightLineRect):
              (WebCore::Frame::paintCustomHighlight):
              (WebCore::Frame::createScriptInstanceForWidget):
              (WebCore::Frame::windowScriptObject):
              (WebCore::Frame::cleanupPlatformScriptObjects):
              * page/mac/WebCoreFrameBridge.h:
              * page/mac/WebCoreFrameBridge.mm:
              (createRootObject):
              (bridge):
              (-[WebCoreFrameBridge _frame]):
              * page/qt/EventHandlerQt.cpp:
              * page/qt/FrameQt.cpp:
              (WebCore::Frame::unfocusWindow):
              (WebCore::Frame::focusWindow):
              (WebCore::Frame::issueTransposeCommand):
              (WebCore::Frame::respondToChangedSelection):
              (WebCore::Frame::print):
              (WebCore::Frame::createScriptInstanceForWidget):
              (WebCore::Frame::cleanupPlatformScriptObjects):
              (WebCore::Frame::isCharacterSmartReplaceExempt):
              * page/qt/FrameQt.h: Removed.
              * platform/MimeTypeRegistry.h:
              * platform/graphics/svg/SVGImage.cpp:
              (WebCore::SVGImage::setData):
              * platform/graphics/svg/SVGImageEmptyClients.h:
              (WebCore::SVGEmptyChromeClient::shouldInterruptJavaScript):
              (WebCore::SVGEmptyEditorClient::shouldChangeSelectedRange):
              * platform/mac/ClipboardMac.h:
              * platform/mac/ClipboardMac.mm:
              (WebCore::ClipboardMac::ClipboardMac):
              * platform/mac/FileChooserMac.mm:
              (-[OpenPanelController beginSheetWithFrame:]):
              * platform/mac/MimeTypeRegistryMac.mm:
              (WebCore::MimeTypeRegistry::getMIMETypeForPath):
              * platform/mac/PopupMenuMac.mm:
              (WebCore::PopupMenu::show):
              * platform/mac/WidgetMac.mm:
              (WebCore::Widget::setFocus):
              (WebCore::Widget::setIsSelected):
              * platform/network/mac/ResourceHandleMac.mm:
              * platform/network/qt/ResourceHandleManagerQt.cpp:
              * platform/network/qt/ResourceHandleQt.cpp:
              (WebCore::ResourceHandle::start):
              * platform/qt/MimeTypeRegistryQt.cpp:
              (WebCore::MimeTypeRegistry::getMIMETypeForPath):
              * platform/qt/PopupMenuQt.cpp:
              * platform/qt/ScrollViewCanvasQt.cpp:
              * platform/qt/ScrollViewQt.cpp:
              * platform/win/TemporaryLinkStubs.cpp:
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paintCustomHighlight):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::paintCustomHighlight):
              * rendering/RootInlineBox.cpp:
              (WebCore::RootInlineBox::addHighlightOverflow):
              (WebCore::RootInlineBox::paintCustomHighlight):
      
      WebKit:
      
              Reviewed by Maciej.
      
              Additional coding by Maciej, additional review by Oliver.
      
              Added implementations for the new callbacks in EditorClient
              and ChromeClient (basically moved from WebFrameBridge).
              Cleaned up some code paths that are not called anymore
              and done fully inside WebCore now.
      
              * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
              * Misc/WebElementDictionary.mm:
              * Misc/WebNSAttributedStringExtras.mm:
              * Plugins/WebBaseNetscapePluginView.mm:
              (-[WebBaseNetscapePluginView getVariable:value:]):
              * Plugins/WebNetscapePluginEmbeddedView.mm:
              * Plugins/WebNetscapePluginStream.mm:
              * Plugins/WebPluginContainerCheck.mm:
              * WebCoreSupport/WebChromeClient.h:
              * WebCoreSupport/WebChromeClient.mm:
              (WebChromeClient::shouldInterruptJavaScript):
              * WebCoreSupport/WebEditorClient.h:
              * WebCoreSupport/WebEditorClient.mm:
              (WebEditorClient::shouldChangeSelectedRange):
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]):
              (-[WebFrameBridge fini]):
              * WebCoreSupport/WebFrameLoaderClient.mm:
              * WebView/WebArchiver.mm:
              * WebView/WebFrame.mm:
              (core):
              (kit):
              (-[WebFrame _updateBackground]):
              * WebView/WebFrameInternal.h:
              * WebView/WebFrameView.mm:
              * WebView/WebHTMLRepresentation.mm:
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView _updateMouseoverWithEvent:]):
              (-[WebHTMLView _isEditable]):
              (-[WebHTMLView validateUserInterfaceItem:]):
              (-[WebHTMLView maintainsInactiveSelection]):
              (-[WebHTMLView scrollWheel:]):
              (-[WebHTMLView acceptsFirstMouse:]):
              (-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
              (-[WebHTMLView cut:]):
              (-[WebHTMLView paste:]):
              (-[WebHTMLView selectedAttributedString]):
              * WebView/WebScriptDebugDelegate.mm:
              * WebView/WebView.mm:
              (-[WebView _dashboardRegions]):
              (-[WebView setProhibitsMainFrameScrolling:]):
              (-[WebView _setInViewSourceMode:]):
              (-[WebView _inViewSourceMode]):
              (-[WebView shouldClose]):
              (-[WebView setEditable:]):
      
      WebKitQt:
      
              Reviewed by Maciej.
      
              Additional coding by Maciej, additional review by Oliver.
      
              Add stubs for the new methods in ChormeClient and EditorClient,
              remove all references to FrameQt.
      
              * Api/qwebframe.cpp:
              (QWebFrame::QWebFrame):
              * Api/qwebframe_p.h:
              * Api/qwebpage.cpp:
              * WebCoreSupport/ChromeClientQt.cpp:
              (WebCore::ChromeClientQt::shouldInterruptJavaScript):
              * WebCoreSupport/ChromeClientQt.h:
              * WebCoreSupport/EditorClientQt.cpp:
              (WebCore::EditorClientQt::shouldChangeSelectedRange):
              (WebCore::EditorClientQt::isEditable):
              * WebCoreSupport/EditorClientQt.h:
              * WebCoreSupport/FrameLoaderClientQt.cpp:
              (WebCore::FrameLoaderClientQt::setFrame):
              (WebCore::FrameLoaderClientQt::webFrame):
              * WebCoreSupport/FrameLoaderClientQt.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19702 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c13fa54c
  35. 18 Feb, 2007 1 commit
    • oliver's avatar
      2007-02-18 Oliver Hunt <oliver@apple.com> · cd54bad1
      oliver authored
              Reviewed by Adam.
      WebCore:
              More drag and drop migration, now the entirety of the
              drag initiation logic has been rendered platform independent
              This has required a number of new interfaces, and a reasonable
              amount of logic migration.
      
              As a side effect, this patch also fixes rdar://problem/4945341
      
              There are some basic Qt stubs that should stop the build from failing,
              however the absence of ClipboardQt means any attempt to initiate a drag 
              may cause a crash.
      
              * WebCore.exp:
                 Exporting new symbols
      
              * WebCore.xcodeproj/project.pbxproj:
                 New files
      
              * dom/Clipboard.cpp:
              (WebCore::Clipboard::canSaveAsWebArchive):
                Migrated from WebKit
      
              * dom/Clipboard.h:
                Added more methods to allow Clipboard to be used as a 
                platform independent container for drag and drop
      
              * page/DragClient.h:
              (WebCore::DragClient::declareAndWriteDragImage):
                This is a mac only helper function, so i've made it have an empty implementation,
                that way we won't need a PLATFORM(MAC) block in SVGImageEmptyClients
      
              * page/DragController.cpp:
              (WebCore::DragController::dragExited):
              (WebCore::DragController::performDrag):
              (WebCore::DragController::tryDocumentDrag): 
              (WebCore::DragController::tryDHTMLDrag):
                Using RefPtrs now
              (WebCore::getCachedImage):
              (WebCore::getImage):
                Helper functions                   
              (WebCore::dragLocForDHTMLDrag):
              (WebCore::dragLocForSelectionDrag):
              (WebCore::DragController::startDrag):
              (WebCore::DragController::doImageDrag):
              (WebCore::DragController::doSystemDrag):
                Logic that generates drag images and clipboard content, and
                initiates the actual system drag operation
      
              * page/DragController.h:
                Method and variable declarations
      
              * page/EventHandler.cpp:
              (WebCore::EventHandler::handleDrag):
                handleDrag is now platform independent
              (WebCore::EventHandler::handleTextInputEvent):
                 formatting
      
              * page/EventHandler.h:
              (WebCore::EventHandler::eventLoopHandleMouseDragged):
                Forgot to define this stub function 
      
              * page/Frame.h:
                Declaring dragImageForSelection to provide drag image for selected content
      
              * page/mac/DragControllerMac.mm:
                Defining drag images control vars
      
              * page/mac/EventHandlerMac.mm:
              (WebCore::EventHandler::createDraggingClipboard):
                Migrated old clipboard creation to here
      
              * page/mac/FrameMac.mm:
              (WebCore::Frame::dragImageForSelection):
                Wrap FrameMac::selectionImage
      
              * page/qt/DragControllerQt.cpp:
                Defining drag images control vars
      
              * page/qt/EventHandlerQt.cpp:
              (WebCore::EventHandler::createDraggingClipboard):
                stub
      
              * page/qt/FrameQt.cpp:
              (WebCore::Frame::dragImageForSelection):
                stub
      
              * platform/DragImage.cpp: Added.
              (WebCore::fitDragImageToMaxSize):
              (WebCore::createDragImageForSelection):
                 Platform independent processing for drag images
      
              * platform/DragImage.h: Added.
                 Declaring typedefs and wrapper functions to abstract the handling
                 of drag images 
      
              * platform/Pasteboard.h:
                Declaring extracted writeURL and writeSelection methods
      
              * platform/graphics/svg/SVGImageEmptyClients.h:
              (WebCore::SVGEmptyDragClient::willPerformDragSourceAction):
              (WebCore::SVGEmptyDragClient::startDrag):
              (WebCore::SVGEmptyDragClient::createDragImageForLink):
                Stubs FTW!
      
              * platform/mac/ClipboardMac.h:
              (WebCore::ClipboardMac::pasteboard):
                Provide accessor for underlying NSPasteboard
      
              * platform/mac/ClipboardMac.mm:
              (WebCore::ClipboardMac::hasData):
              (WebCore::ClipboardMac::writeRange):
              (WebCore::ClipboardMac::writeURL):
              (WebCore::ClipboardMac::declareAndWriteDragImage):
              (WebCore::ClipboardMac::createDragImage):
                 Implemented new Clipboarid functionality.
              (WebCore::ClipboardMac::dragNSImage):
                 Made this a const method
      
              * platform/mac/DragImageMac.mm: Added.
              (WebCore::dragImageSize):
              (WebCore::deleteDragImage):
              (WebCore::scaleDragImage):
              (WebCore::dissolveDragImageToFraction):
              (WebCore::createDragImageFromImage):
              (WebCore::createDragImageIconForCachedImage):
                 Implemented platform specific DragImage functions
      
              * platform/mac/PasteboardMac.mm:
              (WebCore::writeSelection):
              (WebCore::Pasteboard::writeSelection):
              (WebCore::writeURL):
              (WebCore::Pasteboard::writeURL):
                 Extracted member implementations of these functions, so that
                 Clipboard could also make use of this functionality.
                 Pasteboard methods now call the new non-member implementations.
                 Also fixed implementations to respect the list of requested types.
      
              * platform/qt/DragImageQt.cpp: Added.
              (WebCore::dragImageSize):
              (WebCore::deleteDragImage):
              (WebCore::scaleDragImage):
              (WebCore::dissolveDragImageToFraction):
              (WebCore::createDragImageFromImage):
              (WebCore::createDragImageIconForCachedImage):  
                Stubs
      
      WebKit:
              Moving the drag initiation logic to WebCore.
              The redundant code in webkit will be moved out in a later patch.
      
              * WebCoreSupport/WebDragClient.h:
              * WebCoreSupport/WebDragClient.mm:
              (getTopHTMLView):
                Helper function
              (WebDragClient::willPerformDragSourceAction):
              (WebDragClient::startDrag):
              (WebDragClient::createDragImageForLink):
                Implemented new DragClient methods
              (WebDragClient::declareAndWriteDragImage):
                Helper function for the Mac to allow new drag and drop
                code to match behaviour
                
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView _dragImageForURL:withLabel:]):
              (-[WebHTMLView _dragImageForLinkElement:]):
                Refactoring old _dragImageForLinkElement function so that 
                the link drag image can be created with just a URL and label, 
                rather than requiring the original element
              (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
                Removed logic that is no longer necessary                 
              (-[WebHTMLView _mouseDownEvent]):
                The WebDragClient may need the original mouseDownEvent of a drag when initiating
                a drag
              * WebView/WebHTMLViewInternal.h:
                Declaring _mouseDownEvent
      
              * WebView/WebHTMLViewPrivate.h:
                Declaring _dragImageForURL
                                              
            
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19689 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cd54bad1
  36. 08 Feb, 2007 1 commit
    • adele's avatar
      LayoutTests: · a82b0b23
      adele authored
              Reviewed by Brady.
      
              Test for http://bugs.webkit.org/show_bug.cgi?id=12599
              <rdar://problem/4973507> REGRESSION: When replying in Gmail, the caret disappears when you start to type (12599)
      
              * fast/frames/iframe-window-focus-expected.txt: Added.
              * fast/frames/iframe-window-focus.html: Added.
      
      WebCore:
      
              Reviewed by Brady.
      
              Fix for http://bugs.webkit.org/show_bug.cgi?id=12599
              <rdar://problem/4973507> REGRESSION: When replying in Gmail, the caret disappears when you start to type (12599)
      
              When a frame's window was focused, the page didn't get updated about the new frame getting focus.
              This was causing handleKeyPress to fail because it kept getting a selection for the wrong frame (which wasn't editable).
      
              Test: fast/frames/iframe-window-focus.html
      
              * page/Frame.cpp:
              (WebCore::Frame::focusWindow):
              (WebCore::Frame::unfocusWindow):
              * page/Frame.h:
              * page/mac/FrameMac.mm:
              (WebCore::FrameMac::focusWindow):
              (WebCore::FrameMac::unfocusWindow):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19522 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a82b0b23
  37. 07 Feb, 2007 2 commits
    • andersca's avatar
      WebCore: · fe6e4dd1
      andersca authored
              Reviewed by Maciej.
      
              Move shouldInterruptJavaScript to the Chrome.
      
              * bindings/js/kjs_binding.cpp:
              (KJS::ScriptInterpreter::shouldInterruptScript):
              * page/Chrome.cpp:
              (WebCore::Chrome::shouldInterruptJavaScript):
              * page/Chrome.h:
              * page/ChromeClient.h:
              * page/Frame.h:
              * page/mac/FrameMac.h:
              * page/mac/FrameMac.mm:
              * page/mac/WebCoreFrameBridge.h:
              * platform/graphics/svg/SVGImageEmptyClients.h:
              (WebCore::SVGEmptyChromeClient::shouldInterruptJavaScript):
      
      WebKit:
      
              Reviewed by Maciej.
      
              Move shouldInterruptJavaScript to the Chrome.
              
              * WebCoreSupport/WebChromeClient.h:
              * WebCoreSupport/WebChromeClient.mm:
              (WebChromeClient::shouldInterruptJavaScript):
              * WebCoreSupport/WebFrameBridge.mm:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19487 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fe6e4dd1
    • ggaren's avatar
      Reviewed by Darin Adler. · 384fa352
      ggaren authored
              Restoring some of the functionality I removed in r19445. It's insufficient for
              each page to cancel keepAlive only for its child frames, because a frame
              can be removed from the page before we get a chance to cancel its keepAlive.
              So, the page destructor has to cancel keepAlive for all frames. This is safe
              because we prohibit closing a WebView while JavaScript is executing.
      
              * page/Frame.cpp:
              (WebCore::keepAliveSet):
              (WebCore::Frame::keepAlive):
              (WebCore::Frame::cancelAllKeepAlive):
              (WebCore::Frame::lifeSupportTimerFired):
              * page/Frame.h:
              * page/Page.cpp:
              (WebCore::Page::~Page):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19468 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      384fa352
  38. 06 Feb, 2007 1 commit
    • ggaren's avatar
      Reviewed by Darin Adler. · df47ae16
      ggaren authored
              Fixed Frame/RenderObject/Node leak report seen while running SVG image tests.
              (We'll need this fix if we ever re-enable SVG image.)
              
              The extra reference belonged to the Frame keepAlive timer (so this was
              not a "real" leak, in the end). The Page destructor has code to cancel all 
              Frame keepAlive timers upon the destruction of the last Page, but an SVG 
              image puts a Page within a Page, making this condition impossible to meet.
              
              The fix here is to have each individual page cancel the keepAlive timers 
              belonging to its child frames.
              
              * page/Frame.cpp: Changed the FrameCounter to use WTF logging.
              (WebCore::): Nixed the lifeSupportSet, since it's no longer used.
              (WebCore::Frame::cancelKeepAlive): Renamed from "endLifeSupport" to match
              the name "keepAlive".
              * page/Page.cpp:
              (WebCore::Page::~Page): Made each page cancel its child keepAlive timers 
              and clear its mainFrame, since we may never reach the condition of having 0 Pages.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19445 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      df47ae16