Reviewed by Hyatt.
authordarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 19 Jan 2006 08:59:31 +0000 (08:59 +0000)
committerdarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 19 Jan 2006 08:59:31 +0000 (08:59 +0000)
        - removed all use of QMap

        * ForwardingHeaders/qmap.h: Removed.
        * WebCore.xcodeproj/project.pbxproj: Removed KWQMap.h, KWQMapImpl.h, KWQMapImpl.cpp.
        * kwq/KWQMap.h: Removed.
        * kwq/KWQMapImpl.cpp: Removed.
        * kwq/KWQMapImpl.h: Removed.

        * bridge/BrowserExtension.h: (WebCore::URLArgs::metaData): Converted from QMap of QString
        to HashMap of DOMString.
        * bridge/mac/BrowserExtensionMac.mm: Ditto.
        * bridge/mac/MacFrame.mm:
        (MacFrame::openURLRequest): Ditto.
        (MacFrame::urlSelected): Ditto.
        (MacFrame::createPart): Ditto.
        * khtml/ecma/kjs_window.cpp:
        (KJS::parseModalDialogFeatures): Ditto.
        (KJS::boolFeature): Ditto.
        (KJS::intFeature): Ditto.
        (KJS::createNewWindow): Ditto.
        (KJS::showModalDialog): Ditto.
        (KJS::WindowFunc::callAsFunction): Ditto.
        * khtml/html/html_objectimpl.cpp: (WebCore::HTMLAppletElementImpl::createRenderer): Ditto.
        * khtml/xml/dom_xmlimpl.cpp: (DOM::ProcessingInstructionImpl::checkStyleSheet): Ditto.
        * khtml/xml/xml_tokenizer.cpp:
        (WebCore::toString): Added. Converts to DOMString instead of QString.
        (WebCore::attributesStartElementNsHandler): Converted from QMap of QString to HashMap of DOMString.
        (WebCore::parseAttributes): Ditto.
        * khtml/xml/xml_tokenizer.h: (WebCore::Tokenizer::setTransformSource): Ditto.
        * ksvg2/misc/KSVGTimeScheduler.cpp: (KSVG::SVGTimer::notifyAll): Ditto.
        * kwq/KWQKJavaAppletWidget.h: Ditto.
        * kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::KJavaAppletWidget): Ditto.
        * kwq/KWQKJobClasses.h: Ditto.
        * kwq/KWQKJobClasses.mm: (KIO::TransferJob::addMetaData): Ditto.
        * page/Frame.cpp:
        (Frame::didOpenURL): Ditto.
        (Frame::changeLocation): Ditto.
        (Frame::mark): Ditto.
        (Frame::setMark): Ditto.
        (Frame::urlSelected): Ditto.
        (Frame::requestObject): Ditto.
        (Frame::processObjectRequest): Ditto.
        (Frame::submitForm): Ditto.
        * rendering/render_applet.cpp:
        (WebCore::RenderApplet::RenderApplet): Ditto.
        (WebCore::RenderApplet::createWidgetIfNecessary): Ditto.
        (WebCore::RenderApplet::layout): Ditto.
        * rendering/render_applet.h:
        (WebCore::RenderApplet::renderName): Ditto.
        (WebCore::RenderApplet::element): Ditto.
        (WebCore::RenderEmptyApplet::renderName): Ditto.

        * khtml/dom/dom_string.h:
        (WebCore::DOMString::createCFString): Added. Not yet implemented or used.
        (WebCore::DOMString::operator NSString*): Updated to call through to DOMStringImpl.
        Added hash functions and hash traits so you can use DOMString in hash tables.
        * khtml/xml/dom_stringimpl.h: Added conversion to and from CFStringRef/NSString.
        * khtml/xml/dom_stringimpl.cpp: Took out an excess "DOM::".

        * bindings/objc/DOMInternal.mm: (DOMStringImpl::operator NSString *): Moved from DOMString
        to DOMStringImpl.

        - changed the mark from a SelectionController to a Selection
          (maybe it can be a Position instead?)

        * page/Frame.h: Changed mark() and setMark() to use a Selection.
        * page/FramePrivate.h: Changed mark to a Selection.

        * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge setMarkDOMRange:]):
        Updated for change from SelectionController to Selection.

        - removed extraneous includes

        * kwq/KWQKHTMLSettings.h: Removed include of "KWQMap.h".
        * kwq/KWQKIOGlobal.h: Ditto.

        * khtml/editing/htmlediting.h: Removed extraneous includes and namespace prefixes.

        * khtml/html/html_canvasimpl.h: Removed extraneous includes and moved into the
        WebCore namespace.
        * khtml/html/html_canvasimpl.cpp: Ditto.
        * khtml/html/htmltokenizer.cpp: Ditto.
        * khtml/html/htmltokenizer.h: Ditto.
        * khtml/xml/DocumentImpl.cpp: Ditto.
        * kwq/KWQEditCommand.mm: Ditto.
        * rendering/render_canvasimage.h: Ditto.
        * rendering/render_image.h: Ditto.

        * khtml/editing/composite_edit_command.cpp: Updated includes because of ones
        that were removed from headers.
        * khtml/editing/htmlediting.cpp: Ditto.
        * khtml/editing/jsediting.cpp: Ditto.
        * khtml/editing/replace_selection_command.cpp: Ditto.
        * rendering/render_canvasimage.cpp: Ditto.
        * rendering/render_image.cpp: Ditto.

        * loader/loader.cpp: (WebCore::Loader::servePendingRequests): Removed code to add the
        cache control string, since that was hardcoded to empty string anyway.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@12233 268f45cc-cd09-0410-ab3c-d52691b4dbfc

47 files changed:
WebCore/ChangeLog
WebCore/ForwardingHeaders/qmap.h [deleted file]
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/bindings/objc/DOMInternal.mm
WebCore/bridge/BrowserExtension.h
WebCore/bridge/mac/BrowserExtensionMac.mm
WebCore/bridge/mac/MacFrame.mm
WebCore/bridge/mac/WebCoreFrameBridge.mm
WebCore/khtml/dom/dom_string.h
WebCore/khtml/ecma/kjs_window.cpp
WebCore/khtml/editing/composite_edit_command.cpp
WebCore/khtml/editing/htmlediting.cpp
WebCore/khtml/editing/htmlediting.h
WebCore/khtml/editing/jsediting.cpp
WebCore/khtml/editing/replace_selection_command.cpp
WebCore/khtml/html/html_canvasimpl.cpp
WebCore/khtml/html/html_canvasimpl.h
WebCore/khtml/html/html_objectimpl.cpp
WebCore/khtml/html/htmltokenizer.cpp
WebCore/khtml/html/htmltokenizer.h
WebCore/khtml/xml/DocumentImpl.cpp
WebCore/khtml/xml/dom_stringimpl.cpp
WebCore/khtml/xml/dom_stringimpl.h
WebCore/khtml/xml/dom_xmlimpl.cpp
WebCore/khtml/xml/xml_tokenizer.cpp
WebCore/khtml/xml/xml_tokenizer.h
WebCore/ksvg2/misc/KSVGTimeScheduler.cpp
WebCore/kwq/KWQEditCommand.mm
WebCore/kwq/KWQKHTMLSettings.h
WebCore/kwq/KWQKIOGlobal.h
WebCore/kwq/KWQKJavaAppletWidget.h
WebCore/kwq/KWQKJavaAppletWidget.mm
WebCore/kwq/KWQKJobClasses.h
WebCore/kwq/KWQKJobClasses.mm
WebCore/kwq/KWQMap.h [deleted file]
WebCore/kwq/KWQMapImpl.cpp [deleted file]
WebCore/kwq/KWQMapImpl.h [deleted file]
WebCore/loader/loader.cpp
WebCore/page/Frame.cpp
WebCore/page/Frame.h
WebCore/page/FramePrivate.h
WebCore/rendering/render_applet.cpp
WebCore/rendering/render_applet.h
WebCore/rendering/render_canvasimage.cpp
WebCore/rendering/render_canvasimage.h
WebCore/rendering/render_image.cpp
WebCore/rendering/render_image.h

index fbcdcb42db1a23a9f13c7becd39d0600657ddbdb..825101825410564e0c78406f689baf3a5107e024 100644 (file)
@@ -1,3 +1,106 @@
+2006-01-18  Darin Adler  <darin@apple.com>
+
+        Reviewed by Hyatt.
+
+        - removed all use of QMap
+
+        * ForwardingHeaders/qmap.h: Removed.
+        * WebCore.xcodeproj/project.pbxproj: Removed KWQMap.h, KWQMapImpl.h, KWQMapImpl.cpp.
+        * kwq/KWQMap.h: Removed.
+        * kwq/KWQMapImpl.cpp: Removed.
+        * kwq/KWQMapImpl.h: Removed.
+
+        * bridge/BrowserExtension.h: (WebCore::URLArgs::metaData): Converted from QMap of QString
+        to HashMap of DOMString.
+        * bridge/mac/BrowserExtensionMac.mm: Ditto.
+        * bridge/mac/MacFrame.mm:
+        (MacFrame::openURLRequest): Ditto.
+        (MacFrame::urlSelected): Ditto.
+        (MacFrame::createPart): Ditto.
+        * khtml/ecma/kjs_window.cpp:
+        (KJS::parseModalDialogFeatures): Ditto.
+        (KJS::boolFeature): Ditto.
+        (KJS::intFeature): Ditto.
+        (KJS::createNewWindow): Ditto.
+        (KJS::showModalDialog): Ditto.
+        (KJS::WindowFunc::callAsFunction): Ditto.
+        * khtml/html/html_objectimpl.cpp: (WebCore::HTMLAppletElementImpl::createRenderer): Ditto.
+        * khtml/xml/dom_xmlimpl.cpp: (DOM::ProcessingInstructionImpl::checkStyleSheet): Ditto.
+        * khtml/xml/xml_tokenizer.cpp:
+        (WebCore::toString): Added. Converts to DOMString instead of QString.
+        (WebCore::attributesStartElementNsHandler): Converted from QMap of QString to HashMap of DOMString.
+        (WebCore::parseAttributes): Ditto.
+        * khtml/xml/xml_tokenizer.h: (WebCore::Tokenizer::setTransformSource): Ditto.
+        * ksvg2/misc/KSVGTimeScheduler.cpp: (KSVG::SVGTimer::notifyAll): Ditto.
+        * kwq/KWQKJavaAppletWidget.h: Ditto.
+        * kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::KJavaAppletWidget): Ditto.
+        * kwq/KWQKJobClasses.h: Ditto.
+        * kwq/KWQKJobClasses.mm: (KIO::TransferJob::addMetaData): Ditto.
+        * page/Frame.cpp:
+        (Frame::didOpenURL): Ditto.
+        (Frame::changeLocation): Ditto.
+        (Frame::mark): Ditto.
+        (Frame::setMark): Ditto.
+        (Frame::urlSelected): Ditto.
+        (Frame::requestObject): Ditto.
+        (Frame::processObjectRequest): Ditto.
+        (Frame::submitForm): Ditto.
+        * rendering/render_applet.cpp:
+        (WebCore::RenderApplet::RenderApplet): Ditto.
+        (WebCore::RenderApplet::createWidgetIfNecessary): Ditto.
+        (WebCore::RenderApplet::layout): Ditto.
+        * rendering/render_applet.h:
+        (WebCore::RenderApplet::renderName): Ditto.
+        (WebCore::RenderApplet::element): Ditto.
+        (WebCore::RenderEmptyApplet::renderName): Ditto.
+
+        * khtml/dom/dom_string.h:
+        (WebCore::DOMString::createCFString): Added. Not yet implemented or used.
+        (WebCore::DOMString::operator NSString*): Updated to call through to DOMStringImpl.
+        Added hash functions and hash traits so you can use DOMString in hash tables.
+        * khtml/xml/dom_stringimpl.h: Added conversion to and from CFStringRef/NSString.
+        * khtml/xml/dom_stringimpl.cpp: Took out an excess "DOM::".
+
+        * bindings/objc/DOMInternal.mm: (DOMStringImpl::operator NSString *): Moved from DOMString
+        to DOMStringImpl.
+
+        - changed the mark from a SelectionController to a Selection
+          (maybe it can be a Position instead?)
+
+        * page/Frame.h: Changed mark() and setMark() to use a Selection.
+        * page/FramePrivate.h: Changed mark to a Selection.
+
+        * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge setMarkDOMRange:]):
+        Updated for change from SelectionController to Selection.
+
+        - removed extraneous includes
+
+        * kwq/KWQKHTMLSettings.h: Removed include of "KWQMap.h".
+        * kwq/KWQKIOGlobal.h: Ditto.
+
+        * khtml/editing/htmlediting.h: Removed extraneous includes and namespace prefixes.
+
+        * khtml/html/html_canvasimpl.h: Removed extraneous includes and moved into the
+        WebCore namespace.
+        * khtml/html/html_canvasimpl.cpp: Ditto.
+        * khtml/html/htmltokenizer.cpp: Ditto.
+        * khtml/html/htmltokenizer.h: Ditto.
+        * khtml/xml/DocumentImpl.cpp: Ditto.
+        * kwq/KWQEditCommand.mm: Ditto.
+        * rendering/render_canvasimage.h: Ditto.
+        * rendering/render_image.h: Ditto.
+
+        * khtml/editing/composite_edit_command.cpp: Updated includes because of ones
+        that were removed from headers.
+        * khtml/editing/htmlediting.cpp: Ditto.
+        * khtml/editing/jsediting.cpp: Ditto.
+        * khtml/editing/replace_selection_command.cpp: Ditto.
+        * rendering/render_canvasimage.cpp: Ditto.
+        * rendering/render_image.cpp: Ditto.
+
+        * loader/loader.cpp: (WebCore::Loader::servePendingRequests): Removed code to add the
+        cache control string, since that was hardcoded to empty string anyway.
+
 2006-01-19  Eric Seidel  <eseidel@apple.com>
 
         Reviewed by darin.
diff --git a/WebCore/ForwardingHeaders/qmap.h b/WebCore/ForwardingHeaders/qmap.h
deleted file mode 100644 (file)
index 7e683a4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include "KWQMap.h"
index 1cd7f861733b3debc49c690366bcf9b0e8da2276..ffe8bcbc199b6118896e6d550f70a12f1042a4cb 100644 (file)
                93F1996D08245E59001E9ABC /* KWQListImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = F587851502DE375901EA4122 /* KWQListImpl.h */; };
                93F1996E08245E59001E9ABC /* KWQLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = F587851702DE375901EA4122 /* KWQLoader.h */; };
                93F1996F08245E59001E9ABC /* KWQLogging.h in Headers */ = {isa = PBXBuildFile; fileRef = 93861DDF032C2E52008635CE /* KWQLogging.h */; };
-               93F1997008245E59001E9ABC /* KWQMap.h in Headers */ = {isa = PBXBuildFile; fileRef = F587869A02DE3B8601EA4122 /* KWQMap.h */; };
-               93F1997108245E59001E9ABC /* KWQMapImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = F587851802DE375901EA4122 /* KWQMapImpl.h */; };
                93F1997508245E59001E9ABC /* KWQNamespace.h in Headers */ = {isa = PBXBuildFile; fileRef = F587869E02DE3B8601EA4122 /* KWQNamespace.h */; };
                93F1997608245E59001E9ABC /* KWQObject.h in Headers */ = {isa = PBXBuildFile; fileRef = F587869F02DE3B8601EA4122 /* KWQObject.h */; };
                93F1997708245E59001E9ABC /* KWQPageState.h in Headers */ = {isa = PBXBuildFile; fileRef = 9394E0A403AA5BBE008635CE /* KWQPageState.h */; };
                93F19A3A08245E59001E9ABC /* KWQLineEdit.mm in Sources */ = {isa = PBXBuildFile; fileRef = F587851202DE375901EA4122 /* KWQLineEdit.mm */; };
                93F19A3B08245E59001E9ABC /* KWQListBox.mm in Sources */ = {isa = PBXBuildFile; fileRef = F587851402DE375901EA4122 /* KWQListBox.mm */; };
                93F19A3C08245E59001E9ABC /* KWQListImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F587851602DE375901EA4122 /* KWQListImpl.cpp */; };
-               93F19A3D08245E59001E9ABC /* KWQMapImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F587851902DE375901EA4122 /* KWQMapImpl.cpp */; };
                93F19A3F08245E59001E9ABC /* KWQTextField.mm in Sources */ = {isa = PBXBuildFile; fileRef = F587851C02DE375901EA4122 /* KWQTextField.mm */; };
                93F19A4008245E59001E9ABC /* KWQObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F587851D02DE375901EA4122 /* KWQObject.cpp */; };
                93F19A4108245E59001E9ABC /* KWQPaintDeviceMetrics.mm in Sources */ = {isa = PBXBuildFile; fileRef = F587851E02DE375901EA4122 /* KWQPaintDeviceMetrics.mm */; };
                A88AD1AF0952480A001DD196 /* KWQListImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = F587851502DE375901EA4122 /* KWQListImpl.h */; };
                A88AD1B00952480A001DD196 /* KWQLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = F587851702DE375901EA4122 /* KWQLoader.h */; };
                A88AD1B10952480A001DD196 /* KWQLogging.h in Headers */ = {isa = PBXBuildFile; fileRef = 93861DDF032C2E52008635CE /* KWQLogging.h */; };
-               A88AD1B20952480A001DD196 /* KWQMap.h in Headers */ = {isa = PBXBuildFile; fileRef = F587869A02DE3B8601EA4122 /* KWQMap.h */; };
-               A88AD1B30952480A001DD196 /* KWQMapImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = F587851802DE375901EA4122 /* KWQMapImpl.h */; };
                A88AD1B50952480A001DD196 /* KWQNamespace.h in Headers */ = {isa = PBXBuildFile; fileRef = F587869E02DE3B8601EA4122 /* KWQNamespace.h */; };
                A88AD1B60952480A001DD196 /* KWQObject.h in Headers */ = {isa = PBXBuildFile; fileRef = F587869F02DE3B8601EA4122 /* KWQObject.h */; };
                A88AD1B70952480A001DD196 /* KWQPageState.h in Headers */ = {isa = PBXBuildFile; fileRef = 9394E0A403AA5BBE008635CE /* KWQPageState.h */; };
                A88AD2970952480A001DD196 /* KWQLineEdit.mm in Sources */ = {isa = PBXBuildFile; fileRef = F587851202DE375901EA4122 /* KWQLineEdit.mm */; };
                A88AD2980952480A001DD196 /* KWQListBox.mm in Sources */ = {isa = PBXBuildFile; fileRef = F587851402DE375901EA4122 /* KWQListBox.mm */; };
                A88AD2990952480A001DD196 /* KWQListImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F587851602DE375901EA4122 /* KWQListImpl.cpp */; };
-               A88AD29A0952480A001DD196 /* KWQMapImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F587851902DE375901EA4122 /* KWQMapImpl.cpp */; };
                A88AD29B0952480A001DD196 /* KWQTextField.mm in Sources */ = {isa = PBXBuildFile; fileRef = F587851C02DE375901EA4122 /* KWQTextField.mm */; };
                A88AD29C0952480A001DD196 /* KWQObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F587851D02DE375901EA4122 /* KWQObject.cpp */; };
                A88AD29D0952480A001DD196 /* KWQPaintDeviceMetrics.mm in Sources */ = {isa = PBXBuildFile; fileRef = F587851E02DE375901EA4122 /* KWQPaintDeviceMetrics.mm */; };
                F587851502DE375901EA4122 /* KWQListImpl.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = KWQListImpl.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                F587851602DE375901EA4122 /* KWQListImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KWQListImpl.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                F587851702DE375901EA4122 /* KWQLoader.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = KWQLoader.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               F587851802DE375901EA4122 /* KWQMapImpl.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = KWQMapImpl.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               F587851902DE375901EA4122 /* KWQMapImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KWQMapImpl.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                F587851B02DE375901EA4122 /* KWQTextField.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = KWQTextField.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                F587851C02DE375901EA4122 /* KWQTextField.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = KWQTextField.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                F587851D02DE375901EA4122 /* KWQObject.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KWQObject.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                F587869602DE3B8601EA4122 /* KWQIODevice.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = KWQIODevice.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                F587869802DE3B8601EA4122 /* KWQLineEdit.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = KWQLineEdit.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                F587869902DE3B8601EA4122 /* KWQPtrList.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = KWQPtrList.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               F587869A02DE3B8601EA4122 /* KWQMap.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = KWQMap.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                F587869E02DE3B8601EA4122 /* KWQNamespace.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = KWQNamespace.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                F587869F02DE3B8601EA4122 /* KWQObject.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = KWQObject.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                F58786A102DE3B8601EA4122 /* KWQPaintDevice.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = KWQPaintDevice.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                                F587869902DE3B8601EA4122 /* KWQPtrList.h */,
                                F587851502DE375901EA4122 /* KWQListImpl.h */,
                                F587851602DE375901EA4122 /* KWQListImpl.cpp */,
-                               F587869A02DE3B8601EA4122 /* KWQMap.h */,
-                               F587851802DE375901EA4122 /* KWQMapImpl.h */,
-                               F587851902DE375901EA4122 /* KWQMapImpl.cpp */,
                                F587869E02DE3B8601EA4122 /* KWQNamespace.h */,
                                F587869F02DE3B8601EA4122 /* KWQObject.h */,
                                F587851D02DE375901EA4122 /* KWQObject.cpp */,
                                93F1996D08245E59001E9ABC /* KWQListImpl.h in Headers */,
                                93F1996E08245E59001E9ABC /* KWQLoader.h in Headers */,
                                93F1996F08245E59001E9ABC /* KWQLogging.h in Headers */,
-                               93F1997008245E59001E9ABC /* KWQMap.h in Headers */,
-                               93F1997108245E59001E9ABC /* KWQMapImpl.h in Headers */,
                                93F1997508245E59001E9ABC /* KWQNamespace.h in Headers */,
                                93F1997608245E59001E9ABC /* KWQObject.h in Headers */,
                                93F1997708245E59001E9ABC /* KWQPageState.h in Headers */,
                                A88AD1AF0952480A001DD196 /* KWQListImpl.h in Headers */,
                                A88AD1B00952480A001DD196 /* KWQLoader.h in Headers */,
                                A88AD1B10952480A001DD196 /* KWQLogging.h in Headers */,
-                               A88AD1B20952480A001DD196 /* KWQMap.h in Headers */,
-                               A88AD1B30952480A001DD196 /* KWQMapImpl.h in Headers */,
                                A88AD1B50952480A001DD196 /* KWQNamespace.h in Headers */,
                                A88AD1B60952480A001DD196 /* KWQObject.h in Headers */,
                                A88AD1B70952480A001DD196 /* KWQPageState.h in Headers */,
                                93F19A3A08245E59001E9ABC /* KWQLineEdit.mm in Sources */,
                                93F19A3B08245E59001E9ABC /* KWQListBox.mm in Sources */,
                                93F19A3C08245E59001E9ABC /* KWQListImpl.cpp in Sources */,
