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. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 08 Jun, 2007 1 commit
    • andersca's avatar
      Reviewed by Geoff. · 40057f5f
      andersca authored
              Store the root object in a hash set, keyed by the plugin view. This is in preparation for 
              letting plugins invalidate the root object upon destruction
      
              * page/Frame.cpp:
              (WebCore::Frame::createRootObject):
              (WebCore::Frame::cleanupScriptObjects):
              * page/FramePrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@22071 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      40057f5f
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 25 Dec, 2006 1 commit
    • ggaren's avatar
      WebCore: · 64f3f21d
      ggaren authored
              Reviewed by Oliver Hunt.
      
              Removed WebCoreSettings, cleaned up WebCore::Settings.
      
              * WebCore.exp: Exported Settings for use by WebKit, removed WebCoreSettings class.
              
              * WebCore.xcodeproj/project.pbxproj: Removed WebCoreSetttings.h/.mm.
              Added Settings.cpp.
      
              * page/Frame.cpp: Removed cruft that duplicated Settings data. Callers now call
              through to Settings to get Settings data.
      
              * page/Page.cpp: Added Settings data member, to replace the one that WebView
              used to hold.
      
              * page/Settings.cpp: Added.
              * page/Settings.h:
                  - Renamed all functions to match WebKit API. Renamed all variables to
                  match functions. Favorite old name: "isPluginsEnabled."
                  - Moved EditableLinkBehavior outside of the class. Having it inside
                  just made it harder to type.
                  - Merged in old WebCoreSettings functionality, like guarding against re-setting
                  to the same value, and making sure to update page layout.
                  - Paired setters and getters, putting setters first.            
      
      WebKit:
      
              Reviewed by Oliver Hunt.
              
              Removed WebCoreSettings, cleaned up WebCore::Settings.
      
              * WebView/WebFrame.mm: Added helper functions for converting between
              WebKitEditableLinkBehavior and WebCore::EditableLinkBehavior. I'm not sure
              that this is the best place for these functions, but it's where all the
              other functions like them reside.
              (core):
              (kit):
              * WebView/WebFrameInternal.h:
      
              * WebView/WebView.mm: Removed uses of WebCoreSettings. Replaced with direct
              use of underlying page's settings.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18417 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      64f3f21d
  15. 11 Dec, 2006 1 commit
    • darin's avatar
      WebCore: · cb3524af
      darin authored
              Reviewed by Brady.
      
              - http://bugs.webkit.org/show_bug.cgi?id=11794
                fix lifetime problems affecting Frame's ownerElement pointer
      
              * CMakeLists.txt:
              * WebCore.vcproj/WebCore/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * WebCoreSources.bkl:
              Updated for new source files.
      
              * WebCore.exp: Updated for changes to entry point names.
      
              * bridge/mac/FrameMac.h:
              * bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac):
              * bridge/win/FrameWin.h:
              * bridge/win/FrameWin.cpp: (WebCore::FrameWin::FrameWin):
              * platform/qt/FrameQt.h:
              * platform/qt/FrameQt.cpp: (WebCore::FrameQt::FrameQt):
              Updated owner element type to HTMLFrameOwnerElement.
      
              * bridge/mac/WebCoreFrameBridge.h: Removed non-C++ case since we don't
              use that any more. Updated owner element type to HTMLFrameOwnerElement.
      
              * dom/Document.cpp: Added include so that the ownerElement function can
              compile (since it downcasts an HTMLFrameOwnerElement to an Element).
      
              * html/HTMLFrameElement.cpp:
              (WebCore::containingFrameSetElement): Moved this function in here; it
              doesn't need to be a member function.
              (WebCore::HTMLFrameElement::attach): Updated to call this.
      
              * html/HTMLFrameElementBase.h:
              * html/HTMLFrameElementBase.cpp:
              (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Inherit from
              HTMLFrameOwnerElement. Removed contentFrame, contentDocument, and
              containingFrameSetElement. Removed friend classes.
      
              * html/HTMLFrameOwnerElement.h: Added.
              * html/HTMLFrameOwnerElement.cpp: Added.
      
              * html/HTMLEmbedElement.h:
              * html/HTMLEmbedElement.cpp:
              * html/HTMLObjectElement.h:
              * html/HTMLObjectElement.cpp:
              Remove now-unneeded contentDocument functions.
      
              * html/HTMLPlugInElement.h:
              * html/HTMLPlugInElement.cpp:
              (WebCore::HTMLPlugInElement::HTMLPlugInElement): Inherit from
              HTMLFrameOwnerElement.
      
              * loader/FormState.h:
              * loader/FormState.cpp: Use HTMLFormElement instead of just Element.
      
              * loader/FrameLoader.h:
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::requestFrame): Use HTMLFormElement.
              (WebCore::FrameLoader::loadSubframe): Ditto.
              (WebCore::FrameLoader::requestObject): Don't pass an element parameter
              to shouldUsePlugin, and remove now-unneeded type casts.
              (WebCore::FrameLoader::shouldUsePlugin): Removed unneeded element parameter.
              (WebCore::FrameLoader::handleFallbackContent): Use HTMLFrameOwnerElement.
              (WebCore::FrameLoader::updateBaseURLForEmptyDocument): Ditto.
              (WebCore::FrameLoader::isHostedByObjectElement): Ditto.
              * loader/mac/FrameLoaderMac.mm:
              (WebCore::FrameLoader::load): Use HTMLFormElement.
              (WebCore::FrameLoader::post): Ditto.
              (WebCore::FrameLoader::createFrame): Use HTMLFrameOwnerElement.
      
              * page/Frame.h:
              * page/FramePrivate.h:
              * page/Frame.cpp:
              (WebCore::parentFromOwnerElement): Use HTMLFrameOwnerElement.
              (WebCore::Frame::Frame): Ditto. Also set m_contentFrame on the owner element.
              (WebCore::Frame::ownerElement): Ditto.
              (WebCore::Frame::ownerRenderer): Ditto.
              (WebCore::Frame::disconnectOwnerElement): Clear m_contentFrame on the owner
              element before disconnecting it.
              (WebCore::FramePrivate::FramePrivate): Use HTMLFrameOwnerElement.
      
              * page/mac/EventHandlerMac.mm: Include HTMLFrameOwnerElement.h so that
              the code here will compile (no code changes needed).
      
              * rendering/RenderFrame.cpp: (WebCore::RenderFrame::viewCleared):
              Updated so that RenderFrame doesn't need to be a friend of HTMLFrameElementBase.
      
              * rendering/RenderPart.h:
              * rendering/RenderPart.cpp: (WebCore::RenderPart::RenderPart):
              Use HTMLFrameOwnerElement.
      
              * rendering/RenderPartObject.h:
              * rendering/RenderPartObject.cpp:
              (WebCore::RenderPartObject::RenderPartObject): Use HTMLFrameOwnerElement.
              (WebCore::RenderPartObject::viewCleared): Updated so that RenderFrame doesn't
              need to be a friend of HTMLFrameElementBase.
      
              - other changes
      
              * platform/network/ResourceHandleInternal.h: Added Noncopyable and
              fixed indentation.
      
      WebKit:
      
              Reviewed by Brady.
      
              - http://bugs.webkit.org/show_bug.cgi?id=11794
                fix lifetime problems affecting Frame's ownerElement pointer
      
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge finishInitializingWithPage:WebCore::frameName:frameView:ownerElement:]):
              (-[WebFrameBridge initSubframeWithOwnerElement:frameName:frameView:]):
              (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
              Use HTMLFrameOwnerElement.
      
              * WebCoreSupport/WebFrameLoaderClient.mm: Include the relevant headers for the
              HTMLFormElement class.
      
              * WebKit.xcodeproj/project.pbxproj: Let Xcode have its way.
      
              * WebView/WebFrame.mm: (-[WebFrame frameElement]): Update includes and types for the
              change in return type of ownerElement.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18163 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cb3524af
  16. 28 Nov, 2006 2 commits
    • ggaren's avatar
      WebCore: · 1b09a12e
      ggaren authored
              Reviewed by Beth Dakin.
      
              Fixed <rdar://problem/4844855> Should clarify when to create clients in 
              the WebCore client API
              
              All clients must now be supplied as constructor arguments. This clarifies 
              when you need to create clients, and also guarantees that objects can't 
              (for the most part) be in a clientless state.
      
              Layout tests pass. No leaks reported.
              
              * bridge/mac/WebCoreFrameBridge.mm: I had to move some initialization up into
              WebKit to resolve circular dependencies at init time.
      
      WebKit:
      
              Reviewed by Beth Dakin.
      
              Fixed <rdar://problem/4844855> Should clarify when to create clients in 
              the WebCore client API
              
              All clients must now be supplied as constructor arguments. This clarifies 
              when you need to create clients, and also guarantees that objects can't 
              (for the most part) be in a clientless state.
      
              Layout tests pass. No leaks reported.
              
              * WebCoreSupport/WebFrameBridge.mm: Shuffled around initialization and changed
              some arguments to resolve ciruclar dependencies at init time.
              (-[WebFrame _initWithWebFrameView:webView:bridge:]): We no longer call setClient
              here, because the client is set up at construction time.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17918 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1b09a12e
    • ggaren's avatar
      WebCore: · f8a628d6
      ggaren authored
              Reviewed by Adam.
      
              Fixed <rdar://problem/4844848> REGRESSION: extra cross-library ref/deref 
              calls cause .5% PLT regression.
              
              Changed ref/deref calls to a single 'xxxDestroyed' call. Moved EditorClient
              from the Frame to the Page, since it's only responsible for
              Webview-level delegate calls.
              
              I don't really love this design, but it fixes the regression and allows
              a single WebKit object to implement multiple client interfaces.
              
              Layout tests pass.
      
      WebKit:
      
              Reviewed by Adam.
      
              Fixed <rdar://problem/4844848> REGRESSION: extra cross-library ref/deref 
              calls cause .5% PLT regression.
              
              Changed ref/deref calls to a single 'xxxDestroyed' call. Moved EditorClient
              from the Frame to the Page, since it's only responsible for
              Webview-level delegate calls.
              
              I don't really love this design, but it fixes the regression and allows
              a single WebKit object to implement multiple client interfaces.
              
              Layout tests pass.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17906 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f8a628d6
  17. 14 Nov, 2006 1 commit
    • darin's avatar
      WebCore: · 60e537f5
      darin authored
              Reviewed by Anders.
      
              - created EventHandler class, moved event handling code from both
                Frame and FrameView in there
      
              - added ScrollTypes.h header so you can include the scroller-related
                enums without all of Scrollbar.h
      
              * page/EventHandler.cpp: Added.
              * page/EventHandler.h: Added.
              * page/mac/EventHandlerMac.mm: Added.
      
              * platform/ScrollBarMode.h: Removed.
              * platform/ScrollTypes.h: Added.
      
              * WebCore.exp:
              * WebCore.xcodeproj/project.pbxproj:
              * bridge/mac/FrameMac.h:
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::FrameMac):
              (WebCore::FrameMac::~FrameMac):
              (WebCore::FrameMac::bridgeForWidget):
              (WebCore::FrameMac::imageFromRect):
              * bridge/mac/FrameViewMac.mm:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge scrollOverflowInDirection:granularity:]):
              (-[WebCoreFrameBridge nextKeyView]):
              (-[WebCoreFrameBridge previousKeyView]):
              (-[WebCoreFrameBridge nextKeyViewInsideWebFrameViews]):
              (-[WebCoreFrameBridge previousKeyViewInsideWebFrameViews]):
              (-[WebCoreFrameBridge _visiblePositionForPoint:]):
              (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
              (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
              (-[WebCoreFrameBridge concludeDragForDraggingInfo:]):
              (-[WebCoreFrameBridge dragSourceMovedTo:]):
              (-[WebCoreFrameBridge dragSourceEndedAt:operation:]):
              * dom/Document.cpp:
              (WebCore::Document::hoveredNodeDetached):
              * dom/Element.h:
              * dom/EventTargetNode.cpp:
              (WebCore::EventTargetNode::defaultEventHandler):
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::SelectionController):
              * editing/SelectionController.h:
              (WebCore::SelectionController::setCaretBlinkingSuspended):
              (WebCore::SelectionController::isCaretBlinkingSuspended):
              * html/HTMLAnchorElement.cpp:
              (WebCore::HTMLAnchorElement::isKeyboardFocusable):
              * html/HTMLFrameElementBase.cpp:
              (WebCore::HTMLFrameElementBase::setFocus):
              * html/HTMLFrameElementBase.h:
              * html/HTMLGenericFormElement.cpp:
              (WebCore::HTMLGenericFormElement::isKeyboardFocusable):
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::defaultEventHandler):
              * html/HTMLSelectElement.cpp:
              (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::clear):
              (WebCore::FrameLoader::open):
      
              * page/Frame.cpp:
              (WebCore::Frame::caretBlinkTimerFired):
              (WebCore::Frame::frameForWidget):
              (WebCore::Frame::eventHandler):
              (WebCore::Frame::setProhibitsScrolling):
              (WebCore::FramePrivate::FramePrivate):
              * page/Frame.h:
              * page/FramePrivate.h:
              * page/FrameView.cpp:
              (WebCore::FrameViewPrivate::FrameViewPrivate):
              (WebCore::FrameViewPrivate::reset):
              (WebCore::FrameView::FrameView):
              (WebCore::FrameView::~FrameView):
              (WebCore::FrameView::clear):
              (WebCore::FrameView::adjustViewSize):
              (WebCore::FrameView::addRepaintInfo):
              (WebCore::FrameView::layout):
              (WebCore::FrameView::scrollPointRecursively):
              (WebCore::FrameView::setContentsPos):
              (WebCore::FrameView::scheduleRelayoutOfSubtree):
              (WebCore::FrameView::scheduleEvent):
              (WebCore::FrameView::updateOverflowStatus):
              (WebCore::FrameView::dispatchScheduledEvents):
              (WebCore::FrameView::windowClipRectForLayer):
              (WebCore::FrameView::handleMouseMoveEvent):
              (WebCore::FrameView::handleMouseReleaseEvent):
              * page/FrameView.h:
              * page/PageState.cpp:
              (WebCore::PageState::PageState):
              (WebCore::PageState::restore):
              * page/PageState.h:
              * platform/ScrollBar.h:
              * platform/ScrollView.h:
              * platform/mac/ClipboardMac.mm:
              * platform/mac/PopupMenuMac.mm:
              (WebCore::PopupMenu::show):
              * platform/mac/SliderMac.mm:
              (-[WebCoreSlider becomeFirstResponder]):
              (-[WebCoreSlider nextKeyView]):
              (-[WebCoreSlider previousKeyView]):
              (-[WebCoreSlider canBecomeKeyView]):
              (Slider::focusPolicy):
              * platform/mac/WebCoreTextField.mm:
              (-[WebCoreTextFieldController textView:shouldHandleEvent:]):
              (-[WebCoreTextFieldController setHasFocus:]):
              (-[WebCoreSearchField nextKeyView]):
              (-[WebCoreSearchField previousKeyView]):
              (-[WebCoreSearchFieldCell _addStringToRecentSearches:]):
              * platform/mac/WidgetMac.mm:
              (WebCore::Widget::hasFocus):
              (WebCore::Widget::clearFocus):
              * rendering/RenderFrameSet.cpp:
              (WebCore::RenderFrameSet::setResizing):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::autoscroll):
              (WebCore::RenderLayer::resize):
              (WebCore::RenderLayer::updateOverflowStatus):
              * rendering/RenderLayer.h:
              * rendering/RenderListBox.cpp:
              (WebCore::RenderListBox::autoscroll):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::draggableNode):
              (WebCore::RenderObject::destroy):
              * rendering/RenderObject.h:
              (WebCore::RenderObject::RepaintInfo::RepaintInfo):
              * rendering/RenderPartObject.cpp:
              (WebCore::RenderPartObject::viewCleared):
      
      WebKit:
      
              Reviewed by Anders.
      
              - update for creation of EventHandler
      
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::actionDictionary):
              * WebView/WebHTMLView.m:
              (-[WebHTMLView _updateMouseoverWithEvent:]):
              (-[NSArray menuForEvent:]):
              (-[NSArray scrollWheel:]):
              (-[NSArray acceptsFirstMouse:]):
              (-[NSArray shouldDelayWindowOrderingForEvent:]):
              (-[NSArray mouseDown:]):
              (-[NSArray mouseDragged:]):
              (-[NSArray mouseUp:]):
              (-[NSArray keyDown:]):
              (-[NSArray keyUp:]):
              (-[NSArray performKeyEquivalent:]):
              (-[WebHTMLView elementAtPoint:allowShadowContent:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17770 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      60e537f5
  18. 10 Nov, 2006 2 commits
    • aroben's avatar
      Rubberstamped by Anders. · 8e9c8169
      aroben authored
              Back out some accidentally-committed changes from r17711.
      
              * page/Frame.cpp:
              (WebCore::Frame::command):
              (WebCore::FramePrivate::FramePrivate):
              * page/Frame.h:
              * page/FramePrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17713 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8e9c8169
    • andersca's avatar
      WebCore: · 846d857a
      andersca authored
              Reviewed by Geoff.
      
              Add more commands, make toggleBold and toggleItalic executable commands.
      
              * WebCore.exp:
              * editing/Editor.cpp:
              (WebCore::execCopy):
              (WebCore::execCut):
              (WebCore::execDelete):
              (WebCore::execForwardDelete):
              (WebCore::execPaste):
              (WebCore::execSelectAll):
              (WebCore::execToggleBold):
              (WebCore::execToggleItalic):
              (WebCore::enabled):
              (WebCore::canPaste):
              (WebCore::hasEditableSelection):
              (WebCore::hasEditableRangeSelection):
              (WebCore::hasRangeSelection):
              (WebCore::hasRichlyEditableSelection):
              (WebCore::CommandEntry::):
              * editing/Editor.h:
      
      WebKit:
      
              Reviewed by Geoff.
      
              Update for changes to WebCore
              * WebView/WebHTMLView.m:
              (-[NSArray _applyStyleToSelection:withUndoAction:]):
              (-[NSArray _applyParagraphStyleToSelection:withUndoAction:]):
              (-[NSArray _toggleBold]):
              (-[NSArray _toggleItalic]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17711 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      846d857a
  19. 07 Nov, 2006 1 commit
    • darin's avatar
      WebCore: · c370e7e1
      darin authored
              Reviewed by Geoff.
      
              - moved loader code from Frame/FrameMac to FrameLoader
      
              * WebCore.exp:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSXSLTProcessor.h:
              * bindings/js/kjs_events.cpp:
              (KJS::JSLazyEventListener::parseCode):
              * bindings/js/kjs_html.cpp:
              (KJS::JSHTMLDocument::putValueProperty):
              * bindings/js/kjs_navigator.cpp:
              (KJS::Navigator::getValueProperty):
              * bindings/js/kjs_proxy.cpp:
              (WebCore::KJSProxy::initScriptIfNeeded):
              * bindings/js/kjs_window.cpp:
              (KJS::Screen::Screen):
              (KJS::createNewWindow):
              (KJS::Window::getValueProperty):
              (KJS::Window::put):
              (KJS::Window::isSafeScript):
              (KJS::WindowFunc::callAsFunction):
              (KJS::ScheduledAction::execute):
              (KJS::Location::getValueProperty):
              (KJS::Location::put):
              (KJS::Location::toString):
              (KJS::LocationFunc::callAsFunction):
              (KJS::History::getValueProperty):
              (KJS::HistoryFunc::callAsFunction):
              * bindings/objc/DOM.mm:
              (+[DOMNode _nodeWith:WebCore::]):
              * bridge/mac/FrameMac.h:
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::~FrameMac):
              (WebCore::FrameMac::setView):
              (WebCore::FrameMac::setStatusBarText):
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge close]):
              (-[WebCoreFrameBridge addData:]):
              (-[WebCoreFrameBridge createFrameViewWithNSView:marginWidth:marginHeight:]):
              (-[WebCoreFrameBridge reapplyStylesForDeviceType:]):
              (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
              (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
              (-[WebCoreFrameBridge baseURL]):
              (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
              (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
              (-[WebCoreFrameBridge canProvideDocumentSource]):
              (-[WebCoreFrameBridge receivedData:textEncodingName:]):
              * css/cssparser.cpp:
              (WebCore::CSSParser::parseContent):
              * dom/DOMImplementation.cpp:
              (WebCore::DOMImplementation::createDocument):
              (WebCore::DOMImplementation::createHTMLDocument):
              * dom/DOMImplementation.h:
              * dom/Document.cpp:
              (WebCore::Document::readyState):
              (WebCore::Document::updateTitle):
              (WebCore::Document::open):
              (WebCore::Document::close):
              (WebCore::Document::implicitClose):
              (WebCore::Document::processHttpEquiv):
              (WebCore::Document::referrer):
              (WebCore::Document::finishedParsing):
              * dom/ProcessingInstruction.cpp:
              (WebCore::ProcessingInstruction::checkStyleSheet):
              * dom/XMLTokenizer.cpp:
              (WebCore::XMLTokenizer::endElementNs):
              (WebCore::ignorableWhitespaceHandler):
              (WebCore::XMLTokenizer::notifyFinished):
              * editing/TextIterator.cpp:
              (WebCore::TextIterator::rangeFromLocationAndLength):
              * html/HTMLAnchorElement.cpp:
              (WebCore::HTMLAnchorElement::defaultEventHandler):
              * html/HTMLBaseElement.cpp:
              (WebCore::HTMLBaseElement::process):
              * html/HTMLDocument.cpp:
              (WebCore::HTMLDocument::lastModified):
              * html/HTMLFormElement.cpp:
              (WebCore::HTMLFormElement::formData):
              (WebCore::HTMLFormElement::submit):
              * html/HTMLFrameElementBase.cpp:
              (WebCore::HTMLFrameElementBase::isURLAllowed):
              (WebCore::HTMLFrameElementBase::openURL):
              (WebCore::HTMLFrameElementBase::willRemove):
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::setValueFromRenderer):
              * html/HTMLLinkElement.cpp:
              (WebCore::HTMLLinkElement::process):
              * html/HTMLParser.cpp:
              (WebCore::HTMLParser::handleError):
              (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
              * html/HTMLPreElement.idl:
              * html/HTMLScriptElement.cpp:
              (WebCore::HTMLScriptElement::parseMappedAttribute):
              (WebCore::HTMLScriptElement::insertedIntoDocument):
              * html/HTMLTokenizer.cpp:
              (WebCore::HTMLTokenizer::scriptExecution):
              (WebCore::HTMLTokenizer::parseTag):
              (WebCore::HTMLTokenizer::write):
              (WebCore::HTMLTokenizer::stopParsing):
              (WebCore::HTMLTokenizer::timerFired):
              * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
              (WebCore::KCanvasFilterQuartz::prepareFilter):
              * ksvg2/svg/SVGAElement.cpp:
              (WebCore::SVGAElement::defaultEventHandler):
              * ksvg2/svg/SVGElement.cpp:
              (WebCore::SVGElement::sendSVGLoadEventIfPossible):
              * loader/DocLoader.cpp:
              (WebCore::DocLoader::setLoadInProgress):
              * loader/FrameLoader.cpp:
              (WebCore::FormSubmission::FormSubmission):
              (WebCore::ScheduledRedirection::):
              (WebCore::ScheduledRedirection::ScheduledRedirection):
              (WebCore::cancelAll):
              (WebCore::getString):
              (WebCore::isBackForwardLoadType):
              (WebCore::numRequests):
              (WebCore::FrameLoader::FrameLoader):
              (WebCore::FrameLoader::~FrameLoader):
              (WebCore::FrameLoader::createWindow):
              (WebCore::FrameLoader::changeLocation):
              (WebCore::FrameLoader::urlSelected):
              (WebCore::FrameLoader::requestFrame):
              (WebCore::FrameLoader::loadSubframe):
              (WebCore::FrameLoader::submitFormAgain):
              (WebCore::FrameLoader::submitForm):
              (WebCore::FrameLoader::stopLoading):
              (WebCore::FrameLoader::stop):
              (WebCore::FrameLoader::closeURL):
              (WebCore::FrameLoader::cancelRedirection):
              (WebCore::FrameLoader::iconURL):
              (WebCore::FrameLoader::didOpenURL):
              (WebCore::FrameLoader::didExplicitOpen):
              (WebCore::FrameLoader::replaceContentsWithScriptResult):
              (WebCore::FrameLoader::executeScript):
              (WebCore::FrameLoader::cancelAndClear):
              (WebCore::FrameLoader::clear):
              (WebCore::FrameLoader::receivedFirstData):
              (WebCore::FrameLoader::responseMIMEType):
              (WebCore::FrameLoader::setResponseMIMEType):
              (WebCore::FrameLoader::begin):
              (WebCore::FrameLoader::write):
              (WebCore::FrameLoader::end):
              (WebCore::FrameLoader::endIfNotLoading):
              (WebCore::FrameLoader::startIconLoader):
              (WebCore::FrameLoader::commitIconURLToIconDatabase):
              (WebCore::FrameLoader::gotoAnchor):
              (WebCore::FrameLoader::finishedParsing):
              (WebCore::FrameLoader::loadDone):
              (WebCore::FrameLoader::checkCompleted):
              (WebCore::FrameLoader::checkEmitLoadEvent):
              (WebCore::FrameLoader::baseURL):
              (WebCore::FrameLoader::baseTarget):
              (WebCore::FrameLoader::completeURL):
              (WebCore::FrameLoader::scheduleRedirection):
              (WebCore::FrameLoader::scheduleLocationChange):
              (WebCore::FrameLoader::scheduleRefresh):
              (WebCore::FrameLoader::isScheduledLocationChangePending):
              (WebCore::FrameLoader::scheduleHistoryNavigation):
              (WebCore::FrameLoader::redirectionTimerFired):
              (WebCore::FrameLoader::encoding):
              (WebCore::FrameLoader::requestObject):
              (WebCore::FrameLoader::shouldUsePlugin):
              (WebCore::FrameLoader::loadPlugin):
              (WebCore::FrameLoader::clearRecordedFormValues):
              (WebCore::FrameLoader::recordFormValue):
              (WebCore::FrameLoader::parentCompleted):
              (WebCore::FrameLoader::outgoingReferrer):
              (WebCore::FrameLoader::lastModified):
              (WebCore::FrameLoader::opener):
              (WebCore::FrameLoader::setOpener):
              (WebCore::FrameLoader::openedByJavaScript):
              (WebCore::FrameLoader::setOpenedByJavaScript):
              (WebCore::FrameLoader::handleFallbackContent):
              (WebCore::FrameLoader::provisionalLoadStarted):
              (WebCore::FrameLoader::userGestureHint):
              (WebCore::FrameLoader::didNotOpenURL):
              (WebCore::FrameLoader::resetMultipleFormSubmissionProtection):
              (WebCore::FrameLoader::setEncoding):
              (WebCore::FrameLoader::addData):
              (WebCore::FrameLoader::canCachePage):
              (WebCore::FrameLoader::updatePolicyBaseURL):
              (WebCore::FrameLoader::setPolicyBaseURL):
              (WebCore::FrameLoader::scrollToAnchor):
              (WebCore::FrameLoader::isComplete):
              (WebCore::FrameLoader::isLoadingMainResource):
              (WebCore::FrameLoader::url):
              (WebCore::FrameLoader::startRedirectionTimer):
              (WebCore::FrameLoader::stopRedirectionTimer):
              (WebCore::FrameLoader::updateBaseURLForEmptyDocument):
              (WebCore::FrameLoader::completed):
              (WebCore::FrameLoader::started):
              (WebCore::FrameLoader::containsPlugins):
              (WebCore::FrameLoader::prepareForLoadStart):
              (WebCore::FrameLoader::setupForReplace):
              (WebCore::FrameLoader::setupForReplaceByMIMEType):
              (WebCore::FrameLoader::finalSetupForReplace):
              (WebCore::FrameLoader::load):
              (WebCore::FrameLoader::canTarget):
              (WebCore::FrameLoader::stopLoadingPlugIns):
              (WebCore::FrameLoader::stopLoadingSubresources):
              (WebCore::FrameLoader::stopLoadingSubframes):
              (WebCore::FrameLoader::stopAllLoaders):
              (WebCore::FrameLoader::cancelMainResourceLoad):
              (WebCore::FrameLoader::cancelPendingArchiveLoad):
              (WebCore::FrameLoader::activeDocumentLoader):
              (WebCore::FrameLoader::addPlugInStreamLoader):
              (WebCore::FrameLoader::removePlugInStreamLoader):
              (WebCore::FrameLoader::hasMainResourceLoader):
              (WebCore::FrameLoader::isLoadingSubresources):
              (WebCore::FrameLoader::isLoadingPlugIns):
              (WebCore::FrameLoader::isLoading):
              (WebCore::FrameLoader::addSubresourceLoader):
              (WebCore::FrameLoader::removeSubresourceLoader):
              (WebCore::FrameLoader::releaseMainResourceLoader):
              (WebCore::FrameLoader::setDocumentLoader):
              (WebCore::FrameLoader::documentLoader):
              (WebCore::FrameLoader::setPolicyDocumentLoader):
              (WebCore::FrameLoader::provisionalDocumentLoader):
              (WebCore::FrameLoader::setProvisionalDocumentLoader):
              (WebCore::FrameLoader::state):
              (WebCore::FrameLoader::timeOfLastCompletedLoad):
              (WebCore::FrameLoader::setState):
              (WebCore::FrameLoader::clearProvisionalLoad):
              (WebCore::FrameLoader::markLoadComplete):
              (WebCore::FrameLoader::commitProvisionalLoad):
              (WebCore::FrameLoader::privateBrowsingEnabled):
              (WebCore::FrameLoader::clientRedirectCancelledOrFinished):
              (WebCore::FrameLoader::clientRedirected):
              (WebCore::FrameLoader::shouldReload):
              (WebCore::FrameLoader::closeOldDataSources):
              (WebCore::FrameLoader::open):
              (WebCore::FrameLoader::isStopping):
              (WebCore::FrameLoader::finishedLoading):
              (WebCore::FrameLoader::URL):
              (WebCore::FrameLoader::isArchiveLoadPending):
              (WebCore::FrameLoader::isHostedByObjectElement):
              (WebCore::FrameLoader::isLoadingMainFrame):
              (WebCore::FrameLoader::canShowMIMEType):
              (WebCore::FrameLoader::representationExistsForURLScheme):
              (WebCore::FrameLoader::generatedMIMETypeForURLScheme):
              (WebCore::FrameLoader::cancelContentPolicyCheck):
              (WebCore::FrameLoader::didReceiveServerRedirectForProvisionalLoadForFrame):
              (WebCore::FrameLoader::finishedLoadingDocument):
              (WebCore::FrameLoader::isReplacing):
              (WebCore::FrameLoader::setReplacing):
              (WebCore::FrameLoader::revertToProvisional):
              (WebCore::FrameLoader::subframeIsLoading):
              (WebCore::FrameLoader::willChangeTitle):
              (WebCore::FrameLoader::loadType):
              (WebCore::FrameLoader::stopPolicyCheck):
              (WebCore::FrameLoader::continueAfterContentPolicy):
              (WebCore::FrameLoader::continueAfterWillSubmitForm):
              (WebCore::FrameLoader::didFirstLayout):
              (WebCore::FrameLoader::frameLoadCompleted):
              (WebCore::FrameLoader::firstLayoutDone):
              (WebCore::FrameLoader::isQuickRedirectComing):
              (WebCore::FrameLoader::closeDocument):
              (WebCore::FrameLoader::detachChildren):
              (WebCore::FrameLoader::checkLoadComplete):
              (WebCore::FrameLoader::numPendingOrLoadingRequests):
              (WebCore::FrameLoader::setClient):
              (WebCore::FrameLoader::client):
              (WebCore::FrameLoader::userAgent):
              (WebCore::FrameLoader::createEmptyDocument):
              (WebCore::FrameLoader::tokenizerProcessedData):
              (WebCore::FrameLoader::didTellBridgeAboutLoad):
              (WebCore::FrameLoader::haveToldBridgeAboutLoad):
              (WebCore::FrameLoader::handledOnloadEvents):
              (WebCore::FrameLoader::frameDetached):
              (WebCore::FrameLoader::setTitle):
              (WebCore::FrameLoaderClient::~FrameLoaderClient):
              * loader/FrameLoader.h:
              (WebCore::):
              * loader/FrameLoaderClient.h:
              * loader/PluginDocument.cpp:
              (WebCore::PluginTokenizer::createDocumentStructure):
              (WebCore::PluginTokenizer::writeRawData):
              * loader/ResourceLoader.h:
              * loader/TextResourceDecoder.cpp:
              (WebCore::TextResourceDecoder::checkForHeadCharset):
              * loader/icon/IconLoader.cpp:
              (WebCore::IconLoader::startLoading):
              (WebCore::IconLoader::finishLoading):
              * loader/loader.cpp:
              (WebCore::Loader::didReceiveResponse):
              * loader/mac/DocumentLoaderMac.mm:
              (WebCore::DocumentLoader::~DocumentLoader):
              (WebCore::DocumentLoader::stopLoading):
              (WebCore::DocumentLoader::finishedLoading):
              (WebCore::DocumentLoader::setupForReplaceByMIMEType):
              (WebCore::DocumentLoader::setPrimaryLoadComplete):
              * loader/mac/FrameLoaderMac.mm:
              (WebCore::FrameLoader::load):
              (WebCore::FrameLoader::startLoading):
              (WebCore::FrameLoader::cancelMainResourceLoad):
              (WebCore::FrameLoader::receivedMainResourceError):
              (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
              (WebCore::FrameLoader::commitProvisionalLoad):
              (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
              (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
              (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
              (WebCore::FrameLoader::detachFromParent):
              (WebCore::FrameLoader::addExtraFieldsToRequest):
              (WebCore::FrameLoader::loadResourceSynchronously):
              (WebCore::FrameLoader::createFrame):
              (WebCore::FrameLoader::objectContentType):
              (WebCore::nsArray):
              (WebCore::FrameLoader::createPlugin):
              (WebCore::FrameLoader::redirectDataToPlugin):
              (WebCore::FrameLoader::createJavaAppletWidget):
              (WebCore::FrameLoader::partClearedInBegin):
              (WebCore::FrameLoader::saveDocumentState):
              (WebCore::FrameLoader::restoreDocumentState):
              (WebCore::FrameLoader::overrideMediaType):
              (WebCore::FrameLoader::mainResourceData):
              (WebCore::FrameLoader::canGoBackOrForward):
              (WebCore::FrameLoader::originalRequestURL):
              (WebCore::FrameLoader::getHistoryLength):
              (WebCore::FrameLoader::goBackOrForward):
              (WebCore::FrameLoader::historyURL):
              (WebCore::FrameLoader::didFinishLoad):
              * loader/mac/LoaderFunctionsMac.mm:
              (WebCore::ServeSynchronousRequest):
              (WebCore::CheckCacheObjectStatus):
              * loader/mac/ResourceLoaderMac.mm:
              (WebCore::ResourceLoader::cancel):
              * loader/mac/SubresourceLoaderMac.mm:
              (WebCore::SubresourceLoader::create):
              * loader/qt/FrameLoaderQt.cpp: Added.
              (WebCore::FrameLoader::submitForm):
              (WebCore::FrameLoader::urlSelected):
              (WebCore::FrameLoader::setTitle):
              (WebCore::FrameLoader::createFrame):
              (WebCore::FrameLoader::objectContentType):
              (WebCore::FrameLoader::createPlugin):
              (WebCore::FrameLoader::createJavaAppletWidget):
              (WebCore::FrameLoader::originalRequestURL):
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::document):
              * page/Frame.cpp:
              (WebCore::Frame::~Frame):
              (WebCore::Frame::reparseConfiguration):
              (WebCore::Frame::shouldDragAutoNode):
              (WebCore::Frame::prepareForUserAction):
              (WebCore::FramePrivate::FramePrivate):
              (WebCore::FramePrivate::~FramePrivate):
              * page/Frame.h:
              * page/FramePrivate.h:
              * page/FrameView.cpp:
              (WebCore::FrameView::layout):
              (WebCore::FrameView::mediaType):
              * page/FrameView.h:
              * page/PageState.cpp:
              (WebCore::PageState::PageState):
              (WebCore::PageState::restoreJavaScriptState):
              * platform/mac/CookieJar.mm:
              (WebCore::setCookies):
              * platform/mac/TextCodecMac.cpp:
              * platform/mac/WebFontCache.mm:
              (+[WebFontCache fontWithFamily:traits:size:]):
              * platform/network/cf/ResourceHandleCFNet.cpp:
              (WebCore::ResourceHandle::start):
              * platform/network/mac/ResourceHandleMac.mm:
              (WebCore::ResourceHandle::start):
              * platform/qt/FrameQt.cpp:
              * platform/qt/FrameQt.h:
              * rendering/RenderApplet.cpp:
              (WebCore::RenderApplet::createWidgetIfNecessary):
              * rendering/RenderBlock.h:
              * rendering/RenderPartObject.cpp:
              (WebCore::isURLAllowed):
              (WebCore::RenderPartObject::updateWidget):
              * xml/DOMParser.cpp:
              (WebCore::DOMParser::parseFromString):
              * xml/XSLTProcessor.cpp:
              (WebCore::XSLTProcessor::createDocumentFromSource):
              * xml/xmlhttprequest.cpp:
              (WebCore::XMLHttpRequest::getResponseXML):
      
      WebKit:
      
              Reviewed by Geoff.
      
              - udpated for changes to move from Frame/FrameMac to FrameLoader
      
              * DefaultDelegates/WebDefaultContextMenuDelegate.m:
              (-[WebDefaultUIDelegate openNewWindowWithURL:element:]):
              * Misc/WebNSAttributedStringExtras.m:
              (+[NSAttributedString _web_attributedStringFromRange:]):
              * Plugins/WebBaseNetscapePluginView.mm:
              (-[WebBaseNetscapePluginView requestWithURLCString:]):
              * Plugins/WebNetscapePluginEmbeddedView.m:
              (-[WebNetscapePluginEmbeddedView didStart]):
              * Plugins/WebNetscapePluginStream.mm:
              * Plugins/WebPluginController.mm:
              (-[WebPluginController pluginView:receivedResponse:]):
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::provisionalLoadStarted):
              * WebView/WebFrame.mm:
              (-[WebFrame _canCachePage]):
              (+[WebFrame _timeOfLastCompletedLoad]):
              (-[WebFrame _loadItem:withLoadType:]):
              (-[WebFrame _reloadForPluginChanges]):
              (-[WebFrame stopLoading]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c370e7e1
  20. 05 Nov, 2006 1 commit
    • darin's avatar
      Reviewed by Geoff. · 647be15c
      darin authored
              - more preparation for splitting up Frame into sub-pieces
              - removed unnecessary includes from Frame.h
      
              * page/Frame.h: Removed unneeded includes and forward declarations.
              Added additional forward declarations. Removed the constant
              NoXPosForVerticalArrowNavigation, now moved inside SelectionController.
              Created sections of functions to be moved into Chrome, Editor,
              EventHandler, FrameLoader, SelectionController, and the Platform
              directory, as well as marking one function for deletion.
      
              * page/FramePrivate.h: Removed the definition of the constructor and
              destructor and removed unnecessary includes.
      
              * page/FrameView.h: Removed unneeded forward declarations and friend
              declarations. Created a section of functions and data to be moved into
              EventHandler.
      
              * bridge/mac/FrameMac.h: Removed unneeded forward declarations.
              Created sections of functions and data to be moved into Chrome,
              Editor, EventHandler, FrameLoader, and the Platform directory.
      
              * bridge/mac/WebCoreFrameBridge.h: Removed obsolete comment.
              Removed unused methods areScrollbarsVisible,
              nextValidKeyViewOutsideWebFrameViews, and fileWrapperForURL:.
      
              * page/Frame.cpp:
              (WebCore::Frame::begin): Added an overload, so Frame.h doesn't have
              to include KURL.h just for the KURL default constructor.
              (WebCore::FramePrivate::FramePrivate): Moved here from FramePrivate.h.
              (WebCore::FramePrivate::~FramePrivate): Ditto.
      
              * page/FrameView.cpp: Removed unused scrollbarMoved and scrollingSelf
              booleans, scrollbarMoved and cleared funcitons.
              (WebCore::FrameView::clear): Moved the code from the cleared
              function in here.
              (WebCore::FrameView::scrollTo): Removed code to set scrollingSelf.
      
              * bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac): Updated
              for changes to header.
      
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::setSelection):
              (WebCore::SelectionController::xPosForVerticalArrowNavigation):
              Moved NoXPosForVerticalArrowNavigation into this file.
      
              * bindings/js/kjs_events.cpp:
              * bindings/js/kjs_html.cpp:
              * bindings/js/kjs_window.cpp:
              * bridge/mac/WebCoreAXObject.mm:
              * bridge/mac/WebCoreFrameBridge.mm:
              * css/cssstyleselector.cpp:
              * dom/Document.cpp:
              * dom/Element.cpp:
              * dom/EventTargetNode.cpp:
              * dom/MouseRelatedEvent.cpp:
              * dom/XMLTokenizer.cpp:
              * html/HTMLBaseElement.cpp:
              * html/HTMLDocument.cpp:
              * html/HTMLEmbedElement.cpp:
              * html/HTMLFrameElementBase.cpp:
              * html/HTMLGenericFormElement.cpp:
              * html/HTMLObjectElement.cpp:
              * html/HTMLTokenizer.cpp:
              * loader/mac/FrameLoaderMac.mm:
              * page/PageState.cpp:
              * rendering/RenderApplet.cpp:
              * rendering/RenderBlock.cpp:
              * rendering/RenderLayer.cpp:
              * rendering/RenderObject.cpp:
              * rendering/RenderPartObject.cpp:
              * rendering/RenderTreeAsText.cpp:
              * xml/XSLTProcessor.cpp:
              Added includes as needed to keep compiling, since there are fewer
              includes in Frame.h.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      647be15c
  21. 04 Nov, 2006 1 commit
    • darin's avatar
      WebCore: · 7c9aa2d4
      darin authored
              Reviewed by Maciej.
      
              - converted more of the loader machinery to work with cross-platform
                data structures instead of Macintosh-specific ones
      
                converted most uses of NSURL to KURL and NSEvent to DOM Event in
                loader classes
      
                moved download function out of FrameLoader.h to avoid reference to
                NSURLConnection
      
                added DOM Event parameters to various functions so that the handlers
                can use the DOM Event instead of the global "current NSEvent";
                includes Frame::submitForm, HTMLFormElement::prepareSubmit,
                HTMLFormElement::submit, FrameLoader::load
      
                moved the setMainFrame call that hands ownership to the Page
                into one of the Frame constructors, and removed it from all
                the clients
      
                removed const from Event parameter to the urlSelected function
                (we rarely use const with DOM elements)
      
                removed some redundant includes and declarations from various
                header files
      
                removed NSURL parameter from userAgent function -- if we need it we
                can add it back, but converting from NSURL to KURL and back is
                inefficient enough that it's best to have it out for now (since it's
                been unused for years) -- if we add it back, we can choose an
                appropriate parameter type that's always inexpensive to pass
      
                did some basic cleanup in the IconLoader class, including removing
                an unnecessary loop that added icon data a byte at a time
      
                renamed safeLoad to load, since it's no different from the other
                FrameLoader load functions, safety-wise
      
                fixed some code that was trying to distinguish null frame name from
                empty string frame name -- both should be handled the same, but callers
                were doing it by checking for empty and turning it into null (in a way
                that was causing extra round trips between NSString and WebCore::String)
      
                corrected all uses of "get" and "post" to be uppercase "GET" and "POST"
                and got rid of case-insensitive compares of methods
      
              * WebCore.exp:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/kjs_navigator.cpp:
              (KJS::Navigator::getValueProperty):
              * bridge/mac/FrameMac.h:
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::submitForm):
              (WebCore::FrameMac::urlSelected):
              (WebCore::FrameMac::userAgent):
              * bridge/mac/FrameViewMac.mm:
              * bridge/mac/WebCoreAXObject.mm:
              (-[WebCoreAXObject rendererForView:]):
              * bridge/mac/WebCorePageBridge.h:
              * bridge/mac/WebCorePageBridge.mm:
              * bridge/mac/WebCoreSettings.mm:
              * bridge/win/FrameWin.cpp:
              (WebCore::FrameWin::urlSelected):
              (WebCore::FrameWin::submitForm):
              * bridge/win/FrameWin.h:
              * dom/MouseRelatedEvent.cpp:
              * dom/MouseRelatedEvent.h:
              * dom/UIEvent.cpp:
              (WebCore::UIEvent::~UIEvent):
              * dom/UIEvent.h:
              * dom/UIEventWithKeyState.h:
              * dom/XMLTokenizer.cpp:
              (WebCore::openFunc):
              * html/HTMLAnchorElement.cpp:
              (WebCore::HTMLAnchorElement::defaultEventHandler):
              * html/HTMLButtonElement.cpp:
              (WebCore::HTMLButtonElement::defaultEventHandler):
              * html/HTMLFormElement.cpp:
              (WebCore::HTMLFormElement::submitClick):
              (WebCore::HTMLFormElement::prepareSubmit):
              (WebCore::HTMLFormElement::submit):
              * html/HTMLFormElement.h:
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::defaultEventHandler):
              * html/HTMLSelectElement.cpp:
              (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
              * loader/DocumentLoader.h:
              * loader/FrameLoader.h:
              * loader/FrameLoaderClient.h:
              * loader/NavigationAction.h:
              (WebCore::NavigationAction::event):
              * loader/icon/IconLoader.cpp:
              (WebCore::IconLoader::create):
              (WebCore::IconLoader::startLoading):
              (WebCore::IconLoader::didReceiveData):
              (WebCore::IconLoader::didFinishLoading):
              * loader/icon/IconLoader.h:
              * loader/loader.cpp:
              * loader/mac/DocumentLoaderMac.mm:
              (WebCore::DocumentLoader::URL):
              (WebCore::DocumentLoader::unreachableURL):
              (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
              (WebCore::DocumentLoader::URLForHistory):
              * loader/mac/FrameLoaderMac.mm:
              (WebCore::FrameLoader::load):
              (WebCore::FrameLoader::willSendRequest):
              (WebCore::FrameLoader::clientRedirected):
              (WebCore::FrameLoader::shouldReload):
              (WebCore::FrameLoader::notifyIconChanged):
              (WebCore::FrameLoader::URL):
              (WebCore::FrameLoader::reloadAllowingStaleData):
              (WebCore::FrameLoader::reload):
              (WebCore::FrameLoader::didChangeTitle):
              (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
              (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
              (WebCore::FrameLoader::post):
              (WebCore::FrameLoader::addExtraFieldsToRequest):
              (WebCore::FrameLoader::loadResourceSynchronously):
              * loader/mac/IconLoaderMac.mm:
              (WebCore::IconLoader::notifyIconChanged):
              * loader/mac/LoaderFunctionsMac.mm:
              * loader/mac/MainResourceLoaderMac.mm:
              (WebCore::shouldLoadAsEmptyDocument):
              (WebCore::MainResourceLoader::continueAfterContentPolicy):
              * loader/mac/NavigationActionMac.mm:
              (WebCore::navigationType):
              (WebCore::NavigationAction::NavigationAction):
              * loader/mac/ResourceLoaderMac.mm:
              * loader/mac/SubresourceLoaderMac.mm:
              * page/Frame.cpp:
              (WebCore::Frame::Frame):
              (WebCore::Frame::urlSelected):
              (WebCore::Frame::submitFormAgain):
              (WebCore::Frame::submitForm):
              (WebCore::Frame::endIfNotLoading):
              (WebCore::Frame::hitTestResultAtPoint):
              * page/Frame.h:
              * page/FramePrivate.h:
              * platform/gdk/FrameGdk.cpp:
              (WebCore::FrameGdk::FrameGdk):
              (WebCore::FrameGdk::submitForm):
              (WebCore::FrameGdk::urlSelected):
              * platform/gdk/FrameGdk.h:
              * platform/mac/TextFieldMac.mm:
              * platform/network/HTTPHeaderMap.h:
              * platform/network/ResourceHandle.h:
              * platform/network/ResourceHandleClient.h:
              * platform/network/ResourceHandleInternal.h:
              * platform/network/mac/ResourceHandleMac.mm:
              * platform/network/mac/ResourceResponseMac.h:
              * platform/network/mac/ResourceResponseMac.mm:
              (-[NSURLResponse WebCore]):
              * platform/network/win/ResourceHandleWin.cpp:
              * platform/qt/FrameQt.cpp:
              (WebCore::FrameQt::submitForm):
              (WebCore::FrameQt::urlSelected):
              * platform/qt/FrameQt.h:
              * rendering/RenderLineEdit.cpp:
              (WebCore::RenderLineEdit::returnPressed):
              * xml/XSLTProcessor.cpp:
              (WebCore::docLoaderFunc):
              * xml/xmlhttprequest.cpp:
      
      WebKit:
      
              Reviewed by Maciej.
      
              - converted more of the loader machinery to work with cross-platform
                data structures instead of Macintosh-specific ones
      
                store the computed user agent string as a WebCore::String instead
                of an NSString to avoid overhead converting it every time we get it
      
              * COM/WebFrame.cpp:
              (WebFrame::initWithName):
              * ChangeLog:
              * Misc/WebElementDictionary.m:
              (-[WebElementDictionary _image]):
              (-[WebElementDictionary _targetWebFrame]):
              * WebCoreSupport/WebFrameLoaderClient.h:
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
              (WebFrameLoaderClient::shouldTreatURLAsSameAsCurrent):
              (WebFrameLoaderClient::setTitle):
              (WebFrameLoaderClient::userAgent):
              (WebFrameLoaderClient::actionDictionary):
              * WebCoreSupport/WebPageBridge.mm:
              (WebCore::if):
              * WebView/WebDataSource.mm:
              (-[WebDataSource _URL]):
              (-[WebDataSource _URLForHistory]):
              (-[WebDataSource unreachableURL]):
              * WebView/WebHTMLView.m:
              (-[WebHTMLView elementAtPoint:allowShadowContent:]):
              * WebView/WebPDFView.mm:
              (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
              (-[WebPDFView _path]):
              * WebView/WebView.mm:
              (-[WebViewPrivate init]):
              (-[WebViewPrivate dealloc]):
              (-[WebViewPrivate finalize]):
              (-[WebView _preferencesChangedNotification:]):
              (-[WebView _cachedResponseForURL:]):
              (-[WebView setApplicationNameForUserAgent:]):
              (-[WebView setCustomUserAgent:]):
              (-[WebView customUserAgent]):
              (-[WebView userAgentForURL:]):
              (-[WebView _computeUserAgent]):
              (-[WebView WebCore::]):
              * WebView/WebViewInternal.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c9aa2d4
  22. 02 Nov, 2006 2 commits
  23. 30 Oct, 2006 3 commits
    • darin's avatar
      Reviewed by Anders. · 9d803362
      darin authored
              - remove BrowserExtension
      
              * WebCore.vcproj/WebCore/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/kjs_window.cpp:
              (KJS::createNewWindow):
              (KJS::WindowFunc::callAsFunction):
              * bridge/BrowserExtension.h: Removed.
              * bridge/mac/BrowserExtensionMac.h: Removed.
              * bridge/mac/BrowserExtensionMac.mm: Removed.
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::FrameMac):
              (WebCore::FrameMac::submitForm):
              (WebCore::FrameMac::urlSelected):
              * bridge/win/BrowserExtensionWin.cpp: Removed.
              * bridge/win/BrowserExtensionWin.h: Removed.
              * bridge/win/FrameWin.cpp:
              (WebCore::FrameWin::FrameWin):
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::createWindow):
              * loader/FrameLoader.h:
              * loader/icon/IconLoader.cpp:
              * loader/mac/FrameLoaderMac.mm:
              (WebCore::FrameLoader::safeLoad):
              (WebCore::FrameLoader::load):
              (WebCore::FrameLoader::createWindow):
              * page/Frame.cpp:
              (WebCore::Frame::urlSelected):
              (WebCore::Frame::requestFrame):
              (WebCore::Frame::submitForm):
              (WebCore::Frame::scheduleHistoryNavigation):
              (WebCore::Frame::redirectionTimerFired):
              * page/Frame.h:
              * page/FrameLoadRequest.h:
              (WebCore::FrameLoadRequest::FrameLoadRequest):
              (WebCore::FrameLoadRequest::isEmpty):
              (WebCore::FrameLoadRequest::resourceRequest):
              (WebCore::FrameLoadRequest::frameName):
              (WebCore::FrameLoadRequest::setFrameName):
              * page/FramePrivate.h:
              (WebCore::FramePrivate::FramePrivate):
              (WebCore::FramePrivate::~FramePrivate):
              * platform/gdk/BrowserExtensionGdk.h: Removed.
              * platform/gdk/FrameGdk.cpp:
              (WebCore::FrameGdk::FrameGdk):
              * platform/gdk/TemporaryLinkStubs.cpp:
              * platform/network/ResourceRequest.h:
              (WebCore::ResourceRequest::isEmpty):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17471 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9d803362
    • ggaren's avatar
      WebCore: · 57aa2fee
      ggaren authored
              Reviewed by Darin.
      
              Removed a number of editing and selection methods from the bridge.
              
              I moved cross-platform editing and selection code into Editor and 
              SelectionController, respecitvely.
      
              I moved ObjC and AppKit stuff up into WebKit, so I ended up exporting
              everything + the kitchen sink.
              
              Specific comments below for interesting things.
              
              * bindings/objc/DOMInternal.h: Moved exception handling helper methods into
              a new file so that WebKit can use them, too. Added a helper method for
              handling exceptions when selecting a Range.
              * bridge/mac/FrameMac.h: Moved attributedString creation and helper functions into 
              WebKit, since they have to do with creating an NSAttributedString for API
              consumption, and not much to do with general Frame functionality.
              * editing/Editor.h: Moved lastEditCommand tracking (at least the data,
              for now) into the Editor. Eventually, the Frame will not have to notify 
              the Editor of what the lastEditCommand was, since the Editor will perform
              all EditCommands.
              * editing/SelectionController.h: The code here is just stuff moved from the bridge.
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::setSelectedRange): We now explicitly check from DOM exceptions
              and return them. The bridge method to select a DOM range did this implicitly,
              since all ObjC DOM operations handle DOM exceptions by throwing them as
              ObjC exceptions.
              * editing/TextAffinity.h: Added helper functions for conversion to NSSelectionAffinity.
              The two enumerations are numerically identical, but that's an implementation
              detail of TextAffinity that clients shouldn't be required to know about.
      
      WebKit:
      
              Reviewed by Darin.
      
              Removed a number of editing and selection methods from the bridge.
              
              I moved cross-platform editing and selection code into WebCore::Editor and 
              WebCore::SelectionController, respecitvely.
              
              All of the seemingly new code here is just code grabbed from WebCore or
              merged from WebCoreFrameBridge.
              
              I changed one piece of internal API: we now pass around Ranges in places
              where we used to pass around broken out components of Ranges.
              
              I also added WebCore XPATH_SUPPORT AND SVG_SUPPORT #defines to the project.
              Since we now include WebCore headers that depend on these #defines, we need
              to keep in sync with them, to avoid binary incompatibility.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17455 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      57aa2fee
    • darin's avatar
      Reviewed by Adam. · c1116559
      darin authored
              - fix FrameLoader files so they can be built on non-Mac platforms
      
              * page/FramePrivate.h:
              (WebCore::FramePrivate::FramePrivate): Added code to create the frame loader.
              (WebCore::FramePrivate::~FramePrivate): Added code to delete the frame loader.
      
              * page/Page.h:
              * page/Page.cpp: (WebCore::Page::setDefersLoading): Removed the
              #if PLATFORM(MAC) that Adam added as a stop-gap when I did this wrong
              the other day.
      
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::FrameMac): Removed code to create the frame loader.
              (WebCore::FrameMac::~FrameMac): Removed code to delete the frame loader.
      
              * loader/FrameLoader.h: Changed import to include, added #if PLATFORM(MAC)
              around the PolicyCheck definition.
      
              * loader/FormState.cpp: Changed import to include.
              * loader/FrameLoader.cpp: Ditto.
              * loader/MainResourceLoader.h: Ditto.
      
              * loader/FrameLoaderTypes.h: Added a header guard.
      
              * loader/NetscapePlugInStreamLoader.h: Changed import to include.
              Added #if PLATFORM(MAC) around Mac-specific details.
              * loader/SubresourceLoader.h: Ditto.
      
              * page/Frame.cpp: (WebCore::Frame::loader): Updated name of loader to
              m_loader from m_frameLoader.
      
              * CMakeLists.txt: Updated.
              * WebCoreSources.bkl: Updated.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17442 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c1116559
  24. 29 Oct, 2006 1 commit
    • darin's avatar
      WebCore: · 5b2cbe11
      darin authored
              - did the do-webcore-rename renames, including a number of changes
                to the names of loader files (and WebResourceLoader -> ResourceLoader),
                jScript() to scriptProxy(), jScriptEnabled() to javaScriptEnabled(),
                and improvements to the names of decoder classes and their source
                files (Decoder -> TextResourceDecoder, StreamingTextDecoder -> TextCodec)
      
      WebKit:
      
              - update for the WebCore renames
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17431 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5b2cbe11
  25. 24 Oct, 2006 1 commit
    • beidson's avatar
      Reviewed by Maciej · 34069ca0
      beidson authored
              Moved FrameLoader from WebCoreFrameBridge to Frame.  Frame.h/cpp have generic accessors to the FrameLoader itself
              and creation/deletion is currently managed in FrameMac.mm
      
              Besides explicitly commented-upon methods, most of the touched code simply changes to get the FrameLoader from the 
              frame instead of the bridge.
      
              The method [WebCoreFrameBridge frameLoader] remains but only for WebKit's use - No new WebCore code should make 
              use of it as its days are numbered!
      
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::FrameMac): Create the FrameLoader
              (WebCore::FrameMac::~FrameMac): Nuke it
              (WebCore::FrameMac::loadRequest):
      
              * bridge/mac/WebCoreFrameBridge.h: No longer holds an m_frameLoader
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge initMainFrameWithPage:withEditorClient:]): No longer creates the FrameLoader
              (-[WebCoreFrameBridge initSubframeWithOwnerElement:withEditorClient:]): Ditto
              (-[WebCoreFrameBridge clearFrame]): No longer tears down the FrameLoader
              (-[WebCoreFrameBridge setFrameLoaderClient:]):
              (-[WebCoreFrameBridge frameLoader]):
              (-[WebCoreFrameBridge setTitle:]):
              (-[WebCoreFrameBridge didFirstLayout]):
              (-[WebCoreFrameBridge notifyIconChanged:]):
              (-[WebCoreFrameBridge originalRequestURL]):
              (-[WebCoreFrameBridge isLoadTypeReload]):
              (-[WebCoreFrameBridge frameDetached]):
              (-[WebCoreFrameBridge tokenizerProcessedData]):
              (-[WebCoreFrameBridge receivedData:textEncodingName:]):
              (-[WebCoreFrameBridge objectLoadedFromCacheWithURL:response:data:]):
              (-[WebCoreFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
              (-[WebCoreFrameBridge reportClientRedirectCancelled:]):
              (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
              (-[WebCoreFrameBridge incomingReferrer]):
              (-[WebCoreFrameBridge isReloading]):
              (-[WebCoreFrameBridge handledOnloadEvents]):
              (-[WebCoreFrameBridge mainResourceURLResponse]):
              (-[WebCoreFrameBridge loadEmptyDocumentSynchronously]):
      
              * loader/mac/WebDocumentLoader.mm:
              (WebCore::DocumentLoader::frameLoader):
      
              * loader/mac/WebFrameLoader.mm:
              (WebCore::FrameLoader::load):
              (WebCore::FrameLoader::stopLoadingSubframes):
              (WebCore::FrameLoader::defersCallbacksChanged):
              (WebCore::FrameLoader::setState):
              (WebCore::FrameLoader::closeOldDataSources):
              (WebCore::FrameLoader::subframeIsLoading):
              (WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
              (WebCore::FrameLoader::post):
              (WebCore::FrameLoader::detachChildren):
              (WebCore::FrameLoader::checkLoadComplete):
      
              * loader/mac/WebLoader.mm:
              (WebCore::WebResourceLoader::frameLoader):
      
              * loader/mac/WebSubresourceLoader.mm:
              (-[WebCoreSubresourceHandle initWithLoader:]):
      
              * page/Frame.cpp:
              (WebCore::Frame::frameLoader):
              * page/Frame.h:
              * page/FramePrivate.h:
              (WebCore::FramePrivate::FramePrivate):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17247 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      34069ca0
  26. 21 Oct, 2006 1 commit
    • darin's avatar
      Reviewed by Anders. · 22a95f23
      darin authored
              - fix http://bugs.webkit.org/show_bug.cgi?id=11379
                assertion failure seen in editing tests (in new DeleteButtonController)
      
              I cleaned up the relationship between the Frame, Editor, EditorClient, and
              DeleteButtonController a bit while also making the simple change to fix the
              assertion failure.
      
              * bridge/mac/FrameMac.h: Change EditorClient parameter to a PassRefPtr since we take ownership.
              * bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac):
      
              * page/Frame.h: Change EditorClient parameter to a PassRefPtr since we take ownership.
              * page/Frame.cpp:
              (WebCore::Frame::Frame): Ditto.
              (WebCore::Frame::appliedEditing): Removed unneeded parameter to the respondToChangedContents
              function, and moved it to Editor rather than right on the DeleteButtonController.
              (WebCore::Frame::unappliedEditing): Ditto.
              (WebCore::Frame::reappliedEditing): Ditto.
              * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): More of the same.
      
              * editing/DeleteButtonController.h:
              * editing/DeleteButtonController.cpp:
              (WebCore::DeleteButtonController::DeleteButtonController): Replaced Editor* with a Frame*.
              The general pattern is that we always use the Frame* as the frame identifier. See FrameTree,
              for example.
              (WebCore::enclosingDeletableTable): Added. Helper function used by the respondToChangedSelection
              function. Includes an additional check for whether the container is contentEditable, which
              was missing from the old version. This prevents the assertion failure. Also added a check that
              the table itself is editable.
              (WebCore::DeleteButtonController::respondToChangedSelection): Rewrote to use the helper.
              (WebCore::DeleteButtonController::respondToChangedContents): Removed the unnecessary
              selection parameter. No need to pass in the state of the frame since we can get it if we need it.
              (WebCore::DeleteButtonController::show): Updated to use frame pointer rather than editor pointer.
      
              * editing/Editor.cpp: Fixed formatting. Even the temporary placeholder functions should be
              formatted on multiple lines as usual.
              (WebCore::Editor::respondToChangedSelection): Added. Forwards to the delete button controller.
              (WebCore::Editor::respondToChangedContents): Ditto.
              (WebCore::Editor::Editor): Changed EditorClient parameter to a PassRefPtr since we take ownership.
      
              * editing/Editor.h: Changed the DeleteButtonController to use an OwnPtr instead of being
              defined inline to decouple so that we don't have to include DeleteButtonController.h. That way
              changes to DeleteButtonController.h cause very little to recompile.
      
              * editing/SelectionController.cpp: (WebCore::SelectionController::setSelection):
              Updated to call the editor instead of the delete button controller for the selection change.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17202 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      22a95f23
  27. 20 Oct, 2006 1 commit
    • aliceli1's avatar
      WebCore: · 5a36ed98
      aliceli1 authored
              Reviewed by Maciej.
      
              This is the initial foundation for the EditingController class and
              everything else it needs to work.  The idea is that the Frame has an
              EditingController object that it calls to handle editing commands, the
              most simple examples being copy/paste.  This controller will handle
              these editing commands in WebCore, and only hand off to WebKit to call
              editing delegates (to the let the app intercept editing actions if it
              wants to).  Thus we need a platform-specific client to which the
              EditingController hands off the delegate calls, 
              WebCoreEditingControllerClient.  On the WebCore side this is an 
              abstract base class, and on the WebKit(Mac) side this is an ObjC++
              subclass, WebEditingControllerClient.  How does the EditingController
              get a handle to its platform-specific client?  In WebKit, the creator
              of a platform-specific Frame creates the client (which is ref-counted)
              and passes it down the chain of constructors until it gets back to the
              EditingController, which then refs it in its constructor and derefs in
              its destructor.
              
              No Layout tests needed.
              
              * WebCore.xcodeproj/project.pbxproj:
              Added files and made DomRangeInternal.h and EditingClient.h private headers, necessary for WebKit to compile
      
              * bridge/EditorClient.h: Added.
              (WebCore::EditorClient::~EditorClient):
      
              * bridge/mac/FrameMac.h:
              Added an EditingClient to the constructor, to pass down to Frame constructor
      
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::FrameMac):
              Passed client down to Frame constructor
              
              * bridge/mac/WebCoreFrameBridge.h:
              Added an EditingClient to the constructor, to pass down to FrameMac constructor
              
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge initMainFrameWithPage:withEditorClient:]):
              (-[WebCoreFrameBridge initSubframeWithOwnerElement:withEditorClient:]):
              Passed client down to FrameMac constructor
              
              * editing/Editor.cpp: Added.
              Mostly stuf implementations of the following functions, except for a couple.  These are all needed by cut, copy, paste, delete.
              (WebCore::generalPasteboard):
              (WebCore::Editor::canCopy):
              (WebCore::Editor::canCut):
              (WebCore::Editor::canDelete):
              (WebCore::Editor::canDeleteRange):
              (WebCore::Editor::canPaste):
              (WebCore::Editor::canSmartCopyOrDelete):
              (WebCore::Editor::deleteSelection):
              (WebCore::Editor::deleteSelectionWithSmartDelete):
              (WebCore::Editor::isSelectionRichlyEditable):
              (WebCore::Editor::pasteAsPlainTextWithPasteboard):
              (WebCore::Editor::pasteWithPasteboard):
              (WebCore::Editor::selectedRange):
              (WebCore::Editor::shouldDeleteRange):
              (WebCore::Editor::tryDHTMLCopy):
              (WebCore::Editor::tryDHTMLCut):
              (WebCore::Editor::tryDHTMLPaste):
              (WebCore::Editor::writeSelectionToPasteboard):
              (WebCore::Editor::Editor):
              (WebCore::Editor::~Editor):
              (WebCore::Editor::cut):
              (WebCore::Editor::copy):
              (WebCore::Editor::paste):
              (WebCore::Editor::performDelete):
              
              * editing/Editor.h: Added.
              
              * page/Frame.h:
              Added an EditingClient to the constructor, to pass down to Editor constructor
      
              * page/Frame.cpp:
              (WebCore::Frame::Frame):
              Passed down to Editor constructor
              (WebCore::Frame::editor):
              Accessfor for Editor stored in FramePrivate
              
              * page/FramePrivate.h:
              (WebCore::FramePrivate::FramePrivate):
              Added an Editor object to the FramePrivate data
              
              * platform/Sound.h: Added.
              Made a platform-independent accessor to a beep function
              
              * platform/mac/SoundMac.mm: Added.
              (WebCore::systemBeep):
              calls mac system beep
      
      WebKit:
      
              Reviewed by Maciej.
      
              Adding knowledge of EditorClient to WebKit
      
              * WebCoreSupport/WebEditorClient.h: Added.
      
              * WebCoreSupport/WebEditorClient.mm: Added.
              (WebEditorClient::WebEditorClient):
              (WebEditorClient::~WebEditorClient):
              (WebEditorClient::shouldDeleteRange):
              Implementation of mac EditorClient
      
              * WebCoreSupport/WebFrameBridge.m:
              (-[WebFrameBridge initMainFrameWithPage:frameName:view:]):
              (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
              create an editor client to pass down the chain of constructors
      
              * WebKit.xcodeproj/project.pbxproj:
              Added related EditorClient files
      
              * WebKitPrefix.h:
              Added tiger build flag in order to make certain private headers from webcore compile successfully
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17179 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5a36ed98
  28. 19 Oct, 2006 1 commit
    • mjs's avatar
      Reviewed by Geoff. · 2425c726
      mjs authored
              - implement new ResourceRequest API and fix up code as appropriate
              
              * bindings/js/kjs_window.cpp:
              (KJS::createNewWindow):
              (KJS::WindowFunc::callAsFunction):
              * bridge/mac/BrowserExtensionMac.mm:
              (WebCore::BrowserExtensionMac::createNewWindow):
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::submitForm):
              (WebCore::FrameMac::openURLRequest):
              (WebCore::FrameMac::urlSelected):
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
              * dom/DOMImplementation.cpp:
              (WebCore::addString):
              (WebCore::isSVG10Feature):
              (WebCore::isSVG11Feature):
              * dom/Document.h:
              * editing/CommandByName.cpp:
              * editing/JSEditor.cpp:
              * page/Frame.cpp:
              (WebCore::Frame::changeLocation):
              (WebCore::Frame::urlSelected):
              (WebCore::Frame::requestFrame):
              (WebCore::Frame::submitForm):
              * page/Frame.h:
              * page/FramePrivate.h:
              * page/ResourceRequest.h:
              (WebCore::):
              (WebCore::ResourceRequest::ResourceRequest):
              (WebCore::ResourceRequest::cachePolicy):
              (WebCore::ResourceRequest::setCachePolicy):
              (WebCore::ResourceRequest::timeoutInterval):
              (WebCore::ResourceRequest::setTimeoutInterval):
              (WebCore::ResourceRequest::mainDocumentURL):
              (WebCore::ResourceRequest::setMainDocumentURL):
              (WebCore::ResourceRequest::httpMethod):
              (WebCore::ResourceRequest::setHTTPMethod):
              (WebCore::ResourceRequest::httpHeaderField):
              (WebCore::ResourceRequest::setHTTPHeaderField):
              (WebCore::ResourceRequest::httpContentType):
              (WebCore::ResourceRequest::setHTTPContentType):
              (WebCore::ResourceRequest::httpReferrer):
              (WebCore::ResourceRequest::setHTTPReferrer):
              (WebCore::ResourceRequest::httpUserAgent):
              (WebCore::ResourceRequest::setHTTPUserAgent):
              (WebCore::ResourceRequest::httpBody):
              (WebCore::ResourceRequest::setHTTPBody):
              (WebCore::ResourceRequest::addHTTPHeaderField):
              * platform/FontCache.cpp:
              (WebCore::computeHash):
              * platform/StringHash.h:
              (WTF::):
              * platform/StringImpl.cpp:
              (WebCore::equalIgnoringCase):
              * rendering/RenderPartObject.cpp:
              (WebCore::RenderPartObject::updateWidget):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17144 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2425c726
  29. 17 Oct, 2006 1 commit
    • ggaren's avatar
      Reviewed by Brady. · 84dc6664
      ggaren authored
              BrowserExtension cleanup.
              
              - Removed unnecessary #include of BrowserExtension in Frame.h, added
              #includes to compensate in other files.
              
              - Removed unused versions of createNewWindow.
              
              * bindings/js/kjs_window.cpp:
              * bridge/BrowserExtension.h:
              * bridge/mac/BrowserExtensionMac.h:
              * bridge/mac/BrowserExtensionMac.mm:
              (WebCore::BrowserExtensionMac::createNewWindow):
              * bridge/mac/WebCoreFrameBridge.mm:
              * html/HTMLFormElement.cpp:
              * loader/mac/LoaderFunctionsMac.mm:
              * page/Frame.h:
              * page/FramePrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17092 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      84dc6664
  30. 12 Oct, 2006 1 commit
    • mjs's avatar
      Reviewed by Eric. · 9475ecb5
      mjs authored
              - move m_responseMIMEType out of ResourceRequest, where it doesn't belong
      
              * page/FramePrivate.h: Add m_responseMIMEType
              * page/ResourceRequest.h: Remove m_responseMIMEType
              * page/Frame.cpp:
              (WebCore::Frame::setResponseMIMEType): added
              (WebCore::Frame::responseMIMEType): added
              (WebCore::Frame::begin): get MIME type from the right place
              (WebCore::Frame::write): ditto
              * page/Frame.h:
              * bindings/js/kjs_window.cpp:
              (KJS::createNewWindow): updated to use new Frame methods
              (KJS::WindowFunc::callAsFunction): ditto
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): ditto
              (-[WebCoreFrameBridge canProvideDocumentSource]): ditto
              * loader/PluginDocument.cpp:
              (WebCore::PluginTokenizer::createDocumentStructure): ditto
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17006 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9475ecb5
  31. 10 Oct, 2006 1 commit
    • adele's avatar
      WebCore: · 5eb2d5f4
      adele authored
              Reviewed by Beth. 
      
      
              - Fix for <rdar://problem/4707489> After timers fix, crash below RenderLayer::autoscroll after moving/destroying active <input type=text>
                and <rdar://problem/4707519> After timers fix, crash below RenderLayer::autoscroll after moving/destroying active textarea
      
              Moved autoscroll code to the Frame class
      
              * bridge/mac/FrameMac.h: Moved _mouseDownMayStartDrag and _mouseDownMayStartAutoscroll flags to the frame.
              * bridge/mac/FrameMac.mm: Use new getters and setters for drag and autoscroll flags.  Moved autoscroll code to Frame::handleMouseMoveEvent.
              (WebCore::FrameMac::FrameMac):
              (WebCore::FrameMac::handleMousePressEvent):
              (WebCore::FrameMac::eventMayStartDrag):
              (WebCore::FrameMac::handleMouseMoveEvent):
              (WebCore::FrameMac::mouseDown):
      
              * bridge/mac/WebCoreFrameBridge.h: Removed handleAutoscrollForMouseDragged, which called over the bridge for AppKit to do autoscroll for us.
              Now we scroll our views in WebCore.
      
              * page/Frame.cpp:
              (WebCore::Frame::handleMousePressEvent): Initialize the mouseDownMayStartAutoscroll flag.
              (WebCore::Frame::handleMouseMoveEvent): Now kicks off autoscroll if appropriate.  Moved from FrameMac.
              (WebCore::Frame::updateSelectionForMouseDragOverPosition): Factored code out from handleMouseMoveEvent so we can update the selection from autoscroll too.
              (WebCore::Frame::mouseDownMayStartAutoscroll): Added.
              (WebCore::Frame::setMouseDownMayStartAutoscroll): Added.
              (WebCore::Frame::mouseDownMayStartDrag): Added.
              (WebCore::Frame::setMouseDownMayStartDrag): Added.
              (WebCore::Frame::autoscrollRenderer): Added
              (WebCore::Frame::setAutoscrollRenderer): Added.
              (WebCore::Frame::handleAutoscroll): Updated to use autoscrollRenderer getter and setter.
              (WebCore::Frame::autoscrollTimerFired): ditto.
              (WebCore::Frame::stopAutoscrollTimer): ditto. 
              * page/Frame.h: Made autoscrollRenderer and stopAutoscrollTimer public, so the renderer being autoscrolled can kill the timer when it dies.
      
              * page/FramePrivate.h:
              (WebCore::FramePrivate::FramePrivate): Added mouseDownMayStartDrag and mouseDownMayStartAutoscroll flags.  Moved from FrameMac.
      
              * page/FrameView.cpp: Store the current mouse position in window coordinates.  The callers can convert to their own coordinate space.
              (WebCore::FrameView::handleMousePressEvent):
              (WebCore::FrameView::handleMouseDoubleClickEvent):
              (WebCore::FrameView::handleMouseMoveEvent):
              (WebCore::FrameView::handleMouseReleaseEvent):
      
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::autoscroll): Rewrote this to scroll recursively, and to scroll based on the mouse position (not the selection).  
               We also need to update the selection here, since autoscroll can occur without a mouseMove event, and the selection needs to get reset as we scroll.
      
              * rendering/RenderListBox.cpp:
              (WebCore::RenderListBox::autoscroll): Convert the mouse coordinates to the right space.
      
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::shouldAutoscroll): Also return true if the renderer is a root (so we know to autoscroll views too)
              (WebCore::RenderObject::destroy): If this renderer is being autoscrolled, stop the frame's autoscroll timer.
      
      WebKit:
      
              Reviewed by Beth.
      
              Removed handleAutoscrollForMouseDragged.  Except for autoscroll caused by drag and drop, all other
              autoscrolling should be done in WebCore instead of in AppKit.
      
              * WebCoreSupport/WebFrameBridge.m:
              * WebView/WebHTMLView.m:
              * WebView/WebHTMLViewPrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16975 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5eb2d5f4
  32. 02 Oct, 2006 1 commit
    • darin's avatar
      2006-10-03 Darin Adler <darin@apple.com> · e64e1d7b
      darin authored
              Reviewed by Justin Garcia.
      
              - correct mistaken code that would restart blinking every
                time "invalidateSelection" is called even if the caret
                has not moved
      
              * editing/SelectionController.h:
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::setSelection): Update for name change.
              (WebCore::SelectionController::recomputeCaretRect): New function.
              Computes caret rect and does any necessary invalidation if the rect
              changes.
              (WebCore::SelectionController::invalidateCaretRect): Renamed from
              needsCaretRepaint. Invalidates the caret rect unconditionally. Also
              calls recomputeCaretRect as a side effect.
      
              * page/Frame.cpp:
              (WebCore::Frame::invalidateSelection): Remove unneeded call to
              clearCaretRectIfNeeded.
              (WebCore::Frame::clearCaretRectIfNeeded): Updated for name change.
              (WebCore::Frame::selectionLayoutChanged): Restructured to use the new
              recomputeCaretRect function and not restart blinking if caret has
              not changed position.
              (WebCore::Frame::caretBlinkTimerFired): Removed some checks that
              are not needed since selectionLayoutChanged already checks these.
      
              * page/FramePrivate.h: Removed unused m_blinkCaret.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16727 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e64e1d7b
  33. 29 Sep, 2006 1 commit
    • adele's avatar
      Reviewed by Adam. · f989049f
      adele authored
              Initial implementation of engine-based list box control.
      
              * WebCore.xcodeproj/project.pbxproj: Added RenderListBox.h and RenderListBox.cpp
      
              * bridge/mac/FrameMac.h: Added _mouseDownMayStartAutoscroll.
              * bridge/mac/FrameMac.mm: Updated autoscroll code to use renderers instead of layers, so any renderer that implements autoscroll will work.
              (WebCore::FrameMac::FrameMac):
              (WebCore::FrameMac::handleMousePressEvent):
              (WebCore::FrameMac::handleMouseMoveEvent):
              (WebCore::FrameMac::mouseDown):
      
              * page/Frame.cpp:
              (WebCore::Frame::handleMouseMoveEvent):
              (WebCore::Frame::scrollOverflow): Don't scroll list box here- this would cause arrow keys to scroll instead of select.
              (WebCore::Frame::handleAutoscroll): Updated to use a renderer instead of a layer when setting up autoscroll.
              (WebCore::Frame::autoscrollTimerFired): ditto.
              (WebCore::Frame::stopAutoscrollTimer): ditto.
              (WebCore::Frame::passWidgetMouseDownEventToWidget): Updated to check for list box's scroll bar.
              * page/Frame.h:
              * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Updated to use renderer unstead of layer for autoscroll.
      
              * page/FrameView.cpp: Keep track of current mouse position so this can be used for list box autoscroll.
              (WebCore::FrameViewPrivate::reset):
              (WebCore::FrameView::currentMousePosition):
              (WebCore::FrameView::handleMousePressEvent):
              (WebCore::FrameView::handleMouseDoubleClickEvent):
              (WebCore::selectCursor):
              (WebCore::FrameView::handleMouseMoveEvent):
              (WebCore::FrameView::handleMouseReleaseEvent):
              * page/FrameView.h:
      
              * platform/ScrollBar.cpp: (WebCore::ScrollBar::ScrollBar): Added controlSize argument.  The list box will use a smaller scroll bar size.
              * platform/ScrollBar.h:
              (WebCore::):
              (WebCore::ScrollBar::controlSize):
              * platform/mac/PlatformScrollBar.h:
              * platform/mac/PlatformScrollBarMac.mm:
              (NSControlSizeForScrollBarControlSize):
              (-[WebCoreScrollBar initWithPlatformScrollBar:]):
              (WebCore::PlatformScrollBar::PlatformScrollBar):
      
              * rendering/RenderBlock.h:
              * rendering/RenderLayer.cpp: (WebCore::RenderLayer::createScrollbar): Updated to pass regular control size to scrollbar constructor.
              * rendering/RenderLayer.h:
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::shouldAutoscroll):
              (WebCore::RenderObject::autoscroll):
              * rendering/RenderObject.h: (WebCore::RenderObject::isListBox):
      
              * css/html4.css: Added properties for new list boxes.
      
              * html/HTMLOptionElement.cpp:
              (WebCore::HTMLOptionElement::setSelected): Doesn't allow selection to be changed here if the option is disabled.
              (WebCore::HTMLOptionElement::disabled): Added. Checks the parent's disabled status.
              * html/HTMLOptionElement.h: Added disabled method.
      
              * html/HTMLSelectElement.cpp: Added appearance switch for new list box implementation.
              (WebCore::HTMLSelectElement::recalcStyle):
              (WebCore::HTMLSelectElement::lastSelectedListIndex):
              (WebCore::HTMLSelectElement::deselectItems):
              (WebCore::HTMLSelectElement::setSelectedIndex):
              (WebCore::HTMLSelectElement::isKeyboardFocusable):
              (WebCore::HTMLSelectElement::isMouseFocusable):
              (WebCore::HTMLSelectElement::createRenderer):
              (WebCore::HTMLSelectElement::recalcListItems):
              (WebCore::HTMLSelectElement::setRecalcListItems):
              (WebCore::HTMLSelectElement::reset):
              (WebCore::HTMLSelectElement::notifyOptionSelected):
              (WebCore::HTMLSelectElement::defaultEventHandler): Added code to select options for list box when clicking and using arrow keys.
              (WebCore::HTMLSelectElement::nextSelectableListIndex):
              (WebCore::HTMLSelectElement::previousSelectableListIndex):
              * html/HTMLSelectElement.h:
      
              * rendering/RenderTheme.cpp: Added support for ListBoxAppearance
              (WebCore::RenderTheme::paint):
              (WebCore::RenderTheme::paintBorderOnly):
              (WebCore::RenderTheme::paintDecorations):
              (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor):
              (WebCore::RenderTheme::activeListBoxSelectionForegroundColor):
              (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor):
              (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor):
              (WebCore::RenderTheme::isControlStyled):
              (WebCore::RenderTheme::supportsFocusRing):
              * rendering/RenderTheme.h:
              * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::isControlStyled):
      
              * rendering/RenderListBox.cpp: Added.
              (WebCore::RenderListBox::RenderListBox):
              (WebCore::RenderListBox::~RenderListBox):
              (WebCore::RenderListBox::setStyle):
              (WebCore::RenderListBox::updateFromElement):
              (WebCore::RenderListBox::calcMinMaxWidth):
              (WebCore::RenderListBox::size):
              (WebCore::RenderListBox::numItems):
              (WebCore::RenderListBox::calcHeight):
              (WebCore::RenderListBox::baselinePosition):
              (WebCore::RenderListBox::itemBoundingBoxRect):
              (WebCore::RenderListBox::paintObject):
              (WebCore::RenderListBox::paintScrollbar):
              (WebCore::RenderListBox::paintItemForeground):
              (WebCore::RenderListBox::paintItemBackground):
              (WebCore::RenderListBox::scrollBarTarget):
              (WebCore::RenderListBox::isPointInScrollbar):
              (WebCore::RenderListBox::optionAtPoint):
              (WebCore::RenderListBox::autoscroll):
              (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
              (WebCore::RenderListBox::scroll):
              (WebCore::RenderListBox::valueChanged):
              * rendering/RenderListBox.h: Added.
              (WebCore::RenderListBox::isListBox):
              (WebCore::RenderListBox::selectionChanged):
              (WebCore::RenderListBox::setSelectionChanged):
              (WebCore::RenderListBox::canHaveChildren):
              (WebCore::RenderListBox::renderName):
              (WebCore::RenderListBox::setOptionsChanged):
              (WebCore::RenderListBox::shouldAutoscroll):
              (WebCore::RenderListBox::listIndexIsVisible):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f989049f
  34. 28 Sep, 2006 1 commit
  35. 18 Sep, 2006 1 commit
    • beidson's avatar
      WebCore: · b4e0cebe
      beidson authored
              Reviewed by Anders
      
              <rdar://problem/3028061> - WebKit never updates favicon
              The WebKit enforced expiration date for icons has worked for some time, but the
              move to the new Icon Loader broke the "always get the icon if the user refreshes the page" 
              functionality.  This patch fixes that up, along with some other architectural improvements,
              the main one being that WebCore::Document now contains an iconURL for the Frame to query if needed.
      
              * bridge/mac/FrameMac.h: Added isLoadTypeReload()
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::isLoadTypeReload): Implementation, calls into the bridge
              * bridge/mac/WebCoreFrameBridge.h: Added isLoadTypeReload:
              * bridge/win/FrameWin.h: Added isLoadTypeReload() for temporary link stub
              * dom/Document.h: Added m_iconURL
              (WebCore::Document::iconURL): Added
              (WebCore::Document::setIconURL): Ditto
              * html/HTMLLinkElement.cpp:
              (WebCore::HTMLLinkElement::process): Sets the iconURL in the Document instead of the Frame
              * page/Frame.cpp:
              (WebCore::Frame::iconURL): Calculates the iconURL based on the document, then the default favicon.ico url
              (WebCore::Frame::endIfNotLoading): Checks for the load type - always loads icon on Reload
              * page/Frame.h: Nuked setIconURL(), added isLoadTypeReload()
              * page/FramePrivate.h: Nuked IconURL
              * platform/win/TemporaryLinkStubs.cpp:
              (FrameWin::isLoadTypeReload):
      
      WebKit:
      
              Reviewed by Anders
      
              Implement a bridge method so WebCore can find the reload type of a frame load
      
              * WebCoreSupport/WebFrameBridge.m:
              (-[WebFrameBridge isLoadTypeReload]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16440 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b4e0cebe