-                               93F19A3D08245E59001E9ABC /* KWQMapImpl.cpp in Sources */,
                                93F19A3F08245E59001E9ABC /* KWQTextField.mm in Sources */,
                                93F19A4008245E59001E9ABC /* KWQObject.cpp in Sources */,
                                93F19A4108245E59001E9ABC /* KWQPaintDeviceMetrics.mm in Sources */,
                                A88AD2970952480A001DD196 /* KWQLineEdit.mm in Sources */,
                                A88AD2980952480A001DD196 /* KWQListBox.mm in Sources */,
                                A88AD2990952480A001DD196 /* KWQListImpl.cpp in Sources */,
-                               A88AD29A0952480A001DD196 /* KWQMapImpl.cpp in Sources */,
                                A88AD29B0952480A001DD196 /* KWQTextField.mm in Sources */,
                                A88AD29C0952480A001DD196 /* KWQObject.cpp in Sources */,
                                A88AD29D0952480A001DD196 /* KWQPaintDeviceMetrics.mm in Sources */,
index f19e6190c5e1a23e9d903e2483e0dff320acfca5..8e706799da6d16f2a5410913fe7a85270d8727cc 100644 (file)
@@ -119,9 +119,9 @@ void raiseDOMException(int code)
 //------------------------------------------------------------------------------------------
 // DOMString/NSString bridging
 
-DOMString::operator NSString *() const
+DOMStringImpl::operator NSString *() const
 {
-    return [NSString stringWithCharacters:reinterpret_cast<const unichar *>(unicode()) length:length()];
+    return [NSString stringWithCharacters:reinterpret_cast<const unichar *>(s) length:l];
 }
 
 DOMString::DOMString(NSString *str)
index 7083e04d828255636968ff291a85de517c70b140..1a5bf4db183bcc36fc79a1ccd081ce450a5ec4f4 100644 (file)
 #ifndef BROWSEREXTENSION_H_
 #define BROWSEREXTENSION_H_
 
-#include "KWQEvent.h"
-#include "KWQMap.h"
-#include "IntPointArray.h"
-
-#include "KWQKURL.h"
-#include "KWQObject.h"
-
+#include "dom_string.h"
 #include "formdata.h"
+#include <kxmlcore/HashMap.h>
+#include <qobject.h>
 
+class KURL;
 class ObjectContents;
 
 namespace WebCore {
@@ -42,7 +39,7 @@ namespace WebCore {
 struct URLArgs {
 
     QString frameName;
-    khtml::FormData postData;
+    FormData postData;
     bool reload;
     QString serviceType;
     int xOffset;
@@ -59,14 +56,14 @@ struct URLArgs {
     bool lockHistory() const { return m_lockHistory; }
     void setLockHistory(bool lock) { m_lockHistory = lock; }
 
-    QMap<QString, QString> &metaData() { return m_metadata; }
-    const QMap<QString, QString> &metaData() const { return m_metadata; }
+    HashMap<DOMString, DOMString>& metaData() { return m_metadata; }
+    const HashMap<DOMString, DOMString>& metaData() const { return m_metadata; }
 
 private:
     QString m_contentType;
     bool m_doPost;
     bool m_lockHistory;
-    QMap<QString, QString> m_metadata;
+    HashMap<DOMString, DOMString> m_metadata;
 };
 
 struct WindowArgs {
index 4c2c6bcfcf9eefadf87fa2c946717d54c0757b9e..243f6587bcc2080f864098285373a0bb4731fa0d 100644 (file)
 #import "config.h"
 #import "BrowserExtensionMac.h"
 
-#import <kxmlcore/Assertions.h>
 #import "KWQExceptions.h"
-#import "WebCoreFrameBridge.h"
 #import "MacFrame.h"
+#import "WebCoreFrameBridge.h"
+#import <kxmlcore/Assertions.h>
 
-using namespace WebCore;
+namespace WebCore {
 
 BrowserExtensionMac::BrowserExtensionMac(Frame *frame)
     : m_frame(Mac(frame))
 {
 }
 
-void BrowserExtensionMac::openURLRequest(const KURL &url, 
-                                              const URLArgs &args)
+void BrowserExtensionMac::openURLRequest(const KURL& url, const URLArgs& args)
 {
     if (url.protocol().lower() == "javascript") {
        m_frame->createEmptyDocument();
@@ -53,8 +52,7 @@ void BrowserExtensionMac::openURLNotify()
 {
 }
 
-void BrowserExtensionMac::createNewWindow(const KURL &url, 
-                                               const URLArgs &urlArgs) 
+void BrowserExtensionMac::createNewWindow(const KURL &url, const URLArgs &urlArgs) 
 {
     createNewWindow(url, urlArgs, WindowArgs(), NULL);
 }
@@ -81,13 +79,13 @@ void BrowserExtensionMac::createNewWindow(const KURL &url,
 
     NSString *frameName = urlArgs.frameName.length() == 0 ? nil : urlArgs.frameName.getNSString();
     if (frameName) {
-        // FIXME: Can't you just use m_frame->findFrame?
+        // FIXME: Can't we just use m_frame->findFrame?
         if (WebCoreFrameBridge *bridge = [m_frame->bridge() findFrameNamed:frameName]) {
             if (!url.isEmpty()) {
-                QString argsReferrer = urlArgs.metaData()["referrer"];
+                DOMString argsReferrer = urlArgs.metaData().get("referrer");
                 NSString *referrer;
-                if (argsReferrer.length() > 0)
-                    referrer = argsReferrer.getNSString();
+                if (!argsReferrer.isEmpty())
+                    referrer = argsReferrer;
                 else
                     referrer = [m_frame->bridge() referrer];
 
@@ -216,3 +214,5 @@ void BrowserExtensionMac::runModal()
     [m_frame->bridge() runModal];
     KWQ_UNBLOCK_EXCEPTIONS;
 }
+
+}
index f49a88833d462175ecdfff6064c6c1719d217c71..f21225162537ce70c37187cbdc848fca08bca50c 100644 (file)
@@ -62,6 +62,7 @@
 #import "dom_textimpl.h"
 #import "html_documentimpl.h"
 #import "html_tableimpl.h"
+#import "khtml_events.h"
 #import "kjs_binding.h"
 #import "kjs_window.h"
 #import "render_canvas.h"
@@ -96,6 +97,11 @@ using namespace KIO;
 
 using namespace KParts;
 
+@interface NSObject (WebPlugIn)
+- (id)objectForWebScript;
+- (void *)pluginScriptableObject;
+@end
+
 NSEvent *MacFrame::_currentEvent = nil;
 
 void Frame::completed()
@@ -210,12 +216,11 @@ void MacFrame::openURLRequest(const KURL &url, const URLArgs &args)
     KWQ_BLOCK_EXCEPTIONS;
 
     NSString *referrer;
-    QString argsReferrer = args.metaData()["referrer"];
-    if (!argsReferrer.isEmpty()) {
-        referrer = argsReferrer.getNSString();
-    } else {
+    DOMString argsReferrer = args.metaData().get("referrer");
+    if (!argsReferrer.isEmpty())
+        referrer = argsReferrer;
+    else
         referrer = [_bridge referrer];
-    }
 
     [_bridge loadURL:url.getNSURL()
             referrer:referrer
@@ -589,12 +594,11 @@ void MacFrame::urlSelected(const KURL &url, int button, int state, const URLArgs
     KWQ_BLOCK_EXCEPTIONS;
 
     NSString *referrer;
-    QString argsReferrer = args.metaData()["referrer"];
-    if (!argsReferrer.isEmpty()) {
-        referrer = argsReferrer.getNSString();
-    } else {
+    DOMString argsReferrer = args.metaData().get("referrer");
+    if (!argsReferrer.isEmpty())
+        referrer = argsReferrer;
+    else
         referrer = [_bridge referrer];
-    }
 
     [_bridge loadURL:url.getNSURL()
             referrer:referrer
@@ -649,7 +653,7 @@ ObjectContents *MacFrame::createPart(const ChildFrame &child, const KURL &url, c
         }
         WebCoreFrameBridge *childBridge = [_bridge createChildFrameNamed:child.m_name.getNSString()
                                                             withURL:url.getNSURL()
-                                                           referrer:child.m_args.metaData()["referrer"].getNSString()
+                                                           referrer:child.m_args.metaData().get("referrer")
                                                          renderPart:child.m_renderer
                                                     allowsScrolling:allowsScrolling
                                                         marginWidth:marginWidth
@@ -3130,11 +3134,6 @@ KJS::Bindings::Instance *MacFrame::getAppletInstanceForWidget(QWidget *widget)
     return 0;
 }
 
-@interface NSObject (WebPlugIn)
-- (id)objectForWebScript;
-- (void *)pluginScriptableObject;
-@end
-
 static KJS::Bindings::Instance *getInstanceForView(NSView *aView)
 {
     if ([aView respondsToSelector:@selector(objectForWebScript)]){
index 5c1f5a9409567a81d9d13e188620add2e35d4c47..7fbefde479570ee149c855455c144fd8d6c1122a 100644 (file)
@@ -56,6 +56,7 @@
 #import "WebCoreTextRendererFactory.h"
 #import "WebCoreViewFactory.h"
 #import "csshelper.h"
+#import "delete_selection_command.h"
 #import "dom2_eventsimpl.h"
 #import "dom2_range.h"
 #import "dom2_rangeimpl.h"
 #import "kjs_window.h"
 #import "loader.h"
 #import "markup.h"
+#import "move_selection_command.h"
 #import "render_canvas.h"
 #import "render_frames.h"
 #import "render_image.h"
 #import "render_object.h"
 #import "render_replaced.h"
 #import "render_style.h"
+#import "replace_selection_command.h"
+#import "typing_command.h"
 #import "visible_position.h"
 #import "visible_text.h"
 #import "visible_units.h"
@@ -1993,7 +1997,8 @@ static HTMLFormElementImpl *formElementFromDOMElement(DOMElement *element)
 
 - (void)setMarkDOMRange:(DOMRange *)range
 {
-    m_frame->setMark(SelectionController([range _rangeImpl], SEL_DEFAULT_AFFINITY));
+    RangeImpl* r = [range _rangeImpl];
+    m_frame->setMark(Selection(startPosition(r), endPosition(r), SEL_DEFAULT_AFFINITY));
 }
 
 - (DOMRange *)markDOMRange
index d3b4c6075168a15513050feb62c31174229f221c..8f57cdd3a7a8e16bd025a59fdd5945bc803871c6 100644 (file)
@@ -108,14 +108,18 @@ public:
 
     DOMString copy() const;
 
-    bool isNull()  const { return (m_impl == 0); }
+    bool isNull()  const { return !m_impl; }
     bool isEmpty()  const;
 
     DOMStringImpl *impl() const { return m_impl.get(); }
 
-#ifdef __OBJC__
-    DOMString(NSString *);
-    operator NSString *() const;
+#if __APPLE__
+    DOMString(CFStringRef);
+    CFStringRef createCFString() const { return m_impl ? m_impl->createCFString() : CFSTR(""); }
+#endif
+#if __OBJC__
+    DOMString(NSString*);
+    operator NSString*() const { if (!m_impl) return @""; return *m_impl; }
 #endif
 
 #ifndef NDEBUG
@@ -148,4 +152,21 @@ inline bool operator!=(const QString& b, const DOMString& a ) { return !(a == b)
 
 }
 
+namespace KXMLCore {
+
+    template<> struct DefaultHash<WebCore::DOMString> {
+        static unsigned hash(const WebCore::DOMString& key) { return key.impl()->hash(); }
+        static bool equal(const WebCore::DOMString& a, const WebCore::DOMString& b)
+            { return DefaultHash<WebCore::DOMStringImpl*>::equal(a.impl(), b.impl()); }
+    };
+    
+    template<> struct HashTraits<WebCore::DOMString> {
+        typedef WebCore::DOMString TraitType;
+        static const bool emptyValueIsZero = true;
+        static const bool needsDestruction = true;
+        static TraitType emptyValue() { return TraitType(); }
+        static TraitType deletedValue() { return HashTraits<RefPtr<WebCore::DOMStringImpl> >::_deleted.get(); }
+    };
+}
+
 #endif
index f5220bba5bc5e466580e0140668f3308d9540479..fbba18da1e67912ba628eb8574912b75f921e8f7 100644 (file)
@@ -469,9 +469,9 @@ static bool allowPopUp(ExecState *exec, Window *window)
             || static_cast<ScriptInterpreter *>(exec->dynamicInterpreter())->wasRunByUserGesture());
 }
 
-static QMap<QString, QString> parseModalDialogFeatures(ExecState *exec, JSValue *featuresArg)
+static HashMap<DOMString, DOMString> parseModalDialogFeatures(ExecState *exec, JSValue *featuresArg)
 {
-    QMap<QString, QString> map;
+    HashMap<DOMString, DOMString> map;
 
     QStringList features = QStringList::split(';', featuresArg->toString(exec).qstring());
     QStringList::ConstIterator end = features.end();
@@ -485,35 +485,35 @@ static QMap<QString, QString> parseModalDialogFeatures(ExecState *exec, JSValue
             pos = colonPos;
         if (pos < 0) {
             // null string for value means key without value
-            map.insert(s.stripWhiteSpace().lower(), QString());
+            map.set(s.stripWhiteSpace().lower(), DOMString());
         } else {
             QString key = s.left(pos).stripWhiteSpace().lower();
             QString val = s.mid(pos + 1).stripWhiteSpace().lower();
             int spacePos = val.find(' ');
             if (spacePos != -1)
                 val = val.left(spacePos);
-            map.insert(key, val);
+            map.set(key, val);
         }
     }
 
     return map;
 }
 
-static bool boolFeature(const QMap<QString, QString> &features, const char *key, bool defaultValue = false)
+static bool boolFeature(const HashMap<DOMString, DOMString>& features, const char* key, bool defaultValue = false)
 {
-    QMap<QString, QString>::ConstIterator it = features.find(key);
+    HashMap<DOMString, DOMString>::const_iterator it = features.find(key);
     if (it == features.end())
         return defaultValue;
-    QString value = it.data();
+    const DOMString& value = it->second;
     return value.isNull() || value == "1" || value == "yes" || value == "on";
 }
 
-static int intFeature(const QMap<QString, QString> &features, const char *key, int min, int max, int defaultValue)
+static int intFeature(const HashMap<DOMString, DOMString> &features, const char *key, int min, int max, int defaultValue)
 {
-    QMap<QString, QString>::ConstIterator it = features.find(key);
+    HashMap<DOMString, DOMString>::const_iterator it = features.find(key);
     if (it == features.end())
         return defaultValue;
-    QString value = it.data();
+    QString value = it->second.qstring();
     // FIXME: Can't distinguish "0q" from string with no digits in it -- both return d == 0 and ok == false.
     // Would be good to tell them apart somehow since string with no digits should be default value and
     // "0q" should be minimum value.
@@ -542,7 +542,7 @@ static Frame *createNewWindow(ExecState *exec, Window *openerWindow, const QStri
 
     uargs.frameName = frameName;
     if (activePart)
-        uargs.metaData()["referrer"] = activePart->referrer();
+        uargs.metaData().set("referrer", activePart->referrer());
     uargs.serviceType = "text/html";
 
     // FIXME: It's much better for client API if a new window starts with a URL, here where we
@@ -597,7 +597,7 @@ static JSValue *showModalDialog(ExecState *exec, Window *openerWindow, const Lis
     if (!canShowModalDialogNow(openerWindow) || !allowPopUp(exec, openerWindow))
         return jsUndefined();
     
-    const QMap<QString, QString> features = parseModalDialogFeatures(exec, args[2]);
+    const HashMap<DOMString, DOMString> features = parseModalDialogFeatures(exec, args[2]);
 
     bool trusted = false;
 
@@ -1636,7 +1636,7 @@ JSValue *WindowFunc::callAsFunction(ExecState *exec, JSObject *thisObj, const Li
       
       // request window (new or existing if framename is set)
       ObjectContents *newPart = 0L;
-      uargs.metaData()["referrer"] = activePart->referrer();
+      uargs.metaData().set("referrer", activePart->referrer());
       frame->browserExtension()->createNewWindow("", uargs, windowArgs, newPart);
       if (!newPart || !newPart->inherits("Frame"))
           return jsUndefined();
index e7b3ea1109894e33df0516c58365beaeabdfcd0e..6b71b87fffbe12037c55b491ca72f82d16ce1eba 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005 Apple Computer, Inc.  All rights reserved.
+ * Copyright (C) 2005, 2006 Apple Computer, Inc.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -29,7 +29,9 @@
 #include "DocumentImpl.h"
 #include "InlineTextBox.h"
 #include "append_node_command.h"
+#include "apply_style_command.h"
 #include "delete_from_text_node_command.h"
+#include "delete_selection_command.h"
 #include "dom2_rangeimpl.h"
 #include "dom_textimpl.h"
 #include "htmlediting.h"
index 1f2446ec5cc362159cd3ca9c3fe0c688e12121e4..4365e46555388adf19f541418074c86862456609 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2004 Apple Computer, Inc.  All rights reserved.
+ * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
 #include "config.h"
 #include "htmlediting.h"
 
-#include "css_computedstyle.h"
-#include "css_value.h"
-#include "css_valueimpl.h"
-#include "cssparser.h"
-#include "cssproperties.h"
 #include "DocumentImpl.h"
-#include "dom_elementimpl.h"
-#include "dom_position.h"
-#include "dom_stringimpl.h"
-#include "dom_textimpl.h"
 #include "dom2_range.h"
-#include "dom2_rangeimpl.h"
-#include "html_elementimpl.h"
-#include "html_imageimpl.h"
+#include "dom_textimpl.h"
 #include "html_interchange.h"
 #include "htmlnames.h"
-#include "qcolor.h"
-#include "qptrlist.h"
 #include "render_object.h"
-#include "render_style.h"
-#include "RenderText.h"
 #include "visible_position.h"
-#include "visible_text.h"
-#include "visible_units.h"
-
-using namespace DOM::HTMLNames;
-
-using DOM::AttrImpl;
-using DOM::CSSComputedStyleDeclarationImpl;
-using DOM::CSSMutableStyleDeclarationImpl;
-using DOM::CSSParser;
-using DOM::CSSPrimitiveValue;
-using DOM::CSSPrimitiveValueImpl;
-using DOM::CSSProperty;
-using DOM::CSSStyleDeclarationImpl;
-using DOM::CSSValue;
-using DOM::CSSValueImpl;
-using DOM::DocumentFragmentImpl;
-using DOM::DocumentImpl;
-using DOM::DOMString;
-using DOM::DOMStringImpl;
-using DOM::DoNotUpdateLayout;
-using DOM::EditingTextImpl;
-using DOM::ElementImpl;
-using DOM::HTMLElementImpl;
-using DOM::HTMLImageElementImpl;
-using DOM::NamedAttrMapImpl;
-using DOM::NodeImpl;
-using DOM::NodeListImpl;
-using DOM::Position;
-using DOM::RangeImpl;
-using DOM::TextImpl;
-using DOM::TreeWalkerImpl;
-
-#include <kxmlcore/Assertions.h>
-#include "KWQLogging.h"
-#include "KWQRegExp.h"
-
-namespace khtml {
+#include <qregexp.h>
+
+namespace WebCore {
+
+using namespace HTMLNames;
 
 // Atomic means that the node has no children, or has children which are ignored for the
 // purposes of editing.
@@ -162,7 +115,7 @@ DOMString &nonBreakingSpaceString()
     return nonBreakingSpaceString;
 }
 
-void derefNodesInList(QPtrList<NodeImpl> &list)
+void derefNodesInList(const QPtrList<NodeImpl>& list)
 {
     for (QPtrListIterator<NodeImpl> it(list); it.current(); ++it)
         it.current()->deref();
@@ -170,7 +123,7 @@ void derefNodesInList(QPtrList<NodeImpl> &list)
 
 static int maxRangeOffset(NodeImpl *n)
 {
-    if (DOM::offsetInCharacters(n->nodeType()))
+    if (offsetInCharacters(n->nodeType()))
         return n->maxOffset();
 
     if (n->isElementNode())
index f4288581c44d6dd24502e783b412e2f15b9605e3..725a7b20d46b85fa2880f4a7dc4f188c02a37380 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2004 Apple Computer, Inc.  All rights reserved.
+ * Copyright (C) 2004, 2006 Apple Computer, Inc.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-#ifndef __htmlediting_h__
-#define __htmlediting_h__
-
-#include "edit_command.h"
-#include "composite_edit_command.h"
-#include "apply_style_command.h"
-#include "delete_selection_command.h"
-#include "move_selection_command.h"
-#include "replace_selection_command.h"
-#include "typing_command.h"
-
-#include "editing/edit_actions.h"
-#include "qmap.h"
-#include "qptrlist.h"
-#include "qvaluelist.h"
-#include "Shared.h"
-
-#define NON_BREAKING_SPACE 0xa0
-
-namespace DOM {
-    class CSSMutableStyleDeclarationImpl;
-    class CSSProperty;
-    class CSSStyleDeclarationImpl;
-    class DocumentFragmentImpl;
-    class HTMLElementImpl;
-    class TextImpl;
-}
+#ifndef htmlediting_h
+#define htmlediting_h
+
+#include <qptrlist.h>
+
+class QString;
 
-namespace khtml {
+namespace WebCore {
 
-int maxDeepOffset(const DOM::NodeImpl *node);
-bool isAtomicNode(const DOM::NodeImpl *node);
+class DOMString;
+class DocumentImpl;
+class ElementImpl;
+class NodeImpl;
+class Position;
 
-void rebalanceWhitespaceInTextNode(DOM::NodeImpl *node, unsigned int start, unsigned int length);
-DOM::DOMString &nonBreakingSpaceString();
-void derefNodesInList(QPtrList<DOM::NodeImpl> &list);
+const unsigned short NON_BREAKING_SPACE = 0xa0;
+
+int maxDeepOffset(const NodeImpl*);
+bool isAtomicNode(const NodeImpl*);
+
+void rebalanceWhitespaceInTextNode(NodeImpl*, unsigned start, unsigned length);
+DOMString& nonBreakingSpaceString();
+void derefNodesInList(const QPtrList<NodeImpl>&);
 
 //------------------------------------------------------------------------------------------
 
-DOM::Position positionBeforeNode(const DOM::NodeImpl *node);
-DOM::Position positionAfterNode(const DOM::NodeImpl *node);
+Position positionBeforeNode(const NodeImpl*);
+Position positionAfterNode(const NodeImpl*);
 
-bool isSpecialElement(const DOM::NodeImpl *node);
+bool isSpecialElement(const NodeImpl*);
 
-DOM::ElementImpl *createDefaultParagraphElement(DOM::DocumentImpl *document);
-DOM::ElementImpl *createBreakElement(DOM::DocumentImpl *document);
+ElementImpl* createDefaultParagraphElement(DocumentImpl*);
+ElementImpl* createBreakElement(DocumentImpl*);
 
-bool isTabSpanNode(const DOM::NodeImpl *node);
-bool isTabSpanTextNode(const DOM::NodeImpl *node);
-DOM::NodeImpl *tabSpanNode(const DOM::NodeImpl *node);
-DOM::Position positionBeforeTabSpan(const DOM::Position& pos);
-DOM::ElementImpl *createTabSpanElement(DOM::DocumentImpl *document, DOM::NodeImpl *tabTextNode=0);
-DOM::ElementImpl *createTabSpanElement(DOM::DocumentImpl *document, QString *tabText);
+bool isTabSpanNode(const NodeImpl*);
+bool isTabSpanTextNode(const NodeImpl*);
+NodeImpl* tabSpanNode(const NodeImpl*);
+Position positionBeforeTabSpan(const Position&);
+ElementImpl* createTabSpanElement(DocumentImpl*, NodeImpl* tabTextNode = 0);
+ElementImpl* createTabSpanElement(DocumentImpl*, QString* tabText);
 
-bool isNodeRendered(const DOM::NodeImpl *node);
-bool isMailBlockquote(const DOM::NodeImpl *node);
-DOM::NodeImpl *nearestMailBlockquote(const DOM::NodeImpl *node);
+bool isNodeRendered(const NodeImpl*);
+bool isMailBlockquote(const NodeImpl*);
+NodeImpl *nearestMailBlockquote(const NodeImpl*);
 
 //------------------------------------------------------------------------------------------
 
-bool isTableStructureNode(const DOM::NodeImpl *node);
-DOM::ElementImpl *createBlockPlaceholderElement(DOM::DocumentImpl *document);
+bool isTableStructureNode(const NodeImpl*);
+ElementImpl *createBlockPlaceholderElement(DocumentImpl*);
 
-bool isFirstVisiblePositionInSpecialElement(const DOM::Position& pos);
-DOM::Position positionBeforeContainingSpecialElement(const DOM::Position& pos);
-bool isLastVisiblePositionInSpecialElement(const DOM::Position& pos);
-DOM::Position positionAfterContainingSpecialElement(const DOM::Position& pos);
-DOM::Position positionOutsideContainingSpecialElement(const DOM::Position &pos);
+bool isFirstVisiblePositionInSpecialElement(const Position&);
+Position positionBeforeContainingSpecialElement(const Position&);
+bool isLastVisiblePositionInSpecialElement(const Position&);
+Position positionAfterContainingSpecialElement(const Position&);
+Position positionOutsideContainingSpecialElement(const Position&);
 
-} // end namespace khtml
+}
 
 #endif
index da4af595461c4937751e44c2eb43570fdb493395..b1ec9c6b418589d48d9445a0ed8cee178f8eb6b2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2004 Apple Computer, Inc.  All rights reserved.
+ * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
 #include "config.h"
 #include "jsediting.h"
 
-#include "css/css_valueimpl.h"
-#include "cssproperties.h"
 #include "DocumentImpl.h"
-#include "htmlediting.h"
 #include "Frame.h"
 #include "SelectionController.h"
+#include "css_valueimpl.h"
+#include "cssproperties.h"
+#include "htmlediting.h"
+#include "typing_command.h"
 #include <kxmlcore/HashMap.h>
 
-#include "Frame.h"
-
-using khtml::TypingCommand;
-
-namespace DOM {
+namespace WebCore {
 
 class DocumentImpl;
 
index a9fac6e5330108921ac0c48bc016f4524447758c..8edc3f348f42bb9b4f930ca4adfc414460d7d4dd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005 Apple Computer, Inc.  All rights reserved.
+ * Copyright (C) 2005, 2006 Apple Computer, Inc.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
 #include "config.h"
 #include "replace_selection_command.h"
 
-#include "visible_position.h"
-#include "htmlnames.h"
-#include "DocumentImpl.h"
 #include "DocumentFragmentImpl.h"
+#include "DocumentImpl.h"
+#include "Frame.h"
+#include "apply_style_command.h"
+#include "css_computedstyle.h"
+#include "css_valueimpl.h"
+#include "cssproperties.h"
+#include "dom2_rangeimpl.h"
+#include "dom_position.h"
+#include "dom_textimpl.h"
+#include "html_elementimpl.h"
 #include "html_interchange.h"
-#include "xml/dom_textimpl.h"
-#include "html/html_elementimpl.h"
 #include "htmlediting.h"
-#include "css/css_valueimpl.h"
+#include "htmlnames.h"
+#include "render_object.h"
+#include "visible_position.h"
 #include "visible_units.h"
-#include "xml/dom_position.h"
-#include "Frame.h"
-#include "xml/dom2_rangeimpl.h"
-#include "rendering/render_object.h"
-#include "css/css_computedstyle.h"
-#include "cssproperties.h"
-
 #include <kxmlcore/Assertions.h>
 
-using namespace DOM::HTMLNames;
-
-using DOM::CSSComputedStyleDeclarationImpl;
-using DOM::DocumentImpl;
-using DOM::NodeImpl;
-using DOM::DocumentFragmentImpl;
-using DOM::ElementImpl;
-using DOM::TextImpl;
-using DOM::DOMString;
-using DOM::HTMLElementImpl;
-using DOM::CSSMutableStyleDeclarationImpl;
-using DOM::Position;
+namespace WebCore {
 
-namespace khtml {
+using namespace HTMLNames;
 
 ReplacementFragment::ReplacementFragment(DocumentImpl *document, DocumentFragmentImpl *fragment, bool matchStyle)
     : m_document(document), 
index d2c3828dfcf1162a2ecabafa96b92acf0cd35d1e..08ed153117978df3b07dbc67ff3e55971d4ecacf 100644 (file)
 
 #include "config.h"
 #include "html/html_canvasimpl.h"
-#include "html/html_documentimpl.h"
 
-#include <kdebug.h>
+#include "render_canvasimage.h"
 
-#include "rendering/render_canvasimage.h"
-#include "rendering/render_flow.h"
-#include "css/cssstyleselector.h"
-#include "cssproperties.h"
-#include "cssvalues.h"
-#include "css/csshelper.h"
-#include "xml/dom2_eventsimpl.h"
+namespace WebCore {
 
-#include <qstring.h>
-#include "IntPoint.h"
-#include <qregion.h>
-#include <qptrstack.h>
-#include "IntPointArray.h"
-
-using namespace DOM;
 using namespace HTMLNames;
-using namespace khtml;
 
 // -------------------------------------------------------------------------
 
@@ -54,10 +39,6 @@ HTMLCanvasElementImpl::HTMLCanvasElementImpl(DocumentImpl *doc)
 {
 }
 
-HTMLCanvasElementImpl::~HTMLCanvasElementImpl()
-{
-}
-
 bool HTMLCanvasElementImpl::mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const
 {
     if (attrName != srcAttr) // Ignore the src attribute
@@ -96,3 +77,5 @@ bool HTMLCanvasElementImpl::isURLAttribute(AttributeImpl *attr) const
 {
     return ((attr->name() == usemapAttr && attr->value().domString()[0] != '#'));
 }
+
+}
index 0ef955858823a7a17b6e6c0959149013ba3f67a9..595dba947bd1e422cce4ef5eb9dad68eba92fbe7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2004 Apple Computer, Inc.  All rights reserved.
+ * Copyright (C) 2004, 2006 Apple Computer, Inc.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
+
 #ifndef HTML_CANVASIMPL_H
 #define HTML_CANVASIMPL_H
 
-#include "html/html_imageimpl.h"
-#include "html/html_inlineimpl.h"
-#include "khtmllayout.h"
-#include "rendering/render_object.h"
-
-#include <qregion.h>
-#include <qmap.h>
-#include <qpixmap.h>
+#include "html_imageimpl.h"
 
-namespace DOM {
+namespace WebCore {
 
-class DOMString;
-    
 class HTMLCanvasElementImpl
     : public HTMLImageElementImpl
 {
 public:
-    HTMLCanvasElementImpl(DocumentImpl *doc);
-    ~HTMLCanvasElementImpl();
+    HTMLCanvasElementImpl(DocumentImpl*);
 
     virtual bool mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const;
-    virtual void parseMappedAttribute(MappedAttributeImpl *);
+    virtual void parseMappedAttribute(MappedAttributeImpl*);
 
     virtual void attach();
-    virtual khtml::RenderObject *createRenderer(RenderArena *, khtml::RenderStyle *);
+    virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
     virtual void detach();
     
-    virtual bool isURLAttribute(AttributeImpl *attr) const;
+    virtual bool isURLAttribute(AttributeImpl*) const;
 };
 
-
-}; //namespace
+} //namespace
 
 #endif
index 56a6f9381970c0f1fa11b2fa5ab450a457f429b1..9a786819dac72042f711233225e25242876cf84a 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
  *           (C) 1999 Antti Koivisto (koivisto@kde.org)
  *           (C) 2000 Stefan Schimanski (1Stein@gmx.de)
- * Copyright (C) 2004 Apple Computer, Inc.
+ * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
 #include "config.h"
 #include "html/html_objectimpl.h"
 
+#include "EventNames.h"
 #include "Frame.h"
-#include "dom/dom_string.h"
-#include <qstring.h>
-#include <qmap.h>
-#include <kdebug.h>
-
-#include "css/cssstyleselector.h"
-#include "css/csshelper.h"
+#include "HTMLFormElementImpl.h"
+#include "csshelper.h"
 #include "cssproperties.h"
+#include "cssstyleselector.h"
 #include "cssvalues.h"
-#include "html/html_documentimpl.h"
-#include "HTMLFormElementImpl.h"
-#include "rendering/render_applet.h"
-#include "rendering/render_frames.h"
-#include "rendering/render_image.h"
-#include "xml/dom2_eventsimpl.h"
-#include "xml/dom_textimpl.h"
-#include "xml/EventNames.h"
-
-#include "java/kjavaappletwidget.h"
-
-#include "Frame.h"
-
-using namespace khtml;
+#include "dom2_eventsimpl.h"
+#include "dom_string.h"
+#include "dom_textimpl.h"
+#include "html_documentimpl.h"
+#include "render_applet.h"
+#include "render_frames.h"
+#include "render_image.h"
+#include <java/kjavaappletwidget.h>
+#include <qstring.h>
 
-namespace DOM {
+namespace WebCore {
 
 using namespace EventNames;
 using namespace HTMLNames;
@@ -168,25 +161,24 @@ RenderObject *HTMLAppletElementImpl::createRenderer(RenderArena *arena, RenderSt
 
     if( frame && frame->javaEnabled() )
     {
-       QMap<QString, QString> args;
+       HashMap<DOMString, DOMString> args;
 
-       args.insert( "code", getAttribute(codeAttr).qstring());
-       DOMString codeBase = getAttribute(codebaseAttr);
+       args.set("code", getAttribute(codeAttr));
+       const AtomicString& codeBase = getAttribute(codebaseAttr);
        if(!codeBase.isNull())
-           args.insert( "codeBase", codeBase.qstring() );
-       DOMString name = getDocument()->htmlMode() != DocumentImpl::XHtml ?
-                        getAttribute(nameAttr) : getAttribute(idAttr);
-       if(!name.isNull())
-           args.insert( "name", name.qstring() );
-       DOMString archive = getAttribute(archiveAttr);
-       if(!archive.isNull())
-           args.insert( "archive", archive.qstring() );
-
-       args.insert( "baseURL", getDocument()->baseURL() );
-
-        DOMString mayScript = getAttribute(mayscriptAttr);
+           args.set("codeBase", codeBase);
+       const AtomicString& name = getAttribute(getDocument()->htmlMode() != DocumentImpl::XHtml ? nameAttr : idAttr);
+       if (!name.isNull())
+           args.set("name", name);
+       const AtomicString& archive = getAttribute(archiveAttr);
+       if (!archive.isNull())
+           args.set("archive", archive);
+
+       args.set("baseURL", getDocument()->baseURL());
+
+        const AtomicString& mayScript = getAttribute(mayscriptAttr);
         if (!mayScript.isNull())
-            args.insert("mayScript", mayScript.qstring());
+            args.set("mayScript", mayScript);
 
         // Other arguments (from <PARAM> tags) are added later.
         
index 84ac77867818af3001f1d2023ee9fcca28eb549f..0dd5e0ede84ffc966b845894866be63986348614 100644 (file)
@@ -7,7 +7,7 @@
               (C) 1999 Lars Knoll (knoll@kde.org)
               (C) 1999 Antti Koivisto (koivisto@kde.org)
               (C) 2001 Dirk Mueller (mueller@kde.org)
-    Copyright (C) 2004 Apple Computer, Inc.
+    Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Library General Public
 //#define TOKEN_DEBUG 2
 
 #include "config.h"
-
-//#include <string.h>
 #include "html/htmltokenizer.h"
-#include "html/html_documentimpl.h"
-#include "html/htmlparser.h"
 
-#include "DocLoader.h"
 #include "CachedScript.h"
-
-#include "FrameView.h"
-#include "Frame.h"
-#include "DocumentImpl.h"
+#include "DocLoader.h"
 #include "DocumentFragmentImpl.h"
-#include "xml/EventNames.h"
-#include "css/csshelper.h"
-#include "ecma/kjs_proxy.h"
-#include <ctype.h>
+#include "DocumentImpl.h"
+#include "EventNames.h"
+#include "Frame.h"
+#include "FrameView.h"
+#include "csshelper.h"
+#include "html_documentimpl.h"
+#include "htmlparser.h"
+#include "kjs_proxy.h"
 #include <assert.h>
-#include <qvariant.h>
+#include <ctype.h>
 #include <kdebug.h>
+#include <qvariant.h>
 #include <stdlib.h>
 
-using namespace DOM::HTMLNames;
-using namespace DOM::EventNames;
-
-using namespace DOM;
-
 // turn off inlining to allow proper linking on newer gcc (xmltokenizer.cpp also uses findEntity())
 #undef __inline
 #define __inline
@@ -74,7 +66,10 @@ using namespace DOM;
 // though, so for now we set a value of 500.
 #define TOKENIZER_TIME_DELAY  500
 
-namespace khtml {
+namespace WebCore {
+
+using namespace HTMLNames;
+using namespace EventNames;
 
 static const char commentStart [] = "<!--";
 static const char scriptEnd [] = "</script";
@@ -84,7 +79,6 @@ static const char textareaEnd [] = "</textarea";
 static const char titleEnd [] = "</title";
 
 #define KHTML_ALLOC_QCHAR_VEC( N ) (QChar*) fastMalloc( sizeof(QChar)*( N ) )
-#define KHTML_REALLOC_QCHAR_VEC(P, N ) (QChar*) P = fastRealloc(p, sizeof(QChar)*( N ))
 #define KHTML_DELETE_QCHAR_VEC( P ) fastFree((char*)( P ))
 
 // Full support for MS Windows extensions to Latin-1.
@@ -146,7 +140,7 @@ void Token::addAttribute(DocumentImpl* doc, const AtomicString& attrName, const
 
 // ----------------------------------------------------------------------------
 
-HTMLTokenizer::HTMLTokenizer(DOM::DocumentImpl *_doc, FrameView *_view, bool includesComments)
+HTMLTokenizer::HTMLTokenizer(DocumentImpl* _doc, FrameView* _view, bool includesComments)
     : inWrite(false)
 {
     view = _view;
@@ -162,7 +156,7 @@ HTMLTokenizer::HTMLTokenizer(DOM::DocumentImpl *_doc, FrameView *_view, bool inc
     begin();
 }
 
-HTMLTokenizer::HTMLTokenizer(DOM::DocumentImpl *_doc, DOM::DocumentFragmentImpl *i, bool includesComments)
+HTMLTokenizer::HTMLTokenizer(DocumentImpl *_doc, DocumentFragmentImpl *i, bool includesComments)
     : inWrite(false)
 {
     view = 0;
@@ -1823,7 +1817,7 @@ void HTMLTokenizer::setOnHold(bool _onHold)
     onHold = _onHold;
 }
 
-void parseHTMLDocumentFragment(const DOM::DOMString &source, DOM::DocumentFragmentImpl *fragment)
+void parseHTMLDocumentFragment(const DOMString &source, DocumentFragmentImpl *fragment)
 {
     HTMLTokenizer tok(fragment->getDocument(), fragment);
     tok.setForceSynchronous(true);
index 94a70e726c987ffb906b50cbb68aba2175ab0484..87a95e2cd2119c43db8a84d2bc59c8b6beb0b6ec 100644 (file)
 #ifndef HTMLTOKENIZER_H
 #define HTMLTOKENIZER_H
 
-#include <qstring.h>
-#include <qobject.h>
-#include <qptrqueue.h>
-
 #include "CachedObjectClient.h"
-#include "xml/xml_tokenizer.h"
-#include "html/html_elementimpl.h"
+#include "SegmentedString.h"
+#include "xml_tokenizer.h"
+#include <qptrqueue.h>
+#include <qstring.h>
+#include "dom_qname.h"
 
-#ifdef __OBJC__
+#if __OBJC__
 #define id id_AVOID_KEYWORD
 #endif
 
 class HTMLParser;
 class FrameView;
 
-namespace DOM {
-    class DocumentFragmentImpl;
-}
-
-namespace khtml {
+namespace WebCore {
 
 class CachedScript;
-
+class DocumentFragmentImpl;
+class DocumentImpl;
+class NamedMappedAttrMapImpl;
 
 /**
  * @internal
@@ -64,23 +61,23 @@ class Token
 public:
     Token() : beginTag(true), flat(false) { }
 
-    void addAttribute(DOM::DocumentImpl*, const DOM::AtomicString& attrName, const DOM::AtomicString& v);
+    void addAttribute(DocumentImpl*, const AtomicString& attrName, const AtomicString& v);
 
-    bool isOpenTag(const DOM::QualifiedName& fullName) const { return beginTag && fullName.localName() == tagName; }
-    bool isCloseTag(const DOM::QualifiedName& fullName) const { return !beginTag && fullName.localName() == tagName; }
+    bool isOpenTag(const QualifiedName& fullName) const { return beginTag && fullName.localName() == tagName; }
+    bool isCloseTag(const QualifiedName& fullName) const { return !beginTag && fullName.localName() == tagName; }
 
     void reset()
     {
         attrs = 0;
         text = 0;        
-        tagName = DOM::nullAtom;
+        tagName = nullAtom;
         beginTag = true;
         flat = false;
     }
 
-    RefPtr<DOM::NamedMappedAttrMapImpl> attrs;
-    RefPtr<DOM::DOMStringImpl> text;
-    DOM::AtomicString tagName;
+    RefPtr<NamedMappedAttrMapImpl> attrs;
+    RefPtr<DOMStringImpl> text;
+    AtomicString tagName;
     bool beginTag;
     bool flat;
 };
@@ -90,8 +87,8 @@ public:
 class HTMLTokenizer : public Tokenizer, public CachedObjectClient
 {
 public:
-    HTMLTokenizer(DOM::DocumentImpl *, FrameView * = 0, bool includesComments=false);
-    HTMLTokenizer(DOM::DocumentImpl *, DOM::DocumentFragmentImpl *frag, bool includesComments=false);
+    HTMLTokenizer(DocumentImpl*, FrameView* = 0, bool includesComments = false);
+    HTMLTokenizer(DocumentImpl*, DocumentFragmentImpl*, bool includesComments = false);
     virtual ~HTMLTokenizer();
 
     virtual bool write(const SegmentedString &str, bool appendData);
@@ -110,7 +107,7 @@ protected:
     void end();
 
     void reset();
-    DOM::NodeImpl *processToken();
+    NodeImpl *processToken();
 
     State processListing(SegmentedString, State);
     State parseComment(SegmentedString&, State);
@@ -283,7 +280,7 @@ protected:
     bool brokenServer;
 
     // Name of an attribute that we just scanned.
-    DOM::AtomicString attrName;
+    AtomicString attrName;
     
     // Used to store the code of a srcipting sequence
     QChar *scriptCode;
@@ -322,7 +319,7 @@ protected:
     // the output of the script to be postponed until after the script has finished executing
     int m_executingScript;
     QPtrQueue<CachedScript> pendingScripts;
-    RefPtr<DOM::NodeImpl> scriptNode;
+    RefPtr<NodeImpl> scriptNode;
     // you can pause the tokenizer if you need to display a dialog or something
     bool onHold;
 
@@ -353,7 +350,7 @@ protected:
     bool inWrite;
 };
 
-void parseHTMLDocumentFragment(const DOM::DOMString &, DOM::DocumentFragmentImpl *);
+void parseHTMLDocumentFragment(const DOMString &, DocumentFragmentImpl *);
 
 }
 
index a1a0e62d34c595a2a0feb485e3d0044db424aae5..ea98fa5c612e5ab419694eecf8530f1a993fdeb6 100644 (file)
  */
 
 #include "config.h"
+#include "DocumentImpl.h"
 
-#include "dom/dom_exception.h"
-#include "dom/dom2_events.h"
-
-#include "xml/dom_textimpl.h"
-#include "xml/dom_xmlimpl.h"
-#include "xml/dom2_rangeimpl.h"
-#include "xml/dom2_eventsimpl.h"
-#include "xml/dom2_viewsimpl.h"
-#include "xml/EventNames.h"
-#include "xml/xml_tokenizer.h"
 #include "DOMImplementationImpl.h"
-#include "DocumentTypeImpl.h"
+#include "DocLoader.h"
 #include "DocumentFragmentImpl.h"
+#include "DocumentTypeImpl.h"
+#include "EventNames.h"
+#include "FramePrivate.h"
+#include "FrameView.h"
+#include "KWQAccObjectCache.h"
+#include "KWQLogging.h"
 #include "NameNodeListImpl.h"
-
-#include "css/csshelper.h"
-#include "css/cssstyleselector.h"
-#include "css/css_stylesheetimpl.h"
-#include "css/css_valueimpl.h"
-#include "helper.h"
-#include "DocLoader.h"
-#include "ecma/kjs_proxy.h"
+#include "SegmentedString.h"
+#include "css_stylesheetimpl.h"
+#include "css_valueimpl.h"
+#include "csshelper.h"
+#include "cssstyleselector.h"
+#include "cssvalues.h"
+#include "dom2_events.h"
+#include "dom2_eventsimpl.h"
+#include "dom2_rangeimpl.h"
+#include "dom2_viewsimpl.h"
+#include "dom_exception.h"
+#include "dom_textimpl.h"
+#include "dom_xmlimpl.h"
 #include "ecma/kjs_binding.h"
-
-#include <qptrstack.h>
-#include <qpaintdevicemetrics.h>
-#include <qregexp.h>
-#include <kdebug.h>
-
+#include "ecma/kjs_proxy.h"
+#include "helper.h"
+#include "jsediting.h"
+#include "khtml_settings.h"
+#include "render_arena.h"
 #include "render_canvas.h"
 #include "render_frames.h"
-#include "render_arena.h"
-
-#include "FrameView.h"
-#include "Frame.h"
-#include "FramePrivate.h"
-
-#include "khtml_settings.h"
+#include "visible_position.h"
+#include "visible_text.h"
+#include "xml_tokenizer.h"
+#include <kdebug.h>
+#include <qpaintdevicemetrics.h>
+#include <qptrstack.h>
+#include <qregexp.h>
 
 // FIXME: We want to cut the remaining HTML dependencies so that we don't need to include these files.
+#include "HTMLInputElementImpl.h"
+#include "html/html_baseimpl.h"
 #include "html/html_documentimpl.h"
 #include "html/html_headimpl.h"
 #include "html/html_imageimpl.h"
-#include "html/html_baseimpl.h"
-#include "HTMLInputElementImpl.h"
 #include "htmlfactory.h"
 
-#include "cssvalues.h"
-
-#include "editing/jsediting.h"
-#include "editing/visible_position.h"
-#include "editing/visible_text.h"
-
 #ifdef KHTML_XSLT
 #include "xsl_stylesheetimpl.h"
 #include "xslt_processorimpl.h"
@@ -87,9 +82,6 @@
 using XBL::XBLBindingManager;
 #endif
 
-#include "KWQAccObjectCache.h"
-#include "KWQLogging.h"
-
 #if SVG_SUPPORT
 #include "SVGNames.h"
 #include "SVGElementFactory.h"
@@ -97,10 +89,10 @@ using XBL::XBLBindingManager;
 #include "SVGStyleElementImpl.h"
 #endif
 
-using namespace DOM;
-using namespace DOM::EventNames;
+namespace WebCore {
+
+using namespace EventNames;
 using namespace HTMLNames;
-using namespace khtml;
 
 // #define INSTRUMENT_LAYOUT_SCHEDULING 1
 
@@ -823,7 +815,7 @@ void DocumentImpl::recalcStyle( StyleChange change )
         _style->setVisuallyOrdered( visuallyOrdered );
         // ### make the font stuff _really_ work!!!!
 
-        khtml::FontDef fontDef;
+        FontDef fontDef;
         QFont f;
         fontDef.family = *(f.firstFamily());
         fontDef.italic = f.italic();
@@ -1687,7 +1679,7 @@ bool DocumentImpl::prepareMouseEvent(bool readonly, bool active, int _x, int _y,
         if (renderInfo.URLElement()) {
             assert(renderInfo.URLElement()->isElementNode());
             ElementImpl* e =  static_cast<ElementImpl*>(renderInfo.URLElement());
-            DOMString href = khtml::parseURL(e->getAttribute(hrefAttr));
+            DOMString href = parseURL(e->getAttribute(hrefAttr));
             DOMString target = e->getAttribute(targetAttr);
 
             if (!target.isNull() && !href.isNull()) {
@@ -3075,3 +3067,5 @@ RefPtr<NameNodeListImpl> DocumentImpl::getElementsByName(const DOMString &elemen
 {
     return RefPtr<NameNodeListImpl>(new NameNodeListImpl(this, elementName));
 }
+
+}
index 7abc3805610a09e3aceaeaa3c2c118f475eeff5c..2acf35acdff1038a80a4dab48464ca3aa8ee7a17 100644 (file)
@@ -637,7 +637,7 @@ DOMStringImpl *DOMStringImpl::replace(QChar oldC, QChar newC)
 
 bool equal(const DOMStringImpl* a, const DOMStringImpl* b)
 {
-    return DefaultHash<DOM::DOMStringImpl*>::equal(a, b);
+    return DefaultHash<DOMStringImpl*>::equal(a, b);
 }
 
 bool equal(const DOMStringImpl* a, const char* b)
index eec82d0346505014a248e3dc96e66e1988af9def..42eee52a30e6f955fc7b78494b4a50e568254079 100644 (file)
 #include <limits.h>
 #include <qstring.h>
 
-namespace khtml {
-    struct Length;
-}
+#if __APPLE__
+#include <CoreFoundation/CoreFoundation.h>
+#endif
+
+#if __OBJC__
+class NSString;
+#endif
 
 namespace WebCore {
 
+struct Length;
+
 class DOMStringImpl : public Shared<DOMStringImpl>
 {
 private:
@@ -101,6 +107,15 @@ public:
     QChar* s;
     mutable unsigned _hash;
     bool _inTable;
+
+#if __APPLE__
+    DOMStringImpl(CFStringRef);
+    CFStringRef createCFString() const;
+#endif
+#if __OBJC__
+    DOMStringImpl(NSString*);
+    operator NSString*() const;
+#endif
 };
 
 bool equal(const DOMStringImpl*, const DOMStringImpl*);
index 13baec2b8c7ffd97af7a5fc19b1dbe9785be62f5..8a9dae2ba339852402b7aa3a1d6dd7e813b83e85 100644 (file)
@@ -286,13 +286,13 @@ bool ProcessingInstructionImpl::checkStyleSheet()
         // ### support stylesheet included in a fragment of this (or another) document
         // ### make sure this gets called when adding from javascript
         bool attrsOk;
-        const QMap<QString, QString> attrs = parseAttributes(m_data.get(), attrsOk);
+        const HashMap<DOMString, DOMString> attrs = parseAttributes(m_data.get(), attrsOk);
         if (!attrsOk)
             return true;
-        QMap<QString, QString>::ConstIterator i = attrs.find("type");
-        QString type;
+        HashMap<DOMString, DOMString>::const_iterator i = attrs.find("type");
+        DOMString type;
         if (i != attrs.end())
-            type = *i;
+            type = i->second;
         
         bool isCSS = type.isEmpty() || type == "text/css";
 #ifdef KHTML_XSLT
@@ -309,21 +309,11 @@ bool ProcessingInstructionImpl::checkStyleSheet()
             getDocument()->tokenizer()->setTransformSource(getDocument());
 #endif
 
-        i = attrs.find("href");
-        QString href;
-        if (i != attrs.end())
-            href = *i;
+        DOMString href = attrs.get("href");
 
-        if (href.length()>1)
-        {
-            if (href[0]=='#')
-            {
-                DOMString newLocalHref = href.mid(1);
-                if (m_localHref)
-                    m_localHref->deref();
-                m_localHref = newLocalHref.impl();
-                if (m_localHref)
-                    m_localHref->ref();
+        if (href.length() > 1) {
+            if (href[0] == '#') {
+                m_localHref = href.substring(1).impl();
 #ifdef KHTML_XSLT
                 // We need to make a synthetic XSLStyleSheetImpl that is embedded.  It needs to be able
                 // to kick off import/include loads that can hang off some parent sheet.
index 369a81068a1f6634de83a179ef90835f078277ad..ff06ff78b80016524c8c0c213e93d3c911f200b0 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the DOM implementation for KDE.
  *
  * Copyright (C) 2000 Peter Kelly (pmk@post.com)
- * Copyright (C) 2005 Apple Computer, Inc.
+ * Copyright (C) 2005, 2006 Apple Computer, Inc.
  * Copyright (C) 2006 Alexey Proskuryakov
  *
  * This library is free software; you can redistribute it and/or
 #include "config.h"
 #include "xml_tokenizer.h"
 
-#include "DocumentImpl.h"
+#include "CachedScript.h"
+#include "DocLoader.h"
 #include "DocumentFragmentImpl.h"
+#include "DocumentImpl.h"
 #include "DocumentTypeImpl.h"
-#include "xml/dom_elementimpl.h"
-#include "xml/dom_textimpl.h"
-#include "xml/dom_xmlimpl.h"
+#include "Frame.h"
+#include "FrameView.h"
+#include "SegmentedString.h"
 #include "dom_node.h"
-#include "html/html_headimpl.h"
-#include "html/html_tableimpl.h"
+#include "dom_textimpl.h"
+#include "dom_xmlimpl.h"
+#include "html_headimpl.h"
+#include "html_tableimpl.h"
 #include "htmlnames.h"
-#include "CachedScript.h"
-#include "DocLoader.h"
-#include <kxmlcore/HashMap.h>
-
-#include "FrameView.h"
-#include "Frame.h"
-#include <kdebug.h>
-#include <klocale.h>
-#include <qvariant.h>
-
+#include "kentities.h" // for xhtml entity name lookup
 #include <libxml/parser.h>
 #include <libxml/parserInternals.h>
+#include <qptrstack.h>
+#include <qvariant.h>
 
 #if SVG_SUPPORT
 #include "SVGNames.h"
 #include "XLinkNames.h"
 #endif
 
-#include <qptrstack.h>
-
-#include "kentities.h"  // for xhtml entity name lookup
-#include <kxmlcore/Assertions.h>
+namespace WebCore {
 
-using namespace DOM;
 using namespace HTMLNames;
 
-namespace khtml {
-
 const int maxErrors = 25;
 
 typedef HashMap<DOMStringImpl *, DOMStringImpl *> PrefixForNamespaceMap;
@@ -310,6 +301,16 @@ inline QString toQString(const xmlChar *str)
     return QString::fromUtf8(str ? reinterpret_cast<const char *>(str) : "");
 }
 
+inline DOMString toString(const xmlChar* str, unsigned int len)
+{
+    return QString::fromUtf8(reinterpret_cast<const char *>(str), len);
+}
+
+inline DOMString toString(const xmlChar* str)
+{
+    return QString::fromUtf8(str ? reinterpret_cast<const char *>(str) : "");
+}
+
 struct _xmlSAX2Namespace {
     const xmlChar *prefix;
     const xmlChar *uri;
@@ -320,11 +321,11 @@ static inline void handleElementNamespaces(ElementImpl *newElement, const xmlCha
 {
     xmlSAX2Namespace *namespaces = reinterpret_cast<xmlSAX2Namespace *>(libxmlNamespaces);
     for(int i = 0; i < nb_namespaces; i++) {
-        DOMString namespaceQName("xmlns");
-        DOMString namespaceURI = toQString(namespaces[i].uri);
-        if(namespaces[i].prefix)
-            namespaceQName = namespaceQName + QString::fromLatin1(":") + toQString(namespaces[i].prefix);
-        newElement->setAttributeNS(DOMString("http://www.w3.org/2000/xmlns/"), namespaceQName, namespaceURI, exceptioncode);
+        DOMString namespaceQName = "xmlns";
+        DOMString namespaceURI = toString(namespaces[i].uri);
+        if (namespaces[i].prefix)
+            namespaceQName = "xmlns:" + toString(namespaces[i].prefix);
+        newElement->setAttributeNS("http://www.w3.org/2000/xmlns/", namespaceQName, namespaceURI, exceptioncode);
         if (exceptioncode) // exception setting attributes
             return;
     }
@@ -1018,7 +1019,7 @@ bool parseXMLDocumentFragment(const DOMString &string, DocumentFragmentImpl *fra
 // --------------------------------
 
 struct AttributeParseState {
-    QMap<QString, QString> attributes;
+    HashMap<DOMString, DOMString> attributes;
     bool gotAttributes;
 };
 
@@ -1037,15 +1038,15 @@ static void attributesStartElementNsHandler(void *closure, const xmlChar *xmlLoc
     for(int i = 0; i < nb_attributes; i++) {
         QString attrLocalName = toQString(attributes[i].localname);
         int valueLength = (int) (attributes[i].end - attributes[i].value);
-        QString attrValue = toQString(attributes[i].value, valueLength);
-        QString attrPrefix = toQString(attributes[i].prefix);
-        QString attrQName = attrPrefix.isEmpty() ? attrLocalName : attrPrefix + QString::fromLatin1(":") + attrLocalName;
+        DOMString attrValue = toString(attributes[i].value, valueLength);
+        DOMString attrPrefix = toString(attributes[i].prefix);
+        DOMString attrQName = attrPrefix.isEmpty() ? attrLocalName : attrPrefix + ":" + attrLocalName;
         
-        state->attributes.insert(attrQName, attrValue);
+        state->attributes.set(attrQName, attrValue);
     }
 }
 
-QMap<QString, QString> parseAttributes(const DOMString &string, bool &attrsOK)
+HashMap<DOMString, DOMString> parseAttributes(const DOMString& string, bool& attrsOK)
 {
     AttributeParseState state;
     state.gotAttributes = false;
index 456aeeb3192a9964c853435b15206259ef714ff6..4760dd340a26ac51557c918ac1d4a7681260207c 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the DOM implementation for KDE.
  *
  * Copyright (C) 2000 Peter Kelly (pmk@post.com)
- * Copyright (C) 2005 Apple Computer, Inc.
+ * Copyright (C) 2005, 2006 Apple Computer, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
  *
  */
 
-#ifndef _XML_Tokenizer_h_
-#define _XML_Tokenizer_h_
+#ifndef XML_Tokenizer_h_
+#define XML_Tokenizer_h_
 
+#include <kxmlcore/HashMap.h>
 #include <qobject.h>
-#include <qmap.h>
-#include "SegmentedString.h"
-
-#include "KWQSignal.h"
 
 class FrameView;
+class QTime;
 
 namespace WebCore {
-    class SegmentedString;
-};
-
-namespace DOM {
-    class DocumentImpl;
-    class DocumentFragmentImpl;
-    class ElementImpl;
-    class NodeImpl;
-};
 
-namespace khtml {
+class DOMString;
+class DocumentFragmentImpl;
+class DocumentImpl;
+class ElementImpl;
+class NodeImpl;
+class SegmentedString;
 
 class Tokenizer : public QObject
 {
-    Q_OBJECT
-
 public:
     Tokenizer();
-    // script output must be prepended, while new data
+    // Script output must be prepended, while new data
     // received during executing a script must be appended, hence the
-    // extra bool to be able to distinguish between both cases. document.write()
-    // always uses false, while khtmlpart uses true
-    virtual bool write(const SegmentedString &str, bool appendData) = 0;
+    // extra bool to be able to distinguish between both cases.
+    // document.write() always uses false, while the loader uses true.
+    virtual bool write(const SegmentedString&, bool appendData) = 0;
     virtual void finish() = 0;
     virtual void setOnHold(bool onHold) = 0;
     virtual bool isWaitingForScripts() const = 0;
@@ -68,9 +60,9 @@ protected:
     // even when it has buffered data.
     bool m_parserStopped;
     
-#ifdef KHTML_XSLT
+#if KHTML_XSLT
 public:
-    virtual void setTransformSource(DOM::DocumentImpl* doc) {};
+    virtual void setTransformSource(DocumentImpl*) {}
 #endif
 
 signals:
@@ -80,12 +72,13 @@ private:
     KWQSignal m_finishedParsing;
 };
 
-Tokenizer *newXMLTokenizer(DOM::DocumentImpl *, FrameView * = 0);
-#ifdef KHTML_XSLT
-void *xmlDocPtrForString(const QString &source, const QString &url = QString());
+Tokenizer* newXMLTokenizer(DocumentImpl*, FrameView* = 0);
+#if KHTML_XSLT
+void* xmlDocPtrForString(const QString& source, const QString& URL = QString());
 #endif
-QMap<QString, QString> parseAttributes(const DOM::DOMString &, bool &attrsOK);
-bool parseXMLDocumentFragment(const DOM::DOMString &, DOM::DocumentFragmentImpl *, DOM::ElementImpl *parent = 0);
+HashMap<DOMString, DOMString> parseAttributes(const DOMString&, bool& attrsOK);
+bool parseXMLDocumentFragment(const DOMString&, DocumentFragmentImpl*, ElementImpl* parent = 0);
+
 }
 
 #endif
index 72f6b8b5faa4c84b2ef851e846535575a0d456e1..266df9fa99f2b981d60aac82b8a4e26f2525ff62 100644 (file)
@@ -33,7 +33,6 @@
 #include "SVGNames.h"
 #include "SVGStyledElementImpl.h"
 #include "SVGStyledTransformableElementImpl.h"
-#include <qmap.h>
 
 namespace KSVG {
 
@@ -132,7 +131,7 @@ void SVGTimer::notifyAll()
     // First build a list of animation elements per target element
     // This is important to decide about the order & priority of 
     // the animations -> 'additive' support is handled this way.
-    typedef QMap<SVGElementImpl *, Q3PtrList<SVGAnimationElementImpl> > TargetAnimationMap;
+    typedef HashMap<SVGElementImpl*, Q3PtrList<SVGAnimationElementImpl>, PointerHash<SVGElementImpl*> > TargetAnimationMap;
     TargetAnimationMap targetMap;
     
     for(unsigned int i = m_notifyList.count(); i > 0; i--)
@@ -158,26 +157,25 @@ void SVGTimer::notifyAll()
         }
 
         SVGElementImpl *target = const_cast<SVGElementImpl *>(animation->targetElement());
-        if(!targetMap.contains(target))
-        {
+        TargetAnimationMap::iterator i = targetMap.find(target);
+        if (i != targetMap.end())
+            i->second.prepend(animation);
+        else {
             Q3PtrList<SVGAnimationElementImpl> list;
             list.append(animation);
-                
-            targetMap.insert(target, list);
+            targetMap.set(target, list);
         }
-        else
-            targetMap[target].prepend(animation);
     }
 
-    TargetAnimationMap::Iterator tit = targetMap.begin();
-    TargetAnimationMap::Iterator tend = targetMap.end();
+    TargetAnimationMap::iterator tit = targetMap.begin();
+    TargetAnimationMap::iterator tend = targetMap.end();
 
     for(; tit != tend; ++tit)
     {
-        Q3PtrList<SVGAnimationElementImpl>::Iterator it = tit.data().begin();
-        Q3PtrList<SVGAnimationElementImpl>::Iterator end = tit.data().end();
+        Q3PtrList<SVGAnimationElementImpl>::Iterator it = tit->second.begin();
+        Q3PtrList<SVGAnimationElementImpl>::Iterator end = tit->second.end();
 
-        QMap<QString, QColor> targetColor; // special <animateColor> case
+        HashMap<DOMString, QColor> targetColor; // special <animateColor> case
         RefPtr<SVGTransformListImpl> targetTransforms; // special <animateTransform> case    
 
         for(; it != end; ++it)
@@ -260,22 +258,23 @@ void SVGTimer::notifyAll()
                         int g = animColor->initialColor().green() + color.green();
                         int b = animColor->initialColor().blue() + color.blue();
                     
-                        targetColor.insert(name, animColor->clampColor(r, g, b));
+                        targetColor.set(name, animColor->clampColor(r, g, b));
                     }
                     else
-                        targetColor.insert(name, color);
+                        targetColor.set(name, color);
                 }
                 else
                 {
                     if(!animation->isAdditive())
-                        targetColor[name] = color;
+                        targetColor.set(name, color);
                     else
                     {
-                        int r = targetColor[name].red() + color.red();
-                        int g = targetColor[name].green() + color.green();
-                        int b = targetColor[name].blue() + color.blue();
+                        QColor baseColor = targetColor.get(name);
+                        int r = baseColor.red() + color.red();
+                        int g = baseColor.green() + color.green();
+                        int b = baseColor.blue() + color.blue();
 
-                        targetColor[name] = animColor->clampColor(r, g, b);
+                        targetColor.set(name, animColor->clampColor(r, g, b));
                     }
                 }
             }
@@ -284,7 +283,7 @@ void SVGTimer::notifyAll()
         // Handle <animateTransform>...
         if(targetTransforms)
         {
-            SVGElementImpl *key = tit.key();
+            SVGElementImpl *key = tit->first;
             if(key && key->isStyled() && key->isStyledTransformable())
             {
                 SVGStyledTransformableElementImpl *transform = static_cast<SVGStyledTransformableElementImpl *>(key);
@@ -294,15 +293,14 @@ void SVGTimer::notifyAll()
         }
 
         // Handle <animateColor>...
-        QMap<QString, QColor>::Iterator cit = targetColor.begin();
-        QMap<QString, QColor>::Iterator cend = targetColor.end();
-        for(; cit != cend; ++cit)
+        HashMap<DOMString, QColor>::iterator cend = targetColor.end();
+        for(HashMap<DOMString, QColor>::iterator cit = targetColor.begin(); cit != cend; ++cit)
         {
-            if(cit.data().isValid())
+            if(cit->second.isValid())
             {
-                SVGAnimationElementImpl::setTargetAttribute(tit.key(),
-                                                            KDOM::DOMString(cit.key()).impl(),
-                                                            KDOM::DOMString(cit.data().name()).impl());
+                SVGAnimationElementImpl::setTargetAttribute(tit->first,
+                                                            cit->first.impl(),
+                                                            KDOM::DOMString(cit->second.name()).impl());
             }
         }
     }
@@ -310,7 +308,7 @@ void SVGTimer::notifyAll()
     // Optimized update logic (to avoid 4 updates, on the same element)
     for(tit = targetMap.begin(); tit != tend; ++tit)
     {
-        SVGElementImpl *key = tit.key();
+        SVGElementImpl *key = tit->first;
         if(key && key->isStyled())
             static_cast<SVGStyledElementImpl *>(key)->setChanged(true);
     }
index a2e687d1f75060638bdd7f938f072b756fab2b84..ee698abf974d20695805128f42de8f9c13a43849 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2004 Apple Computer, Inc.  All rights reserved.
+ * Copyright (C) 2004, 2006 Apple Computer, Inc.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-#include "config.h"
+#import "config.h"
 #import "KWQEditCommand.h"
 
+#import "edit_command.h"
 #import <kxmlcore/Assertions.h>
-#import "KWQFoundationExtras.h"
 
-#import "htmlediting.h"
-
-using khtml::EditCommand;
+using namespace WebCore;
 
 @implementation KWQEditCommand
 
index 35a8a4f9bf63ca39c697e5e9fe92173473f9b4a0..27c628bb530259d2f052149403f075b23858e386 100644 (file)
@@ -29,7 +29,6 @@
 #include "KWQString.h"
 #include "KWQStringList.h"
 #include "KWQFont.h"
-#include "KWQMap.h"
 
 class KHTMLSettings
 {
index 94931bc666c5caf14e0d0ca9cab71728f133beea..b13ef45ef69d170055bd13c9e74b1ac0e1b4cef6 100644 (file)
@@ -26,9 +26,6 @@
 #ifndef KIO_GLOBAL_H_
 #define KIO_GLOBAL_H_
 
-#include "KWQString.h"
-#include "KWQMap.h"
-
 namespace KIO {
 
     enum CacheControl
@@ -38,10 +35,6 @@ namespace KIO {
         CC_Refresh,
         CC_Reload
     };
-    
-    typedef QMap<QString, QString> MetaData;
-    
-    inline QString getCacheControlString(CacheControl) { return QString::null; }
 
 }
 
index 1baf7afa98a7bf4f6fc7a61ab045c165d00a09d9..768775595fd117deae07296c006f7b5005bc66b2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2003 Apple Computer, Inc.  All rights reserved.
+ * Copyright (C) 2003, 2006 Apple Computer, Inc.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-#include "KWQMap.h"
 #include "KWQWidget.h"
-#include "KWQString.h"
+#include <kxmlcore/HashMap.h>
 
 class Frame;
 
+namespace WebCore { class DOMString; }
+
 class KJavaAppletWidget : public QWidget
 {
 public:
-    KJavaAppletWidget(const IntSize &size, Frame *c, const QMap<QString, QString> &args);
+    KJavaAppletWidget(const IntSize&, Frame *, const HashMap<WebCore::DOMString, WebCore::DOMString>& args);
 };
index d1ebc5e865cf21d97ebe352a37017c08aa7e8788..9b31569f0ab49a2ba742ae633c8bb861975ecaa3 100644 (file)
@@ -23,7 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-#include "config.h"
+#import "config.h"
 #import "KWQKJavaAppletWidget.h"
 
 #import "DocumentImpl.h"
 #import "WebCoreFrameBridge.h"
 #import "MacFrame.h"
 
-KJavaAppletWidget::KJavaAppletWidget(const IntSize &size, Frame *frame, const QMap<QString, QString> &args)
+using namespace WebCore;
+
+typedef HashMap<DOMString, DOMString> StringMap;
+
+KJavaAppletWidget::KJavaAppletWidget(const IntSize& size, Frame* frame, const StringMap& args)
 {
     KWQ_BLOCK_EXCEPTIONS;
     
     NSMutableArray *attributeNames = [[NSMutableArray alloc] init];
     NSMutableArray *attributeValues = [[NSMutableArray alloc] init];
-    QMapConstIterator<QString, QString> it = args.begin();
-    QMapConstIterator<QString, QString> end = args.end();
+    ;
     QString baseURLString;
-    while (it != end) {
-        if (it.key().lower() == "baseurl") {
-            baseURLString = it.data();
-        }
-        [attributeNames addObject:it.key().getNSString()];
-        [attributeValues addObject:it.data().getNSString()];
-        ++it;
+    StringMap::const_iterator end = args.end();
+    for (StringMap::const_iterator it = args.begin(); it != end; ++it) {
+        if (it->first.lower() == "baseurl")
+            baseURLString = it->second.qstring();
+        [attributeNames addObject:it->first];
+        [attributeValues addObject:it->second];
     }
     
     if (baseURLString.isEmpty()) {
index 5ce4b30c4e9d5b8f49e2ffcc1c5ec416e9d635f9..e1e1cad408c46c7dbf2e906935497a2a7fedd416 100644 (file)
@@ -26,7 +26,7 @@
 #ifndef JOBCLASSES_H_
 #define JOBCLASSES_H_
 
-#include "KWQMap.h"
+#include <kxmlcore/HashMap.h>
 #include "KWQObject.h"
 #include "KWQString.h"
 #include "KWQKURL.h"
@@ -41,7 +41,7 @@ class NSData;
 class NSURLResponse;
 #endif
 
-namespace khtml {
+namespace WebCore {
     class FormData;
 }
 
@@ -59,7 +59,7 @@ public:
 class TransferJob : public Job {
 public:
     TransferJob(const KURL &, bool reload, bool deliverAllData=false);
-    TransferJob(const KURL &, const khtml::FormData &postData, bool deliverAllData=false);
+    TransferJob(const KURL &, const WebCore::FormData& postData, bool deliverAllData=false);
     ~TransferJob();
 
     int error() const;
@@ -68,7 +68,7 @@ public:
     bool isErrorPage() const;
     QString queryMetaData(const QString &key) const;
     void addMetaData(const QString &key, const QString &value);
-    void addMetaData(const QMap<QString, QString> &value);
+    void addMetaData(const HashMap<WebCore::DOMString, WebCore::DOMString> &value);
     void kill();
 
     void setLoader(KWQResourceLoader *);
@@ -81,7 +81,7 @@ public:
     void emitResult(NSData *allData=0);
     void emitReceivedResponse(NSURLResponse *);
 
-    khtml::FormData postData() const;
+    WebCore::FormData postData() const;
     QString method() const;
 
 private:
index af5ba3bb44be98f0680fd891c02aad523f853f8d..1e70fa2f1a5682558d7f6fa5225e4599c732c146 100644 (file)
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-#include "config.h"
-#import "KWQLogging.h"
+#import "config.h"
+#import "KWQKJobClasses.h"
 
 #import "KWQExceptions.h"
-#import "KWQKJobClasses.h"
+#import "KWQFoundationExtras.h"
 #import "KWQLoader.h"
+#import "KWQLogging.h"
 #import "KWQResourceLoader.h"
 #import "KWQString.h"
-#import "KWQFoundationExtras.h"
-
+#import "dom_string.h"
 #import "formdata.h"
 
-using khtml::FormData;
+using namespace WebCore;
 
 namespace KIO {
 
+typedef HashMap<DOMString, DOMString> StringMap;
+
     // The allocations and releases in TransferJobPrivate are
     // definitely Cocoa-exception-free (either simple Foundation
     // classes or our own KWQResourceLoader which avoides doing work
@@ -186,14 +188,11 @@ void TransferJob::addMetaData(const QString &key, const QString &value)
     [d->metaData setObject:value.getNSString() forKey:key.getNSString()];
 }
 
-void TransferJob::addMetaData(const QMap<QString, QString> &keysAndValues)
+void TransferJob::addMetaData(const StringMap& keysAndValues)
 {
-    QMapConstIterator<QString, QString> it = keysAndValues.begin();
-    QMapConstIterator<QString, QString> end = keysAndValues.end();
-    while (it != end) {
-        [d->metaData setObject:it.data().getNSString() forKey:it.key().getNSString()];
-        ++it;
-    }
+    StringMap::const_iterator end = keysAndValues.end();
+    for (StringMap::const_iterator it = keysAndValues.begin(); it != end; ++it)
+        [d->metaData setObject:it->second forKey:it->first];
 }
 
 void TransferJob::kill()
diff --git a/WebCore/kwq/KWQMap.h b/WebCore/kwq/KWQMap.h
deleted file mode 100644 (file)
index 4f77bca..0000000
+++ /dev/null
@@ -1,299 +0,0 @@
-/*
- * Copyright (C) 2003 Apple Computer, Inc.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */
-
-#ifndef QMAP_H_
-#define QMAP_H_
-
-#include "KWQDef.h"
-
-#include "KWQMapImpl.h"
-
-template <class K, class V> class QMap;
-template <class K, class V> class QMapIterator;
-template <class K, class V> class QMapConstIterator;
-
-template <class K, class V> class QMapNode : private KWQMapNodeImpl
-{
- private:
-    QMapNode(K k, V v) : 
-       key(k),
-       value(v)
-    {
-    }
-    
-    // intentionally not defined
-    QMapNode(const QMapNode&node);
-    QMapNode& operator=(const QMapNode&);
-
-    ~QMapNode()
-    {
-       delete (QMapNode *)left();
-       delete (QMapNode *)right();
-    }
-
-    K key;
-    V value;
-
-    friend class QMap<K,V>;
-    friend class QMapIterator<K,V>;
-    friend class QMapConstIterator<K,V>;
-};
-
-template<class K, class V> class QMapIterator : private KWQMapIteratorImpl {
-public:
-    QMapIterator() { }
-    
-    const K& key() const
-    {
-       return ((QMapNode<K,V> *)node)->key;
-    }
-
-    const V& data() const
-    {
-       return ((QMapNode<K,V> *)node)->value;
-    }
-
-    bool operator==(const QMapIterator<K,V> &iter) const
-    {
-       return node == iter.node;
-    }
-
-    bool operator!=(const QMapIterator<K,V> &iter) const
-    {
-       return node != iter.node;
-    }
-
-    V& operator*()
-    {
-       return ((QMapNode<K,V> *)node)->value;
-    }
-
-    const V& operator*() const
-    {
-       return ((QMapNode<K,V> *)node)->value;
-    }
-
-    QMapIterator<K,V>& operator++()
-    {
-       incrementInternal();
-       return *this;
-    }
-
-private:
-    QMapIterator(QMapNode<K,V> *n)
-    {
-        node = n;
-    }
-
-    friend class QMap<K,V>;
-    friend class QMapConstIterator<K,V>;
-};
-
-template<class K, class V> class QMapConstIterator : private KWQMapIteratorImpl {
-public:
-    QMapConstIterator() { }
-    QMapConstIterator(const QMapIterator<K,V> &iter) : KWQMapIteratorImpl(iter) { }
-
-    const K& key() const
-    {
-       return ((QMapNode<K,V> *)node)->key;
-    }
-
-    const V& data() const
-    {
-       return ((QMapNode<K,V> *)node)->value;
-    }
-
-    bool operator==(const QMapConstIterator<K,V> &citer) const
-    {
-       return node == citer.node;
-    }
-
-    bool operator!=(const QMapConstIterator<K,V> &citer) const
-    {
-       return node != citer.node;
-    }
-
-    const V &operator*() const
-    {
-       return ((QMapNode<K,V> *)node)->value;
-    }
-
-    QMapConstIterator<K,V>& operator++()
-    {
-       incrementInternal();
-       return *this;
-    }
-
-private:
-    QMapConstIterator(const QMapNode<K,V> *n)
-    {
-       node = (KWQMapNodeImpl *)n;
-    }
-
-    friend class QMap<K,V>;
-};
-
-template <class K, class V> class QMap : public KWQMapImpl {
-public:
-    typedef QMapIterator<K,V> Iterator;
-    typedef QMapConstIterator<K,V> ConstIterator;
-
-    QMap() : 
-       KWQMapImpl(new QMapNode<K,V>(K(),V()), deleteNode)
-    {
-    }
-
-    QMap(const QMap<K,V>& m) :
-       KWQMapImpl(m)
-    {
-    }
-
-    void clear() { clearInternal(); }
-
-    uint count() const { return countInternal(); }
-
-    Iterator begin() { return (QMapNode<K,V> *)beginInternal(); }
-    Iterator end() { return (QMapNode<K,V> *)endInternal(); }
-    ConstIterator begin() const { return (QMapNode<K,V> *)beginInternal(); }
-    ConstIterator end() const { return ConstIterator((QMapNode<K,V> *)endInternal()); }
-
-    Iterator insert(const K& key, const V& value)
-    {
-       QMapNode<K,V> tmp(key,value);
-       return Iterator((QMapNode<K,V> *)insertInternal(&tmp, true));
-    }
-
-    void remove(const K& key)
-    {
-       QMapNode<K,V> tmp(key, V());
-       removeEqualInternal(&tmp);
-    }
-
-    void remove(const QMapIterator<K,V> &iterator)
-    {
-       removeEqualInternal(iterator.node, true);
-    }
-
-    Iterator find (const K &key)
-    {
-       QMapNode<K,V> tmp(key, V());
-       QMapNode<K,V> *result = (QMapNode<K,V> *)findInternal(&tmp);
-       
-       if (result != NULL) {
-           return Iterator(result);
-       } else {
-           return Iterator(end());
-       }
-    }
-
-    ConstIterator find (const K &key) const
-    {
-       QMapNode<K,V> tmp(key, V());
-       QMapNode<K,V> *result = (QMapNode<K,V> *)findInternal(&tmp);
-       
-       if (result != NULL) {
-           return ConstIterator(result);
-       } else {
-           return ConstIterator(end());
-       }
-    }
-    
-    bool contains(const K &key) const
-    {
-       QMapNode<K,V> tmp(key, V());
-       return findInternal(&tmp);
-    }
-
-    QMap<K,V>& operator=(const QMap<K,V>&map)
-    {
-       QMap<K,V> tmp(map);
-       swap(tmp);
-       return *this;
-    }
-
-    V& operator[](const K& key)
-    {
-       QMapNode<K,V> tmp(key, V());
-       return ((QMapNode<K,V> *)insertInternal(&tmp, false))->value;
-    }
-
-    V operator[](const K& key) const
-    {
-       QMapNode<K,V> tmp(key, V());
-        QMapNode<K,V> *result = (QMapNode<K,V> *)findInternal(&tmp);
-       return result ? result->value : V();
-    }
-
-protected:
-    virtual void copyNode(const KWQMapNodeImpl *isrc, KWQMapNodeImpl *idst) const
-    {
-       QMapNode<K,V> *src = (QMapNode<K,V> *)isrc;
-       QMapNode<K,V> *dst = (QMapNode<K,V> *)idst;
-       dst->key = src->key;
-       dst->value = src->value;
-    }
-    
-    virtual KWQMapNodeImpl *duplicateNode(const KWQMapNodeImpl *isrc) const
-    {
-       QMapNode<K,V> *src = (QMapNode<K,V> *)isrc;
-       return new QMapNode<K,V>(src->key, src->value);
-    }
-
-    virtual CompareResult compareNodes(const KWQMapNodeImpl *ia, const KWQMapNodeImpl *ib) const
-    {
-       QMapNode<K,V> *a = (QMapNode<K,V> *)ia;
-       QMapNode<K,V> *b = (QMapNode<K,V> *)ib;
-
-       if (a->key == b->key) {
-           return Equal;
-       } else if (a->key < b->key) {
-           return Less;
-       } else {
-           return Greater;
-       }
-    }
-
-    virtual void swapNodes(KWQMapNodeImpl *ia, KWQMapNodeImpl *ib) const
-    {
-       QMapNode<K,V> *a = (QMapNode<K,V> *)ia;
-       QMapNode<K,V> *b = (QMapNode<K,V> *)ib;
-
-       K tmpKey = a->key;
-       V tmpValue = a->value;
-       a->key = b->key;
-       a->value = b->value;
-       b->key = tmpKey;
-       b->value = tmpValue;
-    }
-
-    static void deleteNode(KWQMapNodeImpl *inode)
-    {
-       delete (QMapNode<K,V> *)inode;
-    }
-
-};
-
-#endif
diff --git a/WebCore/kwq/KWQMapImpl.cpp b/WebCore/kwq/KWQMapImpl.cpp
deleted file mode 100644 (file)
index 17bf660..0000000
+++ /dev/null
@@ -1,645 +0,0 @@
-/*
- * Copyright (C) 2003 Apple Computer, Inc.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */
-
-#include "config.h"
-#include "KWQMapImpl.h"
-
-#include "Shared.h"
-
-KWQMapNodeImpl::KWQMapNodeImpl() :
-    prev(NULL),
-    next(NULL),
-    prevIsChild(true),
-    nextIsChild(true),
-    color(Red)
-{
-}
-
-KWQMapNodeImpl *KWQMapNodeImpl::left()
-{
-    return prevIsChild ? prev : NULL;
-}
-
-const KWQMapNodeImpl *KWQMapNodeImpl::left() const
-{
-    return prevIsChild ? prev : NULL;
-}
-
-KWQMapNodeImpl *KWQMapNodeImpl::right()
-{
-    return nextIsChild ? next : NULL;
-}
-
-const KWQMapNodeImpl *KWQMapNodeImpl::right() const
-{
-    return nextIsChild ? next : NULL;
-}
-
-KWQMapNodeImpl *KWQMapNodeImpl::predecessor()
-{
-    if (!prevIsChild || prev == NULL) {
-       return prev;
-    }
-    KWQMapNodeImpl *pred = left();
-    while (pred->right() != NULL) {
-       pred = pred->right();
-    }
-    return pred;
-}
-
-const KWQMapNodeImpl *KWQMapNodeImpl::predecessor() const
-{
-    if (!prevIsChild || prev == NULL) {
-       return prev;
-    }
-    const KWQMapNodeImpl *pred = left();
-    while (pred->right() != NULL) {
-       pred = pred->right();
-    }
-    return pred;
-}
-
-KWQMapNodeImpl *KWQMapNodeImpl::successor()
-{
-    if (!nextIsChild || next == NULL) {
-       return next;
-    }
-    KWQMapNodeImpl *succ = right();
-    while (succ->left() != NULL) {
-       succ = succ->left();
-    }
-    return succ;
-}
-
-const KWQMapNodeImpl *KWQMapNodeImpl::successor() const
-{
-    if (!nextIsChild || next == NULL) {
-       return next;
-    }
-    const KWQMapNodeImpl *succ = right();
-    while (succ->left() != NULL) {
-       succ = succ->left();
-    }
-    return succ;
-}
-
-
-KWQMapIteratorImpl::KWQMapIteratorImpl() : node(NULL)
-{
-}
-
-void KWQMapIteratorImpl::incrementInternal()
-{
-    node = node->successor();
-}
-
-
-// KWQMapImplPrivate
-
-class KWQMapImpl::KWQMapPrivate : public Shared<KWQMapImpl::KWQMapPrivate>
-{
-public:
-    KWQMapPrivate(KWQMapNodeImpl *node,
-                 uint count,
-                 void (*deleteFunc)(KWQMapNodeImpl *));
-
-    ~KWQMapPrivate();
-
-    KWQMapNodeImpl *guard;
-    uint numNodes;
-    void (*deleteNode)(KWQMapNodeImpl *);
-};
-
-KWQMapImpl::KWQMapPrivate::KWQMapPrivate(KWQMapNodeImpl *node,
-                                        uint count,
-                                        void (*deleteFunc)(KWQMapNodeImpl *)) :
-    guard(node),
-    numNodes(count),
-    deleteNode(deleteFunc)
-{
-}
-
-KWQMapImpl::KWQMapPrivate::~KWQMapPrivate()
-{
-    deleteNode(guard);
-}
-
-// KWQMapImpl
-
-KWQMapImpl::KWQMapImpl(KWQMapNodeImpl *guard, void (*deleteNode)(KWQMapNodeImpl *)) :
-    d(new KWQMapPrivate(guard, 0, deleteNode))
-{
-}
-
-KWQMapImpl::KWQMapImpl(const KWQMapImpl &impl) :
-    d(impl.d)
-{
-}
-
-KWQMapImpl::~KWQMapImpl()
-{
-}
-
-void KWQMapImpl::copyOnWrite()
-{
-    if (!d->hasOneRef())
-       d = new KWQMapPrivate(copyTree(d->guard, NULL, NULL), d->numNodes, d->deleteNode);
-}
-
-KWQMapNodeImpl *KWQMapImpl::copyTree(const KWQMapNodeImpl *node, 
-                                    KWQMapNodeImpl *subtreePredecessor, 
-                                    KWQMapNodeImpl *subtreeSuccessor) const
-{
-    if (node == NULL) {
-       return NULL;
-    }
-    
-    // FIXME: not exception-safe - use auto_ptr?
-    KWQMapNodeImpl *copy = duplicateNode(node);
-    copy->color = node->color;
-    
-    if (node->prevIsChild) {
-       copy->prevIsChild = true;
-       copy->prev = copyTree(node->prev, subtreePredecessor, copy);
-    } else {
-       copy->prevIsChild = false;
-       copy->prev = subtreePredecessor;
-    }
-    
-    if (node->nextIsChild) {
-       copy->nextIsChild = true;
-       copy->next = copyTree(node->next, copy, subtreeSuccessor);
-    } else {
-       copy->nextIsChild = false;
-       copy->next = subtreeSuccessor;
-    }
-    
-    return copy;
-}
-
-void KWQMapImpl::rotateRight(KWQMapNodeImpl *node, KWQMapNodeImpl *parent, bool leftParent)
-{
-    KWQMapNodeImpl *rotationChild = node->left();
-
-       if (leftParent) {
-           parent->prev = rotationChild;
-       } else {
-           parent->next = rotationChild;
-       }
-       
-       node->prev = rotationChild->next;
-       node->prevIsChild = rotationChild->nextIsChild;
-       
-       rotationChild->next = node;
-       rotationChild->nextIsChild = true;
-
-       // fixup threads
-       if (!node->prevIsChild) {
-           node->prev = rotationChild;
-       }
-    }
-    
-void KWQMapImpl::rotateLeft(KWQMapNodeImpl *node, KWQMapNodeImpl *parent, bool leftParent)
-{
-    KWQMapNodeImpl *rotationChild = node->right();
-    
-    if (leftParent) {
-       parent->prev = rotationChild;
-    } else {
-       parent->next = rotationChild;
-    }
-    
-    node->next = rotationChild->prev;
-    node->nextIsChild = rotationChild->prevIsChild;
-    
-    rotationChild->prev = node;
-    rotationChild->prevIsChild = true;
-    
-    // fixup threads
-    if (!node->nextIsChild) {
-       node->next = rotationChild;
-    }
-}
-
-void KWQMapImpl::rebalanceAfterInsert(KWQMapNodeImpl **nodes, bool *wentLeft, int height)
-{
-    nodes[height]->color = KWQMapNodeImpl::Red;
-    
-    while (nodes[height] != d->guard->prev && nodes[height-1]->color == KWQMapNodeImpl::Red) {
-       if (wentLeft[height-2]) {
-           KWQMapNodeImpl *uncle = nodes[height-2]->right();
-           if (uncle != NULL && uncle->color == KWQMapNodeImpl::Red) {
-               nodes[height-1]->color = KWQMapNodeImpl::Black;
-               uncle->color = KWQMapNodeImpl::Black;
-               nodes[height-2]->color = KWQMapNodeImpl::Red;
-               
-               // go up two levels
-               height = height - 2;
-           } else {
-               KWQMapNodeImpl *parent;
-               if (!wentLeft[height-1]) {
-                   parent = nodes[height-1]->right();
-                   rotateLeft(nodes[height-1], nodes[height-2], wentLeft[height-2]);
-               } else {
-                   parent = nodes[height-1];
-               }
-               parent->color = KWQMapNodeImpl::Black;
-               nodes[height-2]->color = KWQMapNodeImpl::Red;
-               rotateRight(nodes[height-2], nodes[height-3], wentLeft[height-3]);
-               break;
-           }
-       } else {
-           // same as the other branch, but with left and right swapped
-           
-           KWQMapNodeImpl *uncle = nodes[height-2]->left();
-           
-           if (uncle != NULL && uncle->color == KWQMapNodeImpl::Red) {
-               nodes[height-1]->color = KWQMapNodeImpl::Black;
-               uncle->color = KWQMapNodeImpl::Black;
-               nodes[height-2]->color = KWQMapNodeImpl::Red;
-               
-               // go up two levels
-               height = height - 2;
-           } else {
-               KWQMapNodeImpl *parent;
-               if (wentLeft[height-1]) {
-                   parent = nodes[height-1]->left();
-                   rotateRight(nodes[height-1], nodes[height-2], wentLeft[height-2]);
-               } else {
-                   parent = nodes[height-1];
-               }
-               parent->color = KWQMapNodeImpl::Black;
-               nodes[height-2]->color = KWQMapNodeImpl::Red;
-               rotateLeft(nodes[height-2], nodes[height-3], wentLeft[height-3]);
-               break;
-           }
-       }
-    }
-    
-    d->guard->prev->color = KWQMapNodeImpl::Black;
-}
-
-void KWQMapImpl::rebalanceAfterRemove(KWQMapNodeImpl *nodeToRemove, KWQMapNodeImpl **nodes, bool *wentLeft, int height) 
-{
-    if (nodeToRemove->color == KWQMapNodeImpl::Black) {
-       while (nodes[height] != d->guard->prev && (nodes[height]==NULL || nodes[height]->color==KWQMapNodeImpl::Black)) {
-           if (wentLeft[height-1]) {
-               KWQMapNodeImpl *sibling = nodes[height-1]->right();
-               if (sibling != NULL && sibling->color == KWQMapNodeImpl::Red) {
-                   sibling->color = KWQMapNodeImpl::Black;
-                   nodes[height-1]->color = KWQMapNodeImpl::Red;
-                   rotateLeft(nodes[height-1], nodes[height-2], wentLeft[height-2]);
-                   
-                   nodes[height] = nodes[height-1];
-                   wentLeft[height] = true;
-                   nodes[height-1] = sibling;
-                   height = height + 1;
-                   
-                   sibling = nodes[height-1]->right();
-               }
-               if ((sibling->left() == NULL || sibling->left()->color == KWQMapNodeImpl::Black) &&
-                   (sibling->right() == NULL || sibling->right()->color == KWQMapNodeImpl::Black)) {
-                   sibling->color = KWQMapNodeImpl::Red;
-                   height = height - 1;
-               } else {
-                   if (sibling->right() == NULL || sibling->right()->color == KWQMapNodeImpl::Black) {
-                       sibling->left()->color = KWQMapNodeImpl::Black;
-                       sibling->color = KWQMapNodeImpl::Red;
-                       rotateRight(sibling, nodes[height-1], !wentLeft[height-1]);
-                       sibling = nodes[height-1]->right();
-                   }
-                   
-                   sibling->color = nodes[height-1]->color;
-                   nodes[height-1]->color = KWQMapNodeImpl::Black;
-                   sibling->right()->color = KWQMapNodeImpl::Black;
-                   rotateLeft(nodes[height-1], nodes[height-2], wentLeft[height-2]);
-                   
-                   nodes[height] = d->guard->prev;
-               }
-           } else {
-               // same as the other branch, but with left and right swapped
-               
-               KWQMapNodeImpl *sibling = nodes[height-1]->left();
-               if (sibling != NULL && sibling->color == KWQMapNodeImpl::Red) {
-                   sibling->color = KWQMapNodeImpl::Black;
-                   nodes[height-1]->color = KWQMapNodeImpl::Red;
-                   rotateRight(nodes[height-1], nodes[height-2], wentLeft[height-2]);
-                   
-                   nodes[height] = nodes[height-1];
-                   wentLeft[height] = false;
-                   nodes[height-1] = sibling;
-                   height = height + 1;
-                   
-                   sibling = nodes[height-1]->left();
-               }
-               if ((sibling->right() == NULL || sibling->right()->color == KWQMapNodeImpl::Black) &&
-                   (sibling->left() == NULL || sibling->left()->color == KWQMapNodeImpl::Black)) {
-                   sibling->color = KWQMapNodeImpl::Red;
-                   height = height - 1;
-               } else {
-                   if (sibling->left() == NULL || sibling->left()->color == KWQMapNodeImpl::Black) {
-                       sibling->right()->color = KWQMapNodeImpl::Black;
-                       sibling->color = KWQMapNodeImpl::Red;
-                       rotateLeft(sibling, nodes[height-1], !wentLeft[height-1]);
-                       sibling = nodes[height-1]->left();
-                   }
-                   
-                   sibling->color = nodes[height-1]->color;
-                   nodes[height-1]->color = KWQMapNodeImpl::Black;
-                   sibling->left()->color = KWQMapNodeImpl::Black;
-                   rotateRight(nodes[height-1], nodes[height-2], wentLeft[height-2]);
-                   
-                   nodes[height] = d->guard->prev;
-               }
-           }
-       }
-       
-       if (nodes[height] != NULL) {
-           nodes[height]->color = KWQMapNodeImpl::Black;
-       }
-    }
-}
-
-KWQMapNodeImpl *KWQMapImpl::findInternal(KWQMapNodeImpl *target) const
-{
-    KWQMapNodeImpl *node = d->guard->left();
-    
-    while (node != NULL) {
-       CompareResult compare = compareNodes(target,node);
-       
-       if (compare == Equal) {
-           break;
-       } else if (compare == Less) {
-           node = node->left();
-       } else if (compare == Greater) {
-           node = node->right();
-       }
-    }
-    
-    return node;
-}
-
-KWQMapNodeImpl *KWQMapImpl::insertInternal(KWQMapNodeImpl *nodeToInsert, bool replaceExisting)
-{
-    KWQMapNodeImpl *nodeStack[MAX_STACK];
-    bool wentLeftStack[MAX_STACK];
-    int height = 0;
-    
-    copyOnWrite();
-
-    nodeStack[height] = d->guard;
-    wentLeftStack[height] = true;
-    height++;
-    
-    KWQMapNodeImpl *node = d->guard->left();
-    
-    while (node != NULL) {
-       CompareResult compare = compareNodes(nodeToInsert, node);
-       if (compare == Equal) {
-           break;
-       } else if (compare == Less) {
-           nodeStack[height] = node;
-           wentLeftStack[height] = true;
-           height++;
-           node = node->left();
-       } else {
-           nodeStack[height] = node;
-           wentLeftStack[height] = false;
-           height++;
-           node = node->right();
-       }
-    }
-    
-    if (node != NULL) {
-       if (replaceExisting) {
-           copyNode(nodeToInsert, node);
-       }
-       return node;
-    }
-    
-    node = duplicateNode(nodeToInsert);
-    
-    nodeStack[height] = node;
-    
-    if (wentLeftStack[height-1]) {
-       // arrange for threading
-       node->prev = nodeStack[height-1]->prev;
-       node->prevIsChild = false;
-       node->next = nodeStack[height-1];
-       node->nextIsChild = false;
-       
-       // make it the child
-       nodeStack[height-1]->prev = node;
-       nodeStack[height-1]->prevIsChild = true;
-    } else {
-       // arrange for threading
-       node->next = nodeStack[height-1]->next;
-       node->nextIsChild = false;
-       node->prev = nodeStack[height-1];
-       node->prevIsChild = false;
-       
-       // make it the child
-       nodeStack[height-1]->next = node;
-       nodeStack[height-1]->nextIsChild = true;
-    }
-    
-    rebalanceAfterInsert(nodeStack, wentLeftStack, height);
-    d->numNodes++;
-
-    return node;
-}
-
-void KWQMapImpl::removeEqualInternal(KWQMapNodeImpl *nodeToDelete, bool samePointer)
-{
-    KWQMapNodeImpl *nodeStack[MAX_STACK];
-    bool wentLeftStack[MAX_STACK];
-    int height = 0;
-    
-    copyOnWrite();
-
-    nodeStack[height] = d->guard;
-    wentLeftStack[height] = true;
-    height++;
-    
-    KWQMapNodeImpl *node = d->guard->left();
-    
-    while (node != NULL) {
-       CompareResult compare = compareNodes(nodeToDelete, node);
-       if (compare == Equal) {
-           break;
-       } else if (compare == Less) {
-           nodeStack[height] = node;
-           wentLeftStack[height] = true;
-           height++;
-           node = node->left();
-       } else {
-           nodeStack[height] = node;
-           wentLeftStack[height] = false;
-           height++;
-           node = node->right();
-       }
-    }
-
-    if (node == NULL || samePointer && node != nodeToDelete) {
-       return;
-    }
-       
-    KWQMapNodeImpl *removalParent;
-    KWQMapNodeImpl *nodeToRemove;
-    bool removalWentLeft;
-
-    if (node->left() == NULL || node->right() == NULL) {
-       // If this node has at most one subtree, we can remove it directly
-       nodeToRemove = node;
-       removalParent = nodeStack[height-1];
-       removalWentLeft = wentLeftStack[height-1];
-    } else {
-       // Otherwise we find the immediate successor (leftmost
-       // node in the right subtree), which must have at most one
-       // subtree, swap it's contents with the node we found, and
-       // remove it.
-       nodeToRemove = node->right();
-       wentLeftStack[height] = false;
-       nodeStack[height] = node;
-       height++;
-       
-       removalParent = node;
-       removalWentLeft = false;
-       
-       while (nodeToRemove->left() != NULL) {
-           wentLeftStack[height] = true;
-           nodeStack[height] = nodeToRemove;
-           removalParent = nodeToRemove;
-           nodeToRemove = nodeToRemove->left();
-           removalWentLeft = true;
-           height++;
-       }
-
-       swapNodes(node,nodeToRemove);
-    }
-
-
-    // find replacement node
-    KWQMapNodeImpl *removalReplacement;
-
-    if (nodeToRemove->left() != NULL) {
-       removalReplacement = nodeToRemove->left();
-       // fixup threading
-       nodeToRemove->predecessor()->next = nodeToRemove->next; 
-    } else if (nodeToRemove->right() != NULL) {
-       removalReplacement = nodeToRemove->right();
-       // fixup threading
-       nodeToRemove->successor()->prev = nodeToRemove->prev;
-    } else {
-       removalReplacement = NULL;
-    }
-    
-    nodeStack[height] = removalReplacement;
-    
-    // detach removal node
-    if (removalWentLeft) {
-       if (removalReplacement == NULL) {
-           removalParent->prev = nodeToRemove->prev;
-           removalParent->prevIsChild = nodeToRemove->prevIsChild;
-       } else {
-           removalParent->prev = removalReplacement;
-       }
-    } else {
-       if (removalReplacement == NULL) {
-           removalParent->next = nodeToRemove->next;
-           removalParent->nextIsChild = nodeToRemove->nextIsChild;
-       } else {
-           removalParent->next = removalReplacement;
-       }
-    }
-    
-    // do red-black rebalancing
-    rebalanceAfterRemove(nodeToRemove, nodeStack, wentLeftStack, height);
-    
-    // detach removal node's children
-    nodeToRemove->next = NULL;
-    nodeToRemove->prev = NULL;
-    
-    d->numNodes--;
-    d->deleteNode(nodeToRemove);
-}
-
-void KWQMapImpl::swap(KWQMapImpl &map)
-{
-    RefPtr<KWQMapPrivate> tmp = d;
-    d = map.d;
-    map.d = d;
-}
-
-uint KWQMapImpl::countInternal() const
-{
-    return d->numNodes;
-}
-
-void KWQMapImpl::clearInternal()
-{
-    copyOnWrite();
-
-    d->deleteNode(d->guard->prev);
-    d->guard->prev = NULL;
-    d->numNodes = 0;
-}
-
-const KWQMapNodeImpl *KWQMapImpl::beginInternal() const
-{
-    KWQMapNodeImpl *node;
-    
-    node = d->guard;
-    while (node->left() != NULL) {
-       node = node->left();
-    }
-    
-    return node;
-}
-
-const KWQMapNodeImpl *KWQMapImpl::endInternal() const
-{
-    return d->guard;
-}
-
-KWQMapNodeImpl *KWQMapImpl::beginInternal()
-{
-    KWQMapNodeImpl *node;
-    
-    copyOnWrite();
-
-    node = d->guard;
-    while (node->left() != NULL) {
-       node = node->left();
-    }
-    
-    return node;
-}
-
-KWQMapNodeImpl *KWQMapImpl::endInternal()
-{
-    copyOnWrite();
-    return d->guard;
-}
diff --git a/WebCore/kwq/KWQMapImpl.h b/WebCore/kwq/KWQMapImpl.h
deleted file mode 100644 (file)
index c7e70bd..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright (C) 2003 Apple Computer, Inc.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */
-
-#ifndef KWQ_MAP_IMPL_H
-#define KWQ_MAP_IMPL_H
-
-#include <new>
-
-#include <kxmlcore/RefPtr.h>
-
-class KWQMapImpl;
-
-class KWQMapNodeImpl
-{
-protected:
-    typedef enum { Red = 0, Black = 1 } KWQMapNodeColor;
-
-    KWQMapNodeImpl();
-
-    KWQMapNodeImpl *left();
-    const KWQMapNodeImpl *left() const;
-    KWQMapNodeImpl *right();
-    const KWQMapNodeImpl *right() const;
-    KWQMapNodeImpl *predecessor();
-    const KWQMapNodeImpl *predecessor() const;
-    KWQMapNodeImpl *successor();
-    const KWQMapNodeImpl *successor() const;
-
-    KWQMapNodeImpl *prev;
-    KWQMapNodeImpl *next;
-    bool prevIsChild;
-    bool nextIsChild;
-    KWQMapNodeColor color;
-
-    friend class KWQMapImpl;
-    friend class KWQMapIteratorImpl;
-
-#ifdef QMAP_TESTING
-    friend bool CheckRedBlackRules(KWQMapImpl *impl);
-    friend bool CheckRedBlackRulesAtNode(KWQMapImpl *impl, KWQMapNodeImpl *node, int &black_height);
-#endif
-};
-
-class KWQMapIteratorImpl {
-protected:
-    KWQMapNodeImpl *node;
-
-    KWQMapIteratorImpl();
-    void incrementInternal();
-};
-
-class KWQMapImpl {
- protected:
-    typedef enum { Less = -1, Equal = 0, Greater = 1 } CompareResult;
-
-    KWQMapImpl(KWQMapNodeImpl *guard, void (*deleteNode)(KWQMapNodeImpl *));
-    virtual ~KWQMapImpl();
-
-    KWQMapImpl(const KWQMapImpl &);
-    KWQMapImpl &operator=(const KWQMapImpl &);
-
-    KWQMapNodeImpl *findInternal(KWQMapNodeImpl *target) const;
-    KWQMapNodeImpl *insertInternal(KWQMapNodeImpl *nodeToInsert, bool replaceExisting);
-    void removeEqualInternal(KWQMapNodeImpl *nodeToRemove, bool samePointer = false);
-    uint countInternal() const;
-    void clearInternal();
-    void swap(KWQMapImpl &map);
-    const KWQMapNodeImpl *beginInternal() const;
-    const KWQMapNodeImpl *endInternal() const;
-    KWQMapNodeImpl *beginInternal();
-    KWQMapNodeImpl *endInternal();
-
-    virtual CompareResult compareNodes(const KWQMapNodeImpl *a, const KWQMapNodeImpl *b) const = 0;
-    virtual void copyNode(const KWQMapNodeImpl *src, KWQMapNodeImpl *dst) const = 0;
-    virtual KWQMapNodeImpl *duplicateNode(const KWQMapNodeImpl *src) const = 0;
-    virtual void swapNodes(KWQMapNodeImpl *a, KWQMapNodeImpl *b) const = 0;
-
- private:
-    // can't possibly have a bigger height than this in a balanced tree
-    static const int MAX_STACK = 64;
-
-    void copyOnWrite();
-    KWQMapNodeImpl *copyTree(const KWQMapNodeImpl *node, 
-                             KWQMapNodeImpl *subtreePredecessor, 
-                             KWQMapNodeImpl *subtreeSuccessor) const;
-    void rebalanceAfterInsert(KWQMapNodeImpl **nodes, bool *wentLeft, int height);
-    void rebalanceAfterRemove(KWQMapNodeImpl *nodeToRemove, KWQMapNodeImpl **nodes, bool *wentLeft, int height);
-    void rotateRight(KWQMapNodeImpl *node, KWQMapNodeImpl *parent, bool leftParent);
-    void rotateLeft(KWQMapNodeImpl *node, KWQMapNodeImpl *parent, bool leftParent);
-
-    class KWQMapPrivate;
-
-    RefPtr<KWQMapPrivate> d;
-
-#ifdef QMAP_TESTING
-    friend bool CheckRedBlackRules(KWQMapImpl *impl);
-    friend bool CheckRedBlackRulesAtNode(KWQMapImpl *impl, KWQMapNodeImpl *node, int &black_height);
-#endif
-};
-
-#endif
index b1b2a9cfae59f0174bcc3d5b6ba2f6ebb5fc04f2..eca3d0c5313aee54d321150f00e4abbcf2f2e956 100644 (file)
@@ -100,7 +100,6 @@ void Loader::servePendingRequests()
   KURL u(req->object->url().qstring());
   KIO::TransferJob* job = KIO::get( u, false, false /*no GUI*/, true);
   
-  job->addMetaData("cache", getCacheControlString(req->object->cachePolicy()));
   if (!req->object->accept().isEmpty())
       job->addMetaData("accept", req->object->accept());
   if ( req->m_docLoader )  {
index bf502f3d22945a74038e144e24fb2ee179b39522..20d511aafcf29eaa6a2013d9f6a065c35f2ae550 100644 (file)
 
 #include "config.h"
 #include "Frame.h"
+#include "FramePrivate.h"
 
 #include "Cache.h"
 #include "CachedCSSStyleSheet.h"
 #include "DOMImplementationImpl.h"
 #include "DocLoader.h"
 #include "EventNames.h"
-#include "FramePrivate.h"
 #include "FrameView.h"
 #include "HTMLFormElementImpl.h"
 #include "HTMLGenericFormElementImpl.h"
 #include "Frame.h"
 #include "RenderText.h"
-#include "SelectionController.h"
+#include "SegmentedString.h"
+#include "apply_style_command.h"
 #include "css_computedstyle.h"
 #include "css_valueimpl.h"
 #include "csshelper.h"
 #include "html_miscimpl.h"
 #include "html_objectimpl.h"
 #include "htmlediting.h"
+#include "khtml_events.h"
 #include "khtml_settings.h"
 #include "kjs_proxy.h"
 #include "kjs_window.h"
-#include "kxmlcore/Assertions.h"
 #include "loader.h"
 #include "markup.h"
 #include "render_block.h"
 #include "render_canvas.h"
 #include "render_frames.h"
+#include "typing_command.h"
 #include "visible_position.h"
 #include "visible_text.h"
 #include "visible_units.h"
 #include "xml_tokenizer.h"
 #include "xmlhttprequest.h"
 #include <assert.h>
+#include <kcursor.h>
 #include <kdebug.h>
 #include <kio/global.h>
 #include <kio/job.h>
 #include <klocale.h>
+#include <kxmlcore/Assertions.h>
 #include <qptrlist.h>
 #include <qtextcodec.h>
 #include <sys/types.h>
@@ -264,7 +268,6 @@ bool Frame::didOpenURL(const KURL &url)
   else
   {
       d->m_job = KIO::get( url, false, false );
-      d->m_job->addMetaData("cache", KIO::getCacheControlString(d->m_cachePolicy));
   }
 
   d->m_job->addMetaData(args.metaData());
@@ -1175,7 +1178,7 @@ void Frame::changeLocation(const QString &URL, const QString &referrer, bool loc
 
     args.setLockHistory(lockHistory);
     if (!referrer.isEmpty())
-        args.metaData()["referrer"] = referrer;
+        args.metaData().set("referrer", referrer);
 
     urlSelected(URL, 0, 0, "_self", args);
 }
@@ -1350,12 +1353,12 @@ const SelectionController &Frame::dragCaret() const
     return d->m_dragCaret;
 }
 
-const SelectionController &Frame::mark() const
+const WebCore::Selection& Frame::mark() const
 {
     return d->m_mark;
 }
 
-void Frame::setMark(const SelectionController &s)
+void Frame::setMark(const WebCore::Selection& s)
 {
     d->m_mark = s;
 }
@@ -1548,12 +1551,12 @@ void Frame::urlSelected( const QString &url, int button, int state, const QStrin
   if ( d->m_bHTTPRefresh )
   {
     d->m_bHTTPRefresh = false;
-    args.metaData()["cache"] = "refresh";
+    args.metaData().set("cache", "refresh");
   }
 
 
   if (!d->m_referrer.isEmpty())
-    args.metaData()["referrer"] = d->m_referrer;
+    args.metaData().set("referrer", d->m_referrer);
   urlSelected(cURL, button, state, args);
 }
 
@@ -1634,7 +1637,7 @@ bool Frame::requestObject( ChildFrame *child, const KURL &url, const URLArgs &_a
   child->m_args.reload = (d->m_cachePolicy == KIO::CC_Reload) || (d->m_cachePolicy == KIO::CC_Refresh);
   child->m_serviceName = QString::null;
   if (!d->m_referrer.isEmpty() && !child->m_args.metaData().contains( "referrer" ))
-    child->m_args.metaData()["referrer"] = d->m_referrer;
+    child->m_args.metaData().set("referrer", d->m_referrer);
 
 
   // We want a Frame if the HTML says <frame src=""> or <frame src="about:blank">
@@ -1674,7 +1677,7 @@ bool Frame::processObjectRequest( ChildFrame *child, const KURL &_url, const QSt
     if (frame && frame->inherits("Frame")) {
       URLArgs args;
       if (!d->m_referrer.isEmpty())
-        args.metaData()["referrer"] = d->m_referrer;
+        args.metaData().set("referrer", d->m_referrer);
       frame->openURLRequest(url, args);
     }
   }
@@ -1785,7 +1788,7 @@ void Frame::submitForm( const char *action, const QString &url, const FormData &
   URLArgs args;
 
   if (!d->m_referrer.isEmpty())
-     args.metaData()["referrer"] = d->m_referrer;
+     args.metaData().set("referrer", d->m_referrer);
 
   args.frameName = _target.isEmpty() ? d->m_doc->baseTarget() : _target ;
 
index 8d58dff16b00ebdd069787deb014843789f22432..8b11b206786d13a6ff809582051f102e2f0f4644 100644 (file)
  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
-#ifndef _FRAME_H
-#define _FRAME_H
 
+#ifndef FRAME_H
+#define FRAME_H
+
+#include "BrowserExtension.h"
 #include "NodeImpl.h"
+#include "ObjectContents.h"
+#include "edit_actions.h"
 #include "text_affinity.h"
 #include "text_granularity.h"
-#include "edit_actions.h"
-
-#include "ObjectContents.h"
-#include "BrowserExtension.h"
-#include <qscrollbar.h>
 #include <qcolor.h>
+#include <qscrollbar.h>
 
 class FramePrivate;
-class KHTMLPartBrowserExtension;
-class KJSProxyImpl;
 class FrameView;
+class KHTMLPartBrowserExtension;
 class KHTMLSettings;
+class KJSProxyImpl;
 
 namespace KJS {
     class PausedTimeouts;
@@ -49,56 +49,53 @@ namespace KJS {
     class SavedBuiltins;
 }
 
-namespace DOM
-{
-  class CSSComputedStyleDeclarationImpl;
-  class CSSMutableStyleDeclarationImpl;
-  class CSSStyleDeclarationImpl;
-  class DOMString;
-  class Document;
-  class DocumentImpl;
-  class ElementImpl;
-  class EventListener;
-  class HTMLAnchorElementImpl;
-  class HTMLDocument;
-  class HTMLDocumentImpl;
-  class HTMLElementImpl;
-  class HTMLEventListener;
-  class HTMLFormElementImpl;
-  class HTMLFrameElementImpl;
-  class HTMLIFrameElementImpl;
-  class HTMLMetaElementImpl;
-  class HTMLObjectElementImpl;
-  class HTMLTitleElementImpl;
-  class Node;
-  class NodeImpl;
-  class Range;
-  class RangeImpl;
-}
+namespace WebCore {
+    class CSSComputedStyleDeclarationImpl;
+    class CSSMutableStyleDeclarationImpl;
+    class CSSStyleDeclarationImpl;
+    class CSSStyleSelector;
+    class CachedObject;
+    class DOMString;
+    class DocLoader;
+    class Document;
+    class DocumentImpl;
+    class DrawContentsEvent;
+    class EditCommandPtr;
+    class ElementImpl;
+    class EventListener;
+    class FormData;
+    class HTMLAnchorElementImpl;
+    class HTMLDocument;
+    class HTMLDocumentImpl;
+    class HTMLElementImpl;
+    class HTMLEventListener;
+    class HTMLFormElementImpl;
+    class HTMLFrameElementImpl;
+    class HTMLIFrameElementImpl;
+    class HTMLMetaElementImpl;
+    class HTMLObjectElementImpl;
+    class HTMLTitleElementImpl;
+    class HTMLTokenizer;
+    class MouseDoubleClickEvent;
+    class MouseEvent;
+    class MouseMoveEvent;
+    class MousePressEvent;
+    class MouseReleaseEvent;
+    class Node;
+    class NodeImpl;
+    class Range;
+    class RangeImpl;
+    class RenderObject;
+    class RenderPart;
+    class RenderPartObject;
+    class RenderStyle;
+    class RenderWidget;
+    class Selection;
+    class SelectionController;
+    class VisiblePosition;
+    class XMLTokenizer;
 
-namespace khtml
-{
-  class CachedObject;
-  struct ChildFrame;
-  class CSSStyleSelector;
-  class DocLoader;
-  class DrawContentsEvent;
-  class EditCommandPtr;
-  class FormData;
-  class HTMLTokenizer;
-  class MouseDoubleClickEvent;
-  class MouseEvent;
-  class MouseMoveEvent;
-  class MousePressEvent;
-  class MouseReleaseEvent;
-  class RenderObject;
-  class RenderPart;
-  class RenderPartObject;
-  class RenderStyle;
-  class RenderWidget;
-  class SelectionController;
-  class VisiblePosition;
-  class XMLTokenizer;
+    struct ChildFrame;
 }
 
 namespace KJS {
@@ -128,28 +125,27 @@ struct MarkedTextUnderline {
 
 class Frame : public ObjectContents {
   friend class FrameView;
-  friend class DOM::HTMLTitleElementImpl;
-  friend class DOM::HTMLFrameElementImpl;
-  friend class DOM::HTMLIFrameElementImpl;
-  friend class DOM::HTMLObjectElementImpl;
-  friend class DOM::HTMLAnchorElementImpl;
-  friend class DOM::HTMLMetaElementImpl;
-  friend class DOM::NodeImpl;
   friend class KHTMLRun;
-  friend class DOM::HTMLFormElementImpl;
-  friend class khtml::RenderPartObject;
+  friend class KJS::DOMDocument;
   friend class KJS::Selection;
   friend class KJS::SelectionFunc;
   friend class KJS::Window;
   friend class KJS::WindowFunc;
-  friend class KJS::DOMDocument;
-  friend class DOM::DocumentImpl;
-  friend class DOM::HTMLDocumentImpl;
-  friend class khtml::HTMLTokenizer;
-  friend class khtml::XMLTokenizer;
-  friend class khtml::RenderWidget;
-  friend class khtml::CSSStyleSelector;
-  friend class KHTMLPartIface;
+  friend class WebCore::CSSStyleSelector;
+  friend class WebCore::DocumentImpl;
+  friend class WebCore::HTMLAnchorElementImpl;
+  friend class WebCore::HTMLDocumentImpl;
+  friend class WebCore::HTMLFormElementImpl;
+  friend class WebCore::HTMLFrameElementImpl;
+  friend class WebCore::HTMLIFrameElementImpl;
+  friend class WebCore::HTMLMetaElementImpl;
+  friend class WebCore::HTMLObjectElementImpl;
+  friend class WebCore::HTMLTitleElementImpl;
+  friend class WebCore::HTMLTokenizer;
+  friend class WebCore::NodeImpl;
+  friend class WebCore::RenderPartObject;
+  friend class WebCore::RenderWidget;
+  friend class WebCore::XMLTokenizer;
 
 public:
   enum { NoXPosForVerticalArrowNavigation = INT_MIN };
@@ -218,12 +214,12 @@ public:
   /**
    * Same as above except the Node parameter specifying the 'this' value.
    */
-  QVariant executeScript( DOM::NodeImpl *n, const QString &script, bool forceUserGesture = false );
+  QVariant executeScript( WebCore::NodeImpl *n, const QString &script, bool forceUserGesture = false );
 
   /**
    * Implementation of CSS property -khtml-user-drag == auto
    */
-  virtual bool shouldDragAutoNode(DOM::NodeImpl*, int x, int y) const;
+  virtual bool shouldDragAutoNode(WebCore::NodeImpl*, int x, int y) const;
   
   /**
    * Enables/disables Java applet support. Note that calling this function
@@ -446,7 +442,7 @@ public:
   /**
    * Initiates a text search.
    */
-  void findTextBegin(DOM::NodeImpl *startNode = 0, int startPos = -1);
+  void findTextBegin(WebCore::NodeImpl *startNode = 0, int startPos = -1);
 
   /**
    * Finds the next occurrence of the string or expression.
@@ -479,47 +475,47 @@ public:
   /**
    * Returns the selected part of the HTML.
    */
-  khtml::SelectionController &selection() const;
+  WebCore::SelectionController &selection() const;
 
   /**
    * Returns the granularity of the selection (character, word, line, paragraph).
    */
-  khtml::ETextGranularity selectionGranularity() const;
+  WebCore::ETextGranularity selectionGranularity() const;
   
   /**
    * Sets the granularity of the selection (character, word, line, paragraph).
    */
-  void setSelectionGranularity(khtml::ETextGranularity granularity) const;
+  void setSelectionGranularity(WebCore::ETextGranularity granularity) const;
 
   /**
    * Returns the drag caret of the HTML.
    */
-  const khtml::SelectionController &dragCaret() const;
+  const WebCore::SelectionController &dragCaret() const;
 
   /**
    * Sets the current selection.
    */
-  void setSelection(const khtml::SelectionController &, bool closeTyping = true, bool keepTypingStyle = false);
+  void setSelection(const WebCore::SelectionController &, bool closeTyping = true, bool keepTypingStyle = false);
 
   /**
    * Returns whether selection can be changed.
    */
-  bool shouldChangeSelection(const khtml::SelectionController &) const;
+  bool shouldChangeSelection(const WebCore::SelectionController &) const;
 
   /**
    * Returns a mark, to be used as emacs uses it.
    */
-  const khtml::SelectionController &mark() const;
+  const WebCore::Selection &mark() const;
 
   /**
    * Returns the mark.
    */
-  void setMark(const khtml::SelectionController &);
+  void setMark(const WebCore::Selection &);
 
   /**
-   * Sets the current drag cart.
+   * Sets the current drag caret.
    */
-  void setDragCaret(const khtml::SelectionController &);
+  void setDragCaret(const WebCore::SelectionController &);
   
   /**
    * Transposes characters either side of caret selection.
@@ -575,17 +571,17 @@ public:
    * Marks contents of node as selected.
    * Returns whether the selection changed.
    */
-  bool selectContentsOfNode(DOM::NodeImpl*);
+  bool selectContentsOfNode(WebCore::NodeImpl*);
  
   /**
    * Returns whether editing should end in the given range
    */
-  virtual bool shouldBeginEditing(const DOM::RangeImpl *) const;
+  virtual bool shouldBeginEditing(const WebCore::RangeImpl *) const;
 
   /**
    * Returns whether editing should end in the given range
    */
-  virtual bool shouldEndEditing(const DOM::RangeImpl *) const;
+  virtual bool shouldEndEditing(const WebCore::RangeImpl *) const;
 
   /**
    * Returns the contentEditable "override" value for the part
@@ -595,32 +591,32 @@ public:
   /**
    * Returns the most recent edit command applied.
    */
-  khtml::EditCommandPtr lastEditCommand();
+  WebCore::EditCommandPtr lastEditCommand();
 
   /**
    * Called when editing has been applied.
    */
-  void appliedEditing(khtml::EditCommandPtr &);
+  void appliedEditing(WebCore::EditCommandPtr &);
 
   /**
    * Called when editing has been unapplied.
    */
-  void unappliedEditing(khtml::EditCommandPtr &);
+  void unappliedEditing(WebCore::EditCommandPtr &);
 
   /**
    * Called when editing has been reapplied.
    */
-  void reappliedEditing(khtml::EditCommandPtr &);
+  void reappliedEditing(WebCore::EditCommandPtr &);
 
   /**
    * Returns the typing style for the document.
    */
-  DOM::CSSMutableStyleDeclarationImpl *typingStyle() const;
+  WebCore::CSSMutableStyleDeclarationImpl *typingStyle() const;
 
   /**
    * Sets the typing style for the document.
    */
-  void setTypingStyle(DOM::CSSMutableStyleDeclarationImpl *);
+  void setTypingStyle(WebCore::CSSMutableStyleDeclarationImpl *);
 
   /**
    * Clears the typing style for the document.
@@ -738,16 +734,16 @@ public:
   void undo();
   bool canRedo() const;
   bool canUndo() const;
-  void computeAndSetTypingStyle(DOM::CSSStyleDeclarationImpl *, khtml::EditAction editingAction=khtml::EditActionUnspecified);
-  void applyStyle(DOM::CSSStyleDeclarationImpl *, khtml::EditAction editingAction=khtml::EditActionUnspecified);
-  void applyParagraphStyle(DOM::CSSStyleDeclarationImpl *, khtml::EditAction editingAction=khtml::EditActionUnspecified);
-  TriState selectionHasStyle(DOM::CSSStyleDeclarationImpl *) const;
-  bool selectionStartHasStyle(DOM::CSSStyleDeclarationImpl *) const;
-  DOM::DOMString selectionStartStylePropertyValue(int stylePropertyID) const;
+  void computeAndSetTypingStyle(WebCore::CSSStyleDeclarationImpl *, WebCore::EditAction editingAction=WebCore::EditActionUnspecified);
+  void applyStyle(WebCore::CSSStyleDeclarationImpl *, WebCore::EditAction editingAction=WebCore::EditActionUnspecified);
+  void applyParagraphStyle(WebCore::CSSStyleDeclarationImpl *, WebCore::EditAction editingAction=WebCore::EditActionUnspecified);
+  TriState selectionHasStyle(WebCore::CSSStyleDeclarationImpl *) const;
+  bool selectionStartHasStyle(WebCore::CSSStyleDeclarationImpl *) const;
+  WebCore::DOMString selectionStartStylePropertyValue(int stylePropertyID) const;
   void applyEditingStyleToBodyElement() const;
   void removeEditingStyleFromBodyElement() const;
-  void applyEditingStyleToElement(DOM::ElementImpl *) const;
-  void removeEditingStyleFromElement(DOM::ElementImpl *) const;
+  void applyEditingStyleToElement(WebCore::ElementImpl *) const;
+  void removeEditingStyleFromElement(WebCore::ElementImpl *) const;
   void print();
   virtual bool isCharacterSmartReplaceExempt(const QChar &, bool);
 
@@ -786,13 +782,13 @@ public:
   void htmlError(int errorCode, const QString& text, const KURL& reqUrl);
 
   virtual void customEvent(QCustomEvent *event);
-  virtual void khtmlMouseDoubleClickEvent(khtml::MouseDoubleClickEvent *event);
-  virtual void khtmlMousePressEvent(khtml::MousePressEvent *event);
-  virtual void khtmlMouseMoveEvent(khtml::MouseMoveEvent *event);
-  virtual void khtmlMouseReleaseEvent(khtml::MouseReleaseEvent *event);
-  virtual void khtmlDrawContentsEvent(khtml::DrawContentsEvent*) { }
+  virtual void khtmlMouseDoubleClickEvent(WebCore::MouseDoubleClickEvent *event);
+  virtual void khtmlMousePressEvent(WebCore::MousePressEvent *event);
+  virtual void khtmlMouseMoveEvent(WebCore::MouseMoveEvent *event);
+  virtual void khtmlMouseReleaseEvent(WebCore::MouseReleaseEvent *event);
+  virtual void khtmlDrawContentsEvent(WebCore::DrawContentsEvent*) { }
   
-  void selectClosestWordFromMouseEvent(QMouseEvent *mouse, DOM::NodeImpl *innerNode, int x, int y);
+  void selectClosestWordFromMouseEvent(QMouseEvent *mouse, WebCore::NodeImpl *innerNode, int x, int y);
 
   /**
    * Internal empty reimplementation of @ref ObjectContents::openFile .
@@ -805,22 +801,22 @@ public:
 
   // Methods with platform-specific overrides (and no base class implementation).
   virtual WebCore::BrowserExtension* createBrowserExtension() = 0;
-  virtual void setTitle(const DOM::DOMString &) = 0;
+  virtual void setTitle(const WebCore::DOMString &) = 0;
   virtual void handledOnloadEvents() = 0;
   virtual QString userAgent() const = 0;
   virtual QString incomingReferrer() const = 0;
   virtual QString mimeTypeForFileName(const QString &) const = 0;
   virtual void clearRecordedFormValues() = 0;
-  virtual void recordFormValue(const QString &name, const QString &value, DOM::HTMLFormElementImpl *element) = 0;
+  virtual void recordFormValue(const QString &name, const QString &value, WebCore::HTMLFormElementImpl *element) = 0;
   virtual KJS::Bindings::Instance *getEmbedInstanceForWidget(QWidget*) = 0;
   virtual KJS::Bindings::Instance *getObjectInstanceForWidget(QWidget*) = 0;
   virtual KJS::Bindings::Instance *getAppletInstanceForWidget(QWidget*) = 0;
-  virtual void markMisspellingsInAdjacentWords(const khtml::VisiblePosition &) = 0;
-  virtual void markMisspellings(const khtml::SelectionController &) = 0;
-  virtual void addMessageToConsole(const DOM::DOMString& message,  unsigned int lineNumber, const DOM::DOMString& sourceID) = 0;
-  virtual void runJavaScriptAlert(const DOM::DOMString& message) = 0;
-  virtual bool runJavaScriptConfirm(const DOM::DOMString& message) = 0;
-  virtual bool runJavaScriptPrompt(const DOM::DOMString& message, const DOM::DOMString& defaultValue, DOM::DOMString& result) = 0;  
+  virtual void markMisspellingsInAdjacentWords(const WebCore::VisiblePosition &) = 0;
+  virtual void markMisspellings(const WebCore::SelectionController &) = 0;
+  virtual void addMessageToConsole(const WebCore::DOMString& message,  unsigned int lineNumber, const WebCore::DOMString& sourceID) = 0;
+  virtual void runJavaScriptAlert(const WebCore::DOMString& message) = 0;
+  virtual bool runJavaScriptConfirm(const WebCore::DOMString& message) = 0;
+  virtual bool runJavaScriptPrompt(const WebCore::DOMString& message, const WebCore::DOMString& defaultValue, WebCore::DOMString& result) = 0;  
   virtual bool locationbarVisible() = 0;
   virtual bool menubarVisible() = 0;
   virtual bool personalbarVisible() = 0;
@@ -829,9 +825,9 @@ public:
   virtual void scheduleClose() = 0;
   virtual void unfocusWindow() = 0;
   virtual void createEmptyDocument() = 0;
-  virtual DOM::RangeImpl *markedTextRange() const = 0;
-  virtual void registerCommandForUndo(const khtml::EditCommandPtr &) = 0;
-  virtual void registerCommandForRedo(const khtml::EditCommandPtr &) = 0;
+  virtual WebCore::RangeImpl *markedTextRange() const = 0;
+  virtual void registerCommandForUndo(const WebCore::EditCommandPtr &) = 0;
+  virtual void registerCommandForRedo(const WebCore::EditCommandPtr &) = 0;
   virtual void clearUndoRedoOperations() = 0;
   virtual void issueUndoCommand() = 0;
   virtual void issueRedoCommand() = 0;
@@ -840,9 +836,9 @@ public:
   virtual void issuePasteCommand() = 0;
   virtual void issuePasteAndMatchStyleCommand() = 0;
   virtual void issueTransposeCommand() = 0;
-  virtual void respondToChangedSelection(const khtml::SelectionController &oldSelection, bool closeTyping) = 0;
+  virtual void respondToChangedSelection(const WebCore::SelectionController &oldSelection, bool closeTyping) = 0;
   virtual void respondToChangedContents() = 0;
-  virtual bool shouldChangeSelection(const khtml::SelectionController &oldSelection, const khtml::SelectionController &newSelection, khtml::EAffinity affinity, bool stillSelecting) const = 0;
+  virtual bool shouldChangeSelection(const WebCore::SelectionController &oldSelection, const WebCore::SelectionController &newSelection, WebCore::EAffinity affinity, bool stillSelecting) const = 0;
   virtual void partClearedInBegin() = 0; 
   virtual void saveDocumentState() = 0;
   virtual void restoreDocumentState() = 0;
@@ -850,9 +846,9 @@ public:
   virtual void openURLRequest(const KURL &, const WebCore::URLArgs &) = 0;
   virtual void submitForm(const KURL &, const WebCore::URLArgs &) = 0;
   virtual void urlSelected(const KURL &url, int button, int state, const WebCore::URLArgs &args) = 0;
-  virtual ObjectContents *createPart(const khtml::ChildFrame &child, const KURL &url, const QString &mimeType) = 0;
-  virtual bool passSubframeEventToSubframe(DOM::NodeImpl::MouseEvent &) = 0;
-  virtual bool passWheelEventToChildWidget(DOM::NodeImpl *) = 0;
+  virtual ObjectContents *createPart(const WebCore::ChildFrame &child, const KURL &url, const QString &mimeType) = 0;
+  virtual bool passSubframeEventToSubframe(WebCore::NodeImpl::MouseEvent &) = 0;
+  virtual bool passWheelEventToChildWidget(WebCore::NodeImpl *) = 0;
   virtual bool lastEventIsMouseUp() const = 0;
   virtual QString overrideMediaType() const = 0;
 protected:
@@ -897,7 +893,7 @@ private slots:
   void slotChildCompleted( bool );
   void slotParentCompleted();
   void slotChildURLRequest( const KURL &url, const WebCore::URLArgs &args );
-  void slotLoaderRequestDone( khtml::DocLoader*, khtml::CachedObject *obj );
+  void slotLoaderRequestDone( WebCore::DocLoader*, WebCore::CachedObject *obj );
   void checkCompleted();
   
   void slotShowDocument( const QString &url, const QString &target );
@@ -920,9 +916,9 @@ private:
 
   void overURL( const QString &url, const QString &target, bool shiftPressed = false );
 
-  bool processObjectRequest( khtml::ChildFrame *child, const KURL &url, const QString &mimetype );
+  bool processObjectRequest( WebCore::ChildFrame *child, const KURL &url, const QString &mimetype );
   
-  void submitForm( const char *action, const QString &url, const khtml::FormData &formData,
+  void submitForm( const char *action, const QString &url, const WebCore::FormData &formData,
                    const QString &target, const QString& contentType = QString::null,
                    const QString& boundary = QString::null );
 
@@ -932,11 +928,11 @@ private:
 
   virtual void clear();
 
-  bool scheduleScript( DOM::NodeImpl *n, const QString& script);
+  bool scheduleScript( WebCore::NodeImpl *n, const QString& script);
 
   QVariant executeScheduledScript();
 
-  bool requestFrame( khtml::RenderPart *frame, const QString &url, const QString &frameName,
+  bool requestFrame( WebCore::RenderPart *frame, const QString &url, const QString &frameName,
                      const QStringList &paramNames = QStringList(), const QStringList &paramValues = QStringList(), bool isIFrame = false );
 
   /**
@@ -948,16 +944,16 @@ private:
    */
   QString requestFrameName();
 
-  bool requestObject( khtml::RenderPart *frame, const QString &url, const QString &serviceType,
+  bool requestObject( WebCore::RenderPart *frame, const QString &url, const QString &serviceType,
                       const QStringList &paramNames = QStringList(), const QStringList &paramValues = QStringList()  );
 
-  bool requestObject( khtml::ChildFrame *child, const KURL &url, const WebCore::URLArgs &args = WebCore::URLArgs() );
+  bool requestObject( WebCore::ChildFrame *child, const KURL &url, const WebCore::URLArgs &args = WebCore::URLArgs() );
 
-  DOM::EventListener *createHTMLEventListener(const DOM::DOMString& code, DOM::NodeImpl *node);
+  WebCore::EventListener *createHTMLEventListener(const WebCore::DOMString& code, WebCore::NodeImpl *node);
 
 public:
-  DOM::DocumentImpl *xmlDocImpl() const;
-  void replaceDocImpl(DOM::DocumentImpl* newDoc);
+  WebCore::DocumentImpl *xmlDocImpl() const;
+  void replaceDocImpl(WebCore::DocumentImpl* newDoc);
 
   // Workaround for the fact that it's hard to delete a frame.
   // Call this after doing user-triggered selections to make it easy to delete the frame you entirely selected.
@@ -968,15 +964,14 @@ public:
   void handleFallbackContent();
 
 private:
-  khtml::ChildFrame *childFrame( const QObject *obj );
-
-  khtml::ChildFrame *recursiveFrameRequest( const KURL &url, const WebCore::URLArgs &args, bool callParent = true );
+  WebCore::ChildFrame* childFrame(const QObject*);
+  WebCore::ChildFrame* recursiveFrameRequest(const KURL&, const WebCore::URLArgs&, bool callParent = true);
 
-  void connectChild(const khtml::ChildFrame *) const;
-  void disconnectChild(const khtml::ChildFrame *) const;
+  void connectChild(const WebCore::ChildFrame *) const;
+  void disconnectChild(const WebCore::ChildFrame *) const;
 
   bool checkLinkSecurity(const KURL &linkURL,const QString &message = QString::null, const QString &button = QString::null);
-  QVariant executeScript(QString filename, int baseLine, DOM::NodeImpl *n, const QString &script);
+  QVariant executeScript(QString filename, int baseLine, WebCore::NodeImpl *n, const QString &script);
   
   void cancelRedirection(bool newLoadInProgress = false);
 
@@ -996,13 +991,13 @@ private:
   void addMetaData(const QString &key, const QString &value);
   void setMediaType(const QString &);
 
-  khtml::RenderObject *renderer() const;
+  WebCore::RenderObject *renderer() const;
   IntRect selectionRect() const;
   bool isFrameSet() const;
 
-  DOM::HTMLFormElementImpl *currentForm() const;
+  WebCore::HTMLFormElementImpl *currentForm() const;
 
-  khtml::RenderStyle *styleForSelectionStart(DOM::NodeImpl *&nodeToRemove) const;
+  WebCore::RenderStyle *styleForSelectionStart(WebCore::NodeImpl *&nodeToRemove) const;
 
   // Scrolls as necessary to reveal the selection
   void revealSelection();
@@ -1025,8 +1020,8 @@ private:
   void restoreInterpreterBuiltins(const KJS::SavedBuiltins &interpreterBuiltins);
 
   static Frame *frameForWidget(const QWidget *);
-  static DOM::NodeImpl *nodeForWidget(const QWidget *);
-  static Frame *frameForNode(DOM::NodeImpl *);
+  static WebCore::NodeImpl *nodeForWidget(const QWidget *);
+  static Frame *frameForNode(WebCore::NodeImpl *);
 
   static void setDocumentFocus(QWidget *);
   static void clearDocumentFocus(QWidget *);
@@ -1035,7 +1030,7 @@ private:
   static QPtrList<Frame> &mutableInstances();
 
   void updatePolicyBaseURL();
-  void setPolicyBaseURL(const DOM::DOMString &);
+  void setPolicyBaseURL(const WebCore::DOMString &);
 
   void forceLayout();
   void forceLayoutWithPageWidthRange(float minPageWidth, float maxPageWidth);
@@ -1044,9 +1039,9 @@ private:
   void sendScrollEvent();
   bool scrollbarsVisible();
   void scrollToAnchor(const KURL &);
-  bool canMouseDownStartSelect(DOM::NodeImpl* node);
-  bool passWidgetMouseDownEventToWidget(khtml::MouseEvent *);
-  bool passWidgetMouseDownEventToWidget(khtml::RenderWidget *);
+  bool canMouseDownStartSelect(WebCore::NodeImpl* node);
+  bool passWidgetMouseDownEventToWidget(WebCore::MouseEvent *);
+  bool passWidgetMouseDownEventToWidget(WebCore::RenderWidget *);
   virtual bool passMouseDownEventToWidget(QWidget *) = 0;
 
   void clearTimers();
@@ -1065,14 +1060,14 @@ private:
   // Currently, all this does is clear the "don't submit form twice" data member.
   void prepareForUserAction();
   virtual bool isFrame() const;
-  DOM::NodeImpl *mousePressNode();
+  WebCore::NodeImpl *mousePressNode();
 
   bool isComplete();
   
   void replaceContentsWithScriptResult(const KURL &url);
 
 protected:
-  mutable RefPtr<DOM::NodeImpl> _elementToDraw;
+  mutable RefPtr<WebCore::NodeImpl> _elementToDraw;
   mutable bool _drawSelectionOnly;
   KURL _submittedFormURL;
   bool m_markedTextUsesUnderlines;
@@ -1087,20 +1082,20 @@ protected:
   
   void receivedFirstData();
 
-  bool handleMouseMoveEventDrag(khtml::MouseMoveEvent *event);
-  bool handleMouseMoveEventOver(khtml::MouseMoveEvent *event);
-  void handleMouseMoveEventSelection(khtml::MouseMoveEvent *event);
+  bool handleMouseMoveEventDrag(WebCore::MouseMoveEvent *event);
+  bool handleMouseMoveEventOver(WebCore::MouseMoveEvent *event);
+  void handleMouseMoveEventSelection(WebCore::MouseMoveEvent *event);
 
   /**
    * @internal Extracts anchor and tries both encoded and decoded form.
    */
   void gotoAnchor();
 
-  void handleMousePressEventSingleClick(khtml::MousePressEvent *event);
-  void handleMousePressEventDoubleClick(khtml::MousePressEvent *event);
-  void handleMousePressEventTripleClick(khtml::MousePressEvent *event);
+  void handleMousePressEventSingleClick(WebCore::MousePressEvent *event);
+  void handleMousePressEventDoubleClick(WebCore::MousePressEvent *event);
+  void handleMousePressEventTripleClick(WebCore::MousePressEvent *event);
 
-  DOM::CSSComputedStyleDeclarationImpl *selectionComputedStyle(DOM::NodeImpl *&nodeToRemove) const;
+  WebCore::CSSComputedStyleDeclarationImpl *selectionComputedStyle(WebCore::NodeImpl *&nodeToRemove) const;
 
   FramePrivate *d;
   friend class FramePrivate;
index 993294f6914e95803363e34d35dd0f2e75b96f24..9b7245a03cea54bcc403a17b7f5a49902ae8ad0f 100644 (file)
@@ -6,7 +6,7 @@
  *                     2000-2001 Simon Hausmann <hausmann@kde.org>
  *                     2000-2001 Dirk Mueller <mueller@kde.org>
  *                     2000 Stefan Schimanski <1Stein@gmx.de>
- * Copyright (C) 2004 Apple Computer, Inc.
+ * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
 #ifndef khtmlpart_p_h
 #define khtmlpart_p_h
 
-#include <qtimer.h>
-#include <kcursor.h>
+#include "Frame.h"
+#include "SelectionController.h"
+#include "css_valueimpl.h"
+#include "edit_command.h"
+#include "kjs_proxy.h"
 #include <kio/global.h>
+#include <qdatetime.h>
+#include <qtimer.h>
 
-#include "khtml_factory.h"
-#include "khtml_events.h"
-#include "BrowserExtension.h"
-#include "khtml_settings.h"
-#include "decoder.h"
-#include "formdata.h"
-#include "ecma/kjs_proxy.h"
-#include "css/css_valueimpl.h"
-#include "editing/edit_command.h"
-#include "editing/SelectionController.h"
-
-namespace KIO
-{
-  class Job;
-  class TransferJob;
+namespace KIO {
+    class TransferJob;
 }
 
-namespace khtml
+namespace WebCore
 {
+    class Decoder;
+
   struct ChildFrame
   {
       enum Type { Frame, IFrame, Object };
@@ -57,7 +51,7 @@ namespace khtml
       ChildFrame() { m_bCompleted = false; m_bPreloaded = false; m_type = Frame; m_bNotify = false; m_hasFallbackContent = false; }
 
 
-    QGuardedPtr<khtml::RenderPart> m_renderer;
+    QGuardedPtr<RenderPart> m_renderer;
     QGuardedPtr<ObjectContents> m_frame;
     QGuardedPtr<BrowserExtension> m_extension;
     QString m_serviceName;
@@ -76,7 +70,7 @@ namespace khtml
   };
 }
 
-class FrameList : public QValueList<khtml::ChildFrame>
+class FrameList : public QValueList<WebCore::ChildFrame>
 {
 public:
     Iterator find( const QString &name );
@@ -98,10 +92,10 @@ class FramePrivate
 public:
   FramePrivate(QObject* parent)
   {
-    m_doc = 0L;
-    m_jscript = 0L;
+    m_doc = 0;
+    m_jscript = 0;
     m_runningScripts = 0;
-    m_job = 0L;
+    m_job = 0;
     m_bComplete = true;
     m_bLoadingMainResource = false;
     m_bLoadEventEmitted = true;
@@ -112,7 +106,7 @@ public:
     m_zoomFactor = 100;
     m_bDnd = true;
     m_haveEncoding = false;
-    m_activeFrame = 0L;
+    m_activeFrame = 0;
     m_frameNameId = 1;
 
     m_restored = false;
@@ -149,10 +143,10 @@ public:
     m_cancelWithLoadInProgress = false;
     
     // inherit settings from parent
-    if(parent && parent->inherits("Frame"))
+    if (parent && parent->inherits("Frame"))
     {
         Frame *frame = static_cast<Frame*>(parent);
-        if(frame->d)
+        if (frame->d)
         {
             m_bJScriptForce = frame->d->m_bJScriptForce;
             m_bJScriptOverride = frame->d->m_bJScriptOverride;
@@ -182,12 +176,12 @@ public:
   }
 
   FrameList m_frames;
-  QValueList<khtml::ChildFrame> m_objects;
+  QValueList<WebCore::ChildFrame> m_objects;
 
   QGuardedPtr<FrameView> m_view;
   WebCore::BrowserExtension *m_extension;
   DOM::DocumentImpl *m_doc;
-  RefPtr<khtml::Decoder> m_decoder;
+  RefPtr<WebCore::Decoder> m_decoder;
   QString m_encoding;
   QString scheduledScript;
   RefPtr<DOM::NodeImpl> scheduledScriptNode;
@@ -247,7 +241,7 @@ public:
   struct SubmitForm {
     const char *submitAction;
     QString submitUrl;
-    khtml::FormData submitFormData;
+    WebCore::FormData submitFormData;
     QString target;
     QString submitContentType;
     QString submitBoundary;
@@ -258,12 +252,12 @@ public:
   bool m_bMousePressed;
   RefPtr<DOM::NodeImpl> m_mousePressNode; //node under the mouse when the mouse was pressed (set in the mouse handler)
 
-  khtml::ETextGranularity m_selectionGranularity;
+  WebCore::ETextGranularity m_selectionGranularity;
   bool m_beganSelectingText;
 
-  khtml::SelectionController m_selection;
-  khtml::SelectionController m_dragCaret;
-  khtml::SelectionController m_mark;
+  WebCore::SelectionController m_selection;
+  WebCore::SelectionController m_dragCaret;
+  WebCore::Selection m_mark;
   int m_caretBlinkTimer;
 
   bool m_caretVisible:1;
@@ -277,7 +271,7 @@ public:
   bool m_focusNodeRestored:1;
   bool m_isFocused:1;
 
-  khtml::EditCommandPtr m_lastEditCommand;
+  WebCore::EditCommandPtr m_lastEditCommand;
   int m_xPosForVerticalArrowNavigation;
   DOM::CSSMutableStyleDeclarationImpl *m_typingStyle;
 
index 4c20e8b8e8703d538aa5e283134dfb0ae179c5ba..282694cf85a7a9aa70537dd4737ecbe928428bdc 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the HTML widget for KDE.
  *
  * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
- * Copyright (C) 2003 Apple Computer, Inc.
+ * Copyright (C) 2003, 2006 Apple Computer, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
  * Boston, MA 02111-1307, USA.
  *
  */
-#include <config.h>
-#include <klocale.h>
 
-#include <kdebug.h>
+#include <config.h>
+#include "render_applet.h"
 
-#include "rendering/render_applet.h"
-#include "rendering/render_canvas.h"
 #include "DocumentImpl.h"
 #include "Frame.h"
-
-#ifndef Q_WS_QWS // We don't have Java in Qt Embedded
-
+#include "html_objectimpl.h"
 #include "java/kjavaappletwidget.h"
-#include "html/html_objectimpl.h"
+#include "render_canvas.h"
+#include <klocale.h>
+
+namespace WebCore {
 
-using namespace khtml;
-using namespace DOM;
 using namespace HTMLNames;
 
-RenderApplet::RenderApplet(HTMLElementImpl *applet, const QMap<QString, QString> &args )
+RenderApplet::RenderApplet(HTMLElementImpl *applet, const HashMap<DOMString, DOMString> &args )
     : RenderWidget(applet), m_args(args)
 {
     // init RenderObject attributes
@@ -74,22 +70,19 @@ void RenderApplet::createWidgetIfNecessary()
 {
     if (!m_widget) {
         if (static_cast<HTMLAppletElementImpl*>(element())->allParamsAvailable()) {
-            // FIXME: Java applets can't be resized (this is a bug in Apple's Java implementation).  In order to work around
-            // this problem, we will simply use fixed widths/heights from the style system when we can, since the widget might
+            // FIXME: Java applets can't be resized (this is a bug in Apple's Java implementation).
+            // In order to work around this problem and have a correct size from the start, we will
+            // use fixed widths/heights from the style system when we can, since the widget might
             // not have an accurate m_width/m_height.
             int width = style()->width().isFixed() ? style()->width().value : 
-                        m_width - borderLeft() - borderRight() - paddingLeft() - paddingRight();
+                m_width - borderLeft() - borderRight() - paddingLeft() - paddingRight();
             int height = style()->height().isFixed() ? style()->height().value :
-                         m_height - borderTop() - borderBottom() - paddingTop() - paddingBottom();
-            NodeImpl *child = element()->firstChild();
-            while (child) {
+                m_height - borderTop() - borderBottom() - paddingTop() - paddingBottom();
+            for (NodeImpl* child = element()->firstChild(); child; child = child->nextSibling())
                 if (child->hasTagName(paramTag)) {
-                    HTMLParamElementImpl *p = static_cast<HTMLParamElementImpl *>(child);
-                    m_args.insert(p->name().qstring(), p->value().qstring());
+                    HTMLParamElementImpl* p = static_cast<HTMLParamElementImpl*>(child);
+                    m_args.set(p->name(), p->value());
                 }
-                child = child->nextSibling();
-            }
-        
             setQWidget(new KJavaAppletWidget(IntSize(width, height), element()->getDocument()->frame(), m_args));
         }
     }
@@ -97,8 +90,6 @@ void RenderApplet::createWidgetIfNecessary()
 
 void RenderApplet::layout()
 {
-    //kdDebug(6100) << "RenderApplet::layout" << endl;
-
     KHTMLAssert( needsLayout() );
     KHTMLAssert( minMaxKnown() );
 
@@ -144,4 +135,5 @@ void RenderEmptyApplet::layout()
     
     setNeedsLayout(false);
 }
-#endif
+
+}
index 5628100a1807c333cc83ff348d7386cb944ac73e..e2bfa8b63892aee79dd67ae217c3cb567b7de217 100644 (file)
@@ -2,6 +2,7 @@
  * This file is part of the HTML widget for KDE.
  *
  * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
+ * Copyright (C) 2006 Apple Computer, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
  * Boston, MA 02111-1307, USA.
  *
  */
+
 #ifndef render_applet_h
 #define render_applet_h
 
-#include "rendering/render_replaced.h"
-#include "html/html_objectimpl.h"
-
-#include <qwidget.h>
-#include <qmap.h>
+#include "html_elementimpl.h"
+#include "render_replaced.h"
 
-class FrameView;
-
-namespace DOM {
-    class HTMLElementImpl;
-};
-
-namespace khtml {
+namespace WebCore {
 
 class RenderApplet : public RenderWidget
 {
 public:
-    RenderApplet(DOM::HTMLElementImpl* node, const QMap<QString, QString> &args);
+    RenderApplet(HTMLElementImpl*, const HashMap<DOMString, DOMString>& args);
     virtual ~RenderApplet();
 
-    virtual const char *renderName() const { return "RenderApplet"; }
+    virtual const charrenderName() const { return "RenderApplet"; }
 
     void createWidgetIfNecessary();
 
@@ -51,24 +44,25 @@ public:
     virtual int intrinsicHeight() const;
     virtual bool isApplet() const { return true; }
 
-    DOM::HTMLElementImpl *element() const
-    { return static_cast<DOM::HTMLElementImpl*>(RenderObject::element()); }
+    HTMLElementImpl *element() const
+        { return static_cast<HTMLElementImpl*>(RenderObject::element()); }
 
 private:
-    QMap<QString, QString> m_args;
+    HashMap<DOMString, DOMString> m_args;
 };
 
 class RenderEmptyApplet : public RenderWidget
 {
 public:
-    RenderEmptyApplet(DOM::NodeImpl* node);
+    RenderEmptyApplet(NodeImpl*);
 
-    virtual const char *renderName() const { return "RenderEmptyApplet"; }
+    virtual const charrenderName() const { return "RenderEmptyApplet"; }
 
     virtual int intrinsicWidth() const;
     virtual int intrinsicHeight() const;
     virtual void layout();
 };
 
-};
+}
+
 #endif
index 4bfe7697ad2e31b8f6fbbb4f8928e2a0f9f75aea..127be80c10e4970d1cdb287c8cad55651d6b0ca9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2004 Apple Computer, Inc.  All rights reserved.
+ * Copyright (C) 2004, 2006 Apple Computer, Inc.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
 
 //#define DEBUG_LAYOUT
 
-#if __APPLE__
-
 #include "config.h"
 #include "render_canvasimage.h"
-#include "render_canvas.h"
 
-#include <qpainter.h>
+#if __APPLE__
+
+#include "DocumentImpl.h"
+#include "html_canvasimpl.h"
 
-#include "css/csshelper.h"
-#include "helper.h"
-#include "html/html_canvasimpl.h"
-#include "xml/dom2_eventsimpl.h"
-#include "html/html_documentimpl.h"
+namespace WebCore {
 
-using namespace DOM;
 using namespace HTMLNames;
 using namespace khtml;
 
@@ -220,5 +215,6 @@ void RenderCanvasImage::layout()
     setNeedsLayout(false);
 }
 
-#endif
+}
 
+#endif
index 59571dd70d9ac121cd8e6e5ce1e80039fe9776e6..725fd2f795c872e2643321451f82be273e9df324 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2004 Apple Computer, Inc.  All rights reserved.
+ * Copyright (C) 2004, 2006 Apple Computer, Inc.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
 
 #if __APPLE__
 
-#include "html/html_elementimpl.h"
-#include "rendering/render_image.h"
-#include "dom/dom_string.h"
-
-#include <qmap.h>
-#include <qpixmap.h>
+#include "html_elementimpl.h"
+#include "render_image.h"
 
+// FIXME: Mac-specific parts need to move to the platform directory.
 #include <ApplicationServices/ApplicationServices.h>
 
-namespace khtml {
+namespace WebCore {
 
 class DocLoader;
 
 class RenderCanvasImage : public RenderImage
 {
 public:
-    RenderCanvasImage(DOM::NodeImpl*);
+    RenderCanvasImage(NodeImpl*);
     virtual ~RenderCanvasImage();
 
     virtual const char *renderName() const { return "RenderCanvasImage"; }
@@ -56,8 +53,8 @@ public:
     void setNeedsImageUpdate();
     
     // don't even think about making this method virtual!
-    DOM::HTMLElementImpl* element() const
-    { return static_cast<DOM::HTMLElementImpl*>(RenderObject::element()); }
+    HTMLElementImpl* element() const
+        { return static_cast<HTMLElementImpl*>(RenderImage::element()); }
     
     void updateDrawnImage();
     CGContextRef drawingContext();
@@ -70,11 +67,10 @@ private:
     void *_drawingContextData;
     CGImageRef _drawnImage;
     
-    unsigned _needsImageUpdate:1;
+    unsigned _needsImageUpdate : 1;
 };
 
-
-}; //namespace
+} //namespace
 
 #endif
 
index 68fb627e16d607236824e00f202b912aa35c95c5..dcbbbf55e74a390a3187865a353fb37bf3c1bdbc 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
  *           (C) 1999 Antti Koivisto (koivisto@kde.org)
  *           (C) 2000 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2003 Apple Computer, Inc.
+ * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
  * Boston, MA 02111-1307, USA.
  *
  */
-//#define DEBUG_LAYOUT
 
 #include "config.h"
 #include "render_image.h"
-#include "render_canvas.h"
 
+#include "CachedImage.h"
+#include "DocumentImpl.h"
+#include "HTMLInputElementImpl.h"
+#include "helper.h"
+#include "html_imageimpl.h"
+#include "render_canvas.h"
 #include <qpainter.h>
 #include <qpen.h>
-#include <qwmatrix.h>
 
-#include "css/csshelper.h"
-#include "helper.h"
-#include "html/html_imageimpl.h"
-#include "xml/dom2_eventsimpl.h"
-#include "html/html_documentimpl.h"
-#include "HTMLInputElementImpl.h"
+namespace WebCore {
 
-using namespace DOM;
 using namespace HTMLNames;
-using namespace khtml;
 
 // -------------------------------------------------------------------------
 
@@ -131,10 +127,6 @@ void RenderImage::setPixmap( const QPixmap &p, const IntRect& r, CachedImage *o)
      if ( ( o->pixmap_size().width() != intrinsicWidth() ||
            o->pixmap_size().height() != intrinsicHeight() || iwchanged) )
     {
-//          qDebug("image dimensions have been changed, old: %d/%d  new: %d/%d",
-//                 intrinsicWidth(), intrinsicHeight(),
-//               o->pixmap_size().width(), o->pixmap_size().height());
-
         if(!o->isErrorImage()) {
             setIntrinsicWidth( o->pixmap_size().width() );
             setIntrinsicHeight( o->pixmap_size().height() );
@@ -288,17 +280,9 @@ void RenderImage::paint(PaintInfo& i, int _tx, int _ty)
             if (resizeCache.isNull() && cWidth && cHeight)
             {
                 IntRect scaledrect(image->valid_rect());
-//                 kdDebug(6040) << "time elapsed: " << dt->elapsed() << endl;
-//                  kdDebug( 6040 ) << "have to scale: " << endl;
-//                  qDebug("cw=%d ch=%d  pw=%d ph=%d  rcw=%d, rch=%d",
-//                          cWidth, cHeight, intrinsicWidth(), intrinsicHeight(), resizeCache.width(), resizeCache.height());
                 resizeCache = pix;
                 scaledrect.setWidth( ( cWidth*scaledrect.width() ) / intrinsicWidth() );
                 scaledrect.setHeight( ( cHeight*scaledrect.height() ) / intrinsicHeight() );
-//                   qDebug("resizeCache size: %d/%d", resizeCache.width(), resizeCache.height());
-//                   qDebug("valid: %d/%d, scaled: %d/%d",
-//                          image->valid_rect().width(), image->valid_rect().height(),
-//                          scaledrect.width(), scaledrect.height());
 
                 // sometimes scaledrect.width/height are off by one because
                 // of rounding errors. if the image is fully loaded, we
@@ -488,3 +472,5 @@ int RenderImage::calcReplacedHeight() const
     }
     return RenderReplaced::calcReplacedHeight();
 }
+
+}
index a4a3f7e68543f5e9fa70d1f4d472f0201bb10d35..7b7e34f133f5c594a93d0f2190b896d15fae39fd 100644 (file)
@@ -3,6 +3,7 @@
  *
  * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
  *           (C) 1999 Antti Koivisto (koivisto@kde.org)
+ * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
  * Boston, MA 02111-1307, USA.
  *
  */
+
 #ifndef RENDER_IMAGE_H
 #define RENDER_IMAGE_H
 
-#include "html/html_elementimpl.h"
-#include "rendering/render_replaced.h"
-#include "dom/dom_string.h"
-
-#include <qmap.h>
+#include "html_elementimpl.h"
+#include "render_replaced.h"
+#include "dom_string.h"
 #include <qpixmap.h>
 
-namespace DOM {
-    class HTMLMapElementImpl;
-}
-
-namespace khtml {
+namespace WebCore {
 
 class DocLoader;
+class HTMLMapElementImpl;
 
 class RenderImage : public RenderReplaced
 {
 public:
-    RenderImage(DOM::NodeImpl*);
+    RenderImage(NodeImpl*);
     virtual ~RenderImage();
 
     virtual const char *renderName() const { return "RenderImage"; }
@@ -57,8 +54,8 @@ public:
 
     const QPixmap& pixmap() const { return pix; }
     // don't even think about making this method virtual!
-    DOM::HTMLElementImpl* element() const
-    { return static_cast<DOM::HTMLElementImpl*>(RenderObject::element()); }
+    HTMLElementImpl* element() const
+        { return static_cast<HTMLElementImpl*>(RenderReplaced::element()); }
 
 
     // hook to keep RendeObject::m_inline() up to date
@@ -79,7 +76,7 @@ public:
     
     bool isDisplayingError() const { return berrorPic; }
     
-    DOM::HTMLMapElementImpl* imageMap();
+    HTMLMapElementImpl* imageMap();
 
     void resetAnimation();
 
@@ -102,13 +99,12 @@ private:
     QPixmap resizeCache;
 
     // text to display as long as the image isn't available
-    DOM::DOMString alt;
+    DOMString alt;
 
     CachedImage *image;
     bool berrorPic : 1;
 };
 
-
-}; //namespace
+} //namespace
 
 #endif