WebKit-https.git
17 years ago Reviewed by Chris Petersen.
darin [Thu, 19 May 2005 18:32:27 +0000 (18:32 +0000)]
    Reviewed by Chris Petersen.

        - fixed a mistake I introduced in my previous check-in that caused a Deployment build failure

        * kwq/DOM.mm: (-[DOMDocument createTreeWalker::::]): Initialize cppFilter to 0, which fixes both
        the build failure and a potential bug!

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

17 years ago Reviewed by Maciej.
darin [Thu, 19 May 2005 00:53:37 +0000 (00:53 +0000)]
    Reviewed by Maciej.

        - got rid of code that depended on RTTI

        * kjs/collector.cpp:
        (KJS::className): Added. Gets class name in a KJS way, rather than a C++ RTTI way.
        (KJS::Collector::rootObjectClasses): Use className instead of typeid names.

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

17 years ago Reviewed by Maciej.
darin [Thu, 19 May 2005 00:50:10 +0000 (00:50 +0000)]
    Reviewed by Maciej.

        - fix a failure seen in the Mozilla JavaScript tests where a live object was garbage-collected
          when the only reference to it was in an argList on the stack

        * kjs/list.h: Moved the operator= function into the .cpp file since it's too big to be
        a good choice to inline.
        * kjs/list.cpp: (KJS::List::operator=): Moved this formerly-inline function into a separate
        file and added missing code to update valueRefCount. It's the latter that fixes the bug.

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

17 years ago Reviewed by Maciej.
darin [Wed, 18 May 2005 21:10:26 +0000 (21:10 +0000)]
    Reviewed by Maciej.
        No new layout tests required.

        - remove all dependencies on exceptions and RTTI (but don't turn them off yet, that will be in a later patch)

        * WebCore.pbproj/project.pbxproj: Set a new KHTML_NO_CPLUSPLUS_DOM define.
        Removed all C++ DOM wrapper files that we don't need to compile any more.

        * khtml/dom/css_stylesheet.h: Added more KHTML_NO_CPLUSPLUS_DOM checks so we don't include any
        headers when including this file.

        * khtml/dom/dom2_events.h: Fixed up KHTML_NO_CPLUSPLUS_DOM checks so that everything but EventListener
        is turned off when that's on. Also moved the public so that the constants from KeyboardEvent are public.
        * khtml/dom/dom2_events.cpp: Put everything except for EventListener inside KHTML_NO_CPLUSPLUS_DOM.

        * khtml/dom/dom2_range.h: Added KHTML_NO_CPLUSPLUS_DOM checks so that only the constants are defined,
        no classes.

        * khtml/dom/dom2_traversal.cpp: Put everything except for NodeFilterCondition inside KHTML_NO_CPLUSPLUS_DOM.

        * khtml/dom/dom_node.h: Added more KHTML_NO_CPLUSPLUS_DOM checks so we don't include any
        headers when including this file.

        * khtml/ecma/kjs_binding.cpp:
        (KJS::DOMObject::get): Removed exception-handling code. Now we can eliminate tryGet altogether.
        (KJS::DOMObject::put): Ditto.
        (KJS::DOMFunction::get): Ditto.
        (KJS::DOMFunction::call): Ditto.

        * khtml/editing/visible_text.h: Added an include of <qstring.h>.

        * khtml/misc/loader.h: Added isKHTMLLoader.
        * khtml/misc/loader.cpp: (Loader::isKHTMLLoader): Added. Poor-man's replacement for dynamic_cast.

        * khtml/rendering/render_form.h:
        * khtml/rendering/render_form.cpp: (RenderFormElement::slotTextChanged): Added. Hack to make KWQSlot work
        for this function.

        * khtml/xml/dom2_rangeimpl.h: Added a forward declaration of class DOMString, needed now that the C++
        DOM wrappers aren't defining it.

        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::defaultEventHandler): Changed to call handleEventImpl so we don't have to make the
        C++ DOM wrapper for the event.
        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::handleLocalEvents): Ditto.
        (ContainerNodeImpl::insertBefore): Used SharedPtr<NodeImpl> rather than Node to protect the child node.
        (ContainerNodeImpl::replaceChild): Ditto.
        (ContainerNodeImpl::appendChild): Ditto.
        (ContainerNodeImpl::addChild): Ditto.

        * kwq/DOM.mm:
        (ObjCNodeFilterCondition::acceptNode): Update to add a KHTML_NO_CPLUSPLUS_DOM check since FilterCondition
        has a different API depending on the state.
        (-[DOMDocument createNodeIterator::::]): Rewrote to use NodeFilterImpl instead of NodeFilter.
        (-[DOMDocument createTreeWalker::::]): Ditto.

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject role]): Use identifier instead of casting to Node and using elementId.
        (-[KWQAccObject title]): Ditto.
        (-[KWQAccObject accessibilityIsIgnored]): Ditto.
        (-[KWQAccObject rendererForView:]): Ditto.

        * kwq/KWQFrame.mm: (QFrame::setFrameStyle): Use isKHTMLView instead of dynamic_cast.

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::currentForm): Use focusNode instead of activeNode.
        (KWQKHTMLPart::nextKeyViewInFrame): Use isWidget instead of dynamic_cast.
        (KWQKHTMLPart::currentEventIsMouseDownInWidget): Use KHTMLView's nodeUnderMouse instead of our public one
        that uses a DOM C++ wrapper.
        (KWQKHTMLPart::partForWidget): Use isKHTMLView instead of dynamic_cast.
        (KWQKHTMLPart::passSubframeEventToSubframe): Use isWidget instead of dynamic_cast.

        * kwq/KWQObject.h: Made isXXX functions all public since we use them in a few more places now.
        Also added isKHTMLLoader.
        * kwq/KWQObject.mm: (QObject::isKHTMLLoader): Added. Returns false by default.

        * kwq/KWQSlot.mm: Removed all uses of dynamic_cast.

        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge stringForRange:]): Used plainText instead of text.
        (-[WebCoreBridge copyRenderNode:copier:]): Used isWidget instead of dynamic_cast.

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

17 years ago Fixed: <rdar://problem/4119282> clicking a link in an RTF file opens the link with...
cblu [Tue, 17 May 2005 17:55:47 +0000 (17:55 +0000)]
Fixed: <rdar://problem/4119282> clicking a link in an RTF file opens the link with NSWorkspace without the usual security checks or WebView delegate control

        Reviewed by mjs.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): pass the passed referrer to canLoadURL::: not [self referrer]
        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto
        * WebView.subproj/WebTextView.m:
        (-[WebTextView clickedOnLink:atIndex:]): call the loadURL bridge method so that security checks are made, command/option clicks work, policy delegate is consulted etc.

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

17 years agoWebKit:
cblu [Tue, 17 May 2005 16:28:20 +0000 (16:28 +0000)]
WebKit:

Fixed: <rdar://problem/4120255> web archives on remote servers can be viewed directly (with major security issues); should download instead

        Reviewed by mjs.

        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]): if the WebKit client has chosen to "use" a remote web archive, stop the load with an error

WebBrowser:

Fixed: <rdar://problem/4120255> web archives on remote servers can be viewed directly (with major security issues); should download instead

        * BrowserWebView.m:
        (-[BrowserWebView webView:decidePolicyForMIMEType:request:frame:decisionListener:]): download remote web archives

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

17 years agoWebCore:
darin [Mon, 16 May 2005 22:11:48 +0000 (22:11 +0000)]
WebCore:

        - attempt to get things building under "Saffron" development tools

        * WebCore.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT.

WebKit:

        - attempt to get things building under "Saffron" development tools

        * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT.

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

17 years agoTests:
adele [Mon, 16 May 2005 22:03:49 +0000 (22:03 +0000)]
Tests:

        Changes by Darin. Reviewed by myself.

        Added new layoutTestController method to dump the document as text.

        * DumpRenderTree/main.m:
        (-[LayoutTestController dumpAsText]): new method on layoutTestController to dump the innerText
        of the body instead of dumping the render tree; better for tests that are not really about layout
        (+[LayoutTestController isSelectorExcludedFromWebScript:]): added new dumpAsText selector
        (dump): changed name of showRenderTree since it now sometimes dumps text instead
        (-[WaitUntilDoneDelegate webView:locationChangeDone:forDataSource:]): calls new dump function
        (-[LayoutTestController notifyDone]): calls new dump function
        (dumpRenderTree): initializes global variables dumpAsText and waitLayoutTest

WebCore:

        Changes by Darin. Reviewed by myself.

        Changed the Render Tree debug code to write out an indication that the affinity is upstream
        when writing out caret position. Updated the one layout test with output affected by the change.
        Also updated one test to use the new dumpAsText method in dumpRenderTree.

        * kwq/KWQRenderTreeDebug.cpp: (writeSelection): writes out affinity if it's upstream in the caret case
        * layout-tests/editing/style/create-block-for-style-004-expected.txt: new results that contain the affinity
        * layout-tests/fast/js/char-at.html: now calls layoutController.dumpAsText()
        * layout-tests/fast/js/char-at-expected.txt: plain text result (replaces old render tree result)

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

17 years ago Reviewed by Adele.
darin [Mon, 16 May 2005 19:19:38 +0000 (19:19 +0000)]
    Reviewed by Adele.

        - fixed issues preventing us from compiling with newer versions of gcc 4.0

        * khtml/dom/dom2_events.cpp: Add definitions of some static data member constants, as required
        by the C++ standard and the gcc 4.0 compiler.

        * khtml/editing/selection.h: Specified KHTMLPart friend class as ::KHTMLPart, since if it's
        not explicitly qualified, it means DOM::KHTMLPart.

        * khtml/dom/dom_string.cpp:
        (DOM::strcasecmp): Removed redundant and illegal DOM:: prefix.
        (DOM::operator==): Ditto.
        * khtml/ecma/kjs_binding.cpp:
        (KJS::getStringOrNull): Removed redundant and illegal KJS:: prefix.
        (KJS::ValueToVariant): Ditto.
        * khtml/ecma/kjs_css.cpp:
        (KJS::getCSSRuleConstructor): Ditto.
        (KJS::getCSSValueConstructor): Ditto.
        (KJS::getCSSPrimitiveValueConstructor): Ditto.
        * khtml/ecma/kjs_events.cpp:
        (KJS::getEventConstructor): Ditto.
        (KJS::getEventExceptionConstructor): Ditto.
        (KJS::getMutationEventConstructor): Ditto.
        * khtml/ecma/kjs_traversal.cpp:
        (KJS::getNodeFilterConstructor): Ditto.

        * khtml/misc/loader_client.h: Added an empty virtual destructor to CachedObjectClient
        to quiet the compiler. This doesn't really do any good, but also does no harm.
        * khtml/misc/loader.cpp: (CachedObjectClient::~CachedObjectClient): Added.

        * khtml/rendering/render_block.cpp: (khtml::RenderBlock::fillBlockSelectionGaps):
        Initialize a couple of variables that should have been initialized to 0.
        Not just about making the compiler happy -- warning found a real bug!

        * kwq/KWQTextArea.mm: (RangeOfParagraph): Change else structure to work around compiler
        warning bug.

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

17 years ago Reviewed by Adele.
darin [Mon, 16 May 2005 18:57:29 +0000 (18:57 +0000)]
    Reviewed by Adele.

        - fixed issues preventing us from compiling with newer versions of gcc 4.0

        * kjs/ustring.cpp:
        (KJS::operator==): Remove redundant and illegal KJS:: prefix on this function's definition.
        (KJS::operator<): Ditto.
        (KJS::compare): Ditto.

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

17 years ago * kwq/KWQTextArea.mm:
sullivan [Fri, 13 May 2005 18:44:17 +0000 (18:44 +0000)]
    * kwq/KWQTextArea.mm:
        (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
        added Radar numbers to FIXMEs about resizable textareas
        (-[KWQTextAreaTextView resetCursorRects]):
        ditto
        (-[KWQTextAreaTextView mouseDown:]):
        ditto

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

17 years ago Reviewed by Kevin.
sullivan [Fri, 13 May 2005 17:23:27 +0000 (17:23 +0000)]
    Reviewed by Kevin.

        - fixed <rdar://problem/4093306> Safari crashes if Esc key is held down during series
        of authentication sheets

        * Panels.subproj/WebAuthenticationPanel.m:
        (-[WebAuthenticationPanel cancel:]):
        retain and autorelease self. This is a workaround for an AppKit key-handling issue, which I wrote up as:
        <rdar://problem/4118422> Key-down events can be sent to a closed window if a key is kept pressed down

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

17 years ago Reviewed by Chris Blumenberg.
darin [Fri, 13 May 2005 16:48:51 +0000 (16:48 +0000)]
    Reviewed by Chris Blumenberg.

        - more "getting off the C++ DOM wrappers" changes
          This pass involves replacing uses of DOM::Range with use of DOM::RangeImpl
          plus some more use of DOM::DocumentImpl instead of DOM::Document.

        * khtml/dom/dom2_range.cpp:
        * khtml/dom/dom2_range.h:
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::get):
        (KJS::WindowFunc::tryCall):
        (KJS::Window::updateLayout):
        (KJS::ScheduledAction::execute):
        (KJS::Selection::toString):
        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequestProtoFunc::tryCall):
        * khtml/editing/htmlediting.cpp:
        (khtml::InsertLineBreakCommand::doApply):
        * khtml/editing/selection.cpp:
        (khtml::Selection::Selection):
        (khtml::Selection::moveTo):
        (khtml::Selection::toRange):
        * khtml/editing/selection.h:
        * khtml/editing/visible_position.cpp:
        (khtml::makeRange):
        (khtml::startVisiblePosition):
        (khtml::endVisiblePosition):
        (khtml::setStart):
        (khtml::setEnd):
        * khtml/editing/visible_position.h:
        * khtml/editing/visible_range.h:
        * khtml/editing/visible_text.cpp:
        (khtml::TextIterator::TextIterator):
        (khtml::TextIterator::range):
        (khtml::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
        (khtml::SimplifiedBackwardsTextIterator::range):
        (khtml::CharacterIterator::CharacterIterator):
        (khtml::CharacterIterator::range):
        (khtml::WordAwareIterator::WordAwareIterator):
        (khtml::WordAwareIterator::advance):
        (khtml::TextIterator::rangeLength):
        (khtml::TextIterator::rangeFromLocationAndLength):
        (khtml::plainText):
        (khtml::findPlainText):
        * khtml/editing/visible_text.h:
        (khtml::WordAwareIterator::range):
        * khtml/editing/visible_units.cpp:
        (khtml::previousBoundary):
        (khtml::nextBoundary):
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::innerText):
        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::scriptExecution):
        * khtml/khtml_part.cpp:
        (KHTMLPart::text):
        (KHTMLPart::selectedText):
        (KHTMLPart::shouldBeginEditing):
        (KHTMLPart::shouldEndEditing):
        (KHTMLPart::selectionComputedStyle):
        * khtml/khtml_part.h:
        * khtml/khtmlview.h:
        * khtml/rendering/render_text.cpp:
        (InlineTextBox::paint):
        * khtml/xml/dom2_rangeimpl.cpp:
        (DOM::operator==):
        (DOM::rangeOfContents):
        * khtml/xml/dom2_rangeimpl.h:
        (DOM::operator!=):
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::relinquishesEditingFocus):
        (DocumentImpl::acceptsEditingFocus):
        (DocumentImpl::addMarker):
        (DocumentImpl::removeMarker):
        * khtml/xml/dom_docimpl.h:
        * khtml/xml/dom_position.cpp:
        (DOM::startPosition):
        * khtml/xml/dom_position.h:
        * kwq/DOMHTML.mm:
        (-[DOMHTMLLinkElement href]):
        (-[DOMHTMLBaseElement href]):
        (-[DOMHTMLInputElement src]):
        (-[DOMHTMLAnchorElement href]):
        (-[DOMHTMLImageElement src]):
        (-[DOMHTMLAreaElement href]):
        * kwq/KWQAccObject.mm:
        (-[KWQAccObject textUnderElement]):
        (-[KWQAccObject value]):
        (-[KWQAccObject doAXStringForTextMarkerRange:]):
        (-[KWQAccObject doAXAttributedStringForTextMarkerRange:]):
        * kwq/KWQKHTMLPart.h:
        (KWQKHTMLPart::markedTextRange):
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::findString):
        (KWQKHTMLPart::advanceToNextMisspelling):
        (KWQKHTMLPart::fontForSelection):
        (KWQKHTMLPart::markMisspellings):
        (KWQKHTMLPart::respondToChangedSelection):
        (KWQKHTMLPart::shouldBeginEditing):
        (KWQKHTMLPart::shouldEndEditing):
        (convertAttributesToUnderlines):
        (KWQKHTMLPart::setMarkedTextRange):
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge elementAtPoint:]):
        (-[WebCoreBridge rangeByExpandingSelectionWithGranularity:]):
        (-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:]):
        (-[WebCoreBridge rangeByAlteringCurrentSelection:verticalDistance:]):
        (-[WebCoreBridge selectedDOMRange]):
        (-[WebCoreBridge convertToNSRange:DOM::]):
        (-[WebCoreBridge convertToDOMRange:]):
        (-[WebCoreBridge convertToObjCDOMRange:]):
        (-[WebCoreBridge selectNSRange:]):
        (-[WebCoreBridge selectedNSRange]):
        (-[WebCoreBridge markDOMRange]):
        (-[WebCoreBridge markedTextDOMRange]):
        (-[WebCoreBridge markedTextNSRange]):
        (-[WebCoreBridge replaceMarkedTextWithText:]):
        (-[WebCoreBridge smartDeleteRangeForProposedRange:]):
        (-[WebCoreBridge dragCaretDOMRange]):
        (-[WebCoreBridge editableDOMRangeForPoint:]):
        (-[WebCoreBridge rangeOfCharactersAroundCaret]):

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

17 years ago Reviewed by Dave.
mjs [Fri, 13 May 2005 08:37:15 +0000 (08:37 +0000)]
    Reviewed by Dave.

- more splitting up of htmlediting.cpp

        * WebCore.pbproj/project.pbxproj:
        * khtml/editing/composite_edit_command.cpp:
        * khtml/editing/delete_from_text_node_command.cpp: Added.
        * khtml/editing/delete_from_text_node_command.h: Added.
        * khtml/editing/delete_selection_command.cpp: Added.
        * khtml/editing/delete_selection_command.h: Added.
        * khtml/editing/htmlediting.cpp:
        * khtml/editing/htmlediting.h:
        * khtml/editing/insert_into_text_node_command.cpp: Added.
        * khtml/editing/insert_into_text_node_command.h: Added.
        * khtml/editing/insert_node_before_command.cpp: Added.
        * khtml/editing/insert_node_before_command.h: Added.

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

17 years ago Reviewed by Maciej.
adele [Fri, 13 May 2005 00:57:52 +0000 (00:57 +0000)]
    Reviewed by Maciej.

        fix for  <rdar://problem/4117656> deleting an input element in its onBlur handler crashes Safari

        * khtml/rendering/render_form.cpp: (RenderLineEdit::handleFocusOut): added nil check for element

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

17 years agoWebCore:
sullivan [Thu, 12 May 2005 21:31:10 +0000 (21:31 +0000)]
WebCore:

        Reviewed by Kevin.

        - rolled in changes from experimental-ui-branch to support resizable textareas
        and find-as-you-type. The files/functions modified are listed just below. After
        that are the ChangeLog comments from the branch.

        * Resources/textAreaResizeCorner.tiff: Added.
        * WebCore.pbproj/project.pbxproj:
        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::findString):
        * kwq/KWQTextArea.mm:
        (-[KWQTextArea textDidChange:]):
        (-[KWQTextAreaTextView _resizeCornerImage]):
        (-[KWQTextAreaTextView _resizeCornerRect]):
        (-[KWQTextAreaTextView resetCursorRects]):
        (-[KWQTextAreaTextView drawRect:]):
        (-[KWQTextAreaTextView mouseDown:]):
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge searchFor:direction:caseSensitive:wrap:findInSelection:]):

        2005-05-05  John Sullivan  <sullivan@apple.com>

                Reviewed by Chris.

                * kwq/KWQTextArea.mm:
                (-[KWQTextAreaTextView _resizeCornerRect]):
                Get corner rect from enclosing clipView, rather than using visibleRect.
                VisibleRect would return the wrong result when the textarea was clipped
                by the bottom of the window, leading to redraw schmutz among other things.

        2005-05-02  John Sullivan  <sullivan@apple.com>

                Reviewed by Chris.

                Improvements to resizable textarea experiment:
                - resize image is now drawn in the resize corner
                - cursor sometimes tracks to arrow when over resize corner (but usually not)
                - cursor changes to arrow on mouse down in any case

                * Resources/textAreaResizeCorner.tiff: Added.
                * WebCore.pbproj/project.pbxproj:
                updated for added image file

                * kwq/KWQTextArea.mm:
                (-[KWQTextAreaTextView _resizeCornerImage]):
                new method, reads resize image once and caches it
                (-[KWQTextAreaTextView _resizeCornerRect]):
                new method, computes rect from image
                (-[KWQTextAreaTextView resetCursorRects]):
                overridden to attempt to make the cursor change to an arrow when over this
                corner. Only works sometimes, as explained in comments.
                (-[KWQTextAreaTextView drawRect:]):
                overridden to draw resize image
                (-[KWQTextAreaTextView mouseDown:]):
                now uses _resizeCornerRect, and sets cursor to arrow when pressed in resize corner

        2005-04-18  John Sullivan  <sullivan@apple.com>

                WebCore support for notifying a form delegate when a
                textarea's contents have changed (as opposed to a
                textfield, which was already handled).

                Reviewed by Maciej.

                * kwq/WebCoreBridge.h:
                add textDidChange: method

                * kwq/KWQTextArea.mm:
                (-[KWQTextArea textDidChange:]):
                call through to bridge

        2005-04-07  John Sullivan  <sullivan@apple.com>

                WebCore support for find-as-you-type; needed an additional parameter
                to findString and searchFor:...

                Reviewed by Dave Hyatt.

                * kwq/KWQKHTMLPart.h:
                * kwq/KWQKHTMLPart.mm:
                (KWQKHTMLPart::findString):
                new findInSelection parameter; if true, start from the beginning of the selection
                when searching forward, or the end of the selection when searching backward

                * kwq/WebCoreBridge.h:
                * kwq/WebCoreBridge.mm:
                (-[WebCoreBridge searchFor:direction:caseSensitive:wrap:findInSelection:]):
                new findInSelection parameter; passed through to findString

WebKit:

        Reviewed by Kevin.

        - rolled in changes from experimental-ui-branch to support resizable textareas
        and find-as-you-type and confirming unsubmitted form changes. The files/functions
        modified are listed just below. After that are the ChangeLog comments from the branch.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge textDidChange:]):
        * WebView.subproj/WebFormDelegate.h:
        * WebView.subproj/WebFormDelegate.m:
        (-[WebFormDelegate textDidChange:inFrame:]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView maintainsInactiveSelection]):
        (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
        (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
        * WebView.subproj/WebView.m:
        (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
        (-[WebView searchFor:direction:caseSensitive:wrap:]):
        (-[WebView makeTextStandardSize:]):
        (-[WebView maintainsInactiveSelection]):
        * WebView.subproj/WebViewPrivate.h:

        2005-04-18  John Sullivan  <sullivan@apple.com>

                WebKit support for notifying a form delegate when a
                textarea's contents have changed (as opposed to a
                textfield, which was already handled).

                Reviewed by Maciej.

                * WebView.subproj/WebFormDelegate.h:
                * WebView.subproj/WebFormDelegate.m:
                (-[WebFormDelegate textDidChange:inFrame:]):
                new form delegate method

                * WebCoreSupport.subproj/WebBridge.m:
                (-[WebBridge textDidChange:]):
                new method, calls through to form delegate

        2005-04-11  John Sullivan  <sullivan@apple.com>

                Fixed inability to wrap around in Find in Page

                * WebView.subproj/WebView.m:
                (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
                changed wrapFlag from NO to YES on two lines (copy/paste error)

        2005-04-07  John Sullivan  <sullivan@apple.com>

                WebKit support for find-as-you-type. Needed an additional parameter on
                a method from WebDocumentSearching protocol. Since that's a public protocol,
                I couldn't just add the parameter. For now I hacked it with an undeclared
                internal method that's discovered via respondsToSelector. Probably the right
                long-term approach is to deprecate the WebDocumentSearching protocol and introduce
                a replacement that has a more flexible set of parameters for possible future
                expansion.

                Reviewed by Dave Hyatt.

                * WebView.subproj/WebHTMLView.m:
                (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
                now calls new one-more-parameter version passing NO for new parameter to match old behavior
                (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
                new method, adds findInSelection parameter and passes it through to bridge

                * WebView.subproj/WebView.m:
                (-[WebView searchFor:direction:caseSensitive:wrap:]):
                now calls new one-more-parameter version passing NO for new parameter to match old behavior
                (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
                new method, adds findInSelection parameter and passes it through

        2005-04-07  John Sullivan  <sullivan@apple.com>

                WebKit support to allow clients to control whether the selection is still
                drawn when the first responder is elsewhere. Formerly this was hardwired
                to be true only when -[WebView isEditable] was true.

                Reviewed by Darin.

                * WebView.subproj/WebHTMLView.m:
                (-[WebHTMLView maintainsInactiveSelection]):
                check [WebView maintainsInactiveSelection] rather than just [WebView isEditable]

                * WebView.subproj/WebViewPrivate.h:
                * WebView.subproj/WebView.m:
                (-[WebView maintainsInactiveSelection]):
                new method for clients to override, returns -[self isEditable]

WebBrowser:

        Reviewed by Kevin.

        - rolled in changes from experimental-ui-branch to support resizable textareas
        and find-as-you-type and confirmations when closing tab/window/app and full screen
        mode. I renamed "WebPageBannner" to just "Banner" at the same time, since
        the banner will have to be used on non-webpages (source documents) too. The
        files/functions modified are listed just below. After that are the ChangeLog
        comments from the branch. Note that I did not roll over the LabelBanner stuff,
        though we can of course do so later if we decide to.

        * AppController.h:
        * AppController.m:
        (-[AppController _OKToCloseBrowserWindows]):
        (-[AppController applicationShouldTerminate:]):
        (-[AppController validateUserInterfaceItem:]):
        * Banner.h: Added.
        * Banner.m: Added.
        (-[Banner init]):
        (-[Banner dealloc]):
        (-[Banner bannerView]):
        (-[Banner standardBannerColor]):
        (-[Banner bannerNibName]):
        (_loadCloseButtonImages):
        (-[Banner _closeButtonClicked:]):
        (-[Banner _createCloseButton]):
        (-[Banner _populateBannerViewFromNib:]):
        (-[Banner createBannerView]):
        (-[Banner _advanceAnimation]):
        (-[Banner _moveBannerIntoPlace:withAnimation:]):
        (-[Banner didInstallBannerView]):
        (-[Banner installIntoWebView:withAnimation:]):
        (-[Banner uninstallFromWebViewWithAnimation:]):
        * BarBackground.h:
        * BarBackground.m:
        (+[BarBackground defaultBottomBorderLineColor]):
        (-[BarBackground drawRect:]):
        (-[BarBackground setBackgroundColor:]):
        (-[BarBackground setBottomBorderColor:]):
        * BrowserDocument.h:
        * BrowserDocument.m:
        (-[BrowserDocument saveDocumentTo:]):
        (-[BrowserDocument showFindPanel:]):
        (-[BrowserDocument findNext:]):
        (-[BrowserDocument findPrevious:]):
        (-[BrowserDocument reportBugToApple:]):
        (-[BrowserDocument printWebFrameView:showingPrintPanel:useSheet:]):
        (-[BrowserDocument proposeBookmarkRespectingProvisionalPage:]):
        (-[BrowserDocument validateUserInterfaceItem:]):
        (-[BrowserDocument mailPage:]):
        (-[BrowserDocument _reportLaunchFailureForMailApplicationAtPath:]):
        (-[BrowserDocument mailPageAddress:]):
        * BrowserDocumentController.h:
        * BrowserDocumentController.m:
        (-[BrowserDocumentController tabsWithUnsubmittedFormText]):
        * BrowserTabViewItem.h:
        * BrowserTabViewItem.m:
        (-[BrowserTabViewItem setView:]):
        (-[BrowserTabViewItem webView]):
        * BrowserWebController.h:
        * BrowserWebController.m:
        (-[BrowserWebView initWithDocument:request:frameName:]):
        (-[BrowserWebView dealloc]):
        (-[BrowserWebView findInPageBanner]):
        (-[BrowserWebView currentBanner]):
        (-[BrowserWebView setCurrentBanner:]):
        (-[BrowserWebView addFavoriteForParentControlledPageInFrame:]):
        (-[BrowserWebView containsEditedForm]):
        (-[BrowserWebView maintainsInactiveSelection]):
        (-[BrowserWebView dataSourceHasChanged:forFrame:]):
        (-[FormDelegate initWithDocument:]):
        (-[FormDelegate _setFormWasEdited:]):
        (-[FormDelegate controlTextDidChange:inFrame:]):
        (-[FormDelegate textDidChange:inFrame:]):
        (-[FormDelegate frameLayoutHasChanged:]):
        (-[FormDelegate dataSourceHasChangedForFrame:]):
        (-[FormDelegate formWasEdited]):
        * BrowserWindow.m:
        (-[BrowserWindow canBecomeKeyWindow]):
        (-[BrowserWindow canBecomeMainWindow]):
        * BrowserWindowController.h:
        * BrowserWindowController.m:
        (-[BrowserWindowController _makeFirstResponder:]):
        (-[BrowserWindowController mainWebFrameView]):
        (-[BrowserWindowController updateKeyboardLoop]):
        (-[BrowserWindowController webViewBannerHasChanged:]):
        (-[BrowserWindowController updateLabelForTab:evenIfTabBarHidden:]):
        (-[BrowserWindowController setUpTabForWebView:addToRightSide:]):
        (-[BrowserWindowController windowDidLoad]):
        (-[BrowserWindowController dealloc]):
        (-[BrowserWindowController _confirmCloseWindowDidEnd:returnCode:contextInfo:]):
        (-[BrowserWindowController _displayCloseConfirmation]):
        (-[BrowserWindowController windowShouldClose:]):
        (-[BrowserWindowController showLocationBarTemporarilyIfHidden]):
        (-[BrowserWindowController toggleTabBarWithAnimation:]):
        (-[BrowserWindowController _closeTabWithoutConfirming:]):
        (-[BrowserWindowController _confirmCloseTabForEditedFormDidEnd:returnCode:contextInfo:]):
        (-[BrowserWindowController _confirmClosingEditedTab:]):
        (-[BrowserWindowController closeTab:]):
        (-[BrowserWindowController closeOtherTabs:]):
        (-[BrowserWindowController reloadTabsMatchingURLs:]):
        (-[BrowserWindowController didSelectTabViewItem]):
        (-[BrowserWindowController findTabForWebView:]):
        (-[BrowserWindowController tabBarView:menuForClippedTabViewItems:]):
        (-[BrowserWindowController reloadTab:]):
        (-[BrowserWindowController reloadParentallyRestrictedFrames]):
        (-[BrowserWindowController updateDocumentIsEdited]):
        (-[BrowserWindowController defaultsDidChange]):
        (-[BrowserWindowController windowDidResignKey:]):
        (-[BrowserWindowController replaceTabSwitcher:]):
        (-[BrowserWindowController releaseTabSwitcher:]):
        (-[BrowserWindowController replaceTabURLs:usingTabLabelsFromBookmarks:]):
        (-[BrowserWindowController orderedTabs]):
        (-[BrowserWindowController tabBarView:performDragOperationForTabViewItem:URL:]):
        (-[BrowserWindowController tabsWithUnsubmittedFormText]):
        (-[BrowserWindowController canReloadTab:]):
        (-[BrowserWindowController canReloadAllTabs]):
        (-[BrowserWindowController validateMenuItem:]):
        (-[BrowserWindowController isFullScreen]):
        (-[BrowserWindowController firstResponderView]):
        (-[BrowserWindowController setFullScreen:]):
        (-[BrowserWindowController toggleFullScreen:]):
        (-[BrowserWindowController windowForSheet]):
        (-[NSTabView makeWebViewsPerformSelector:withObject:]):
        * CoachMark.h: Added.
        * CoachMark.m: Added.
        (-[CoachMark initWithBounds:forView:]):
        (-[CoachMark dealloc]):
        (-[CoachMark width]):
        (-[CoachMark setWidth:]):
        (-[CoachMark duration]):
        (-[CoachMark setDuration:]):
        (-[CoachMark fractionComplete]):
        (-[CoachMark invalidate]):
        (getHostTime):
        (-[CoachMark redrawTimer:]):
        * CoachMarkController.h: Added.
        * CoachMarkController.m: Added.
        (+[CoachMarkController sharedCoachMarkController]):
        (-[CoachMarkController init]):
        (-[CoachMarkController dealloc]):
        (-[CoachMarkController addCoachMarkWithBounds:forView:]):
        (-[CoachMarkController coachMarkExpired:]):
        * CoachMarkView.h: Added.
        * CoachMarkView.m: Added.
        (-[CoachMarkView dealloc]):
        (-[CoachMarkView setCoach:]):
        (-[CoachMarkView width]):
        (-[CoachMarkView setWidth:]):
        (-[CoachMarkView _color]):
        (-[CoachMarkView roundedRect:withRadius:]):
        (-[CoachMarkView drawRect:]):
        * ContextMenuHandler.m:
        (-[BrowserWebView downloadURLUsingSavePanel:]):
        (-[BrowserWebView reportErrorForBadFileWrapper:]):
        (-[BrowserWebView saveFileWrapperToDownloadsFolder:]):
        (-[BrowserWebView reportiPhotoErrorWithMessage:]):
        * Debug/DebugUtilities.m:
        (-[DebugUtilities createDebugMenu]):
        (-[BrowserDocument toggleTransparentWindow:]):
        (-[BrowserDocument validate_toggleUseThreadedImageDecoding:]):
        (-[BrowserDocument toggleConfirmUnsubmittedFormText:]):
        (-[BrowserDocument toggleConfirmClosingMultiplePages:]):
        (-[BrowserDocument toggleUseFindBanner:]):
        (-[BrowserDocument toggleGradient:]):
        (-[BrowserDocument validate_toggleGradient:]):
        (-[BrowserDocument showFindBannerSettings:]):
        (-[BrowserDocument validate_toggleConfirmUnsubmittedFormText:]):
        (-[BrowserDocument validate_toggleConfirmClosingMultiplePages:]):
        (-[BrowserDocument validate_toggleUseFindBanner:]):
        * Debug/FindBannerSettings.nib: Added.
        * Debug/FindBannerSettingsController.h: Added.
        * Debug/FindBannerSettingsController.m: Added.
        (+[FindBannerSettingsController sharedController]):
        (-[FindBannerSettingsController windowNibName]):
        (-[FindBannerSettingsController colorFromPopUp]):
        (-[FindBannerSettingsController selectOtherColor:]):
        (-[FindBannerSettingsController setOutlineColorFromSelectedItem]):
        (-[FindBannerSettingsController colorPickedInColorPanel:]):
        (-[FindBannerSettingsController takeOutlineColorFrom:]):
        (-[FindBannerSettingsController takeDurationFrom:]):
        (-[FindBannerSettingsController updateColorViews]):
        (-[FindBannerSettingsController toggleUseFadingOutline:]):
        (-[FindBannerSettingsController updateViews]):
        (-[FindBannerSettingsController windowDidLoad]):
        * Defaults.plist:
        * English.lproj/FindBanner.nib: Added.
        * English.lproj/Localizable.strings:
        * English.lproj/MainMenu.nib:
        * English.lproj/StringsNotToBeLocalized.txt:
        * FindBanner.h: Added.
        * FindBanner.m: Added.
        (-[FindBanner bannerNibName]):
        (-[FindBanner _updateNextAndPreviousButtons]):
        (-[FindBanner _makeSearchFieldFirstResponder]):
        (-[FindBanner didInstallBannerView]):
        (-[FindBanner controlTextDidChange:]):
        (-[FindBanner _updateFindPasteboardFromSearchField]):
        (-[FindBanner _updateSearchFieldFromFindPasteboard]):
        (-[FindBanner _searchString]):
        (-[FindBanner _searchTarget]):
        (-[FindBanner _doSearchForString:direction:caseSensitive:findInSelection:inTarget:]):
        (-[FindBanner readyToFind]):
        (-[FindBanner _setStatus:]):
        (-[FindBanner _callAttentionToSelectedText]):
        (-[FindBanner _findWithDirection:caseSensitive:findInSelection:]):
        (-[FindBanner findFromSearchField:]):
        (-[FindBanner findNext:]):
        (-[FindBanner findPrevious:]):
        (-[FindBanner focusOrHide]):
        * FormCompletionController.m:
        (+[FormCompletionController autoFillInWebView:]):
        * LocationChangeHandler.m:
        (-[LocationChangeHandler handleCertificateError:forDataSource:]):
        * PreferenceKeys.h:
        * RendezvousController.m:
        (-[RendezvousController reportErrorForServiceName:]):
        * WebBrowser.pbproj/project.pbxproj:

        2005-05-05  John Sullivan  <sullivan@apple.com>

                Reviewed by Chris.

                - preserve the first responder when going to full screen and back.

                * BrowserWindowController.m:
                (-[BrowserWindowController firstResponderView]):
                new method, full of hideous AppKit inside knowledge, that returns the view that
                is first responder, if any. If the first responder is a field editor, this returns
                the associated control. The hideous AppKit inside knowledge is all straight from
                Andrew Platzer and Mike Engber.
                (-[BrowserWindowController setFullScreen:]):
                get the first responder before switching, then reset it if it was a view that
                survived the journey to the new window. Do some special case tomfoolery to
                restore the selected range also.

        2005-05-03  John Sullivan  <sullivan@apple.com>

                Reviewed by Darin.

                - make the full screen window textured so the bookmarks bar, tab bar,
                and status bar use the same background as in a standard browser window.

                * BrowserWindowController.m:
                (-[BrowserWindowController setFullScreen:]):
                include textured window flag in style mask

        2005-05-02  John Sullivan  <sullivan@apple.com>

                Reviewed by Chris.

                Improvements to Find in Page experiment:
                - get the close button images from NSSearchField. These look better in this context
                  than the ones used for tabs.
                - move close box to right side of banner.

                * English.lproj/FindBanner.nib:
                Move views around to account for close button being moved to right side

                * WebPageBanner.m:
                (_loadCloseButtonImages):
                get images from an NSSearchFieldCell
                (-[WebPageBanner _populateBannerViewFromNib:]):
                account for close button being on right side now

        2005-04-22  John Sullivan  <sullivan@apple.com>

                 Reviewed by John.

                - first cut at full screen mode

                * BrowserWindowController.h: Added _normalWindow and _fullScreenWindow fields, toggleFullScreen:, windowForSheet,
                setFullScreen:, and isFullScreen methods.
                * BrowserWindowController.m:
                (-[BrowserWindowController _makeFirstResponder:]): Removed assertion that we end up stumbling over when switching
                to/from full screen mode. I think we can do without it.
                (-[BrowserWindowController dealloc]): Release the two new fields.
                (-[BrowserWindowController showLocationBarTemporarilyIfHidden]): Pop out of full screen mode whenever we would show
                the location bar, since right now it's not compatible with full screen.
                (-[BrowserWindowController windowDidResignKey:]): Pop out of full screen mode when a window comes in front of us.
                (-[BrowserWindowController validateMenuItem:]): Set state of toggle menu item based on current state of window.
                (-[BrowserWindowController isFullScreen]): Added.
                (-[BrowserWindowController setFullScreen:]): Added. This does the real bulk of the work.
                (-[BrowserWindowController toggleFullScreen:]): Added.
                (-[BrowserWindowController windowForSheet]): Added. Turns off full screen mode and then returns the window.

                * BrowserWindow.m:
                (-[BrowserWindow canBecomeKeyWindow]): Override to return YES. Harmless for normal window, needed for full screen window.
                (-[BrowserWindow canBecomeMainWindow]): Ditto.

                * BrowserDocument.m:
                (-[BrowserDocument saveDocumentTo:]): Get out of full screen mode before running a sheet.
                (-[BrowserDocument reportBugToApple:]): Use windowForSheet to get out of full screen mode before running a sheet.
                (-[BrowserDocument printWebFrameView:showingPrintPanel:useSheet:]): Ditto.
                (-[BrowserDocument proposeBookmarkRespectingProvisionalPage:]): Ditto.
                (-[BrowserDocument mailPage:]): Ditto.
                (-[BrowserDocument _reportLaunchFailureForMailApplicationAtPath:]): Ditto.
                (-[BrowserDocument mailPageAddress:]): Ditto.

                * BrowserWebController.m:
                (-[BrowserWebView addFavoriteForParentControlledPageInFrame:]): Ditto.

                * ContextMenuHandler.m:
                (-[BrowserWebView downloadURLUsingSavePanel:]): Use windowForSheet to get out of full screen mode before running a sheet.
                (-[BrowserWebView reportErrorForBadFileWrapper:]): Ditto.
                (-[BrowserWebView saveFileWrapperToDownloadsFolder:]): Ditto.
                (-[BrowserWebView reportiPhotoErrorWithMessage:]): Ditto.

                * Debug/DebugUtilities.m: (-[DebugUtilities createDebugMenu]): Include a Full-Screen-toggling menu item.

                * FormCompletionController.m:
                (+[FormCompletionController autoFillInWebView:]): Use windowForSheet to get out of full screen mode before running a sheet.
                * LocationChangeHandler.m:
                (-[LocationChangeHandler handleCertificateError:forDataSource:]): Ditto.
                * RendezvousController.m:
                (-[RendezvousController reportErrorForServiceName:]): Ditto.

        2005-04-21  John Sullivan  <sullivan@apple.com>

                Added confirmation on closing window with multiple tabs or quitting Safari
                with multiple windows or tabs. This confirmation can be turned on and off
                from the Debug menu; it defaults to on. Made state of "dirty dot" update
                appropriately when the pref for confirming unsubmitted form text is toggled.
                Fixed a few other bugs in this confirmation stuff.

                Reviewed by Adele.

                * PreferenceKeys.h:
                added new preference DebugConfirmClosingMultiplePagesPreferenceKey
                * Defaults.plist:
                initial value for new preference is true

                * AppController.m:
                (-[AppController _OKToCloseBrowserWindows]):
                Renamed from _OKToAbandonUnsubmittedFormText. Now considers multiple windows/tabs in
                addition to unsubmitted form text. Lots and lots of variations of the message text.
                (-[AppController applicationShouldTerminate:]):
                updated for name change

                * BrowserWebController.m:
                (-[FormDelegate _setFormWasEdited:]):
                only turn on the "dirty dot" if the pref for confirming unsubmitted form text is on

                * BrowserWindowController.h:
                added _confirmUnsubmittedFormText to cache value of this pref to avoid looking it up
                over and over
                * BrowserWindowController.m:
                (-[BrowserWindowController windowDidLoad]):
                set value of _confirmUnsubmittedFormText from NSUserDefaults
                (-[BrowserWindowController _confirmCloseWindowDidEnd:returnCode:contextInfo:]):
                changed name from _confirmCloseForEditedFormDidEnd...
                (-[BrowserWindowController _displayCloseConfirmation]):
                Changed name from _displayConfirmationSheetForUnsubmittedFormText. Now considers
                multiple tabs in addition to unsubmitted form text.
                (-[BrowserWindowController windowShouldClose:]):
                updated for name change
                (-[BrowserWindowController _confirmClosingEditedTab:]):
                removed some extraneous periods following question marks in user messages
                (-[BrowserWindowController closeTab:]):
                fixed bug where the close-tab confirmation was being put up even in the case where
                the tab was closed with no confirmation (d'oh!)
                (-[BrowserWindowController updateDocumentIsEdited]):
                new method, synchronizes the "dirty dot" with current preferences and state
                (-[BrowserWindowController defaultsDidChange]):
                now calls updateDocumentIsEdited

                * Debug/DebugUtilities.m:
                (-[DebugUtilities createDebugMenu]):
                added menu item "Confirm Closing Multiple Pages"
                (-[BrowserDocument toggleConfirmClosingMultiplePages:]):
                new method, toggles the pref
                (-[BrowserDocument validate_toggleConfirmClosingMultiplePages:]):
                new method, syncs check mark on menu item

                * English.lproj/Localizable.strings:
                updated for these changes

        2005-04-20  John Sullivan  <sullivan@apple.com>

                More work on confirmations for unsubmitted form text. Now it confirms for the current page
                of any tab when closing a window. Now it confirms when closing a single tab rather than
                closing the window. Now it confirms when quitting. Now it displays the "dirty dot" in the
                close box if the window has unsubmitted form text in the current page of any tab.

                Reviewed by Adele.

                * AppController.m:
                (-[AppController _OKToAbandonUnsubmittedFormText]):
                new method, puts up app-modal dialog if necessary to confirm abandoning unsubmitted
                form text. Names one such page by title, and mentions how many others there are.
                (-[AppController applicationShouldTerminate:]):
                Check for unsubmitted form text before checking for downloads in progress.

                * BrowserDocumentController.h:
                * BrowserDocumentController.m:
                (-[BrowserDocumentController tabsWithUnsubmittedFormText]):
                new method, returns an array collected from all open windows.

                * BrowserWebController.m:
                (-[BrowserWebView initWithDocument:request:frameName:]):
                now passes self's document as an init parameter to FormDelegate
                (-[FormDelegate initWithDocument:]):
                now takes a document as an init parameter
                (-[FormDelegate _setFormWasEdited:]):
                new method, sets the local flag and also tells the window controller to
                update its UI (the "dirty dot")
                (-[FormDelegate controlTextDidChange:inFrame:]):
                call new setter method rather than setting _formWasEdited ivar directly
                (-[FormDelegate textDidChange:inFrame:]):
                ditto
                (-[FormDelegate dataSourceHasChangedForFrame:]):
                ditto

                * BrowserWindowController.h:
                new public method -tabsWithUnsubmittedFormText
                * BrowserWindowController.m:
                (-[BrowserWindowController _displayConfirmationSheetForUnsubmittedFormText]):
                renamed from _confirmCloseForEditedForm; now handles the logic about whether confirmation
                is necessary that was formerly handled by the caller. Now names page by title instead of
                URL. Now handles 1, 2, and 3-or-more dirty tab cases (used to only check frontmost tab).
                Now brings dirty tab to front before showing sheet, if necessary.
                (-[BrowserWindowController windowShouldClose:]):
                moved some code into _displayConfirmationSheetForUnsubmittedFormText
                (-[BrowserWindowController _closeTabWithoutConfirming:]):
                new method, contains code formerly in -closeTab:
                (-[BrowserWindowController _confirmCloseTabForEditedFormDidEnd:returnCode:contextInfo:]):
                new method, called when sheet is dismissed. Closes the tab without confirming or does nothing.
                (-[BrowserWindowController _confirmClosingEditedTab:]):
                new method, puts up confirmation sheet for edited tab
                (-[BrowserWindowController closeTab:]):
                now checks whether confirmation is necessary instead of closing immediately as it did before
                (-[BrowserWindowController tabsWithUnsubmittedFormText]):
                new method, returns an array of tabs from this window; used when closing the window and when quitting

                * English.lproj/Localizable.strings:
                updated for these changes

        2005-04-18  John Sullivan  <sullivan@apple.com>

                Added Debug menu item to control whether to confirm before closing a window that
                contains unsubmitted form text.

                Reviewed by Kevin.

                * PreferenceKeys.h:
                new default DebugConfirmTossingUnsubmittedFormTextPreferenceKey
                * Defaults.plist:
                initial value of new default is true

                * BrowserWindowController.m:
                (-[BrowserWindowController windowShouldClose:]):
                only confirm if the preference is set

                * Debug/DebugUtilities.m:
                (-[DebugUtilities createDebugMenu]):
                add menu item "Confirm Unsubmitted Form Text"
                (-[BrowserDocument toggleConfirmUnsubmittedFormText:]):
                callback from menu item, toggles the default value
                (-[BrowserDocument validate_toggleConfirmUnsubmittedFormText:]):
                validate the menu item by adding a checkmark if appropriate

        2005-04-18  John Sullivan  <sullivan@apple.com>

                Made form-text-changed confirmation work for textareas as well as textfields.

                Reviewed by Maciej.

                * BrowserWebController.m:
                (-[FormDelegate textDidChange:inFrame:]):
                implement this new FormDelegate method to set the dirty bit

        2005-04-18  John Sullivan  <sullivan@apple.com>

                First cut at confirming before closing a window that contains edited form text.

                Reviewed by Adele.

                * BrowserWebController.h:
                new method -containsEditedForm

                * BrowserWebController.m:
                (-[BrowserWebView containsEditedForm]):
                new method; asks FormDelegate object
                (-[BrowserWebView dataSourceHasChanged:forFrame:]):
                now calls dataSourceHasChangedForFrame: rather than frameLayoutHasChanged: on
                FormDelegate object
                (-[FormDelegate controlTextDidChange:inFrame:]):
                set _formWasEdited bit
                (-[FormDelegate dataSourceHasChangedForFrame:]):
                new method; calls frameLayoutHasChanged (to match old behavior), clears _formWasEdited bit
                (-[FormDelegate formWasEdited]):
                new method; returns _formWasEdited bit

                * BrowserWindowController.m:
                (-[BrowserWindowController _confirmCloseForEditedFormDidEnd:returnCode:contextInfo:]):
                if user hit Close button, close the window now, else do nothing
                (-[BrowserWindowController _confirmCloseForEditedForm]):
                put up a confirmation sheet
                (-[BrowserWindowController windowShouldClose:]):
                if the current page returns yes for containsEditedForm

                * English.lproj/Localizable.strings:
                Updated for text in confirmation sheet.

        2005-04-13  John Sullivan  <sullivan@apple.com>

                Added a close box to all banners (using same art as tabs, which is pretty
                ugly; we'll have to prettify this).
                Fixed a small redraw bug with the sliding-in/out animation.

                Reviewed by Dave Hyatt.

                * WebPageBanner.m:
                (_loadCloseButtonImages):
                new function, loads the three images used by the close button into static
                variables so we don't load from the bundle every time a banner is used.
                (-[WebPageBanner _closeButtonClicked:]):
                new method, closes the banner
                (-[WebPageBanner _createCloseButton]):
                new method, creates a RolloverImageButton with the right attributes, images,
                and size
                (-[WebPageBanner _populateBannerViewFromNib:]):
                put the close button in as first subview, at a standard location
                (-[WebPageBanner _advanceAnimation]):
                use setFocusRingNeedsDisplayInRect: instead of just setNeedsDisplay: to avoid
                focus ring schmutz from being left behind during the animation

        2005-04-13  John Sullivan  <sullivan@apple.com>

                Added support for tabbing through banners, and made it work for the Find banner.

                Reviewed by Chris.

                * BrowserWindowController.h:
                new webViewBannerHasChanged: method for BrowserWebView to call
                * BrowserWindowController.m:
                (-[BrowserWindowController updateKeyboardLoop]):
                insert the current banner into the keyboard loop
                (-[BrowserWindowController webViewBannerHasChanged:]):
                call updateKeyboardLoop

                * BrowserWebController.m:
                (-[BrowserWebView setCurrentBanner:]):
                call webViewBannerHasChanged:

                * WebPageBanner.h:
                new outlets for first and last subviews for keyboard loop
                * WebPageBanner.m:
                (-[WebPageBanner _populateBannerViewFromNib:]):
                use new outlets and BarBackgrounds support for keyboard loops to wire
                the subviews into the keyboard loop

                * English.lproj/FindBanner.nib:
                Wired the nextKeyView connections up, and wired up the new firstChildSubview and
                lastChildSubview outlets.

        2005-04-12  John Sullivan  <sullivan@apple.com>

                Made banners animate into and out of place (no animation occurs if
                one banner is switching to another).

                Reviewed by Maciej.

                * WebPageBanner.h:
                added animation parameters to install and uninstall methods; some new
                animation-related ivars

                * WebPageBanner.m:
                (-[WebPageBanner _advanceAnimation]):
                new method, repositions banner and resizes webview based on fraction
                complete of animation
                (-[WebPageBanner _moveBannerIntoPlace:withAnimation:]):
                new method, initializes and starts animation
                (-[WebPageBanner didInstallBannerView]):
                new method for subviews to override; does nothing here
                (-[WebPageBanner installIntoWebView:withAnimation:]):
                added withAnimation: parameter; removed the webView-sizing code that's
                now done in _advanceAnimation; calls didInstallBannerView right before
                animating
                (-[WebPageBanner uninstallFromWebViewWithAnimation:]):
                ditto

                * FindBanner.m:
                (-[FindBanner didInstallBannerView]):
                set up initial state here rather than in installIntoWebView: so that views
                look correct during the animation

                * BrowserWebController.m:
                (-[BrowserWebView setCurrentBanner:]):
                animate unless we're switching from one banner to another

        2005-04-12  John Sullivan  <sullivan@apple.com>

                Disable Next/Previous buttons in Find banner appropriately.
                Also, Command-F now focuses the find-in-page search field in all cases except
                when it's already focused; in that case it hides the banner.

                Reviewed by Chris.

                * BrowserDocument.m:
                (-[BrowserDocument showFindPanel:]):
                If the Find banner is already showing, call new focusOrHide method on it.

                * FindBanner.h:
                declare new focusOrHide method
                * FindBanner.m:
                (-[FindBanner _updateNextAndPreviousButtons]):
                new method, enables the Next/Previous buttons if readyToFind returns YES
                (-[FindBanner _makeSearchFieldFirstResponder]):
                new method, extracted from installIntoWebView
                (-[FindBanner installIntoWebView:]):
                now calls extracted method; also now calls _updateNextAndPreviousButtons
                (-[FindBanner controlTextDidChange:]):
                new method, calls _updateNextAndPreviousButtons
                (-[FindBanner _updateFindPasteboardFromSearchField]):
                renamed to start with underscore for consistency (though I didn't make all
                the other ones consistent yet)
                (-[FindBanner _findWithDirection:caseSensitive:findInSelection:]):
                updated for name change
                (-[FindBanner findFromSearchField:]):
                ditto
                (-[FindBanner focusOrHide]):
                new method, hides the banner if the search field is focused, otherwise
                focuses the search field. (Makes Command-F do what seems natural to me.)

                * WebPageBanner.h:
                Declare _webView a BrowserWebView*, not just a WebView*. Replace #import of
                WebView.h with a @class declaration of BrowserWebView
                * WebPageBanner.m:
                add #import of BrowserWebController.h
                (-[WebPageBanner installIntoWebView:]):
                change parameter from WebView* to BrowserWebView* to match superclass

        2005-04-12  John Sullivan  <sullivan@apple.com>

                Added slider to Find Banner Settings window to control fading-outline duration.
                Made Next and Previous buttons in Find banner highlight on Command-G and Command-Shift-G

                Reviewed by Vicki.

                * PreferenceKeys.h:
                * Defaults.plist:
                new preference DebugFindOutlineDurationPreferenceKey

                * CoachMark.m:
                (-[CoachMark initWithBounds:forView:]):
                Read the duration from preferences

                * Debug/FindBannerSettings.nib:
                added Duration slider

                * Debug/FindBannerSettingsController.h:
                * Debug/FindBannerSettingsController.m:
                (-[FindBannerSettingsController takeDurationFrom:]):
                new method, sets preference from duration slider
                (-[FindBannerSettingsController updateViews]):
                sets slider value from preferences

                * English.lproj/FindBanner.nib:
                Added key equivalents for Next and Previous buttons

        2005-04-11  Kevin Decker  <kdecker@apple.com>

                Reviewed by John.

                * BarBackground.h: Need to be able to specify a different bottom line color. Added ivar and method to do this.
                * BarBackground.m: Ditto
                (+[BarBackground defaultBottomBorderLineColor]): Renamed method.
                (-[BarBackground drawRect:]): If bottom border color hasn't been specified, use the default.
                (-[BarBackground setBottomBorderColor:]): Added
                * Debug/DebugUtilities.m: Created a toggle for a gradient filled version of our banner.
                (-[DebugUtilities createDebugMenu]):
                (-[BrowserDocument toggleGradient:]): Added.
                (-[BrowserDocument validate_toggleGradient:]): Added.
                * PreferenceKeys.h: Added DebugGradientBannerKey.
                * Resources/Images/BannerBackground.tiff: Added.
                * WebPageBanner.h:
                * WebPageBanner.m:  Checked user preferences for the gradient look.
                (-[WebPageBanner dealloc]): Deallocate the gradient NSImageView.
                (-[WebPageBanner _populateBannerViewFromNib:]):
                (-[WebPageBanner createBannerView]): Checked user preferences for the gradient look. Also adds a one pixel border to the bottom of the banner.

        2005-04-11  John Sullivan  <sullivan@apple.com>

                Added Debug-menu window to tweak with Find in Page settings. The new initial
                setting is a bright red fading round rect. I think this works much better than
                the "Alternate Selection Color" fading round rect that was used before (still a
                choice in the settings window).

                Reviewed by Chris.

                * PreferenceKeys.h:
                * Defaults.plist:
                New NSUserDefaults keys:
                DebugUseFindOutlinePreferenceKey
                DebugFindOutlineIsSelectionColorPreferenceKey
                DebugFindOutlineIsAlternateSelectionColorPreferenceKey
                DebugFindOutlineCustomColorPreferenceKey

                * CoachMark.m:
                (-[CoachMark initWithBounds:forView:]):
                just added a comment

                * CoachMarkView.m:
                (-[CoachMarkView _color]):
                new method, determines color by checking various new preferences
                (-[CoachMarkView drawRect:]):
                call new method

                * Debug/DebugUtilities.m:
                (-[DebugUtilities createDebugMenu]):
                add "Show Find Banner Settings" item
                (-[BrowserDocument showFindBannerSettings:]):
                new method, opens Find Banner Settings window

                * Debug/FindBannerSettings.nib: Added.
                Nib for Find Banner Settings window. I'll be adding more stuff to this, but for
                now it has a checkbox for drawing the fading outlines, and a pop-up menu to
                choose a color.

                * Debug/FindBannerSettingsController.h: Added.
                * Debug/FindBannerSettingsController.m: Added.
                (+[FindBannerSettingsController sharedController]):
                new method, returns single instance
                (-[FindBannerSettingsController windowNibName]):
                returns name of nib file
                (-[FindBannerSettingsController colorFromPopUp]):
                new method, determines an NSColor from the selected item in the popup menu
                (-[FindBannerSettingsController selectOtherColor:]):
                new method, used by "Other..." item
                (-[FindBannerSettingsController setOutlineColorFromSelectedItem]):
                new method, sets the new preference based on the selected item in the popup
                (-[FindBannerSettingsController colorPickedInColorPanel:]):
                new method, updates the "Other" color
                (-[FindBannerSettingsController takeOutlineColorFrom:]):
                new method, callback from selected menu item in color menu
                (-[FindBannerSettingsController updateColorViews]):
                new method, synchronizes the color menu and  with prefs values
                (-[FindBannerSettingsController toggleUseFadingOutline:]):
                new method, toggles pref that controls fading outline (CoachMark)
                (-[FindBannerSettingsController updateViews]):
                new method, just calls updateColorViews (will do more later)
                (-[FindBannerSettingsController windowDidLoad]):
                new method, sets up color menu and views

                * FindBanner.m:
                (-[FindBanner _callAttentionToSelectedText]):
                new method, extracted from _findWithDirection:... Now respects new preference.
                (-[FindBanner _findWithDirection:caseSensitive:findInSelection:]):
                Now calls extracted method.

                * WebBrowser.pbproj/project.pbxproj:
                updated for new files

        2005-04-08  John Sullivan  <sullivan@apple.com>

                First cut at using the fading-oval approach to highlighting the found text. Kinda cool;
                probably needs some tweaking.

                Reviewed by Kevin.

                * CoachMark.m:
                (getHostTime):
                remove cast to eliminate compiler warning

                * FindBanner.m:
                (-[FindBanner _findWithDirection:caseSensitive:findInSelection:]):
                hackily determine the selection rect after finding text, and slap a fading oval around it.

        2005-04-08  John Sullivan  <sullivan@apple.com>

                Checked in the CoachMark classes stolen from Preview.
                I'll be using these as a Find in Page feedback experiment.
                I checked these files in verbatim, and they aren't yet
                used anywhere.

                * CoachMark.h: Added.
                * CoachMark.m: Added.
                (-[CoachMark initWithBounds:forView:]):
                (-[CoachMark dealloc]):
                (-[CoachMark width]):
                (-[CoachMark setWidth:]):
                (-[CoachMark duration]):
                (-[CoachMark setDuration:]):
                (-[CoachMark fractionComplete]):
                (-[CoachMark invalidate]):
                (getHostTime):
                (-[CoachMark redrawTimer:]):
                * CoachMarkController.h: Added.
                * CoachMarkController.m: Added.
                (+[CoachMarkController sharedCoachMarkController]):
                (-[CoachMarkController init]):
                (-[CoachMarkController dealloc]):
                (-[CoachMarkController addCoachMarkWithBounds:forView:]):
                (-[CoachMarkController coachMarkExpired:]):
                * CoachMarkView.h: Added.
                * CoachMarkView.m: Added.
                (-[CoachMarkView dealloc]):
                (-[CoachMarkView setCoach:]):
                (-[CoachMarkView width]):
                (-[CoachMarkView setWidth:]):
                (-[CoachMarkView roundedRect:withRadius:]):
                (-[CoachMarkView drawRect:]):

                * WebBrowser.pbproj/project.pbxproj:
                updated for new files

        2005-04-07  John Sullivan  <sullivan@apple.com>

                Fixed problem where each letter typed in find-as-you-type would jump to
                the next instance of the text to find, instead of extending the selection
                when appropriate.

                Reviewed by Dave Hyatt.

                * FindBanner.m:
                (-[FindBanner _doSearchForString:direction:caseSensitive:findInSelection:inTarget:]):
                added findInSelection parameter, passes through to WebKit
                (-[FindBanner _findWithDirection:caseSensitive:findInSelection:]):
                added findInSelection parameter, passes through to _doSearchForString:
                (-[FindBanner findFromSearchField:]):
                pass YES for findInSelection parameter
                (-[FindBanner findNext:]):
                pass NO for findInSelection parameter
                (-[FindBanner findPrevious:]):
                pass NO for findInSelection parameter

        2005-04-07  John Sullivan  <sullivan@apple.com>

                First draft at search-as-you-type using the Find banner. There are some
                obvious flaws, perhaps the most obvious being that adding a letter will start
                the new search from the end of the current selection. But it works well enough
                to start seeing the flaws, so that's a good thing.

                Reviewed by Darin.

                * BrowserDocument.h:
                declare findNext: and findPrevious: methods
                * BrowserDocument.m:
                (-[BrowserDocument findNext:]):
                call through to FindBanner (or AppController if the pref is set to not use banner)
                (-[BrowserDocument findPrevious:]):
                ditto
                (-[BrowserDocument validateUserInterfaceItem:]):
                findNext: and findPrevious: are enabled if the Find banner returns YES
                for readyToFind

                * BrowserWebController.h:
                the findInPageBanner is now declared as a FindBanner*
                * BrowserWebController.m:
                (-[BrowserWebView findInPageBanner]):
                now returns a FindBanner* rather than just a WebPageBanner*
                (-[BrowserWebView maintainsInactiveSelection]):
                override this new WebView method to return YES if the first responder
                is in a banner on the page.

                * English.lproj/FindBanner.nib:
                Turn off the "sendsWholeSearchString" bit so the searching is as-you-type

                * English.lproj/MainMenu.nib:
                make "Find Again" and "Find Previous" target the first responder rather
                than the AppController, so BrowserDocument can intercept them.

                * FindBanner.h:
                made -readyToFind public so it can be used in -[BrowserDocument validateUserInterfaceItem:]
                * FindBanner.m:
                (-[FindBanner _findWithDirection:caseSensitive:]):
                remove the #if guards around the code that forces the first responder to
                stay in the textfield as you type.

        2005-04-06  John Sullivan  <sullivan@apple.com>

                Refactored the code that populates the Find banner from the nib so
                that other WebPageBanners can do the same thing. Kevin will take
                advantage of this shortly.

                Reviewed by Maciej.

                * WebPageBanner.h:
                added bannerContents IBOutlet and -bannerNibName method, both used in nib loading
                * WebPageBanner.m:
                (-[WebPageBanner bannerNibName]):
                new method, returns nil, subclasses can override to use built-in view population method
                (-[WebPageBanner _populateBannerViewFromNib:]):
                new method, generalized from FindBanner code, extracts all the subviews of a given
                nib object and sticks 'em in the banner
                (-[WebPageBanner createBannerView]):
                now calls _populateBannerViewFromNib:

                * English.lproj/FindBanner.nib:
                wired up new bannerContents outlet

                * FindBanner.m:
                removed override of createBannerView since superclass does this now
                (-[FindBanner bannerNibName]):
                implement this one-liner in its place

        2005-04-06  John Sullivan  <sullivan@apple.com>

                First cut at making the Find Banner actually find. I copied/pasted/simplified
                code from the existing Find dialog (which would eventually go away if we
                adopt this new model, so I didn't feel guilty about duplicating the code).
                I haven't cleaned this all up nicely yet, but I wanted to get this semi-working
                version in. It's only semi-working because it doesn't do find-as-you-type, only
                find-when-you-hit-return. That's because the found text is only drawn as selected
                when the webview is first responder, which makes find-as-you-type useless. I'll
                add WebKit support for showing the selection when not first responder soon, and
                then make find-as-you-type work.

                Reviewed by Kevin.

                * English.lproj/FindBanner.nib: Added. Contains the views that will be in the banner.

                * WebPageBanner.m:
                (-[WebPageBanner createBannerView]):
                used #defines for initial width and standard height for clarity
                (-[WebPageBanner installIntoWebView:]):
                removed obsolete comment

                * FindBanner.h: Added.
                * FindBanner.m: Added.
                (-[FindBanner createBannerView]):
                overridden to install subviews from nib
                (-[FindBanner installIntoWebView:]):
                overridden to set focus on search field

                The following methods are all copied/pasted from FindPanelController,
                then tweaked (mostly simplified) to work here.
                (-[FindBanner updateFindPasteboardFromSearchField]):
                (-[FindBanner _updateSearchFieldFromFindPasteboard]):
                (-[FindBanner _searchString]):
                (-[FindBanner _searchTarget]):
                (-[FindBanner _doSearchForString:direction:caseSensitive:inTarget:]):
                (-[FindBanner readyToFind]):
                (-[FindBanner _setStatus:]):
                (-[FindBanner _findWithDirection:caseSensitive:]):
                (-[FindBanner findFromSearchField:]):
                (-[FindBanner findNext:]):
                (-[FindBanner findPrevious:]):

                * BrowserWebController.m:
                (-[BrowserWebView findInPageBanner]):
                Create a FindBanner, not just a generic WebPageBanner. Took out the temporary
                hack contents.

                * WebBrowser.pbproj/project.pbxproj:
                updated for new files

        2005-04-05  John Sullivan  <sullivan@apple.com>

                Some work in the direction of making Find in the Edit menu
                use the Find banner. The Debug menu now has a toggle item
                that controls whether Find in Page (command-F) uses the
                banner or not. I've left the Find dialog in for now so we
                can compare behaviors easily.

                Reviewed by Kevin.

                * PreferenceKeys.h:
                new preference key to control whether Command-F "Find" uses Find bar

                * AppController.h:
                declare NSUserInterfaceValidations protocol so other code can call
                through to [AppController validateUserInterfaceItem:] without making
                the compiler upset.
                * AppController.m:
                (-[AppController validateUserInterfaceItem:]):
                Reset menu title and state to the old as-in-nib versions ("Find�, unchecked)

                * BrowserDocument.h:
                declare showFindPanel: IBAction
                * BrowserDocument.m:
                (-[BrowserDocument showFindPanel:]):
                if the new pref isn't set, just call through to AppController. if it is, toggle
                the Find panel (using code formerly in DebugUtilities)
                (-[BrowserDocument validateUserInterfaceItem:]):
                When Find banner is not showing, use "Find in Page�, unchecked. When Find banner
                is showing, use "Find in Page", checked. Probably we can come up with something
                less weird.

                * Debug/DebugUtilities.m:
                (-[DebugUtilities createDebugMenu]):
                remove menu item for toggling Find bar; add menu item for toggling preference
                that controls whether Command-F "Find" uses Find bar
                (-[BrowserDocument toggleUseFindBanner:]):
                new method, toggles preference
                (-[BrowserDocument validate_toggleUseFindBanner:]):
                new method, checks or unchecks according to preference

                * English.lproj/Localizable.strings:
                updated for these changes

                * English.lproj/MainMenu.nib:
                changed target of "Find� menu item to be FirstResponder rather than AppController

        2005-04-05  John Sullivan  <sullivan@apple.com>

                More work on banner mechanism. Made each BrowserWebView have its own
                Find In Page banner (no content yet), in order to enable hiding that
                particular banner rather than hiding whatever banner happened to be
                showing. Renamed some methods and variables for clarity.

                Reviewed by Kevin.

                * BrowserWebController.h:
                added _findInPageBanner, renamed _banner -> _currentBanner; added
                -findInPageBanner, renamed -banner -> -currentBanner and -setBanner:
                -> -setCurrentBanner:
                * BrowserWebController.m:
                (-[BrowserWebView dealloc]):
                updated for renamings, and now releases _findInPageBanner
                (-[BrowserWebView findInPageBanner]):
                new method, lazily creates banner that will be used for Find in Page
                (-[BrowserWebView currentBanner]):
                updated for renamings
                (-[BrowserWebView setCurrentBanner:]):
                ditto

                * Debug/DebugUtilities.m:
                (-[DebugUtilities createDebugMenu]):
                changed Show/Hide Test Banner to Show/Hide Find Banner (this will go away
                entirely when I hook the Find banner up to the existing Find menu item)
                (-[BrowserDocument toggleFindInPageBanner:]):
                renamed from toggleBanner:; the code to create the banner is now in
                BrowserWebView. This method now checks for the specific banner rather
                than hiding whatever banner is showing.
                (-[BrowserDocument validate_toggleFindInPageBanner:]):
                updated for renamings, and now checks for the specific banner

        2005-04-04  John Sullivan  <sullivan@apple.com>

                Reviewed by Maciej.

                * BrowserTabViewItem.h:
                added _webView ivar
                * BrowserTabViewItem.m:
                (-[BrowserTabViewItem setView:]):
                find webView inside passed-in view, stash in ivar
                (-[BrowserTabViewItem webView]):
                return cached webview

                * BrowserWindowController.m:
                (-[BrowserWindowController setUpTabForWebView:addToRightSide:]):
                make tab item's view be a container holding the webview, rather
                than the webview itself. That way we can insert the banner later
                in a per-tab manner.

                * Debug/DebugUtilities.m:
                (-[BrowserDocument toggleBanner:]):
                don't use a static banner anymore since there can be more than one.

                * WebPageBanner.m:
                (-[WebPageBanner installIntoWebView:]):
                added support for unflipped parent view, works with generic NSView.
                I could have flipped the container view created in the tab, but this
                way is more general.
                (-[WebPageBanner uninstallFromWebView]):
                ditto

        2005-04-04  John Sullivan  <sullivan@apple.com>

                To make the blue banners work with tabs, I'll have to make the BrowserTabItem's view
                not be the webView itself but rather a new container view that holds the webView and
                optionally a banner. This checkin refactors the code that assumes that
                [BrowserTabItem view] is a webView to not assume that. I'll make the actual view
                hierarchy change in a separate checkin.

                * BrowserTabViewItem.h:
                Made -webView a public method. This method was implemented but not public and not
                used internally, so I guess it was either going to be public or used to be public.
                But regardless of the past, I wanted it public again, so public it shall be.

                * BrowserWindowController.m:
                (-[BrowserWindowController mainWebFrameView]):
                replaced code that casts [BrowserTabViewItem view] to a WebView with code
                to call [BrowserTabViewItem webView], since soon [BrowserTabViewItem view]
                won't be a webView.
                (-[BrowserWindowController updateKeyboardLoop]):
                (-[BrowserWindowController updateLabelForTab:evenIfTabBarHidden:]):
                (-[BrowserWindowController toggleTabBarWithAnimation:]):
                (-[BrowserWindowController closeTab:]):
                (-[BrowserWindowController closeOtherTabs:]):
                (-[BrowserWindowController reloadTabsMatchingURLs:]):
                (-[BrowserWindowController didSelectTabViewItem]):
                (-[BrowserWindowController findTabForWebView:]):
                (-[BrowserWindowController tabBarView:menuForClippedTabViewItems:]):
                (-[BrowserWindowController reloadTab:]):
                (-[BrowserWindowController reloadParentallyRestrictedFrames]):
                (-[BrowserWindowController replaceTabSwitcher:]):
                (-[BrowserWindowController releaseTabSwitcher:]):
                (-[BrowserWindowController replaceTabURLs:usingTabLabelsFromBookmarks:]):
                (-[BrowserWindowController orderedTabs]):
                (-[BrowserWindowController tabBarView:performDragOperationForTabViewItem:URL:]):
                (-[BrowserWindowController canReloadTab:]):
                (-[BrowserWindowController canReloadAllTabs]):
                (-[NSTabView makeWebViewsPerformSelector:withObject:]):
                ditto

                * WebPageBanner.m:
                (-[WebPageBanner standardBannerColor]):
                Made #defines for the RGB values

        2005-04-04  John Sullivan  <sullivan@apple.com>

                - first cut at transient blue bar to be used for page metadata, find, and
                pop-up banner experiments. It doesn't do anything yet other than show and
                hide itself on demand. It doesn't yet work with multiple tabs (I'll fix
                that next.)

                I made the bar use the blue color that Kevin extracted from Mail's mailbox
                tableview. To see a demo, choose "Show Banner" and then "Hide Banner" from
                the Debug menu.

                Reviewed by Kevin. (Reviews not strictly required for experimental checkins,
                but it's never a bad idea.)

                * WebPageBanner.h: Added.
                * WebPageBanner.m: Added.
                (-[WebPageBanner init]):
                calls createBannerView
                (-[WebPageBanner dealloc]):
                cleans up
                (-[WebPageBanner bannerView]):
                returns ivar
                (-[WebPageBanner standardBannerColor]):
                returns standard color in case subclasses want to use it in a createBannerView override
                (-[WebPageBanner createBannerView]):
                creates new BarBackground with the standard color. Clients can add subviews to this
                view, or could subclass and override to create the view a completely different way.
                (-[WebPageBanner installIntoWebView:]):
                squeezes itself above the webview (no animation yet)
                (-[WebPageBanner uninstallFromWebView]):
                removes itself and restores webview (no animation yet)

                * BrowserWebController.h:
                * BrowserWebController.m:
                (-[BrowserWebView dealloc]):
                release _banner ivar
                (-[BrowserWebView banner]):
                returns ivar
                (-[BrowserWebView setBanner:]):
                sets the banner; call with nil to hide the banner. Currently only one banner can
                be showing at a time.

                * Debug/DebugUtilities.m:
                (-[DebugUtilities createDebugMenu]):
                add menu item to test banner
                (-[BrowserDocument toggleBanner:]):
                show or hide banner
                (-[BrowserDocument validate_toggleBanner:]):
                change menu item text to "Show Banner" or "Hide Banner"

                * WebBrowser.pbproj/project.pbxproj:
                updated for new class files

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

17 years ago Reviewed by Maciej (except for some parts outside the ECMA directory).
darin [Thu, 12 May 2005 17:11:22 +0000 (17:11 +0000)]
    Reviewed by Maciej (except for some parts outside the ECMA directory).

        - switch KJS wrappers over to using the DOM impl. classes rather than using
          the DOM wrappers; will allow us to not even compile the DOM wrappers and
          make the code smaller

        * khtml/css/css_valueimpl.h: Added CSSStyleDeclarationImpl::isPropertyName,
        removed CSSStyleDeclarationImpl::propertyID.
        * khtml/css/css_valueimpl.cpp:
        (DOM::propertyID): Added. Gets property ID given a DOM string. Replaces the
        previous version that had hacks that we want to leave in the JS wrapper for now.
        (DOM::CSSStyleDeclarationImpl::isPropertyName): Added.

        * khtml/css/cssproperties.in: Fixed up comments.

        * khtml/css/makeprop: Added new maxCSSPropertyNameLength constant, used for
        buffer size in the propertyID function.

        * khtml/dom/dom2_events.h: Added handleEventImpl, making it easier to call
        handleEvent in a way that works either with or without the C++ DOM wrappers.
        * khtml/dom/dom2_events.cpp: (EventListener::handleEventImpl): Added.

        * khtml/dom/dom2_views.cpp: Added now-needed include.
        * khtml/dom/dom_doc.cpp: Added now-needed include.
        * khtml/dom/dom_element.cpp: Tweaked includes.

        * khtml/editing/htmlediting.cpp: Removed now-unneeded include.
        * khtml/html/html_baseimpl.cpp: Ditto.
        * khtml/html/html_formimpl.h: Ditto.
        * khtml/rendering/render_form.h: Ditto.
        * khtml/rendering/render_style.h: Ditto.
        * khtml/xml/dom2_eventsimpl.cpp: Ditto.
        * khtml/xml/dom2_viewsimpl.h: Ditto.
        * khtml/xml/dom_elementimpl.h: Ditto.
        * khtml/xml/dom_stringimpl.h: Ditto.
        * kwq/DOM.mm: Ditto.
        * kwq/DOMHTML.mm: Ditto.

        * khtml/khtml_part.cpp: Tweaked incluudes.
        * khtml/khtmlpart_p.h: Ditto.

        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::canCachePage): Change to use DOM impl. rather
        than C++ DOM.

        * khtml/xml/dom_docimpl.cpp:
        (DOMImplementationImpl::createDocumentType): Disabled the calls to the not-implemented
        name checks in the C++ DOM wrappers. If we add name changes, we'll want them inside the
        impl, not in the wrappers.
        (DOMImplementationImpl::createDocument): Ditto.
        * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::checkSetPrefix): Ditto.

        * khtml/ecma/kjs_binding.cpp:
        (KJS::ScriptInterpreter::wasRunByUserGesture):
        (KJS::KJS::ValueToVariant):
        (KJS::setDOMException):
        * khtml/ecma/kjs_binding.h:
        (KJS::ScriptInterpreter::setCurrentEvent):
        (KJS::ScriptInterpreter::getCurrentEvent):
        (KJS::cacheDOMObject):
        (KJS::DOMExceptionTranslator::DOMExceptionTranslator):
        (KJS::DOMExceptionTranslator::~DOMExceptionTranslator):
        (KJS::DOMExceptionTranslator::operator int &):
        (KJS::cacheGlobalObject):
        * khtml/ecma/kjs_css.cpp:
        (KJS::cssPropertyName):
        (KJS::isCSSPropertyName):
        (KJS::DOMCSSStyleDeclaration::DOMCSSStyleDeclaration):
        (KJS::DOMCSSStyleDeclaration::~DOMCSSStyleDeclaration):
        (KJS::DOMCSSStyleDeclaration::hasProperty):
        (KJS::DOMCSSStyleDeclaration::tryGet):
        (KJS::DOMCSSStyleDeclaration::tryPut):
        (KJS::DOMCSSStyleDeclarationProtoFunc::tryCall):
        (KJS::getDOMCSSStyleDeclaration):
        (KJS::DOMStyleSheet::~DOMStyleSheet):
        (KJS::DOMStyleSheet::getValueProperty):
        (KJS::DOMStyleSheet::tryPut):
        (KJS::getDOMStyleSheet):
        (KJS::DOMStyleSheetList::~DOMStyleSheetList):
        (KJS::DOMStyleSheetList::tryGet):
        (KJS::getDOMStyleSheetList):
        (KJS::DOMStyleSheetListFunc::tryCall):
        (KJS::DOMMediaList::DOMMediaList):
        (KJS::DOMMediaList::~DOMMediaList):
        (KJS::DOMMediaList::tryGet):
        (KJS::DOMMediaList::tryPut):
        (KJS::getDOMMediaList):
        (KJS::KJS::DOMMediaListProtoFunc::tryCall):
        (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet):
        (KJS::DOMCSSStyleSheet::tryGet):
        (KJS::DOMCSSStyleSheetProtoFunc::tryCall):
        (KJS::DOMCSSRuleList::~DOMCSSRuleList):
        (KJS::DOMCSSRuleList::tryGet):
        (KJS::DOMCSSRuleListFunc::tryCall):
        (KJS::getDOMCSSRuleList):
        (KJS::DOMCSSRule::~DOMCSSRule):
        (KJS::DOMCSSRule::classInfo):
        (KJS::DOMCSSRule::tryGet):
        (KJS::DOMCSSRule::getValueProperty):
        (KJS::DOMCSSRule::putValue):
        (KJS::DOMCSSRuleFunc::tryCall):
        (KJS::getDOMCSSRule):
        (KJS::DOMCSSValue::~DOMCSSValue):
        (KJS::DOMCSSValue::tryGet):
        (KJS::DOMCSSValue::tryPut):
        (KJS::getDOMCSSValue):
        (KJS::DOMCSSPrimitiveValue::DOMCSSPrimitiveValue):
        (KJS::DOMCSSPrimitiveValue::tryGet):
        (KJS::DOMCSSPrimitiveValueProtoFunc::tryCall):
        (KJS::DOMCSSValueList::DOMCSSValueList):
        (KJS::DOMCSSValueList::tryGet):
        (KJS::DOMCSSValueListFunc::tryCall):
        (KJS::DOMRGBColor::getValueProperty):
        (KJS::getDOMRGBColor):
        (KJS::DOMRect::~DOMRect):
        (KJS::DOMRect::getValueProperty):
        (KJS::getDOMRect):
        (KJS::DOMCounter::~DOMCounter):
        (KJS::DOMCounter::getValueProperty):
        (KJS::getDOMCounter):
        * khtml/ecma/kjs_css.h:
        (KJS::DOMCSSStyleDeclaration::impl):
        (KJS::DOMStyleSheet::DOMStyleSheet):
        (KJS::DOMStyleSheet::impl):
        (KJS::DOMStyleSheetList::DOMStyleSheetList):
        (KJS::DOMStyleSheetList::impl):
        (KJS::DOMMediaList::impl):
        (KJS::DOMCSSStyleSheet::):
        (KJS::DOMCSSRuleList::DOMCSSRuleList):
        (KJS::DOMCSSRuleList::impl):
        (KJS::DOMCSSRule::DOMCSSRule):
        (KJS::DOMCSSRule::impl):
        (KJS::DOMCSSValue::DOMCSSValue):
        (KJS::DOMCSSValue::impl):
        (KJS::DOMCSSValueList::):
        (KJS::DOMRGBColor::DOMRGBColor):
        (KJS::DOMRect::DOMRect):
        (KJS::DOMCounter::DOMCounter):
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNodeListFunc::):
        (KJS::DOMNode::DOMNode):
        (KJS::DOMNode::toBoolean):
        (KJS::DOMNode::getValueProperty):
        (KJS::DOMNode::putValue):
        (KJS::DOMNode::toPrimitive):
        (KJS::DOMNode::toString):
        (KJS::DOMNode::setListener):
        (KJS::DOMNode::getListener):
        (KJS::DOMNodeProtoFunc::tryCall):
        (KJS::toNode):
        (KJS::DOMNodeList::~DOMNodeList):
        (KJS::DOMNodeList::toPrimitive):
        (KJS::DOMNodeList::tryGet):
        (KJS::DOMNodeList::tryCall):
        (KJS::DOMNodeListFunc::tryCall):
        (KJS::DOMAttr::DOMAttr):
        (KJS::DOMAttr::getValueProperty):
        (KJS::DOMAttr::putValue):
        (KJS::toAttr):
        (KJS::DOMDocument::DOMDocument):
        (KJS::DOMDocument::~DOMDocument):
        (KJS::DOMDocument::getValueProperty):
        (KJS::DOMDocument::putValue):
        (KJS::DOMDocumentProtoFunc::tryCall):
        (KJS::DOMElement::DOMElement):
        (KJS::DOMElement::tryGet):
        (KJS::DOMElementProtoFunc::tryCall):
        (KJS::toElement):
        (KJS::DOMDOMImplementation::DOMDOMImplementation):
        (KJS::DOMDOMImplementation::~DOMDOMImplementation):
        (KJS::DOMDOMImplementationProtoFunc::tryCall):
        (KJS::DOMDocumentType::DOMDocumentType):
        (KJS::DOMDocumentType::getValueProperty):
        (KJS::toDocumentType):
        (KJS::DOMNamedNodeMap::DOMNamedNodeMap):
        (KJS::DOMNamedNodeMap::~DOMNamedNodeMap):
        (KJS::DOMNamedNodeMap::tryGet):
        (KJS::DOMNamedNodeMapProtoFunc::tryCall):
        (KJS::DOMProcessingInstruction::DOMProcessingInstruction):
        (KJS::DOMProcessingInstruction::getValueProperty):
        (KJS::DOMProcessingInstruction::tryPut):
        (KJS::DOMNotation::DOMNotation):
        (KJS::DOMNotation::getValueProperty):
        (KJS::DOMEntity::DOMEntity):
        (KJS::DOMEntity::getValueProperty):
        (KJS::getDOMDocumentNode):
        (KJS::checkNodeSecurity):
        (KJS::getDOMNode):
        (KJS::getDOMNamedNodeMap):
        (KJS::getRuntimeObject):
        (KJS::getDOMNodeList):
        (KJS::getDOMDOMImplementation):
        (KJS::getNodeConstructor):
        (KJS::getDOMExceptionConstructor):
        (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
        (KJS::DOMNamedNodesCollection::tryGet):
        (KJS::DOMCharacterData::DOMCharacterData):
        (KJS::DOMCharacterData::getValueProperty):
        (KJS::DOMCharacterData::tryPut):
        (KJS::DOMCharacterDataProtoFunc::tryCall):
        (KJS::DOMText::DOMText):
        (KJS::DOMTextProtoFunc::tryCall):
        * khtml/ecma/kjs_dom.h:
        (KJS::DOMNode::impl):
        (KJS::DOMNodeList::DOMNodeList):
        (KJS::DOMNodeList::impl):
        (KJS::DOMDOMImplementation::impl):
        (KJS::DOMNamedNodeMap::impl):
        * khtml/ecma/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent):
        (KJS::JSLazyEventListener::handleEvent):
        (KJS::getNodeEventListener):
        (KJS::DOMEvent::DOMEvent):
        (KJS::DOMEvent::~DOMEvent):
        (KJS::DOMEvent::getValueProperty):
        (KJS::DOMEvent::putValue):
        (KJS::DOMEventProtoFunc::tryCall):
        (KJS::getDOMEvent):
        (KJS::toEvent):
        (KJS::DOMUIEvent::DOMUIEvent):
        (KJS::DOMUIEvent::getValueProperty):
        (KJS::DOMUIEventProtoFunc::tryCall):
        (KJS::DOMMouseEvent::DOMMouseEvent):
        (KJS::DOMMouseEvent::getValueProperty):
        (KJS::DOMMouseEventProtoFunc::tryCall):
        (KJS::DOMKeyboardEvent::DOMKeyboardEvent):
        (KJS::DOMKeyboardEvent::getValueProperty):
        (KJS::DOMKeyboardEventProtoFunc::tryCall):
        (KJS::DOMMutationEvent::DOMMutationEvent):
        (KJS::DOMMutationEvent::getValueProperty):
        (KJS::DOMMutationEventProtoFunc::tryCall):
        (KJS::DOMWheelEvent::DOMWheelEvent):
        (KJS::DOMWheelEvent::getValueProperty):
        (KJS::ClipboardProtoFunc::tryCall):
        * khtml/ecma/kjs_events.h:
        (KJS::DOMEvent::impl):
        (KJS::DOMUIEvent::):
        (KJS::DOMMouseEvent::):
        (KJS::DOMKeyboardEvent::):
        (KJS::DOMMutationEvent::):
        * khtml/ecma/kjs_html.cpp:
        (KJS::KJS::HTMLDocFunction::tryCall):
        (KJS::HTMLDocument::HTMLDocument):
        (KJS::HTMLDocument::hasProperty):
        (KJS::HTMLDocument::tryGet):
        (KJS::KJS::HTMLDocument::putValue):
        (KJS::KJS::HTMLElement::classInfo):
        (KJS::HTMLElement::HTMLElement):
        (KJS::KJS::HTMLElement::tryGet):
        (KJS::KJS::HTMLElement::implementsCall):
        (KJS::KJS::HTMLElement::call):
        (KJS::KJS::HTMLElement::getValueProperty):
        (KJS::KJS::HTMLElement::hasProperty):
        (KJS::KJS::HTMLElement::toString):
        (KJS::getForm):
        (KJS::KJS::HTMLElement::pushEventHandlerScope):
        (KJS::KJS::HTMLElementFunction::tryCall):
        (KJS::KJS::HTMLElement::tryPut):
        (KJS::HTMLElement::putValue):
        (KJS::toHTMLElement):
        (KJS::toHTMLTableCaptionElement):
        (KJS::toHTMLTableSectionElement):
        (KJS::HTMLCollection::HTMLCollection):
        (KJS::HTMLCollection::~HTMLCollection):
        (KJS::KJS::HTMLCollection::tryGet):
        (KJS::KJS::HTMLCollection::tryCall):
        (KJS::KJS::HTMLCollection::getNamedItems):
        (KJS::KJS::HTMLCollectionProtoFunc::tryCall):
        (KJS::HTMLSelectCollection::HTMLSelectCollection):
        (KJS::KJS::HTMLSelectCollection::tryGet):
        (KJS::KJS::HTMLSelectCollection::tryPut):
        (KJS::OptionConstructorImp::OptionConstructorImp):
        (KJS::OptionConstructorImp::construct):
        (KJS::ImageConstructorImp::ImageConstructorImp):
        (KJS::ImageConstructorImp::construct):
        (KJS::Image::notifyFinished):
        (KJS::Image::Image):
        (KJS::KJS::Context2DFunction::tryCall):
        (KJS::):
        (KJS::colorRefFromValue):
        (KJS::colorFromValue):
        (KJS::Context2D::putValue):
        (KJS::Context2D::Context2D):
        (KJS::Context2D::mark):
        (KJS::GradientFunction::tryCall):
        (KJS::ImagePattern::tryGet):
        (KJS::getHTMLCollection):
        (KJS::getSelectHTMLCollection):
        * khtml/ecma/kjs_html.h:
        (KJS::HTMLDocument::):
        (KJS::HTMLElement::):
        (KJS::HTMLCollection::impl):
        * khtml/ecma/kjs_navigator.cpp:
        * khtml/ecma/kjs_proxy.cpp:
        (KJSProxyImpl::evaluate):
        (KJSProxyImpl::finishedWithEvent):
        * khtml/ecma/kjs_proxy.h:
        * khtml/ecma/kjs_range.cpp:
        (KJS::DOMRange::DOMRange):
        (KJS::DOMRange::~DOMRange):
        (KJS::DOMRange::tryGet):
        (KJS::DOMRange::getValueProperty):
        (KJS::DOMRangeProtoFunc::tryCall):
        (KJS::getDOMRange):
        (KJS::RangeConstructor::tryGet):
        (KJS::getRangeConstructor):
        (KJS::toRange):
        * khtml/ecma/kjs_range.h:
        (KJS::DOMRange::impl):
        * khtml/ecma/kjs_traversal.cpp:
        (KJS::DOMNodeIterator::DOMNodeIterator):
        (KJS::DOMNodeIterator::~DOMNodeIterator):
        (KJS::DOMNodeIterator::getValueProperty):
        (KJS::DOMNodeIteratorProtoFunc::tryCall):
        (KJS::getDOMNodeIterator):
        (KJS::DOMNodeFilter::DOMNodeFilter):
        (KJS::DOMNodeFilter::~DOMNodeFilter):
        (KJS::DOMNodeFilterProtoFunc::tryCall):
        (KJS::getDOMNodeFilter):
        (KJS::toNodeFilter):
        (KJS::DOMTreeWalker::DOMTreeWalker):
        (KJS::DOMTreeWalker::~DOMTreeWalker):
        (KJS::DOMTreeWalker::getValueProperty):
        (KJS::DOMTreeWalker::tryPut):
        (KJS::DOMTreeWalkerProtoFunc::tryCall):
        (KJS::getDOMTreeWalker):
        (KJS::JSNodeFilterCondition::acceptNode):
        * khtml/ecma/kjs_traversal.h:
        (KJS::DOMNodeIterator::impl):
        (KJS::DOMNodeFilter::impl):
        (KJS::DOMTreeWalker::impl):
        * khtml/ecma/kjs_views.cpp:
        (KJS::DOMAbstractView::~DOMAbstractView):
        (KJS::DOMAbstractView::tryGet):
        (KJS::DOMAbstractViewFunc::tryCall):
        (KJS::getDOMAbstractView):
        (KJS::toAbstractView):
        * khtml/ecma/kjs_views.h:
        (KJS::DOMAbstractView::DOMAbstractView):
        (KJS::DOMAbstractView::impl):
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::get):
        (KJS::Window::hasProperty):
        (KJS::Window::put):
        (KJS::Window::setListener):
        (KJS::Window::getListener):
        (KJS::Window::setCurrentEvent):
        (KJS::WindowFunc::tryCall):
        (KJS::Location::put):
        (KJS::LocationFunc::tryCall):
        (KJS::Selection::get):
        (KJS::SelectionFunc::tryCall):
        * khtml/ecma/kjs_window.h:
        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequestConstructorImp::XMLHttpRequestConstructorImp):
        (KJS::XMLHttpRequestConstructorImp::~XMLHttpRequestConstructorImp):
        (KJS::XMLHttpRequestConstructorImp::construct):
        (KJS::XMLHttpRequest::getValueProperty):
        (KJS::XMLHttpRequest::XMLHttpRequest):
        (KJS::XMLHttpRequest::changeState):
        (KJS::XMLHttpRequest::open):
        (KJS::XMLHttpRequestProtoFunc::tryCall):
        * khtml/ecma/xmlhttprequest.h:
        * khtml/ecma/xmlserializer.cpp:
        (KJS::XMLSerializerProtoFunc::tryCall):
        * khtml/ecma/xmlserializer.h:
        * kwq/DOMInternal.mm:
        (-[WebScriptObject _initializeScriptDOMNodeImp]):
        * kwq/DOMUtility.mm:
        (KJS::ScriptInterpreter::createObjcInstanceForValue):

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

17 years ago Improve the display of apple.com. innerWidth and innerHeight refer to the size...
hyatt [Thu, 12 May 2005 07:47:43 +0000 (07:47 +0000)]
Improve the display of apple.com.  innerWidth and innerHeight refer to the size of the visible view and
so they do not need to do a layout in order to yield correct values from JS.  Removing this stops an
early layout and paint before the apple.com images are typically loaded.

This is an improvement of the fix for wired.com's FOUC.  For that bug I eliminated the need to ignore pending
stylesheets, but now I'm going further and just eliminating the layout all together.  This means that the old
updateLayout function can be reverted to how it was before the wired.com fix.

        Reviewed by john

        * khtml/ecma/kjs_window.cpp:
        (Window::get):
        (Window::updateLayout):
        * khtml/ecma/kjs_window.h:

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

17 years ago Reviewed by Kevin.
mjs [Thu, 12 May 2005 04:00:20 +0000 (04:00 +0000)]
    Reviewed by Kevin.

- split some more individual classes out of htmlediting.cpp
(CompositeEditcommand, AppendnodeCommand, ApplyStyleCommand)

Also moves StyleChange directly into ApplyStyleCommand
implementation file, it doesn't need to be in a header at all.

        * WebCore.pbproj/project.pbxproj:
        * khtml/editing/append_node_command.cpp: Added.
        * khtml/editing/append_node_command.h: Added.
        * khtml/editing/apply_style_command.cpp: Added.
        * khtml/editing/apply_style_command.h: Added.
        * khtml/editing/composite_edit_command.cpp: Added.
        * khtml/editing/composite_edit_command.h: Added.
        * khtml/editing/edit_command.cpp: Minor clean-ups.
        * khtml/editing/edit_command.h:
        * khtml/editing/htmlediting.cpp:
        * khtml/editing/htmlediting.h:

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

17 years ago Reviewed by Darin.
adele [Thu, 12 May 2005 01:16:01 +0000 (01:16 +0000)]
    Reviewed by Darin.

        fix for <rdar://problem/4061979> crash in DOM::ElementImpl::setAttribute at www.nitto-kohki.co.jp

        * khtml/html/html_imageimpl.cpp: (HTMLImageLoader::updateFromElement): added a nil check for the document
        * khtml/xml/dom_nodeimpl.h: (DOM::NodeImpl::inDocument): added check for document in case the document has been destroyed before the node has been removed.  A lot of code already assumes that if inDocument returns true, a document exists.

        * layout-tests/fast/events/onload-re-entry.html: removed alert.
        * layout-tests/fast/events/onload-re-entry-expected.txt: updated.
        * layout-tests/fast/dom/attr_dead_doc-expected.txt: Added.
        * layout-tests/fast/dom/attr_dead_doc.html: Added.
        * layout-tests/fast/dom/resources/apple.gif: Added.
        * layout-tests/fast/dom/resources/mozilla.gif: Added.
        * layout-tests/fast/dom/resources/top.html: Added.

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

17 years agoFix the newline error I made backing out changes to the .in files in misc.
hyatt [Wed, 11 May 2005 23:45:29 +0000 (23:45 +0000)]
Fix the newline error I made backing out changes to the .in files in misc.

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

17 years ago Reviewed by Kevin.
mjs [Wed, 11 May 2005 06:04:24 +0000 (06:04 +0000)]
    Reviewed by Kevin.

- start on splitting htmlediting.cpp into smaller files - pull
EditCommand and EditCommandPtr out.

        * WebCore.pbproj/project.pbxproj:
        * khtml/editing/edit_command.cpp: Added.
        * khtml/editing/edit_command.h: Added.
        * khtml/editing/htmlediting.cpp: Took EditCommand and EditCommandPtr out.
        * khtml/editing/htmlediting.h: Ditto.

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

17 years agoBack out unintentional additions to HTML attrs and tags.
hyatt [Wed, 11 May 2005 05:56:43 +0000 (05:56 +0000)]
Back out unintentional additions to HTML attrs and tags.

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

17 years ago Refactor the DOM so that the concept of class/style/id is no longer unique to HTML...
hyatt [Wed, 11 May 2005 05:49:35 +0000 (05:49 +0000)]
Refactor the DOM so that the concept of class/style/id is no longer unique to HTML elements.  This paves the way
for SVG and MathML elements to also support these capabilities.  In addition the concept of presentational
attributes has also been factored out.

        Reviewed by mjs

        * khtml/css/css_ruleimpl.cpp:
        (CSSStyleRuleImpl::setDeclaration):
        * khtml/css/cssstyleselector.cpp:
        (khtml::parseUASheet):
        (khtml::CSSStyleSelector::loadDefaultStyle):
        (khtml::CSSStyleSelector::initElementAndPseudoState):
        (khtml::CSSStyleSelector::canShareStyleWithElement):
        (khtml::CSSStyleSelector::locateSharedStyle):
        (khtml::CSSStyleSelector::styleForElement):
        (khtml::CSSStyleSelector::checkOneSelector):
        * khtml/css/cssstyleselector.h:
        * khtml/html/html_baseimpl.cpp:
        (HTMLBodyElementImpl::parseMappedAttribute):
        (HTMLFrameElementImpl::parseMappedAttribute):
        (HTMLFrameSetElementImpl::parseMappedAttribute):
        (HTMLIFrameElementImpl::parseMappedAttribute):
        * khtml/html/html_baseimpl.h:
        * khtml/html/html_blockimpl.cpp:
        (HTMLDivElementImpl::parseMappedAttribute):
        (HTMLHRElementImpl::parseMappedAttribute):
        (HTMLParagraphElementImpl::parseMappedAttribute):
        (HTMLMarqueeElementImpl::parseMappedAttribute):
        * khtml/html/html_blockimpl.h:
        * khtml/html/html_canvasimpl.cpp:
        (HTMLCanvasElementImpl::parseMappedAttribute):
        * khtml/html/html_canvasimpl.h:
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::HTMLElementImpl):
        (HTMLElementImpl::~HTMLElementImpl):
        (HTMLElementImpl::mapToEntry):
        (HTMLElementImpl::parseMappedAttribute):
        (HTMLElementImpl::addHTMLAlignment):
        (HTMLElementImpl::setContentEditable):
        (HTMLElementImpl::toString):
        * khtml/html/html_elementimpl.h:
        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLFormElementImpl::parseMappedAttribute):
        (DOM::HTMLGenericFormElementImpl::parseMappedAttribute):
        (DOM::HTMLButtonElementImpl::parseMappedAttribute):
        (DOM::HTMLInputElementImpl::setType):
        (DOM::HTMLInputElementImpl::parseMappedAttribute):
        (DOM::HTMLLabelElementImpl::parseMappedAttribute):
        (DOM::HTMLSelectElementImpl::parseMappedAttribute):
        (DOM::HTMLKeygenElementImpl::parseMappedAttribute):
        (DOM::HTMLOptGroupElementImpl::parseMappedAttribute):
        (DOM::HTMLOptionElementImpl::parseMappedAttribute):
        (DOM::HTMLTextAreaElementImpl::parseMappedAttribute):
        (DOM::HTMLIsIndexElementImpl::parseMappedAttribute):
        * khtml/html/html_formimpl.h:
        * khtml/html/html_headimpl.cpp:
        (HTMLBaseElementImpl::parseMappedAttribute):
        (HTMLLinkElementImpl::parseMappedAttribute):
        (HTMLMetaElementImpl::parseMappedAttribute):
        (HTMLStyleElementImpl::parseMappedAttribute):
        * khtml/html/html_headimpl.h:
        * khtml/html/html_imageimpl.cpp:
        (HTMLImageElementImpl::parseMappedAttribute):
        (HTMLMapElementImpl::parseMappedAttribute):
        (HTMLAreaElementImpl::parseMappedAttribute):
        * khtml/html/html_imageimpl.h:
        * khtml/html/html_inlineimpl.cpp:
        (DOM::HTMLAnchorElementImpl::parseMappedAttribute):
        (DOM::HTMLBRElementImpl::parseMappedAttribute):
        (DOM::HTMLFontElementImpl::parseMappedAttribute):
        * khtml/html/html_inlineimpl.h:
        * khtml/html/html_listimpl.cpp:
        (DOM::HTMLUListElementImpl::parseMappedAttribute):
        (DOM::HTMLOListElementImpl::parseMappedAttribute):
        (DOM::HTMLLIElementImpl::parseMappedAttribute):
        * khtml/html/html_listimpl.h:
        * khtml/html/html_objectimpl.cpp:
        (DOM::HTMLAppletElementImpl::parseMappedAttribute):
        (DOM::HTMLEmbedElementImpl::parseMappedAttribute):
        (DOM::HTMLObjectElementImpl::parseMappedAttribute):
        (DOM::HTMLParamElementImpl::parseMappedAttribute):
        * khtml/html/html_objectimpl.h:
        * khtml/html/html_tableimpl.cpp:
        (DOM::HTMLTableElementImpl::parseMappedAttribute):
        (DOM::HTMLTableElementImpl::additionalAttributeStyleDecl):
        (DOM::HTMLTableElementImpl::getSharedCellDecl):
        (DOM::HTMLTablePartElementImpl::parseMappedAttribute):
        (DOM::HTMLTableCellElementImpl::parseMappedAttribute):
        (DOM::HTMLTableColElementImpl::parseMappedAttribute):
        (DOM::HTMLTableCaptionElementImpl::parseMappedAttribute):
        * khtml/html/html_tableimpl.h:
        * khtml/html/htmltokenizer.h:
        (khtml::Token::addAttribute):
        * khtml/misc/htmlattrs.in:
        * khtml/misc/htmltags.in:
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::createAttribute):
        (DocumentImpl::createElementNS):
        (DocumentImpl::createHTMLElement):
        * khtml/xml/dom_elementimpl.cpp:
        (XMLElementImpl::cloneNode):
        (NamedAttrMapImpl::isMappedAttributeMap):
        (CSSMappedAttributeDeclarationImpl::~CSSMappedAttributeDeclarationImpl):
        (StyledElementImpl::getMappedAttributeDecl):
        (StyledElementImpl::setMappedAttributeDecl):
        (StyledElementImpl::removeMappedAttributeDecl):
        (StyledElementImpl::invalidateStyleAttribute):
        (StyledElementImpl::updateStyleAttributeIfNeeded):
        (MappedAttributeImpl::~MappedAttributeImpl):
        (MappedAttributeImpl::clone):
        (m_mappedAttributeCount):
        (NamedMappedAttrMapImpl::clearAttributes):
        (NamedMappedAttrMapImpl::isMappedAttributeMap):
        (NamedMappedAttrMapImpl::declCount):
        (NamedMappedAttrMapImpl::mapsEquivalent):
        (NamedMappedAttrMapImpl::parseClassAttribute):
        (StyledElementImpl::StyledElementImpl):
        (StyledElementImpl::~StyledElementImpl):
        (StyledElementImpl::createAttribute):
        (StyledElementImpl::createInlineStyleDecl):
        (StyledElementImpl::destroyInlineStyleDecl):
        (StyledElementImpl::attributeChanged):
        (StyledElementImpl::mapToEntry):
        (StyledElementImpl::parseMappedAttribute):
        (StyledElementImpl::createAttributeMap):
        (StyledElementImpl::getInlineStyleDecl):
        (StyledElementImpl::style):
        (StyledElementImpl::additionalAttributeStyleDecl):
        (StyledElementImpl::getClassList):
        (isHexDigit):
        (toHex):
        (StyledElementImpl::addCSSProperty):
        (StyledElementImpl::addCSSStringProperty):
        (StyledElementImpl::addCSSImageProperty):
        (StyledElementImpl::addCSSLength):
        (StyledElementImpl::addCSSColor):
        (StyledElementImpl::createMappedDecl):
        * khtml/xml/dom_elementimpl.h:
        (DOM::):
        (DOM::CSSMappedAttributeDeclarationImpl::CSSMappedAttributeDeclarationImpl):
        (DOM::CSSMappedAttributeDeclarationImpl::setMappedState):
        (DOM::MappedAttributeImpl::MappedAttributeImpl):
        (DOM::MappedAttributeImpl::decl):
        (DOM::MappedAttributeImpl::setDecl):
        (DOM::NamedMappedAttrMapImpl::getClassList):
        (DOM::NamedMappedAttrMapImpl::hasMappedAttributes):
        (DOM::NamedMappedAttrMapImpl::declRemoved):
        (DOM::NamedMappedAttrMapImpl::declAdded):
        (DOM::NamedMappedAttrMapImpl::attributeItem):
        (DOM::StyledElementImpl::isStyledElement):
        (DOM::StyledElementImpl::hasMappedAttributes):
        (DOM::StyledElementImpl::mappedAttributes):
        (DOM::StyledElementImpl::isMappedAttribute):
        (DOM::StyledElementImpl::inlineStyleDecl):
        * khtml/xml/dom_nodeimpl.h:
        (DOM::NodeImpl::isStyledElement):

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

17 years ago Reviewed by Dave Hyatt.
darin [Wed, 11 May 2005 02:10:10 +0000 (02:10 +0000)]
    Reviewed by Dave Hyatt.
        No new layout tests needed.

        - remove all remaining uses of QMIN/QMAX and KMIN/KMAX.

        * kwq/KWQDef.h: Remove the macros.

        Remove all use of the macros (and fix a few compile errors by changing the types of
        some integer and floating point constants).

        * khtml/css/cssparser.cpp:
        (CSSParser::parseColorFromValue):
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::addHTMLColor):
        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLSelectElementImpl::parseHTMLAttribute):
        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::parseComment):
        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::nearestFloatBottom):
        (khtml::RenderBlock::calcMinMaxWidth):
        * khtml/rendering/render_flow.cpp:
        (RenderFlow::paintOutlineForLine):
        * khtml/rendering/render_form.cpp:
        (RenderLineEdit::calcMinMaxWidth):
        (RenderFieldset::layoutLegend):
        (RenderFileButton::calcMinMaxWidth):
        (RenderSelect::layout):
        (RenderTextArea::calcMinMaxWidth):
        * khtml/rendering/render_object.cpp:
        (RenderObject::drawBorder):
        * khtml/rendering/render_replaced.cpp:
        (RenderWidget::resizeWidget):
        * khtml/rendering/render_table.cpp:
        (RenderTableSection::layoutRows):
        * khtml/rendering/table_layout.cpp:
        (AutoTableLayout::recalcColumn):
        (AutoTableLayout::calcEffectiveWidth):

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

17 years ago Reviewed by Chris Blumenberg.
darin [Wed, 11 May 2005 00:58:29 +0000 (00:58 +0000)]
    Reviewed by Chris Blumenberg.

        - next pass of moving code from C++ DOM wrappers into the DOM impl. classes
          (this step adds still more member functions missing from the DOM impl. and
           changes some of the C++ and Objective-C DOM to call the new ones; also
           changes various places that use the C++ DOM to use the DOM impl. instead)

        * khtml/css/css_computedstyle.cpp:
        (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
        * khtml/css/css_computedstyle.h:
        * khtml/css/css_stylesheetimpl.cpp:
        (CSSStyleSheetImpl::cssRules):
        * khtml/css/css_stylesheetimpl.h:
        * khtml/css/css_valueimpl.cpp:
        (DOM::CSSStyleDeclarationImpl::getPropertyCSSValue):
        (DOM::CSSStyleDeclarationImpl::getPropertyValue):
        (DOM::CSSStyleDeclarationImpl::getPropertyPriority):
        (DOM::CSSStyleDeclarationImpl::setProperty):
        (DOM::CSSStyleDeclarationImpl::removeProperty):
        (DOM::CSSMutableStyleDeclarationImpl::getPropertyValue):
        (DOM::CSSPrimitiveValueImpl::CSSPrimitiveValueImpl):
        (DOM::operator==):
        (DOM::CSSStyleDeclarationImpl::propertyID):
        * khtml/css/css_valueimpl.h:
        (DOM::CSSValueImpl::setCssText):
        (DOM::CSSPrimitiveValueImpl::getDashboardRegionValue):
        * khtml/dom/css_rule.cpp:
        * khtml/dom/css_rule.h:
        * khtml/dom/css_stylesheet.h:
        (DOM::CSSException::):
        * khtml/dom/css_value.cpp:
        (DOM::CSSStyleDeclaration::getPropertyValue):
        (DOM::CSSStyleDeclaration::getPropertyCSSValue):
        (DOM::CSSStyleDeclaration::removeProperty):
        (DOM::CSSStyleDeclaration::getPropertyPriority):
        (DOM::CSSStyleDeclaration::setProperty):
        * khtml/dom/css_value.h:
        * khtml/dom/dom2_events.cpp:
        (EventListener::handleEvent):
        * khtml/dom/dom2_events.h:
        * khtml/dom/dom2_traversal.h:
        * khtml/dom/dom_doc.cpp:
        (DOM::DOMImplementation::createHTMLDocument):
        (DOM::DOMImplementation::createCSSStyleSheet):
        (DOM::Document::doctype):
        (DOM::Document::createAttribute):
        (DOM::Document::createAttributeNS):
        (DOM::Document::queryCommandValue):
        (DOM::Document::handle):
        * khtml/dom/dom_doc.h:
        * khtml/dom/dom_element.cpp:
        (Attr::name):
        (Attr::value):
        (Element::getAttribute):
        (Element::setAttribute):
        (Element::removeAttribute):
        (Element::getAttributeNode):
        (Element::setAttributeNode):
        (Element::removeAttributeNode):
        (Element::getElementsByTagName):
        (Element::getElementsByTagNameNS):
        (Element::getAttributeNS):
        (Element::setAttributeNS):
        (Element::removeAttributeNS):
        (Element::getAttributeNodeNS):
        (Element::setAttributeNodeNS):
        (Element::hasAttribute):
        (Element::hasAttributeNS):
        (Element::style):
        * khtml/dom/dom_exception.h:
        * khtml/dom/dom_misc.cpp:
        (DOM::DomShared::deleteMe):
        * khtml/dom/dom_misc.h:
        (DOM::DomShared::deleteMe):
        * khtml/dom/dom_node.cpp:
        (NamedNodeMap::getNamedItemNS):
        (NamedNodeMap::setNamedItemNS):
        (NamedNodeMap::removeNamedItemNS):
        (Node::ownerDocument):
        (Node::hasAttributes):
        (Node::isSupported):
        (Node::addEventListener):
        (Node::removeEventListener):
        * khtml/dom/dom_node.h:
        * khtml/dom/html_document.cpp:
        (HTMLDocument::setTitle):
        (HTMLDocument::completeURL):
        (HTMLDocument::getElementsByName):
        * khtml/dom/html_element.cpp:
        (HTMLElement::setInnerHTML):
        (HTMLElement::setInnerText):
        (HTMLElement::setOuterHTML):
        (HTMLElement::setOuterText):
        * khtml/dom/html_form.cpp:
        (HTMLLabelElement::form):
        (HTMLSelectElement::setValue):
        (HTMLSelectElement::options):
        (HTMLOptionElement::setValue):
        * khtml/dom/html_inline.cpp:
        (HTMLAnchorElement::accessKey):
        (HTMLAnchorElement::setAccessKey):
        (HTMLAnchorElement::charset):
        (HTMLAnchorElement::setCharset):
        (HTMLAnchorElement::coords):
        (HTMLAnchorElement::setCoords):
        (HTMLAnchorElement::href):
        (HTMLAnchorElement::setHref):
        (HTMLAnchorElement::hreflang):
        (HTMLAnchorElement::setHreflang):
        (HTMLAnchorElement::name):
        (HTMLAnchorElement::setName):
        (HTMLAnchorElement::rel):
        (HTMLAnchorElement::setRel):
        (HTMLAnchorElement::rev):
        (HTMLAnchorElement::setRev):
        (HTMLAnchorElement::shape):
        (HTMLAnchorElement::setShape):
        (HTMLAnchorElement::tabIndex):
        (HTMLAnchorElement::setTabIndex):
        (HTMLAnchorElement::target):
        (HTMLAnchorElement::setTarget):
        (HTMLAnchorElement::type):
        (HTMLAnchorElement::setType):
        (HTMLAnchorElement::blur):
        (HTMLAnchorElement::focus):
        (HTMLBRElement::clear):
        (HTMLBRElement::setClear):
        (HTMLFontElement::color):
        (HTMLFontElement::setColor):
        (HTMLFontElement::face):
        (HTMLFontElement::setFace):
        (HTMLFontElement::size):
        (HTMLFontElement::setSize):
        (HTMLModElement::cite):
        (HTMLModElement::setCite):
        (HTMLModElement::dateTime):
        (HTMLModElement::setDateTime):
        (HTMLQuoteElement::cite):
        (HTMLQuoteElement::setCite):
        * khtml/dom/html_misc.cpp:
        (HTMLCollection::HTMLCollection):
        (HTMLCollection::base):
        (HTMLCollection::namedItems):
        * khtml/dom/html_misc.h:
        * khtml/editing/htmlediting.cpp:
        * khtml/editing/selection.cpp:
        * khtml/html/html_documentimpl.cpp:
        (DOM::HTMLDocumentImpl::determineParseMode):
        (DOM::HTMLDocumentImpl::doctype):
        * khtml/html/html_documentimpl.h:
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::setInnerHTML):
        (HTMLElementImpl::setOuterHTML):
        (HTMLElementImpl::setInnerText):
        (HTMLElementImpl::setOuterText):
        (HTMLElementImpl::style):
        (HTMLElementImpl::idDOM):
        (HTMLElementImpl::setId):
        (HTMLElementImpl::title):
        (HTMLElementImpl::setTitle):
        (HTMLElementImpl::lang):
        (HTMLElementImpl::setLang):
        (HTMLElementImpl::dir):
        (HTMLElementImpl::setDir):
        (HTMLElementImpl::className):
        (HTMLElementImpl::setClassName):
        (HTMLElementImpl::children):
        (HTMLGenericElementImpl::HTMLGenericElementImpl):
        (HTMLGenericElementImpl::id):
        * khtml/html/html_elementimpl.h:
        (DOM::HTMLElementImpl::isGenericFormElement):
        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLFormElementImpl::parseEnctype):
        (DOM::HTMLFormElementImpl::parseHTMLAttribute):
        (DOM::HTMLFormElementImpl::elements):
        (DOM::HTMLFormElementImpl::name):
        (DOM::HTMLFormElementImpl::setName):
        (DOM::HTMLFormElementImpl::acceptCharset):
        (DOM::HTMLFormElementImpl::setAcceptCharset):
        (DOM::HTMLFormElementImpl::action):
        (DOM::HTMLFormElementImpl::setAction):
        (DOM::HTMLFormElementImpl::setEnctype):
        (DOM::HTMLFormElementImpl::method):
        (DOM::HTMLFormElementImpl::setMethod):
        (DOM::HTMLFormElementImpl::target):
        (DOM::HTMLFormElementImpl::setTarget):
        (DOM::HTMLGenericFormElementImpl::HTMLGenericFormElementImpl):
        (DOM::HTMLGenericFormElementImpl::~HTMLGenericFormElementImpl):
        (DOM::HTMLGenericFormElementImpl::parseHTMLAttribute):
        (DOM::HTMLGenericFormElementImpl::name):
        (DOM::HTMLGenericFormElementImpl::setName):
        (DOM::HTMLGenericFormElementImpl::setOverrideName):
        (DOM::HTMLGenericFormElementImpl::setDisabled):
        (DOM::HTMLGenericFormElementImpl::setReadOnly):
        (DOM::HTMLGenericFormElementImpl::tabIndex):
        (DOM::HTMLGenericFormElementImpl::setTabIndex):
        (DOM::HTMLButtonElementImpl::accessKey):
        (DOM::HTMLButtonElementImpl::setAccessKey):
        (DOM::HTMLButtonElementImpl::value):
        (DOM::HTMLButtonElementImpl::setValue):
        (DOM::HTMLInputElementImpl::HTMLInputElementImpl):
        (DOM::HTMLInputElementImpl::parseHTMLAttribute):
        (DOM::HTMLInputElementImpl::defaultValue):
        (DOM::HTMLInputElementImpl::setDefaultValue):
        (DOM::HTMLInputElementImpl::defaultChecked):
        (DOM::HTMLInputElementImpl::setDefaultChecked):
        (DOM::HTMLInputElementImpl::accept):
        (DOM::HTMLInputElementImpl::setAccept):
        (DOM::HTMLInputElementImpl::accessKey):
        (DOM::HTMLInputElementImpl::setAccessKey):
        (DOM::HTMLInputElementImpl::align):
        (DOM::HTMLInputElementImpl::setAlign):
        (DOM::HTMLInputElementImpl::alt):
        (DOM::HTMLInputElementImpl::setAlt):
        (DOM::HTMLInputElementImpl::setMaxLength):
        (DOM::HTMLInputElementImpl::sizeDOM):
        (DOM::HTMLInputElementImpl::setSize):
        (DOM::HTMLInputElementImpl::src):
        (DOM::HTMLInputElementImpl::setSrc):
        (DOM::HTMLInputElementImpl::useMap):
        (DOM::HTMLInputElementImpl::setUseMap):
        (DOM::HTMLLabelElementImpl::form):
        (DOM::HTMLLabelElementImpl::accessKey):
        (DOM::HTMLLabelElementImpl::setAccessKey):
        (DOM::HTMLLabelElementImpl::htmlFor):
        (DOM::HTMLLabelElementImpl::setHtmlFor):
        (DOM::HTMLLegendElementImpl::accessKey):
        (DOM::HTMLLegendElementImpl::setAccessKey):
        (DOM::HTMLLegendElementImpl::align):
        (DOM::HTMLLegendElementImpl::setAlign):
        (DOM::HTMLSelectElementImpl::setValue):
        (DOM::HTMLSelectElementImpl::optionsHTMLCollection):
        (DOM::HTMLSelectElementImpl::setMultiple):
        (DOM::HTMLSelectElementImpl::setSize):
        (DOM::HTMLOptGroupElementImpl::label):
        (DOM::HTMLOptGroupElementImpl::setLabel):
        (DOM::HTMLOptionElementImpl::setText):
        (DOM::HTMLOptionElementImpl::setIndex):
        (DOM::HTMLOptionElementImpl::setValue):
        (DOM::HTMLOptionElementImpl::defaultSelected):
        (DOM::HTMLOptionElementImpl::setDefaultSelected):
        (DOM::HTMLOptionElementImpl::label):
        (DOM::HTMLOptionElementImpl::setLabel):
        (DOM::HTMLTextAreaElementImpl::accessKey):
        (DOM::HTMLTextAreaElementImpl::setAccessKey):
        (DOM::HTMLTextAreaElementImpl::setCols):
        (DOM::HTMLTextAreaElementImpl::setRows):
        (DOM::HTMLIsIndexElementImpl::HTMLIsIndexElementImpl):
        (DOM::HTMLIsIndexElementImpl::parseHTMLAttribute):
        (DOM::HTMLIsIndexElementImpl::prompt):
        (DOM::HTMLIsIndexElementImpl::setPrompt):
        * khtml/html/html_formimpl.h:
        * khtml/html/html_headimpl.cpp:
        (HTMLBaseElementImpl::setHref):
        (HTMLBaseElementImpl::setTarget):
        (HTMLLinkElementImpl::disabled):
        (HTMLLinkElementImpl::setDisabled):
        (HTMLLinkElementImpl::charset):
        (HTMLLinkElementImpl::setCharset):
        (HTMLLinkElementImpl::href):
        (HTMLLinkElementImpl::setHref):
        (HTMLLinkElementImpl::hreflang):
        (HTMLLinkElementImpl::setHreflang):
        (HTMLLinkElementImpl::media):
        (HTMLLinkElementImpl::setMedia):
        (HTMLLinkElementImpl::rel):
        (HTMLLinkElementImpl::setRel):
        (HTMLLinkElementImpl::rev):
        (HTMLLinkElementImpl::setRev):
        (HTMLLinkElementImpl::target):
        (HTMLLinkElementImpl::setTarget):
        (HTMLLinkElementImpl::type):
        (HTMLLinkElementImpl::setType):
        (HTMLMetaElementImpl::content):
        (HTMLMetaElementImpl::setContent):
        (HTMLMetaElementImpl::httpEquiv):
        (HTMLMetaElementImpl::setHttpEquiv):
        (HTMLMetaElementImpl::name):
        (HTMLMetaElementImpl::setName):
        (HTMLMetaElementImpl::scheme):
        (HTMLMetaElementImpl::setScheme):
        (HTMLScriptElementImpl::id):
        (HTMLScriptElementImpl::isURLAttribute):
        (HTMLScriptElementImpl::insertedIntoDocument):
        (HTMLScriptElementImpl::notifyFinished):
        (HTMLScriptElementImpl::text):
        (HTMLScriptElementImpl::setText):
        (HTMLScriptElementImpl::htmlFor):
        (HTMLScriptElementImpl::setHtmlFor):
        (HTMLScriptElementImpl::event):
        (HTMLScriptElementImpl::setEvent):
        (HTMLScriptElementImpl::charset):
        (HTMLScriptElementImpl::setCharset):
        (HTMLScriptElementImpl::defer):
        (HTMLScriptElementImpl::setDefer):
        (HTMLScriptElementImpl::src):
        (HTMLScriptElementImpl::setSrc):
        (HTMLScriptElementImpl::type):
        (HTMLScriptElementImpl::setType):
        (HTMLStyleElementImpl::disabled):
        (HTMLStyleElementImpl::setDisabled):
        (HTMLStyleElementImpl::media):
        (HTMLStyleElementImpl::setMedia):
        (HTMLStyleElementImpl::type):
        (HTMLStyleElementImpl::setType):
        (HTMLTitleElementImpl::insertedIntoDocument):
        (HTMLTitleElementImpl::childrenChanged):
        (HTMLTitleElementImpl::text):
        (HTMLTitleElementImpl::setText):
        * khtml/html/html_headimpl.h:
        * khtml/html/html_miscimpl.cpp:
        (DOM::HTMLBaseFontElementImpl::id):
        (DOM::HTMLBaseFontElementImpl::color):
        (DOM::HTMLBaseFontElementImpl::setColor):
        (DOM::HTMLBaseFontElementImpl::face):
        (DOM::HTMLBaseFontElementImpl::setFace):
        (DOM::HTMLBaseFontElementImpl::size):
        (DOM::HTMLBaseFontElementImpl::setSize):
        (DOM::HTMLCollectionImpl::HTMLCollectionImpl):
        (DOM::HTMLCollectionImpl::~HTMLCollectionImpl):
        (DOM::HTMLCollectionImpl::resetCollectionInfo):
        (DOM::HTMLCollectionImpl::traverseNextItem):
        (DOM::HTMLCollectionImpl::calcLength):
        (DOM::HTMLCollectionImpl::item):
        (DOM::HTMLCollectionImpl::namedItem):
        (DOM::HTMLCollectionImpl::updateNameCache):
        (DOM::HTMLCollectionImpl::namedItems):
        (DOM::HTMLCollectionImpl::nextNamedItem):
        (DOM::HTMLFormCollectionImpl::HTMLFormCollectionImpl):
        (DOM::HTMLFormCollectionImpl::calcLength):
        (DOM::HTMLFormCollectionImpl::item):
        (DOM::HTMLFormCollectionImpl::getNamedFormItem):
        (DOM::HTMLFormCollectionImpl::nextNamedItemInternal):
        (DOM::HTMLFormCollectionImpl::namedItem):
        (DOM::HTMLFormCollectionImpl::updateNameCache):
        * khtml/html/html_miscimpl.h:
        (DOM::HTMLCollectionImpl::base):
        * khtml/html/htmlparser.cpp:
        (KHTMLParser::parseToken):
        (KHTMLParser::insertNode):
        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::scriptExecution):
        * khtml/khtml_events.cpp:
        (khtml::MouseEvent::MouseEvent):
        (khtml::MouseEvent::offset):
        * khtml/khtml_events.h:
        (khtml::MouseEvent::innerNode):
        (khtml::MousePressEvent::MousePressEvent):
        (khtml::MouseDoubleClickEvent::MouseDoubleClickEvent):
        (khtml::MouseMoveEvent::MouseMoveEvent):
        (khtml::MouseReleaseEvent::MouseReleaseEvent):
        * khtml/khtml_part.cpp:
        (KHTMLPart::closeURL):
        (KHTMLPart::executeScript):
        (KHTMLPart::scheduleScript):
        (KHTMLPart::executeScheduledScript):
        (KHTMLPart::clear):
        (KHTMLPart::selectClosestWordFromMouseEvent):
        (KHTMLPart::handleMousePressEventDoubleClick):
        (KHTMLPart::handleMousePressEventTripleClick):
        (KHTMLPart::handleMousePressEventSingleClick):
        (KHTMLPart::khtmlMousePressEvent):
        (KHTMLPart::handleMouseMoveEventDrag):
        (KHTMLPart::handleMouseMoveEventOver):
        (KHTMLPart::handleMouseMoveEventSelection):
        (KHTMLPart::khtmlMouseReleaseEvent):
        (KHTMLPart::selectionHasStyle):
        (KHTMLPart::selectionStartHasStyle):
        * khtml/khtml_part.h:
        * khtml/khtmlpart_p.h:
        * khtml/khtmlview.cpp:
        (KHTMLViewPrivate::reset):
        (KHTMLView::viewportMousePressEvent):
        (KHTMLView::viewportMouseDoubleClickEvent):
        (KHTMLView::contentsContextMenuEvent):
        (KHTMLView::updateDragAndDrop):
        (KHTMLView::cancelDragAndDrop):
        (KHTMLView::performDragAndDrop):
        (KHTMLView::focusNextPrevNode):
        * kwq/DOM-CSS.mm:
        (-[DOMCSSStyleSheet cssRules]):
        (-[DOMCSSStyleDeclaration getPropertyValue:]):
        (-[DOMCSSStyleDeclaration getPropertyCSSValue:]):
        (-[DOMCSSStyleDeclaration removeProperty:]):
        (-[DOMCSSStyleDeclaration getPropertyPriority:]):
        (-[DOMCSSStyleDeclaration setProperty:::]):
        (-[DOMCSSValue setCssText:]):
        * kwq/DOMCSS.h:
        * kwq/DOMHTML.mm:
        (-[DOMHTMLElement setInnerHTML:]):
        (-[DOMHTMLElement setOuterHTML:]):
        (-[DOMHTMLElement setInnerText:]):
        (-[DOMHTMLElement setOuterText:]):
        (-[DOMHTMLSelectElement setLength:]):
        (-[DOMHTMLTableSectionElement insertRow:]):
        * kwq/DOMInternal.h:
        * kwq/DOMInternal.mm:
        (raiseDOMException):
        (-[WebScriptObject _initializeScriptDOMNodeImp]):
        * kwq/DOMUtility.mm:
        (KJS::ScriptInterpreter::createObjcInstanceForValue):
        * kwq/KWQAccObject.mm:
        (-[KWQAccObject accessibilityAttributeValue:]):
        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::KWQKHTMLPart):
        (KWQKHTMLPart::advanceToNextMisspelling):
        (KWQKHTMLPart::scrollOverflow):
        (KWQKHTMLPart::paint):
        (KWQKHTMLPart::openURLFromPageCache):
        (KWQKHTMLPart::khtmlMousePressEvent):
        (KWQKHTMLPart::passWidgetMouseDownEventToWidget):
        (KWQKHTMLPart::dispatchDragSrcEvent):
        (KWQKHTMLPart::eventMayStartDrag):
        (KWQKHTMLPart::khtmlMouseMoveEvent):
        (KWQKHTMLPart::dragSourceEndedAt):
        (KWQKHTMLPart::mouseDown):
        (KWQKHTMLPart::sendContextMenuEvent):
        (listParent):
        (isTextFirstInListItem):
        (KWQKHTMLPart::attributedString):
        (KWQKHTMLPart::snapshotDragImage):
        (KWQKHTMLPart::mousePressNode):
        * kwq/WebCoreBridge.mm:
        (updateRenderingForBindings):
        (-[WebCoreBridge _documentTypeString]):

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

17 years ago Reviewed by John.
mjs [Tue, 10 May 2005 22:25:04 +0000 (22:25 +0000)]
    Reviewed by John.

- rename hasAnchor method to isLink

        * khtml/css/cssstyleselector.cpp:
        (khtml::checkPseudoState):
        (khtml::CSSStyleSelector::canShareStyleWithElement):
        (khtml::CSSStyleSelector::styleForElement):
        (khtml::CSSStyleSelector::checkOneSelector):
        * khtml/editing/htmlediting.cpp:
        (khtml::isSpecialElement):
        * khtml/html/html_imageimpl.cpp:
        (HTMLImageElementImpl::parseHTMLAttribute):
        * khtml/html/html_inlineimpl.cpp:
        (DOM::HTMLAnchorElementImpl::isFocusable):
        (DOM::HTMLAnchorElementImpl::defaultEventHandler):
        (DOM::HTMLAnchorElementImpl::parseHTMLAttribute):
        * khtml/rendering/render_flexbox.cpp:
        (khtml::RenderFlexibleBox::layoutVerticalBox):
        * khtml/rendering/render_layer.cpp:
        (RenderLayer::hitTest):
        * khtml/rendering/render_object.cpp:
        (RenderObject::information):
        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::NodeImpl):
        * khtml/xml/dom_nodeimpl.h:
        (DOM::NodeImpl::isLink):
        * kwq/KWQAccObject.mm:
        (-[KWQAccObject anchorElement]):
        (-[KWQAccObject addChildrenToArray:]):
        (-[KWQAccObject role]):
        (-[KWQAccObject title]):
        (-[KWQAccObject accessibilityIsIgnored]):
        (-[KWQAccObject accessibilityAttributeNames]):
        (-[KWQAccObject accessibilityAttributeValue:]):
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::khtmlMouseMoveEvent):

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

17 years ago Reviewed by John.
mjs [Tue, 10 May 2005 22:24:09 +0000 (22:24 +0000)]
    Reviewed by John.

- remove init hint argument from VisiblePosition

        * khtml/editing/visible_position.cpp:
        (khtml::VisiblePosition::VisiblePosition):
        (khtml::VisiblePosition::init):
        * khtml/editing/visible_position.h:
        * khtml/editing/visible_units.cpp:
        (khtml::previousBoundary):
        (khtml::nextBoundary):
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::updateSelection):
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::styleForSelectionStart):
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge setSelectedDOMRange:affinity:closeTyping:]):

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

17 years ago Reviewed by David Harrison.
darin [Tue, 10 May 2005 21:59:15 +0000 (21:59 +0000)]
    Reviewed by David Harrison.

        - next pass of moving code from C++ DOM wrappers into the DOM impl. classes
          (this step adds more member functions missing from the DOM impl. and
           changes some of the Objective-C DOM to call the new ones; also changes some
           parameter types in the DOM impl.)

        * khtml/dom/dom2_events.cpp:
        (UIEvent::initUIEvent):
        (MouseEvent::initMouseEvent):
        (MutationEvent::initMutationEvent):
        (KeyboardEvent::initKeyboardEvent):
        * khtml/dom/dom_doc.cpp:
        (DOM::DOMImplementation::createDocument):
        (DOM::Document::getElementsByTagName):
        (DOM::Document::getElementsByTagNameNS):
        * khtml/dom/dom_element.cpp:
        (Element::removeAttributeNode):
        (Element::getElementsByTagName):
        (Element::getElementsByTagNameNS):
        (Element::setAttributeNodeNS):
        * khtml/dom/dom_node.cpp:
        (NamedNodeMap::setNamedItemNS):
        (NamedNodeMap::removeNamedItemNS):
        * khtml/ecma/kjs_binding.cpp:
        * khtml/ecma/kjs_events.cpp:
        (ClipboardProtoFunc::tryCall):
        * khtml/editing/jsediting.cpp:
        * khtml/khtml_part.cpp:
        (KHTMLPart::applyEditingStyleToBodyElement):
        (KHTMLPart::removeEditingStyleFromBodyElement):
        * khtml/khtmlview.cpp:
        (KHTMLView::viewportMousePressEvent):
        (KHTMLView::viewportMouseDoubleClickEvent):
        (KHTMLView::viewportMouseMoveEvent):
        (KHTMLView::viewportMouseReleaseEvent):
        (KHTMLView::updateDragAndDrop):
        (KHTMLView::dispatchMouseEvent):
        * khtml/misc/shared.h:
        (khtml::SharedPtr::reset):
        (khtml::::operator):
        (khtml::static_pointer_cast):
        (khtml::const_pointer_cast):
        * khtml/xml/dom2_eventsimpl.cpp:
        (UIEventImpl::initUIEvent):
        (UIEventImpl::keyCode):
        (UIEventImpl::charCode):
        (UIEventImpl::layerX):
        (UIEventImpl::layerY):
        (UIEventImpl::pageX):
        (UIEventImpl::pageY):
        (UIEventImpl::which):
        (MouseRelatedEventImpl::pageX):
        (MouseRelatedEventImpl::pageY):
        (MouseEventImpl::initMouseEvent):
        (MouseEventImpl::which):
        (KeyboardEventImpl::initKeyboardEvent):
        (KeyboardEventImpl::which):
        (MutationEventImpl::MutationEventImpl):
        (MutationEventImpl::initMutationEvent):
        * khtml/xml/dom2_eventsimpl.h:
        (DOM::MutationEventImpl::relatedNode):
        * khtml/xml/dom2_rangeimpl.h:
        * khtml/xml/dom2_traversalimpl.cpp:
        (DOM::NodeFilterImpl::acceptNode):
        * khtml/xml/dom2_traversalimpl.h:
        * khtml/xml/dom_docimpl.cpp:
        (DOMImplementationImpl::createDocument):
        (DOMImplementationImpl::createCSSStyleSheet):
        (DOMImplementationImpl::createHTMLDocument):
        (DocumentImpl::createAttribute):
        (DocumentImpl::createHTMLElement):
        (DocumentImpl::getOverrideStyle):
        (DocumentImpl::defaultEventHandler):
        (DocumentImpl::completeURL):
        (DocumentImpl::topDocument):
        (DocumentImpl::createAttributeNS):
        (DocumentImpl::images):
        (DocumentImpl::applets):
        (DocumentImpl::embeds):
        (DocumentImpl::objects):
        (DocumentImpl::links):
        (DocumentImpl::forms):
        (DocumentImpl::anchors):
        (DocumentImpl::all):
        (DocumentImpl::nameableItems):
        (DocumentImpl::getElementsByName):
        * khtml/xml/dom_docimpl.h:
        (DOM::DocumentImpl::realDocType):
        (DOM::DocumentImpl::createAttribute):
        * khtml/xml/dom_elementimpl.cpp:
        (AttrImpl::nodeName):
        (AttrImpl::nodeValue):
        (AttrImpl::name):
        (AttrImpl::value):
        (ElementImpl::attributes):
        (ElementImpl::isURLAttribute):
        (ElementImpl::setAttributeNode):
        (ElementImpl::removeAttributeNode):
        (ElementImpl::setAttributeNS):
        (ElementImpl::removeAttributeNS):
        (ElementImpl::getAttributeNodeNS):
        (ElementImpl::hasAttributeNS):
        (ElementImpl::style):
        (XMLElementImpl::cloneNode):
        (NamedAttrMapImpl::setNamedItem):
        (NamedAttrMapImpl::removeNamedItem):
        * khtml/xml/dom_elementimpl.h:
        (DOM::ElementImpl::hasAttribute):
        (DOM::ElementImpl::getAttribute):
        (DOM::ElementImpl::setAttribute):
        (DOM::ElementImpl::removeAttribute):
        (DOM::ElementImpl::getAttributeNode):
        (DOM::ElementImpl::setAttributeNodeNS):
        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::handleLocalEvents):
        (NodeImpl::isAncestor):
        (NodeImpl::addEventListener):
        (NodeImpl::removeEventListener):
        (NodeImpl::getElementsByTagNameNS):
        (NodeImpl::isSupported):
        (NodeImpl::ownerDocument):
        (NodeImpl::hasAttributes):
        (NodeImpl::attributes):
        (ContainerNodeImpl::removeChildren):
        (NamedNodeMapImpl::~NamedNodeMapImpl):
        (NamedNodeMapImpl::getNamedItemNS):
        (NamedNodeMapImpl::removeNamedItemNS):
        * khtml/xml/dom_nodeimpl.h:
        (DOM::NodeImpl::getElementsByTagName):
        (DOM::NamedNodeMapImpl::NamedNodeMapImpl):
        (DOM::NamedNodeMapImpl::getNamedItem):
        (DOM::NamedNodeMapImpl::removeNamedItem):
        (DOM::NamedNodeMapImpl::setNamedItemNS):
        (DOM::NamedNodeMapImpl::isReadOnly):
        * khtml/xml/dom_textimpl.h:
        * khtml/xml/dom_xmlimpl.h:
        * kwq/DOM.mm:
        (-[DOMNode isSupported::]):
        (-[DOMNode namespaceURI]):
        (-[DOMNode hasAttributes]):
        (-[DOMNamedNodeMap getNamedItem:]):
        (-[DOMNamedNodeMap setNamedItem:]):
        (-[DOMNamedNodeMap removeNamedItem:]):
        (-[DOMNamedNodeMap getNamedItemNS::]):
        (-[DOMNamedNodeMap setNamedItemNS:]):
        (-[DOMNamedNodeMap removeNamedItemNS::]):
        (-[DOMImplementation createDocument:::]):
        (-[DOMImplementation createCSSStyleSheet::]):
        (-[DOMDocument createAttribute:]):
        (-[DOMDocument getElementsByTagName:]):
        (-[DOMDocument createAttributeNS::]):
        (-[DOMDocument getElementsByTagNameNS::]):
        (-[DOMElement setAttribute::]):
        (-[DOMElement removeAttribute:]):
        (-[DOMElement getAttributeNode:]):
        (-[DOMElement setAttributeNode:]):
        (-[DOMElement removeAttributeNode:]):
        (-[DOMElement getElementsByTagName:]):
        (-[DOMElement getAttributeNS::]):
        (-[DOMElement setAttributeNS:::]):
        (-[DOMElement removeAttributeNS::]):
        (-[DOMElement getAttributeNodeNS::]):
        (-[DOMElement setAttributeNodeNS:]):
        (-[DOMElement getElementsByTagNameNS::]):
        (-[DOMElement hasAttribute:]):
        (-[DOMElement hasAttributeNS::]):
        (-[DOMElement style]):
        (-[DOMDocumentType _documentTypeImpl]):
        (ObjCNodeFilterCondition::acceptNode):
        * kwq/DOMEvents.mm:
        (-[DOMMutationEvent relatedNode]):
        * kwq/KWQClipboard.h:
        * kwq/KWQClipboard.mm:
        (KWQClipboard::KWQClipboard):
        (KWQClipboard::setDragImage):
        (KWQClipboard::dragImageElement):
        (KWQClipboard::setDragImageElement):
        (KWQClipboard::dragNSImage):
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::khtmlMouseMoveEvent):
        (KWQKHTMLPart::passSubframeEventToSubframe):
        (KWQKHTMLPart::sendContextMenuEvent):

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

17 years agoWebKit:
sullivan [Tue, 10 May 2005 20:27:17 +0000 (20:27 +0000)]
WebKit:

        Reviewed by Kevin.

        - WebKit support for <rdar://problem/3795701> Menu item/keyboard shortcut to
        restore text zoom to normal

        * WebView.subproj/WebView.m:
        (-[WebView validateUserInterfaceItem:]):
        validate makeTextStandardSize by calling canMakeTextStandardSize
        (-[WebView canMakeTextStandardSize]):
        new method, returns YES unless text size multiplier is currently 1
        (-[WebView makeTextStandardSize:]):
        new method, sets text size multiplier to 1

        * WebView.subproj/WebViewPrivate.h:
        add makeTextStandardSize: and canMakeTextStandardSize to pending public category

WebBrowser:

        Reviewed by Chris.

        - fixed <rdar://problem/3795701> Menu item/keyboard shortcut to restore text zoom to normal

        * BrowserDocument.h: added -makeTextStandardSize:
        * BrowserDocument.m:
        (-[BrowserDocument makeTextStandardSize:]):
        call through to webview
        (-[BrowserDocument validateUserInterfaceItem:]):
        call through to webview

        * BrowserWebController.m:
        (-[BrowserWebView canMakeTextStandardSize]):
        new method, special case bookmarks view, as with other text size methods
        (-[BrowserWebView makeTextStandardSize:]):
        new method, bail out if canMakeTextStandardSize fails, as with other text size methods

        * BrowserWindowController.h: added -makeTextStandardSize:
        * BrowserWindowController.m:
        (-[BrowserWindowController validateUserInterfaceItem:]):
        call through to webview
        (-[BrowserWindowController makeTextStandardSize:]):
        ditto

        * English.lproj/MainMenu.nib:
        Added Make Text Normal Size menu item with keyboard equivalent of command-0, in
        between Make Text Bigger and Make Text Smaller

        * HTMLSourceDocument.m:
        (-[HTMLSourceDocument canMakeTextStandardSize]):
        new method, imitates WebView code
        (-[HTMLSourceDocument makeTextStandardSize:]):
        ditto
        (-[HTMLSourceDocument validateUserInterfaceItem:]):
        validate new method

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

17 years ago Reviewed by David Harrison.
darin [Tue, 10 May 2005 18:42:04 +0000 (18:42 +0000)]
    Reviewed by David Harrison.

        - first pass of moving code from C++ DOM wrappers into the DOM impl. classes
          (this step mostly adds member functions missing from the DOM impl.; later steps
           will change the C++, JavaScript, and ObjC wrappers to call these functions)

        * khtml/css/parser.y:
        * khtml/css/css_ruleimpl.cpp:
        (CSSRuleListImpl::CSSRuleListImpl):
        * khtml/css/css_ruleimpl.h:
        (DOM::CSSRuleListImpl::CSSRuleListImpl):
        * khtml/html/html_baseimpl.cpp:
        (HTMLBodyElementImpl::aLink):
        (HTMLBodyElementImpl::setALink):
        (HTMLBodyElementImpl::background):
        (HTMLBodyElementImpl::setBackground):
        (HTMLBodyElementImpl::bgColor):
        (HTMLBodyElementImpl::setBgColor):
        (HTMLBodyElementImpl::link):
        (HTMLBodyElementImpl::setLink):
        (HTMLBodyElementImpl::text):
        (HTMLBodyElementImpl::setText):
        (HTMLBodyElementImpl::vLink):
        (HTMLBodyElementImpl::setVLink):
        (HTMLFrameElementImpl::HTMLFrameElementImpl):
        (HTMLFrameElementImpl::updateForNewURL):
        (HTMLFrameElementImpl::openURL):
        (HTMLFrameElementImpl::parseHTMLAttribute):
        (HTMLFrameElementImpl::rendererIsNeeded):
        (HTMLFrameElementImpl::attach):
        (HTMLFrameElementImpl::detach):
        (HTMLFrameElementImpl::setLocation):
        (HTMLFrameElementImpl::contentPart):
        (HTMLFrameElementImpl::frameBorder):
        (HTMLFrameElementImpl::setFrameBorder):
        (HTMLFrameElementImpl::longDesc):
        (HTMLFrameElementImpl::setLongDesc):
        (HTMLFrameElementImpl::marginHeight):
        (HTMLFrameElementImpl::setMarginHeight):
        (HTMLFrameElementImpl::marginWidth):
        (HTMLFrameElementImpl::setMarginWidth):
        (HTMLFrameElementImpl::name):
        (HTMLFrameElementImpl::setName):
        (HTMLFrameElementImpl::setNoResize):
        (HTMLFrameElementImpl::scrolling):
        (HTMLFrameElementImpl::setScrolling):
        (HTMLFrameElementImpl::src):
        (HTMLFrameElementImpl::setSrc):
        (HTMLFrameSetElementImpl::parseHTMLAttribute):
        (HTMLFrameSetElementImpl::cols):
        (HTMLFrameSetElementImpl::setCols):
        (HTMLFrameSetElementImpl::rows):
        (HTMLFrameSetElementImpl::setRows):
        (HTMLHeadElementImpl::profile):
        (HTMLHeadElementImpl::setProfile):
        (HTMLHtmlElementImpl::version):
        (HTMLHtmlElementImpl::setVersion):
        (HTMLIFrameElementImpl::HTMLIFrameElementImpl):
        (HTMLIFrameElementImpl::rendererIsNeeded):
        (HTMLIFrameElementImpl::attach):
        (HTMLIFrameElementImpl::isURLAttribute):
        (HTMLIFrameElementImpl::align):
        (HTMLIFrameElementImpl::setAlign):
        (HTMLIFrameElementImpl::height):
        (HTMLIFrameElementImpl::setHeight):
        (HTMLIFrameElementImpl::src):
        (HTMLIFrameElementImpl::width):
        (HTMLIFrameElementImpl::setWidth):
        * khtml/html/html_baseimpl.h:
        (DOM::HTMLFrameElementImpl::noResize):
        (DOM::HTMLFrameElementImpl::scrollingMode):
        (DOM::HTMLFrameElementImpl::getMarginWidth):
        (DOM::HTMLFrameElementImpl::getMarginHeight):
        * khtml/html/html_blockimpl.cpp:
        (HTMLBlockquoteElementImpl::cite):
        (HTMLBlockquoteElementImpl::setCite):
        (HTMLDivElementImpl::align):
        (HTMLDivElementImpl::setAlign):
        (HTMLHRElementImpl::align):
        (HTMLHRElementImpl::setAlign):
        (HTMLHRElementImpl::noShade):
        (HTMLHRElementImpl::setNoShade):
        (HTMLHRElementImpl::size):
        (HTMLHRElementImpl::setSize):
        (HTMLHRElementImpl::width):
        (HTMLHRElementImpl::setWidth):
        (HTMLHeadingElementImpl::align):
        (HTMLHeadingElementImpl::setAlign):
        (HTMLParagraphElementImpl::align):
        (HTMLParagraphElementImpl::setAlign):
        (HTMLPreElementImpl::width):
        (HTMLPreElementImpl::setWidth):
        * khtml/html/html_blockimpl.h:
        * khtml/html/html_imageimpl.cpp:
        (HTMLImageElementImpl::name):
        (HTMLImageElementImpl::setName):
        (HTMLImageElementImpl::align):
        (HTMLImageElementImpl::setAlign):
        (HTMLImageElementImpl::alt):
        (HTMLImageElementImpl::setAlt):
        (HTMLImageElementImpl::border):
        (HTMLImageElementImpl::setBorder):
        (HTMLImageElementImpl::setHeight):
        (HTMLImageElementImpl::hspace):
        (HTMLImageElementImpl::setHspace):
        (HTMLImageElementImpl::isMap):
        (HTMLImageElementImpl::setIsMap):
        (HTMLImageElementImpl::longDesc):
        (HTMLImageElementImpl::setLongDesc):
        (HTMLImageElementImpl::src):
        (HTMLImageElementImpl::setSrc):
        (HTMLImageElementImpl::useMap):
        (HTMLImageElementImpl::setUseMap):
        (HTMLImageElementImpl::vspace):
        (HTMLImageElementImpl::setVspace):
        (HTMLImageElementImpl::setWidth):
        (HTMLImageElementImpl::x):
        (HTMLImageElementImpl::y):
        (HTMLMapElementImpl::parseHTMLAttribute):
        (HTMLMapElementImpl::areas):
        (HTMLMapElementImpl::name):
        (HTMLMapElementImpl::setName):
        (HTMLAreaElementImpl::HTMLAreaElementImpl):
        (HTMLAreaElementImpl::parseHTMLAttribute):
        (HTMLAreaElementImpl::getRegion):
        (HTMLAreaElementImpl::accessKey):
        (HTMLAreaElementImpl::setAccessKey):
        (HTMLAreaElementImpl::alt):
        (HTMLAreaElementImpl::setAlt):
        (HTMLAreaElementImpl::coords):
        (HTMLAreaElementImpl::setCoords):
        (HTMLAreaElementImpl::href):
        (HTMLAreaElementImpl::setHref):
        (HTMLAreaElementImpl::noHref):
        (HTMLAreaElementImpl::setNoHref):
        (HTMLAreaElementImpl::shape):
        (HTMLAreaElementImpl::setShape):
        (HTMLAreaElementImpl::tabIndex):
        (HTMLAreaElementImpl::setTabIndex):
        (HTMLAreaElementImpl::target):
        (HTMLAreaElementImpl::setTarget):
        * khtml/html/html_imageimpl.h:
        (DOM::HTMLImageElementImpl::pixmap):
        (DOM::HTMLAreaElementImpl::isDefault):
        (DOM::HTMLMapElementImpl::getName):
        * khtml/html/html_inlineimpl.cpp:
        (DOM::HTMLAnchorElementImpl::accessKey):
        (DOM::HTMLAnchorElementImpl::setAccessKey):
        (DOM::HTMLAnchorElementImpl::charset):
        (DOM::HTMLAnchorElementImpl::setCharset):
        (DOM::HTMLAnchorElementImpl::coords):
        (DOM::HTMLAnchorElementImpl::setCoords):
        (DOM::HTMLAnchorElementImpl::href):
        (DOM::HTMLAnchorElementImpl::setHref):
        (DOM::HTMLAnchorElementImpl::hreflang):
        (DOM::HTMLAnchorElementImpl::setHreflang):
        (DOM::HTMLAnchorElementImpl::name):
        (DOM::HTMLAnchorElementImpl::setName):
        (DOM::HTMLAnchorElementImpl::rel):
        (DOM::HTMLAnchorElementImpl::setRel):
        (DOM::HTMLAnchorElementImpl::rev):
        (DOM::HTMLAnchorElementImpl::setRev):
        (DOM::HTMLAnchorElementImpl::shape):
        (DOM::HTMLAnchorElementImpl::setShape):
        (DOM::HTMLAnchorElementImpl::tabIndex):
        (DOM::HTMLAnchorElementImpl::setTabIndex):
        (DOM::HTMLAnchorElementImpl::target):
        (DOM::HTMLAnchorElementImpl::setTarget):
        (DOM::HTMLAnchorElementImpl::type):
        (DOM::HTMLAnchorElementImpl::setType):
        (DOM::HTMLAnchorElementImpl::blur):
        (DOM::HTMLAnchorElementImpl::focus):
        (DOM::HTMLBRElementImpl::clear):
        (DOM::HTMLBRElementImpl::setClear):
        (DOM::HTMLFontElementImpl::parseHTMLAttribute):
        (DOM::HTMLFontElementImpl::color):
        (DOM::HTMLFontElementImpl::setColor):
        (DOM::HTMLFontElementImpl::face):
        (DOM::HTMLFontElementImpl::setFace):
        (DOM::HTMLFontElementImpl::size):
        (DOM::HTMLFontElementImpl::setSize):
        (DOM::HTMLModElementImpl::HTMLModElementImpl):
        (DOM::HTMLModElementImpl::cite):
        (DOM::HTMLModElementImpl::setCite):
        (DOM::HTMLModElementImpl::dateTime):
        (DOM::HTMLModElementImpl::setDateTime):
        (DOM::HTMLQuoteElementImpl::HTMLQuoteElementImpl):
        (DOM::HTMLQuoteElementImpl::id):
        (DOM::HTMLQuoteElementImpl::cite):
        (DOM::HTMLQuoteElementImpl::setCite):
        * khtml/html/html_inlineimpl.h:
        * khtml/html/html_listimpl.cpp:
        (DOM::HTMLUListElementImpl::compact):
        (DOM::HTMLUListElementImpl::setCompact):
        (DOM::HTMLUListElementImpl::type):
        (DOM::HTMLUListElementImpl::setType):
        (DOM::HTMLDirectoryElementImpl::compact):
        (DOM::HTMLDirectoryElementImpl::setCompact):
        (DOM::HTMLMenuElementImpl::compact):
        (DOM::HTMLMenuElementImpl::setCompact):
        (DOM::HTMLOListElementImpl::compact):
        (DOM::HTMLOListElementImpl::setCompact):
        (DOM::HTMLOListElementImpl::setStart):
        (DOM::HTMLOListElementImpl::type):
        (DOM::HTMLOListElementImpl::setType):
        (DOM::HTMLLIElementImpl::type):
        (DOM::HTMLLIElementImpl::setType):
        (DOM::HTMLLIElementImpl::value):
        (DOM::HTMLLIElementImpl::setValue):
        (DOM::HTMLDListElementImpl::compact):
        (DOM::HTMLDListElementImpl::setCompact):
        * khtml/html/html_listimpl.h:
        (DOM::HTMLUListElementImpl::start):
        (DOM::HTMLDirectoryElementImpl::HTMLDirectoryElementImpl):
        (DOM::HTMLMenuElementImpl::HTMLMenuElementImpl):
        (DOM::HTMLOListElementImpl::HTMLOListElementImpl):
        (DOM::HTMLOListElementImpl::start):
        * khtml/html/html_objectimpl.cpp:
        (DOM::HTMLAppletElementImpl::align):
        (DOM::HTMLAppletElementImpl::setAlign):
        (DOM::HTMLAppletElementImpl::alt):
        (DOM::HTMLAppletElementImpl::setAlt):
        (DOM::HTMLAppletElementImpl::archive):
        (DOM::HTMLAppletElementImpl::setArchive):
        (DOM::HTMLAppletElementImpl::code):
        (DOM::HTMLAppletElementImpl::setCode):
        (DOM::HTMLAppletElementImpl::codeBase):
        (DOM::HTMLAppletElementImpl::setCodeBase):
        (DOM::HTMLAppletElementImpl::height):
        (DOM::HTMLAppletElementImpl::setHeight):
        (DOM::HTMLAppletElementImpl::hspace):
        (DOM::HTMLAppletElementImpl::setHspace):
        (DOM::HTMLAppletElementImpl::name):
        (DOM::HTMLAppletElementImpl::setName):
        (DOM::HTMLAppletElementImpl::object):
        (DOM::HTMLAppletElementImpl::setObject):
        (DOM::HTMLAppletElementImpl::vspace):
        (DOM::HTMLAppletElementImpl::setVspace):
        (DOM::HTMLAppletElementImpl::width):
        (DOM::HTMLAppletElementImpl::setWidth):
        (DOM::HTMLObjectElementImpl::code):
        (DOM::HTMLObjectElementImpl::setCode):
        (DOM::HTMLObjectElementImpl::align):
        (DOM::HTMLObjectElementImpl::setAlign):
        (DOM::HTMLObjectElementImpl::archive):
        (DOM::HTMLObjectElementImpl::setArchive):
        (DOM::HTMLObjectElementImpl::border):
        (DOM::HTMLObjectElementImpl::setBorder):
        (DOM::HTMLObjectElementImpl::codeBase):
        (DOM::HTMLObjectElementImpl::setCodeBase):
        (DOM::HTMLObjectElementImpl::codeType):
        (DOM::HTMLObjectElementImpl::setCodeType):
        (DOM::HTMLObjectElementImpl::data):
        (DOM::HTMLObjectElementImpl::setData):
        (DOM::HTMLObjectElementImpl::declare):
        (DOM::HTMLObjectElementImpl::setDeclare):
        (DOM::HTMLObjectElementImpl::height):
        (DOM::HTMLObjectElementImpl::setHeight):
        (DOM::HTMLObjectElementImpl::hspace):
        (DOM::HTMLObjectElementImpl::setHspace):
        (DOM::HTMLObjectElementImpl::name):
        (DOM::HTMLObjectElementImpl::setName):
        (DOM::HTMLObjectElementImpl::standby):
        (DOM::HTMLObjectElementImpl::setStandby):
        (DOM::HTMLObjectElementImpl::tabIndex):
        (DOM::HTMLObjectElementImpl::setTabIndex):
        (DOM::HTMLObjectElementImpl::type):
        (DOM::HTMLObjectElementImpl::setType):
        (DOM::HTMLObjectElementImpl::useMap):
        (DOM::HTMLObjectElementImpl::setUseMap):
        (DOM::HTMLObjectElementImpl::vspace):
        (DOM::HTMLObjectElementImpl::setVspace):
        (DOM::HTMLObjectElementImpl::width):
        (DOM::HTMLObjectElementImpl::setWidth):
        (DOM::HTMLParamElementImpl::isURLAttribute):
        (DOM::HTMLParamElementImpl::setName):
        (DOM::HTMLParamElementImpl::type):
        (DOM::HTMLParamElementImpl::setType):
        (DOM::HTMLParamElementImpl::setValue):
        (DOM::HTMLParamElementImpl::valueType):
        (DOM::HTMLParamElementImpl::setValueType):
        * khtml/html/html_objectimpl.h:
        (DOM::HTMLParamElementImpl::name):
        (DOM::HTMLParamElementImpl::value):
        * khtml/html/html_tableimpl.cpp:
        (DOM::HTMLTableElementImpl::rows):
        (DOM::HTMLTableElementImpl::tBodies):
        (DOM::HTMLTableElementImpl::align):
        (DOM::HTMLTableElementImpl::setAlign):
        (DOM::HTMLTableElementImpl::bgColor):
        (DOM::HTMLTableElementImpl::setBgColor):
        (DOM::HTMLTableElementImpl::border):
        (DOM::HTMLTableElementImpl::setBorder):
        (DOM::HTMLTableElementImpl::cellPadding):
        (DOM::HTMLTableElementImpl::setCellPadding):
        (DOM::HTMLTableElementImpl::cellSpacing):
        (DOM::HTMLTableElementImpl::setCellSpacing):
        (DOM::HTMLTableElementImpl::frame):
        (DOM::HTMLTableElementImpl::setFrame):
        (DOM::HTMLTableElementImpl::rules):
        (DOM::HTMLTableElementImpl::setRules):
        (DOM::HTMLTableElementImpl::summary):
        (DOM::HTMLTableElementImpl::setSummary):
        (DOM::HTMLTableElementImpl::width):
        (DOM::HTMLTableElementImpl::setWidth):
        (DOM::HTMLTableSectionElementImpl::align):
        (DOM::HTMLTableSectionElementImpl::setAlign):
        (DOM::HTMLTableSectionElementImpl::ch):
        (DOM::HTMLTableSectionElementImpl::setCh):
        (DOM::HTMLTableSectionElementImpl::chOff):
        (DOM::HTMLTableSectionElementImpl::setChOff):
        (DOM::HTMLTableSectionElementImpl::vAlign):
        (DOM::HTMLTableSectionElementImpl::setVAlign):
        (DOM::HTMLTableSectionElementImpl::rows):
        (DOM::HTMLTableRowElementImpl::cells):
        (DOM::HTMLTableRowElementImpl::setCells):
        (DOM::HTMLTableRowElementImpl::align):
        (DOM::HTMLTableRowElementImpl::setAlign):
        (DOM::HTMLTableRowElementImpl::bgColor):
        (DOM::HTMLTableRowElementImpl::setBgColor):
        (DOM::HTMLTableRowElementImpl::ch):
        (DOM::HTMLTableRowElementImpl::setCh):
        (DOM::HTMLTableRowElementImpl::chOff):
        (DOM::HTMLTableRowElementImpl::setChOff):
        (DOM::HTMLTableRowElementImpl::vAlign):
        (DOM::HTMLTableRowElementImpl::setVAlign):
        (DOM::HTMLTableCellElementImpl::abbr):
        (DOM::HTMLTableCellElementImpl::setAbbr):
        (DOM::HTMLTableCellElementImpl::align):
        (DOM::HTMLTableCellElementImpl::setAlign):
        (DOM::HTMLTableCellElementImpl::axis):
        (DOM::HTMLTableCellElementImpl::setAxis):
        (DOM::HTMLTableCellElementImpl::bgColor):
        (DOM::HTMLTableCellElementImpl::setBgColor):
        (DOM::HTMLTableCellElementImpl::ch):
        (DOM::HTMLTableCellElementImpl::setCh):
        (DOM::HTMLTableCellElementImpl::chOff):
        (DOM::HTMLTableCellElementImpl::setChOff):
        (DOM::HTMLTableCellElementImpl::setColSpan):
        (DOM::HTMLTableCellElementImpl::headers):
        (DOM::HTMLTableCellElementImpl::setHeaders):
        (DOM::HTMLTableCellElementImpl::height):
        (DOM::HTMLTableCellElementImpl::setHeight):
        (DOM::HTMLTableCellElementImpl::noWrap):
        (DOM::HTMLTableCellElementImpl::setNoWrap):
        (DOM::HTMLTableCellElementImpl::setRowSpan):
        (DOM::HTMLTableCellElementImpl::scope):
        (DOM::HTMLTableCellElementImpl::setScope):
        (DOM::HTMLTableCellElementImpl::vAlign):
        (DOM::HTMLTableCellElementImpl::setVAlign):
        (DOM::HTMLTableCellElementImpl::width):
        (DOM::HTMLTableCellElementImpl::setWidth):
        (DOM::HTMLTableColElementImpl::align):
        (DOM::HTMLTableColElementImpl::setAlign):
        (DOM::HTMLTableColElementImpl::ch):
        (DOM::HTMLTableColElementImpl::setCh):
        (DOM::HTMLTableColElementImpl::chOff):
        (DOM::HTMLTableColElementImpl::setChOff):
        (DOM::HTMLTableColElementImpl::setSpan):
        (DOM::HTMLTableColElementImpl::vAlign):
        (DOM::HTMLTableColElementImpl::setVAlign):
        (DOM::HTMLTableColElementImpl::width):
        (DOM::HTMLTableColElementImpl::setWidth):
        (DOM::HTMLTableCaptionElementImpl::parseHTMLAttribute):
        (DOM::HTMLTableCaptionElementImpl::align):
        (DOM::HTMLTableCaptionElementImpl::setAlign):
        * khtml/html/html_tableimpl.h:
        (DOM::HTMLTableColElementImpl::span):
        * khtml/rendering/render_applet.cpp:
        (RenderApplet::createWidgetIfNecessary):
        * khtml/rendering/render_frames.cpp:
        (RenderFrame::slotViewCleared):
        (RenderPartObject::updateWidget):
        (RenderPartObject::slotViewCleared):
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::completeURL):
        * khtml/xml/dom_docimpl.h:

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

17 years ago Reviewed by Chris.
sullivan [Tue, 10 May 2005 18:01:26 +0000 (18:01 +0000)]
    Reviewed by Chris.

        - fixed <rdar://problem/4067981> Mail places RTF flavor before RTFD flavor when dragging
        mixed image/text content.

        * WebView.subproj/WebHTMLView.m:
        (+[WebHTMLView _selectionPasteboardTypes]):
        put RTFD type before RTF type in array of types to declare

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

17 years ago Reviewed by Kevin.
mjs [Tue, 10 May 2005 04:40:49 +0000 (04:40 +0000)]
    Reviewed by Kevin.

- remove more isFirst/isLast functions and use isStart/isEnd verions instead

        * khtml/editing/htmlediting.cpp:
        (khtml::DeleteSelectionCommand::initializePositionData):
        (khtml::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion):
        (khtml::InsertTextCommand::input):
        (khtml::ReplaceSelectionCommand::doApply):
        (khtml::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded):
        * khtml/editing/visible_position.cpp:
        (khtml::VisiblePosition::previous):
        (khtml::setAffinityUsingLinePosition):
        (khtml::isFirstVisiblePositionInNode):
        * khtml/editing/visible_position.h:
        * khtml/editing/visible_units.cpp:
        (khtml::endOfLine):
        (khtml::previousLinePosition):
        * khtml/xml/dom_position.cpp:
        (DOM::Position::previousCharacterPosition):
        (DOM::Position::nextCharacterPosition):
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge smartInsertForString:replacingRange:beforeString:afterString:]):

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

17 years ago Reviewed by Kevin.
mjs [Tue, 10 May 2005 04:03:34 +0000 (04:03 +0000)]
    Reviewed by Kevin.

- remove isFirstVisiblePositionInBlock and isLastVisiblePositionInBlock, in favor of isStartOfBlock and isEndOfBlock

It turned out that both isEndOfBlock and isLastVisiblePositionInBlock had (different) bugs,
and there was code relying on the bugs of each. So in addition I fixed isEndOfBlock and fixed
the parts of the code relying on buggy behavior.

I also removed the includeEndOfLine parameter to endOfBlock since no one used it and it's not
clear if it would ever be useful.

        * khtml/editing/htmlediting.cpp:
        (khtml::InsertLineBreakCommand::doApply): Use new calls.
        (khtml::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Don't gratuitously make
an UPSTREAM VisiblePosition, as this will cause trouble comparing it to end of block.
        (khtml::InsertParagraphSeparatorCommand::doApply): Use new calls.
        (khtml::ReplaceSelectionCommand::doApply): Use new calls. Also, don't make a position <BR,0> and test
if it is the end of a block, that can never be true, although the buggy code in
isLastVisiblePositionInBlock would say it is. Make <BR,1> instead.
        * khtml/editing/markup.cpp:
        (khtml::createMarkup): Instead of checking isEndOfBlock on the start position, check if the start's
next is in a different block, to avoid relying on the buggy old isEndOfBlock behavior.
        * khtml/editing/visible_position.cpp:
        (khtml::isFirstVisiblePositionInParagraph): Use isStartOfBlock.
        (khtml::isLastVisiblePositionInParagraph): Use isEndOfBlock.
        * khtml/editing/visible_position.h:
        * khtml/editing/visible_units.cpp:
        (khtml::endOfBlock): Greatly simplify, and no longer consider the start of a descendant
block to be the end of the block. That's inconsistent with how startOfBlock works. Also
remove include end of line parameter.
        (khtml::isEndOfBlock): Don't pass unneeded parameter.
        * khtml/editing/visible_units.h:

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

17 years ago fix for <rdar://problem/4110775> Crash will occur when double-clicking outerH...
adele [Tue, 10 May 2005 01:04:52 +0000 (01:04 +0000)]
    fix for <rdar://problem/4110775> Crash will occur when double-clicking outerHTML link on W3 DOM test

        Reviewed by Darin.

        * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::setOuterHTML): added nil check.
        This was causing a crash when you tried to set the outerHTML on an element that was no longer in the DOM tree.

        * layout-tests/fast/dom/outerText-no-element.html: Added. Tests case where you try to set outerText on an element no longer in the DOM tree.
        * layout-tests/fast/dom/outerText-no-element-expected.txt: Added.
        * layout-tests/fast/dynamic/outerHTML-doc.html: Added.  Tests case where someone tries to set outerHTML on the document.
        * layout-tests/fast/dynamic/outerHTML-doc-expected.txt: Added..
        * layout-tests/fast/dynamic/outerHTML-no-element.html: Added. Tests case where you try to set outerHTML on an element no longer in the DOM tree.
        * layout-tests/fast/dynamic/outerHTML-no-element-expected.txt: Added.
        * layout-tests/fast/dynamic/outerHTML-img.html: moved images to resources directory
        * layout-tests/fast/dynamic/resources/apple.gif: Added.
        * layout-tests/fast/dynamic/resources/mozilla.gif: Added.

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

17 years ago Reviewed by John.
darin [Mon, 9 May 2005 23:57:33 +0000 (23:57 +0000)]
    Reviewed by John.

        - turn on conservative GC unconditionally and start on SPI changes to
          eliminate the now-unneeded smart pointers since we don't ref count any more

        * kjs/value.h: Removed macros to turn conservative GC on and off.
        Removed ref and deref functions.
        (KJS::ValueImp::ValueImp): Removed non-conservative-GC code path.
        (KJS::ValueImp::isUndefined): Added. New SPI to make it easier to deal with ValueImp directly.
        (KJS::ValueImp::isNull): Ditto.
        (KJS::ValueImp::isBoolean): Ditto.
        (KJS::ValueImp::isNumber): Ditto.
        (KJS::ValueImp::isString): Ditto.
        (KJS::ValueImp::isObject): Ditto.
        (KJS::Value::Value): Removed non-conservative-GC code path and made constructor no
        longer explicit so we can quietly create Value wrappers from ValueImp *; inexpensive with
        conservative GC and eases the transition.
        (KJS::Value::operator ValueImp *): Added. Quietly creates ValueImp * from Value.
        (KJS::ValueImp::marked): Removed non-conservative-GC code path.

        * kjs/value.cpp:
        (KJS::ValueImp::mark): Removed non-conservative-GC code path.
        (KJS::ValueImp::isUndefinedOrNull): Added. New SPI to make it easier to deal with ValueImp directly.
        (KJS::ValueImp::isBoolean): Ditto.
        (KJS::ValueImp::isNumber): Ditto.
        (KJS::ValueImp::isString): Ditto.
        (KJS::ValueImp::asString): Ditto.
        (KJS::ValueImp::isObject): Ditto.
        (KJS::undefined): Ditto.
        (KJS::null): Ditto.
        (KJS::boolean): Ditto.
        (KJS::string): Ditto.
        (KJS::zero): Ditto.
        (KJS::one): Ditto.
        (KJS::two): Ditto.
        (KJS::number): Ditto.

        * kjs/object.h: Made constructor no longer explicit so we can quietly create Object
        wrappers from ObjectImp *; inexpensive with conservative GC and eases the transition.
        (KJS::Object::operator ObjectImp *): Added. Quietly creates ObjectImp * from Object.
        (KJS::ValueImp::isObject): Added. Implementation of new object-related ValueImp function.
        (KJS::ValueImp::asObject): Ditto.

        * kjs/object.cpp:
        (KJS::ObjectImp::setInternalValue): Remove non-conservative-GC code path.
        (KJS::ObjectImp::putDirect): Ditto.
        (KJS::error): Added. Function in the new SPI style to create an error object.

        * kjs/internal.h: Added the new number-constructing functions as friends of NumberImp.
        There may be a more elegant way to do this later; what's important now is the new SPI.

        * kjs/collector.h:  Remove non-conservative-GC code path and also take out some
        unneeded APPLE_CHANGES.

        * bindings/runtime_root.cpp:
        (KJS::Bindings::addNativeReference): Remove non-conservative-GC code path.
        (KJS::Bindings::removeNativeReference): Ditto.
        (RootObject::removeAllNativeReferences): Ditto.
        * bindings/runtime_root.h:
        (KJS::Bindings::RootObject::~RootObject): Ditto.
        (KJS::Bindings::RootObject::setRootObjectImp): Ditto.
        * kjs/collector.cpp:
        (KJS::Collector::allocate): Ditto.
        (KJS::Collector::collect): Ditto.
        (KJS::Collector::numGCNotAllowedObjects): Ditto.
        (KJS::Collector::numReferencedObjects): Ditto.
        (KJS::Collector::rootObjectClasses): Ditto.
        * kjs/internal.cpp:
        (NumberImp::create): Ditto.
        (InterpreterImp::globalInit): Ditto.
        (InterpreterImp::globalClear): Ditto.
        * kjs/list.cpp:
        (KJS::List::markProtectedLists): Ditto.
        (KJS::List::clear): Ditto.
        (KJS::List::append): Ditto.
        * kjs/list.h:
        (KJS::List::List): Ditto.
        (KJS::List::deref): Ditto.
        (KJS::List::operator=): Ditto.
        * kjs/protect.h:
        (KJS::gcProtect): Ditto.
        (KJS::gcUnprotect): Ditto.

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

17 years ago Reviewed by Kevin.
mjs [Mon, 9 May 2005 21:03:25 +0000 (21:03 +0000)]
    Reviewed by Kevin.

- remove code for DoNotStayInBlock variant of upstream/downstream and make
the methods take no parameters

        * khtml/editing/htmlediting.cpp:
        (khtml::CompositeEditCommand::deleteInsignificantTextDownstream):
        (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
        (khtml::ApplyStyleCommand::applyRelativeFontStyleChange):
        (khtml::ApplyStyleCommand::applyInlineStyle):
        (khtml::ApplyStyleCommand::removeInlineStyle):
        (khtml::ApplyStyleCommand::nodeFullySelected):
        (khtml::ApplyStyleCommand::nodeFullyUnselected):
        (khtml::DeleteSelectionCommand::initializePositionData):
        (khtml::DeleteSelectionCommand::fixupWhitespace):
        (khtml::InsertLineBreakCommand::insertNodeAfterPosition):
        (khtml::InsertLineBreakCommand::insertNodeBeforePosition):
        (khtml::InsertLineBreakCommand::doApply):
        (khtml::InsertParagraphSeparatorCommand::doApply):
        (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply):
        (khtml::InsertTextCommand::prepareForTextInsertion):
        (khtml::InsertTextCommand::input):
        (khtml::InsertTextCommand::insertSpace):
        (khtml::ReplaceSelectionCommand::doApply):
        * khtml/editing/selection.cpp:
        (khtml::Selection::toRange):
        (khtml::Selection::validate):
        * khtml/editing/visible_position.cpp:
        (khtml::VisiblePosition::previousVisiblePosition):
        (khtml::VisiblePosition::nextVisiblePosition):
        (khtml::VisiblePosition::downstreamDeepEquivalent):
        (khtml::isFirstVisiblePositionInParagraph):
        (khtml::isFirstVisiblePositionInBlock):
        (khtml::isLastVisiblePositionInParagraph):
        * khtml/xml/dom2_rangeimpl.cpp:
        (DOM::RangeImpl::editingStartPosition):
        * khtml/xml/dom_position.cpp:
        (DOM::isStreamer):
        (DOM::Position::upstream):
        (DOM::Position::downstream):
        (DOM::Position::leadingWhitespacePosition):
        (DOM::Position::trailingWhitespacePosition):
        * khtml/xml/dom_position.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge smartDeleteRangeForProposedRange:]):

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

17 years ago Turned assertion into error message to prevent crash when encountering this bug:
cblu [Mon, 9 May 2005 20:31:04 +0000 (20:31 +0000)]
Turned assertion into error message to prevent crash when encountering this bug:
<rdar://problem/4067625> connection:willCacheResponse: is called inside of [NSURLConnection initWithRequest:delegate:]

        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate loadWithRequest:]): set flag to track when we're initializing the connection
        (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): log error

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

17 years ago Reviewed by Dave Harrison.
mjs [Mon, 9 May 2005 19:04:29 +0000 (19:04 +0000)]
    Reviewed by Dave Harrison.

- remove remaining uses of upstream/downstream DoNotStayInBlock

        * khtml/editing/htmlediting.cpp:
        (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
        (khtml::ApplyStyleCommand::nodeFullySelected):
        (khtml::ApplyStyleCommand::nodeFullyUnselected):
        (khtml::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent):
        (khtml::InsertParagraphSeparatorCommand::doApply):
        (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply):
        (khtml::InsertTextCommand::insertSpace):
        (khtml::ReplaceSelectionCommand::doApply):

        * khtml/editing/visible_position.cpp:
        (khtml::enclosingBlockFlowElement): New helper function.
* khtml/editing/visible_position.h:

        * khtml/editing/visible_units.cpp:
        (khtml::inSameBlock): Check enclosing block flows instead of comparing
visible block starts. Two nested blocks may have the same visible start but
different visible ends, so the old check would give false positives.

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

17 years ago Add layout test for <rdar://problem/4110366>.
harrison [Mon, 9 May 2005 19:01:19 +0000 (19:01 +0000)]
    Add layout test for <rdar://problem/4110366>.

        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-011.html: Added.

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

17 years ago Workaround gcc 3.3 internal compiler errors.
cblu [Mon, 9 May 2005 18:46:43 +0000 (18:46 +0000)]
Workaround gcc 3.3 internal compiler errors.

        Reviewed by darin.

        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject stringRepresentation]): call [NSString stringWithCString:encoding] rather than using @""

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

17 years ago - checked in a result for the Flash replacement test that Dave added
darin [Mon, 9 May 2005 16:23:20 +0000 (16:23 +0000)]
    - checked in a result for the Flash replacement test that Dave added

        * layout-tests/fast/dynamic/flash-replacement-test-expected.txt: Added.
        Hope it's right! If not, Dave can update it.

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

17 years agotop level:
darin [Mon, 9 May 2005 16:10:46 +0000 (16:10 +0000)]
top level:

        * Makefile.am: Don't set up PBXIntermediatesDirectory explicitly;
        Not needed to make builds work, spews undesirable error messages too.

        * configure.in: Ditto.

Tools:

        * CommitLogEditor/Makefile.am: Don't set up PBXIntermediatesDirectory explicitly;
        Not needed to make builds work, spews undesirable error messages too.
        * HotSpotFinder/Makefile.am: Ditto.
        * jst/Makefile.am: Ditto.

JavaScriptCore:

        * Makefile.am: Don't set up PBXIntermediatesDirectory explicitly;
        Not needed to make builds work, spews undesirable error messages too.

Tests:

        * Makefile.am: Don't set up PBXIntermediatesDirectory explicitly;
        Not needed to make builds work, spews undesirable error messages too.
        * TestBindingsPlugin/Makefile.am: Ditto.

WebCore:

        * Makefile.am: Don't set up PBXIntermediatesDirectory explicitly;
        Not needed to make builds work, spews undesirable error messages too.

        * WebCore.pbproj/project.pbxproj: Remove unneeded $(DSTROOT) in framework paths.

WebKit:

        * Makefile.am: Don't set up PBXIntermediatesDirectory explicitly;
        Not needed to make builds work, spews undesirable error messages too.

WebBrowser:

        * Makefile.am: Don't set up PBXIntermediatesDirectory explicitly;
        Not needed to make builds work, spews undesirable error messages too.

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

17 years ago Reviewed by Kevin.
mjs [Sun, 8 May 2005 21:02:57 +0000 (21:02 +0000)]
    Reviewed by Kevin.

- remove some of the uses of upstream/downstream DoNotStayInBlock

        * khtml/editing/markup.cpp:
(khtml::createMarkup): Instead of using upstream to decide if a line break should be
added at the end, use inSameParagraph.
        * khtml/editing/selection.cpp:
        (khtml::Selection::debugPosition): Remove the code to print upstream and downstream,
the selection endpoints themselves are adequate for debugging and are what we use for
layout tests.
        * khtml/xml/dom2_rangeimpl.cpp:
        (DOM::RangeImpl::editingStartPosition): Skip a possible paragraph break at the start
of the selection in a more explicit way to avoid DoNotStayInBlock.

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

17 years ago Reviewed by John.
harrison [Sat, 7 May 2005 17:37:41 +0000 (17:37 +0000)]
    Reviewed by John.

        <rdar://problem/4110366> Deleting text at the end of email moves insertion point to the top of the document

        * khtml/editing/htmlediting.cpp:
        (khtml::DeleteSelectionCommand::handleGeneralDelete):
        Update m_upstreamStart when deleting m_downstreamEnd.node() if the former is no longer in the document.
        Better to update here than trying to recover later in calculateEndingPosition().

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

17 years ago Remove workaround for <rdar://problem/4103339>.
harrison [Sat, 7 May 2005 12:24:48 +0000 (12:24 +0000)]
    Remove workaround for <rdar://problem/4103339>.

        * khtml/editing/htmlediting.cpp:
        (khtml::DeleteSelectionCommand::initializePositionData):

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

17 years ago Reviewed by Dave Harrison.
mjs [Sat, 7 May 2005 07:02:35 +0000 (07:02 +0000)]
    Reviewed by Dave Harrison.

- make StayInBlock vs DoNotStayInBlock explicit in all calls to
upstream/downstream, in preparation for phasing out the
DoNotStayInBlock variant.

        * khtml/editing/htmlediting.cpp:
        (khtml::ApplyStyleCommand::nodeFullySelected):
        (khtml::ApplyStyleCommand::nodeFullyUnselected):
        (khtml::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent):
        (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply):
        (khtml::InsertTextCommand::insertSpace):
        (khtml::ReplaceSelectionCommand::doApply):
        * khtml/editing/markup.cpp:
        (khtml::createMarkup):
        * khtml/editing/selection.cpp:
        (khtml::Selection::debugPosition):
        * khtml/xml/dom_position.h:

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

17 years ago Reviewed by Maciej, Darin.
harrison [Sat, 7 May 2005 00:45:31 +0000 (00:45 +0000)]
    Reviewed by Maciej, Darin.

        <rdar://problem/4103339> VisiblePosition and PositionIterator iterators do not return positions in order

        * WebCore.pbproj/project.pbxproj:
        Removed dom_positioniterator.h and dom_positioniterator.cpp.

        * khtml/editing/htmlediting.cpp:
        Removed unused include of dom_positioniterator.h and "using" of PositionIterator.

        * khtml/editing/selection.cpp:
        Removed unused include of dom_positioniterator.h.

        * khtml/editing/visible_position.h:
        * khtml/editing/visible_position.cpp:
        (khtml::VisiblePosition::previousVisiblePosition):
        (khtml::VisiblePosition::nextVisiblePosition):
        (khtml::VisiblePosition::downstreamDeepEquivalent):
        Use Position::next(), Position::previous(), Position::atStart(), Position::atEnd() instead of duplicated code.

        * khtml/xml/dom_nodeimpl.h:
        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::maxDeepOffset):
        Added to support Position::next(), Position::previous(), Position::atStart(), Position::atEnd()

        * khtml/xml/dom_position.h:
        * khtml/xml/dom_position.cpp:
        (DOM::Position::previous):
        (DOM::Position::next):
        (DOM::Position::atStart):
        (DOM::Position::atEnd):
        Moved here, replacing VisiblePosition's duplicate and PositionIterator.  Fixed to
        return positions in order and not skip positions.

        (DOM::Position::previousCharacterPosition):
        (DOM::Position::nextCharacterPosition):
        Use Position::next(), Position::previous(), Position::atStart(), Position::atEnd() instead of PositionIterator.

        (DOM::isStreamer):
        (DOM::Position::upstream):
        (DOM::Position::downstream):
        Use Position::next(), Position::previous(), Position::atStart(), Position::atEnd() instead of PositionIterator.

        * khtml/xml/dom_positioniterator.cpp: Removed.
        * khtml/xml/dom_positioniterator.h: Removed.
        Removed in favor of Position::next(), Position::previous(), Position::atStart(), Position::atEnd()

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

17 years ago Reviewed by Darin.
mjs [Fri, 6 May 2005 20:40:55 +0000 (20:40 +0000)]
    Reviewed by Darin.

<rdar://problem/4058167> Unit Converter and Weather widgets crashed in KJS::Collector::markCurrentThreadConservatively

Avoid possibly allocating new prototype objects as parameters to
superclass constructors - there may be an allocated but
uninitilized object so this is a bad time to allocate. Instead,
set the prototype in the constructor body, since the object is
happily allocated by then.

* khtml/ecma/kjs_binding.h:
        * khtml/ecma/kjs_css.cpp:
        (DOMCSSStyleDeclaration::DOMCSSStyleDeclaration):
        (DOMMediaList::DOMMediaList):
        (DOMCSSStyleSheet::DOMCSSStyleSheet):
        (DOMCSSPrimitiveValue::DOMCSSPrimitiveValue):
        (DOMCSSValueList::DOMCSSValueList):
        * khtml/ecma/kjs_css.h:
        (KJS::DOMStyleSheet::DOMStyleSheet):
        (KJS::DOMCSSValue::DOMCSSValue):
        * khtml/ecma/kjs_dom.cpp:
        (DOMNode::DOMNode):
        (DOMDocument::DOMDocument):
        (DOMElement::DOMElement):
        (DOMDOMImplementation::DOMDOMImplementation):
        (DOMNamedNodeMap::DOMNamedNodeMap):
        (DOMNamedNodesCollection::DOMNamedNodesCollection):
        (DOMCharacterData::DOMCharacterData):
        (DOMText::DOMText):
        * khtml/ecma/kjs_dom.h:
        (KJS::NodeConstructor::NodeConstructor):
        (KJS::DOMExceptionConstructor::DOMExceptionConstructor):
        * khtml/ecma/kjs_events.cpp:
        (DOMEvent::DOMEvent):
        (Clipboard::Clipboard):
        * khtml/ecma/kjs_html.cpp:
        (HTMLCollection::HTMLCollection):
        * khtml/ecma/kjs_range.cpp:
        (DOMRange::DOMRange):
        * khtml/ecma/kjs_traversal.cpp:
        (DOMNodeIterator::DOMNodeIterator):
        (DOMNodeFilter::DOMNodeFilter):
        (DOMTreeWalker::DOMTreeWalker):
        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequest::XMLHttpRequest):
        * khtml/ecma/xmlserializer.cpp:
        (KJS::XMLSerializer::XMLSerializer):

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

17 years agotop level:
darin [Fri, 6 May 2005 19:39:06 +0000 (19:39 +0000)]
top level:

        Reviewed by Maciej.

        - make building multiple trees with make work better

        * configure.in: Update code to set up Xcode build directory instead of setting the
        Project Builder build directory.
        * Makefile.am: Set up Xcode build directory before invoking xcodebuild.

Tools:

        Reviewed by Maciej.

        - make building multiple trees with make work better

        * CommitLogEditor/Makefile.am: Set up Xcode build directory before invoking xcodebuild.
        * HotSpotFinder/Makefile.am: Set up Xcode build directory before invoking xcodebuild.
        * jst/Makefile.am: Set up Xcode build directory before invoking xcodebuild.

JavaScriptCore:

        Reviewed by Maciej.

        - make building multiple trees with make work better

        * Makefile.am: Set up Xcode build directory before invoking xcodebuild.

Tests:

        Reviewed by Maciej.

        - make building multiple trees with make work better

        * Makefile.am: Set up Xcode build directory before invoking xcodebuild.
        * TestBindingsPlugin/Makefile.am: Set up Xcode build directory before invoking xcodebuild.

WebCore:

        Reviewed by Maciej.

        - make building multiple trees with make work better

        * Makefile.am: Set up Xcode build directory before invoking xcodebuild.

WebKit:

        Reviewed by Maciej.

        - make building multiple trees with make work better

        * Makefile.am: Set up Xcode build directory before invoking xcodebuild.

WebBrowser:

        Reviewed by Maciej.

        - make building multiple trees with make work better

        * Makefile.am: Set up Xcode build directory before invoking xcodebuild.

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

17 years ago Eliminate the FOUCS on wired.com. innerWidth and innerHeight on window should not...
hyatt [Thu, 5 May 2005 20:24:45 +0000 (20:24 +0000)]
Eliminate the FOUCS on wired.com.  innerWidth and innerHeight on window should not do a layout that ignores
pending stylesheets, since even if stylesheets are loading the correct window dimensions can be determined with
a normal layout.

The radar # is 4109888.

        Reviewed by rjw

        * khtml/ecma/kjs_window.cpp:
        (Window::get):
        (Window::updateLayout):
        * khtml/ecma/kjs_window.h:

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

17 years ago Fix for 4109667, sIFR flash replacement technique often malfunctions. This bug...
hyatt [Thu, 5 May 2005 18:35:22 +0000 (18:35 +0000)]
Fix for 4109667, sIFR flash replacement technique often malfunctions.  This bug occurs when the plugin
widget update causes the onload for the document to fire.  Because you can be in the middle of a style
recalc when doing an attach (in response to a stylesheet load), the onload fires in the middle of the attach
process when the tree is in a bogus state.

The fix is to add a bit to the document that tells style recalc that the implicitClose() method was invoked
during the style recalc process and the code has been patched so that when this situation occurs, the close is
deferred until after the style recalc has finished.

        Reviewed by John Sullivan

        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::DocumentImpl):
        (DocumentImpl::recalcStyle):
        (DocumentImpl::implicitClose):
        * khtml/xml/dom_docimpl.h:
        * layout-tests/fast/dynamic/flash-replacement-test.html: Added.

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

17 years ago Reviewed by Dave Hyatt.
darin [Thu, 5 May 2005 17:55:06 +0000 (17:55 +0000)]
    Reviewed by Dave Hyatt.

        - fixed <rdar://problem/4109564> REGRESSION (Atlanta): maps.google.com doesn't always center California correctly

        * khtml/ecma/kjs_events.cpp: (offsetFromTarget): Fix two places that said X where they should say Y.

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

17 years ago Reviewed by me.
harrison [Thu, 5 May 2005 17:01:07 +0000 (17:01 +0000)]
    Reviewed by me.

        Restore fixed setEndingSelection.  Fixed method was ifdef'd out
        because change was at end of Tiger development, but method is
        unused.  You just can never be _too_ safe.

        * khtml/editing/htmlediting.cpp:
        (khtml::EditCommandPtr::setEndingSelection):

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

17 years ago Reviewed by Vicki.
mjs [Thu, 5 May 2005 06:04:06 +0000 (06:04 +0000)]
    Reviewed by Vicki.

- renamed NodeBaseImpl to ContainerNodeImpl

        * khtml/ecma/kjs_dom.cpp:
(DOMNodeProtoFunc::tryCall): Avoid use of NodeBaseImpl and avoid
use of obsolete checkNoOwner call, use isAncestor instead.
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::setOuterText): Avoid gratuitous use of
NodeBaseImpl.
* khtml/xml/dom_nodeimpl.cpp:
        (NodeBaseImpl::checkNoOwner): Removed.

Ther rest is all just simple renaming.

* khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::DocumentImpl):
        (DocumentImpl::attach):
        (DocumentImpl::detach):
        (DocumentFragmentImpl::DocumentFragmentImpl):
        * khtml/xml/dom_docimpl.h:
        * khtml/xml/dom_elementimpl.cpp:
        (AttrImpl::AttrImpl):
        (ElementImpl::ElementImpl):
        (ElementImpl::insertedIntoDocument):
        (ElementImpl::removedFromDocument):
        (ElementImpl::attach):
        (ElementImpl::dump):
        * khtml/xml/dom_elementimpl.h:
        * khtml/xml/dom_nodeimpl.cpp:
        (ContainerNodeImpl::ContainerNodeImpl):
        (ContainerNodeImpl::~ContainerNodeImpl):
        (ContainerNodeImpl::firstChild):
        (ContainerNodeImpl::lastChild):
        (ContainerNodeImpl::insertBefore):
        (ContainerNodeImpl::replaceChild):
        (ContainerNodeImpl::removeChild):
        (ContainerNodeImpl::removeChildren):
        (ContainerNodeImpl::appendChild):
        (ContainerNodeImpl::hasChildNodes):
        (ContainerNodeImpl::setFirstChild):
        (ContainerNodeImpl::setLastChild):
        (ContainerNodeImpl::checkSameDocument):
        (ContainerNodeImpl::checkIsChild):
        (ContainerNodeImpl::addChild):
        (ContainerNodeImpl::attach):
        (ContainerNodeImpl::detach):
        (ContainerNodeImpl::insertedIntoDocument):
        (ContainerNodeImpl::removedFromDocument):
        (ContainerNodeImpl::cloneChildNodes):
        (ContainerNodeImpl::getElementsByTagNameNS):
        (ContainerNodeImpl::getUpperLeftCorner):
        (ContainerNodeImpl::getLowerRightCorner):
        (ContainerNodeImpl::getRect):
        (ContainerNodeImpl::setFocus):
        (ContainerNodeImpl::setActive):
        (ContainerNodeImpl::childNodeCount):
        (ContainerNodeImpl::childNode):
        (ContainerNodeImpl::dispatchChildInsertedEvents):
        (ContainerNodeImpl::dispatchChildRemovalEvents):
        * khtml/xml/dom_nodeimpl.h:
        * khtml/xml/dom_xmlimpl.cpp:
        (DOM::EntityImpl::EntityImpl):
        (DOM::EntityReferenceImpl::EntityReferenceImpl):
        (DOM::NotationImpl::NotationImpl):
        (DOM::ProcessingInstructionImpl::ProcessingInstructionImpl):
        * khtml/xml/dom_xmlimpl.h:

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

17 years ago Reviewed by Darin.
mjs [Thu, 5 May 2005 00:29:30 +0000 (00:29 +0000)]
    Reviewed by Darin.

<rdar://problem/4086570> Crash in JavaScriptCore with RSS Visualizer

        * kjs/internal.cpp:
        (InterpreterImp::mark): mark staticNaN, it is usually protected by the Number
prototype but there is a small window where it can get collected.

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

17 years ago Reviewed by Darin.
vicki [Thu, 5 May 2005 00:16:00 +0000 (00:16 +0000)]
    Reviewed by Darin.

- fix mismatched parentheses in one of the ifdefs

        * khtml/html/html_headimpl.cpp:
        (HTMLTitleElementImpl::childrenChanged):

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

17 years ago Reviewed by Dave Hyatt.
darin [Thu, 5 May 2005 00:07:02 +0000 (00:07 +0000)]
    Reviewed by Dave Hyatt.

        - another gcc-4.0-related fix

        * bindings/runtime_root.h: Take off extra namespace prefixes that apparently cause problems
        compiling with gcc 4.0, although I have not observed the problems.

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

17 years ago Reviewed by Dave Hyatt.
darin [Wed, 4 May 2005 23:52:36 +0000 (23:52 +0000)]
    Reviewed by Dave Hyatt.

        - fixed layout tests

        * WebKit.pbproj/project.pbxproj: Set deployment target to 10.3 in the build styles.
        When built without a build style (by Apple B&I) we want to get the target from the
        environment. But when built with a build style (by Safari engineers and others), we want
        to use 10.3. Because our deployment target was not set, we ran into this bug:

            <rdar://problem/4108717> CTFontGetGlyphWithName doesn't work with some strings

        * Makefile.am: Took out extra parameters that make command-line building different from
        Xcode building. Now that this is fixed, you should not get a full rebuild if you switch
        from command line to Xcode or back.

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

17 years ago Reviewed by Dave Hyatt.
darin [Wed, 4 May 2005 23:51:42 +0000 (23:51 +0000)]
    Reviewed by Dave Hyatt.

        - fixed build rules to match other projects

        * WebCore.pbproj/project.pbxproj: Set deployment target to 10.3 in the build styles.
        When built without a build style (by Apple B&I) we want to get the target from the
        environment. But when built with a build style (by Safari engineers and others), we want
        to use 10.3.

        * Makefile.am: Took out extra parameters that make command-line building different from
        Xcode building. Now that this is fixed, you should not get a full rebuild if you switch
        from command line to Xcode or back.

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

17 years ago Reviewed by Dave Hyatt.
darin [Wed, 4 May 2005 23:50:05 +0000 (23:50 +0000)]
    Reviewed by Dave Hyatt.

        - fixed build rules to match other projects

        * JavaScriptCore.pbproj/project.pbxproj: Set deployment target to 10.3 in the build styles.
        When built without a build style (by Apple B&I) we want to get the target from the
        environment. But when built with a build style (by Safari engineers and others), we want
        to use 10.3.

        * Makefile.am: Took out extra parameters that make command-line building different from
        Xcode building. Now that this is fixed, you should not get a full rebuild if you switch
        from command line to Xcode or back.

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

17 years ago - revert presumably accidental change to mozilla JS test expected results...
mjs [Wed, 4 May 2005 21:37:07 +0000 (21:37 +0000)]
    - revert presumably accidental change to mozilla JS test expected results, this
was making the tests fail.

        * tests/mozilla/expected.html:

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

17 years ago Reviewed by darin.
vicki [Wed, 4 May 2005 21:11:23 +0000 (21:11 +0000)]
    Reviewed by darin.

- fixed <rdar://problem/3986228> Not able to load additional script blocks dynamically

Run scripts when they're inserted into the document. Use createdByParser bit to make sure
that scripts aren't run twice, once while parsing and again when inserting.

        * khtml/html/html_headimpl.cpp:
        (HTMLScriptElementImpl::HTMLScriptElementImpl):
        (HTMLScriptElementImpl::~HTMLScriptElementImpl):
        (HTMLScriptElementImpl::insertedIntoDocument):
        (HTMLScriptElementImpl::removedFromDocument):
        (HTMLScriptElementImpl::notifyFinished):
        * khtml/html/html_headimpl.h:
        (DOM::HTMLScriptElementImpl::setCreatedByParser):
        * khtml/html/htmlparser.cpp:
        (KHTMLParser::getElement):
        * khtml/xml/xml_tokenizer.cpp:
        (khtml::XMLTokenizer::startElement):

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

17 years ago Fixed:
cblu [Wed, 4 May 2005 18:50:56 +0000 (18:50 +0000)]
Fixed:
<rdar://problem/4078417> REGRESSION (125-412): MLB gameday page doesn't update (Flash)
<rdar://problem/4072280> XMLHttpRequest calls onReadyStateChange callback with bogus status value

Reviewed by john.

Our WebKit-level caching of subresources "dumbed-down" information held in NSURLResponse. This caused some loads to lack response headers and thus disabling cache directives. Status codes were also not retained and this caused XMLHttpRequest to fail frequently. The fix is to have WebResource retain the NSURLResponse and to use the NSURLResponse when we decide to load from WebResources.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call new [WebResource _initWithData:URL:response:]
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate _canUseResourceWithResponse:]): new, checks response cache directives
        (-[WebBaseResourceHandleDelegate loadWithRequest:]): call _canUseResourceWithResponse:
        (-[WebBaseResourceHandleDelegate saveResource]): call new [WebResource _initWithData:URL:response:]
        * WebView.subproj/WebResource.m:
        (-[WebResourcePrivate dealloc]):
        (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call renamed _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:
        (-[WebResource initWithCoder:]): decode the NSURLReponse
        (-[WebResource encodeWithCoder:]): encode the NSURLReponse
        (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): take the NSURLReponse
        (-[WebResource _initWithData:URL:response:]): new
        (-[WebResource _initWithPropertyList:]): decode the NSURLReponse
        (-[WebResource _propertyListRepresentation]): encode the NSURLReponse
        (-[WebResource _response]): return ivar if we have one
        * WebView.subproj/WebResourcePrivate.h:

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

17 years agoFix build bustage.
hyatt [Wed, 4 May 2005 00:16:31 +0000 (00:16 +0000)]
Fix build bustage.

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

17 years ago Fixed <rdar://problem/4102644> Crash in LiveConnect below KJS::Bindings::JavaInstanc...
rjw [Wed, 4 May 2005 00:09:47 +0000 (00:09 +0000)]
Fixed <rdar://problem/4102644> Crash in LiveConnect below KJS::Bindings::JavaInstance::stringValue() const

Correctly handle accessing nil objects from a Java object array.

        Reviewed by John.

        * bindings/jni/jni_runtime.cpp:
        (JavaArray::valueAt):

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

17 years ago Normalize all our custom properties in our implementation to be -khtml (remove all...
hyatt [Tue, 3 May 2005 23:08:02 +0000 (23:08 +0000)]
Normalize all our custom properties in our implementation to be -khtml (remove all the -apple).

Make sure that -apple, -khtml, and -moz are all able to be used.  -apple and -moz just map to -khtml.

Add support for automatically converting -khtml-opacity to opacity (for legacy Safari 1.1 compat).

        Reviewed by darin

        * khtml/css/css_computedstyle.cpp:
        (DOM::):
        (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
        * khtml/css/cssparser.cpp:
        (CSSParser::parseValue):
        * khtml/css/cssproperties.in:
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::applyDeclarations):
        (khtml::CSSStyleSelector::applyProperty):
        * khtml/css/parser.y:
        * khtml/ecma/kjs_css.cpp:
        (cssPropertyName):

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

17 years ago - fix the build
darin [Tue, 3 May 2005 22:50:37 +0000 (22:50 +0000)]
    - fix the build

        * WebCore.pbproj/project.pbxproj: Fix some SYMROOTS that should have been SYMROOT.

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

17 years ago Fix for 4098281, news.com missing a bunch of content. Make sure not to apply strict...
hyatt [Tue, 3 May 2005 21:46:40 +0000 (21:46 +0000)]
Fix for 4098281, news.com missing a bunch of content.  Make sure not to apply strict SGML parsing
when stripping comments out of scripts.

New test is comments-in-script.html

        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::parseComment):

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

17 years ago Remove unused notification to avoid ERROR messages spewing on the acid2 test.
hyatt [Tue, 3 May 2005 21:34:30 +0000 (21:34 +0000)]
Remove unused notification to avoid ERROR messages spewing on the acid2 test.

        Reviewed by darin

        * khtml/khtml_part.cpp:
        (KHTMLPart::processObjectRequest):
        * khtml/rendering/render_frames.cpp:
        (RenderPartObject::updateWidget):
        * khtml/rendering/render_frames.h:

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

17 years agoAdding acid2 test to layout tests.
hyatt [Tue, 3 May 2005 20:57:01 +0000 (20:57 +0000)]
Adding acid2 test to layout tests.

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

17 years ago Reviewed by Dave Hyatt.
darin [Tue, 3 May 2005 20:55:32 +0000 (20:55 +0000)]
    Reviewed by Dave Hyatt.
        No new layout tests needed.

        - eliminated the bogus kMin/kMax macros that we had in addition to inline functions
          of the same name

        * kwq/KWQKGlobal.h: Remove the kMin/kMax macros.

        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::applyProperty): Change type of constant so both sides
        of kMin calls match.
        (khtml::CSSStyleSelector::fontSizeForKeyword): Ditto.
        * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::parseEntity): Ditto.

        - remove unused parameter to dirtyLinesFromChangedChild for clarity

        * khtml/rendering/render_object.h: Don't take the parameter.
        * khtml/rendering/render_object.cpp: (RenderObject::dirtyLinesFromChangedChild): Ditto.

        * khtml/rendering/render_flow.h: Don't take the parameter.
        * khtml/rendering/render_flow.cpp:
        (RenderFlow::detach): Don't pass the parameter.
        (RenderFlow::dirtyLinesFromChangedChild): Don't take the parameter.

        * khtml/rendering/render_text.cpp: (RenderText::detach): Don't pass the parameter.

        - convert DOM::NodeImpl into an abstract base class by making a couple of functions
          pure virtual for clarity

        * khtml/xml/dom_nodeimpl.h: Made nodeName and nodeType pure virtual.
        * khtml/xml/dom_nodeimpl.cpp: Remove bodies of nodeName and nodeType.

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

17 years ago Fix for object element to support fallback content. WIth this change Safari passes...
hyatt [Tue, 3 May 2005 20:47:27 +0000 (20:47 +0000)]
Fix for object element to support fallback content.  WIth this change Safari passes the Acid2 test.

        Reviewed by Maciej

        * khtml/css/html4.css:
        * khtml/html/html_objectimpl.cpp:
        (HTMLObjectElementImpl::HTMLObjectElementImpl):
        (HTMLObjectElementImpl::parseHTMLAttribute):
        (HTMLObjectElementImpl::rendererIsNeeded):
        (HTMLObjectElementImpl::createRenderer):
        (HTMLObjectElementImpl::attach):
        (HTMLObjectElementImpl::detach):
        (HTMLObjectElementImpl::recalcStyle):
        (HTMLObjectElementImpl::childrenChanged):
        (HTMLObjectElementImpl::isURLAttribute):
        (HTMLObjectElementImpl::isImageType):
        (HTMLObjectElementImpl::renderFallbackContent):
        * khtml/html/html_objectimpl.h:
        * khtml/khtml_part.cpp:
        (KHTMLPart::requestObject):
        (KHTMLPart::selectFrameElementInParentIfFullySelected):
        (KHTMLPart::handleFallbackContent):
        * khtml/khtml_part.h:
        * khtml/khtmlpart_p.h:
        (khtml::ChildFrame::ChildFrame):
        * khtml/rendering/render_frames.cpp:
        (RenderPartObject::RenderPartObject):
        (RenderPartObject::updateWidget):
        * khtml/rendering/render_frames.h:
        (khtml::RenderPart::hasFallbackContent):
        * khtml/rendering/render_replaced.cpp:
        (RenderReplaced::RenderReplaced):
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::createPart):
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge mainResourceError]):

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

17 years ago Fix object element support so that fallback content works. With this change Safari...
hyatt [Tue, 3 May 2005 20:44:35 +0000 (20:44 +0000)]
Fix object element support so that fallback content works.  With this change Safari passes the Acid2 test.

        Reviewed by Maciej

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge determineObjectFromMIMEType:URL:]):
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _receivedMainResourceError:complete:]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):

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

17 years ago * WebView.subproj/WebUIDelegate.h: Fixed incorrect comment.
darin [Tue, 3 May 2005 20:32:52 +0000 (20:32 +0000)]
    * WebView.subproj/WebUIDelegate.h: Fixed incorrect comment.

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

17 years agotop level:
darin [Tue, 3 May 2005 01:17:08 +0000 (01:17 +0000)]
top level:

        - move to Xcode native targets and stop checking in generated files

        * configure.in: Removed gperf and yacc sections, and all the makefile paths for subdirectories
        of JavaScriptCore and WebCore, since those directories no longer have makefiles.

Tools:

        - move to Xcode native targets and stop checking in generated files

        * CommitLogEditor/CommitLogEditor.pbproj/project.pbxproj: Updated to use native targets.
        * CommitLogEditor/Info.plist: Added. Native targets use a separate file for this.

        * HotSpotFinder/HotSpotFinder.pbproj/project.pbxproj: Updated to use native targets.
        * HotSpotFinder/Info.plist: Added. Native targets use a separate file for this.

JavaScriptCore:

        - move to Xcode native targets and stop checking in generated files

        * JavaScriptCore.pbproj/project.pbxproj: Updated to use native targets and generate all the generated
        files, so we don't have to check them in any more.
        * Info.plist: Added. Native targets use a separate file for this.

        * Makefile.am: Removed pcre and kjs SUBDIRS. Also removed code that deleted the embedded copy of this
        framework, since we haven't been embedding it for some time.

        * kjs/grammar_wrapper.cpp: Added. Shell used to compile grammar.cpp since we can't add a generated file
        easily to the list of files to be compiled.

        * kjs/.cvsignore: Removed.
        * kjs/Makefile.am: Removed.
        * kjs/array_object.lut.h: Removed.
        * kjs/date_object.lut.h: Removed.
        * kjs/grammar.cpp: Removed.
        * kjs/grammar.cpp.h: Removed.
        * kjs/grammar.h: Removed.
        * kjs/lexer.lut.h: Removed.
        * kjs/math_object.lut.h: Removed.
        * kjs/number_object.lut.h: Removed.
        * kjs/string_object.lut.h: Removed.
        * pcre/.cvsignore: Removed.
        * pcre/Makefile.am: Removed.
        * pcre/chartables.c: Removed.

WebCore:

        - move to Xcode native targets and stop checking in generated files

        * WebCore.pbproj/project.pbxproj: Updated to use native targets and generate all the generated
        files, so we don't have to check them in any more.
        * Info.plist: Added. Native targets use a separate file for this.

        * Makefile.am: Removed rule to generate WebCore-combined.exp since this is now handled by the
        Xcode project. Removed the code to remove the embedded copy of the framework since we don't
        do that any more. Removed timestamp cleaning rules since we don't use those any more.

        * WebCore-tests.exp: Removed symbols that aren't really needed. The native target gives an
        error when you mention a nonexistent symbol, so we can't have them any more.

        * khtml/css/parser_wrapper.cpp: Added. Shell used to compile parser.cpp since we can't add
        a generated file easily to the list of files to be compiled.

        * .cvsignore: Removed various timestamp files.

        * WebCore-combined.exp: Removed.
        * force-clean-timestamp: Removed.
        * force-js-clean-timestamp: Removed.
        * khtml/.cvsignore: Removed.
        * khtml/Makefile.am: Removed.
        * khtml/css/.cvsignore: Removed.
        * khtml/css/Makefile.am: Removed.
        * khtml/css/cssproperties.c: Removed.
        * khtml/css/cssproperties.h: Removed.
        * khtml/css/cssvalues.c: Removed.
        * khtml/css/cssvalues.h: Removed.
        * khtml/css/parser.cpp: Removed.
        * khtml/css/parser.h: Removed.
        * khtml/css/tokenizer.cpp: Removed.
        * khtml/ecma/.cvsignore: Removed.
        * khtml/ecma/Makefile.am: Removed.
        * khtml/ecma/kjs_css.lut.h: Removed.
        * khtml/ecma/kjs_dom.lut.h: Removed.
        * khtml/ecma/kjs_events.lut.h: Removed.
        * khtml/ecma/kjs_html.lut.h: Removed.
        * khtml/ecma/kjs_navigator.lut.h: Removed.
        * khtml/ecma/kjs_range.lut.h: Removed.
        * khtml/ecma/kjs_traversal.lut.h: Removed.
        * khtml/ecma/kjs_views.lut.h: Removed.
        * khtml/ecma/kjs_window.lut.h: Removed.
        * khtml/ecma/xmlhttprequest.lut.h: Removed.
        * khtml/ecma/xmlserializer.lut.h: Removed.
        * khtml/html/.cvsignore: Removed.
        * khtml/html/Makefile.am: Removed.
        * khtml/html/doctypes.cpp: Removed.
        * khtml/html/kentities.c: Removed.
        * khtml/misc/.cvsignore: Removed.
        * khtml/misc/Makefile.am: Removed.
        * khtml/misc/htmlattrs.c: Removed.
        * khtml/misc/htmlattrs.h: Removed.
        * khtml/misc/htmltags.c: Removed.
        * khtml/misc/htmltags.h: Removed.
        * kwq/.cvsignore: Removed.
        * kwq/KWQCharsetData.c: Removed.
        * kwq/KWQColorData.c: Removed.
        * kwq/Makefile.am: Removed.

WebKit:

        - move to Xcode native targets and stop checking in generated files

        * WebKit.pbproj/project.pbxproj: Updated to use native targets and generate all the generated
        files, so we don't have to check them in any more.
        * Info.plist: Added. Native targets use a separate file for this.

        * Plugins.subproj/npapi.m: Fixed import statement to get npapi.h from <WebKit/> rather than current directory.

        * Makefile.am: Removed timestamp cleaning rules since we don't use it any more.

        * .cvsignore: Removed various timestamp files.

        * DOM.subproj/DOM-compat.h: Removed.
        * DOM.subproj/DOM.h: Removed.
        * DOM.subproj/DOMCSS.h: Removed.
        * DOM.subproj/DOMCore.h: Removed.
        * DOM.subproj/DOMEvents.h: Removed.
        * DOM.subproj/DOMExtensions.h: Removed.
        * DOM.subproj/DOMHTML.h: Removed.
        * DOM.subproj/DOMPrivate.h: Removed.
        * DOM.subproj/DOMRange.h: Removed.
        * DOM.subproj/DOMStylesheets.h: Removed.
        * DOM.subproj/DOMTraversal.h: Removed.
        * DOM.subproj/DOMViews.h: Removed.
        * Plugins.subproj/WebScriptObject.h: Removed.
        * Plugins.subproj/npapi.h: Removed.
        * Plugins.subproj/npruntime.h: Removed.
        * copy-webcore-files-to-webkit: Removed.
        * embed-frameworks.sh: Removed.
        * force-clean-timestamp: Removed.

WebBrowser:

        - move to Xcode native targets and stop checking in generated files

        * WebBrowser.pbproj/project.pbxproj: Updated to use native target.
        * Info.plist: Added. Native targets use a separate file for this.

        * .cvsignore: Took out .DS_Store, since that's always ignored server-wide.

        * English.lproj/.cvsignore: Removed.
        * Preferences.subproj/.cvsignore: Removed.
        * Resources/.cvsignore: Removed.
        * Resources/Images/.cvsignore: Removed.

WebKitExamples:

        - move to Xcode native targets and stop checking in generated files

        * Blot/Blot.xcode/project.pbxproj: Updated to use a native target.

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

17 years agoFix layout test paths.
darin [Mon, 2 May 2005 23:05:29 +0000 (23:05 +0000)]
Fix layout test paths.

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

17 years ago Reviewed by Vicki.
darin [Mon, 2 May 2005 18:39:16 +0000 (18:39 +0000)]
    Reviewed by Vicki.
        Added two layout tests for regression testing.

        - redid frameElement (fix for 4091082 below)

        The first version lacked a security check, and was also broken.

        * khtml/ecma/kjs_window.cpp:
        (frameElement): Refactored into separate function; added isSafeScript check.
        (Window::get): Call the new frameElement function.

        * fast/frames/frameElement-frame.html: Added.
        * fast/frames/frameElement-frame-expected.txt: Added.
        * fast/frames/frameElement-iframe.html: Added.
        * fast/frames/frameElement-iframe-expected.txt: Added.
        * fast/frames/resources/frameElement-contents.html: Added.

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

17 years ago Reviewed by Vicki.
harrison [Mon, 2 May 2005 17:11:26 +0000 (17:11 +0000)]
    Reviewed by Vicki.

        Fix isStartOfEditableContent and isEndOfEditableContent to return actual, rather than inverted, answers.
        No Radar.  Found this when trying to use isEndOfEditableContent() in some new code.

        * khtml/editing/visible_units.cpp:
        (khtml::isStartOfEditableContent):
        (khtml::isEndOfEditableContent):
        Flip expressions.

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

17 years ago Reviewed by David Harrison.
darin [Fri, 29 Apr 2005 22:34:24 +0000 (22:34 +0000)]
    Reviewed by David Harrison.

        * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::displayNode): Turn newlines into \n for better dumping.

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

17 years ago Reviewed by Darin.
harrison [Fri, 29 Apr 2005 20:13:42 +0000 (20:13 +0000)]
    Reviewed by Darin.

        <rdar://problem/4083333> When deleting link at end of sentence, entire sentence gets deleted

        * khtml/editing/htmlediting.cpp:
        (khtml::DeleteSelectionCommand::initializePositionData):
        Work around bug #4103339 (whose real fix is somewhat risky), so this fix can get into a software update.

        (khtml::DeleteSelectionCommand::handleGeneralDelete):
        Add isAncestor check when comparing m_downstreamEnd.node() and m_startNode.

        * layout-tests/editing/deleting/delete-4083333-fix-expected.txt: Added.
        * layout-tests/editing/deleting/delete-4083333-fix.html: Added.

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

17 years ago Reviewed by Dave Harrison.
darin [Fri, 29 Apr 2005 19:10:13 +0000 (19:10 +0000)]
    Reviewed by Dave Harrison.

        - changed layout tests to dump more minimal information about caret and selection

        * kwq/KWQRenderTreeDebug.cpp:
        (nodePosition): Changed name; now does position relative to document.
        (writeSelection): Removed upstream/downstream code and changed format slightly.

        * layout-tests/editing/*-expected.txt: Regenerated in new format.

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

17 years ago Reviewed by Chris Blumenberg.
darin [Fri, 29 Apr 2005 17:28:54 +0000 (17:28 +0000)]
    Reviewed by Chris Blumenberg.
        Added two layout tests for regression testing.

        - fixed <rdar://problem/4097849> REGRESSION (162-163): importNode creates non-HTML elements, thus style attributes (and some others) don't work

        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::importNode): Reorganized and partly rewrote this. The change that fixes the bug at
        hand is to explicitly use XHTML_NAMESPACE for HTML elements, since the old way of getting the namespace
        will return the null string for HTML elements, and createElementNS will not create an HTML element
        if passed a null string for the namespace.
        (DocumentImpl::processHttpEquiv): Removed some bogus getDocument() calls -- no need to call getDocument()
        in a document object.
        (DocumentImpl::attrName): Ditto.
        (DocumentImpl::tagName): Ditto.
        (DocumentImpl::setFocusNode): Ditto.

        * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::cloneNode): Moved the actual cloning here
        from ElementImpl::cloneNode, because XMLElementImpl already had its own version, and in here
        we can use createHTMLElement, which will work properly even in an XML document, and is also slightly
        more efficient.

        * khtml/xml/dom_nodeimpl.h: Added a namespaceURI method function to go along with localName.
        * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::namespaceURI): Added. Returns null string to be consistent
        with localName (only works on certain types of elements as documented).
        * khtml/xml/dom_elementimpl.h: Removed ElementImpl::cloneNode (see above). Added an override of
        namespaceURI for XMLElementImpl.
        * khtml/xml/dom_elementimpl.cpp: (XMLElementImpl::namespaceURI): Added. Returns the namespace
        (consistent with localName).

        * layout-tests/fast/dom/importNodeHTML.html: Added. Tests both importNode and cloneNode (for comparison).
        * layout-tests/fast/dom/importNodeHTML-expected.txt: Added.
        * layout-tests/fast/dom/importNodeXML.xhtml: Added. XML version of the same test as above. Tests a different
        code path, so useful to have.
        * layout-tests/fast/dom/importNodeXML-expected.txt: Added.

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

17 years ago Reviewed by Maciej.
darin [Fri, 29 Apr 2005 01:13:11 +0000 (01:13 +0000)]
    Reviewed by Maciej.

        - fixed problems preventing us from compiling with gcc 4.0

        * WebKit.pbproj/project.pbxproj: Removed -fobjc-exceptions because I can't figure out an easy
        way to pass it only when compiling Objective-C/C++. Removed -Wmissing-prototypes from
        WARNING_CPLUSPLUSFLAGS since it's now a C-only warning.

        * History.subproj/WebHistoryItem.m: (-[WebHistoryItem pageCache]): Changed return type
        to match the declaration.
        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
        Fixed a BOOL that should have been a Boolean.
        * WebCoreSupport.subproj/WebTextRenderer.m: Removed redundant copy of ROUND_TO_INT, also in
        a WebCore header.
        (-[WebTextRenderer _computeWidthForSpace]): Had to add cast because of difference in type of
        ROUND_TO_INT vs. CEIL_TO_INT.
        (pathFromFont): Added a cast to convert UInt8 * to char *.
        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView _setDocumentView:]): Fixed parameter type to match the declaration.
        (-[WebFrameView documentView]): Fixed return type to match the declaration.
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
        Initialized a variable to quiet an incorrect gcc 4.0 uninitialized variable warning.
        (-[WebHTMLView deleteToMark:]): Switched from @try style to NS_DURING style of exception handler
        because we can't pass -fobjc-exceptions just to Objective-C at the moment (see above).
        (-[WebHTMLView selectToMark:]): Ditto.
        (-[WebHTMLView swapWithMark:]): Ditto.

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

17 years ago Reviewed by Dave Harrison.
darin [Fri, 29 Apr 2005 00:31:01 +0000 (00:31 +0000)]
    Reviewed by Dave Harrison.

        - fixed problems preventing us from compiling with gcc 4.0

        * WebCore.pbproj/project.pbxproj: Removed -fobjc-exceptions because I can't figure out an easy
        way to pass it only when compiling Objective-C/C++. Removed -Wmissing-prototypes from
        WARNING_CPLUSPLUSFLAGS since it's now a C-only warning.

        * khtml/css/parser.y: Changed some rules that were using a float to pass around an enum to use an
        int instead to avoid a warning.
        * khtml/css/parser.cpp: Regenerated.
        * khtml/css/parser.h: Regenerated.

        * khtml/ecma/kjs_dom.cpp: (DOMTextProtoFunc::tryCall): Rearranged a return statement to avoid an incorrect
        warning.
        * khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::tryCall): Initialized a couple of variables to avoid
        an incorrect warning.
        * khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::evaluate): Rearranged how we exit from the function to avoid
        an incorret warning.
        * khtml/editing/selection.cpp: (khtml::Selection::debugPosition): Changed some %d to %ld where the
        parameters where long ints.
        * khtml/editing/visible_position.cpp: (khtml::VisiblePosition::debugPosition): Ditto.
        * khtml/xml/dom_position.cpp: (DOM::Position::debugPosition): Ditto.
        * kwq/DOMEvents.mm: (-[DOMMouseEvent initMouseEvent:::::::::::::::]): Rearranged code to avoid a cast
        that was causing an incorrect warning.
        * kwq/DOMUtility.mm:
        (createObjCDOMNode): Broke out as a separate function.
        (KJS::ScriptInterpreter::createObjcInstanceForValue): Rearranged code to avoid a namespace collision with
        KJS::DOMNode and the Objective-C DOMNode class.
        * kwq/KWQFileButton.mm: Made fields of KWQFileButtonAdapter public to avoid an error, new to gcc 4.0,
        about accessing protected Objective-C fields.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::matchLabelsAgainstElement): Rearranged a return statement to avoid an incorrect warning.
        (KWQKHTMLPart::imageFromRect): Rearranged how this function does its exception handling to avoid a
        "may be clobbered" warning.
        * kwq/KWQKJavaAppletWidget.mm: Fixed incorrect import that said "KHTMLView.h" instead of "khtmlview.h".
        * kwq/KWQObject.mm: Made fields of KWQObjectTimerTarget public to avoid an error, new to gcc 4.0,
        about accessing protected Objective-C fields.
        * kwq/WebCoreBridge.mm: (partHasSelection): Used [bridge part] instead of getting directly at instance
        variable to avoid an error, new to gcc 4.0, about accessing protected Objective-C fields.

        * WebCore-combined.exp: Regenerated.
        * WebCore-tests.exp: Added some additional symbols needed by the tests under gcc 4.0.

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

17 years ago Reviewed by Dave Harrison.
darin [Fri, 29 Apr 2005 00:22:55 +0000 (00:22 +0000)]
    Reviewed by Dave Harrison.

        - fixed problems preventing us from compiling with gcc 4.0

        * JavaScriptCore.pbproj/project.pbxproj: Removed -Wmissing-prototypes from
        WARNING_CPLUSPLUSFLAGS since it's now a C-only warning.

        * bindings/jni/jni_jsobject.cpp:
        (JSObject::getSlot): Changed some %d to %ld where the parameters where long ints.
        (JSObject::setSlot): Ditto.
        * bindings/jni/jni_utility.cpp:
        (KJS::Bindings::getJavaVM): Ditto.
        (KJS::Bindings::getJNIEnv): Ditto.
        * bindings/objc/objc_utility.mm: Fixed include of <JavascriptCore/internal.h> that needed the
        letter "S" capitalized.
        * kjs/bool_object.cpp: (BooleanProtoFuncImp::call): Rearranged how this function returns to
        avoid incorrect gcc 4.0 warning.
        * kjs/collector.cpp: (KJS::Collector::markStackObjectsConservatively): Changed code to check
        the alignment of the passed-in pointers to only require pointer-level alignment, not 8-byte alignment.
        Prevents a crash on garbage collect when compiled with gcc 4.0.
        * kjs/nodes.cpp:
        (WhileNode::execute): Added a redundant return after an infinite loop to work around incorrect gcc 4.0 warning.
        (ForNode::execute): Ditto.
        (SwitchNode::execute):Rearranged how this function returns to avoid incorrect gcc 4.0 warning.
        (LabelNode::execute): Ditto.
        * kjs/string_object.cpp: (replace): Ditto.

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

17 years agoFix ChangeLog
darin [Fri, 29 Apr 2005 00:07:23 +0000 (00:07 +0000)]
Fix ChangeLog

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

17 years ago * WebCore.pbproj/project.pbxproj: Add back the main_thread_malloc files,...
darin [Fri, 29 Apr 2005 00:07:03 +0000 (00:07 +0000)]
    * WebCore.pbproj/project.pbxproj: Add back the main_thread_malloc files, rolled out by accident.

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

17 years ago Rolling out fix for <rdar://problem/4097849> because the following layout...
adele [Thu, 28 Apr 2005 01:04:59 +0000 (01:04 +0000)]
    Rolling out fix for <rdar://problem/4097849> because the following layout tests were failing:

        fast/css/namespaces/001
        fast/css/namespaces/002
        fast/css/namespaces/004
        fast/css/namespaces/005
        fast/css/namespaces/006
        fast/overflow/003

        * khtml/html/html_documentimpl.cpp:
        * khtml/html/html_documentimpl.h:
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::namespaceURI):
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::importNode):
        (DocumentImpl::createElementNS):
        (DocumentImpl::createHTMLElement):
        (DocumentImpl::attrId):
        (DocumentImpl::tagId):
        * khtml/xml/dom_docimpl.h:

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

17 years agoone more tweak
vicki [Thu, 28 Apr 2005 01:03:24 +0000 (01:03 +0000)]
one more tweak

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

17 years agoWebCore-413.1
vicki [Thu, 28 Apr 2005 00:06:31 +0000 (00:06 +0000)]
WebCore-413.1

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

17 years ago Reviewed by Darin.
sullivan [Wed, 27 Apr 2005 21:34:35 +0000 (21:34 +0000)]
    Reviewed by Darin.

        Experimental prototype of user-resizable textareas. All the new code is guarded by
        #if ALLOW_RESIZING_TEXTAREAS, which is false unless you remove a comment and rebuild.

        This code allows you to press near the bottom-right corner of any textarea and drag
        to resize the textarea on the page. It works correctly with textareas in left-aligned
        or centered blocks, but is weird in right-aligned blocks. It also does something
        sensible if the width is specified as a % (in that case, you can resize vertically only).
        The user-created-size survives resizing the window and survives the back/forward cache.
        It does not survive reloading the page.

        This complete-lack-of-affordance UI is obviously not shippable, but this proof of concept
        code could lead to a real user feature.

        * kwq/KWQTextArea.mm:
        (-[KWQTextArea getNumColumns:andNumRows:forSize:]):
        new method that determines cols and rows for a given textarea frame size
        (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
        new method that tracks a drag and does a live resize-and-relayout
        (-[KWQTextAreaTextView mouseDown:]):
        if the mouse down is in the bottom-right corner, call _trackResizeFromMouseDown:

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

17 years ago Reviewed by Adele.
sullivan [Wed, 27 Apr 2005 21:32:26 +0000 (21:32 +0000)]
    Reviewed by Adele.

        - fixed problem with mouse wheel patch where alt and shift keys were switched

        * khtml/xml/dom2_eventsimpl.h:
        use the order cntl, alt, shift, meta in KeyboardEventImpl constructors to match
        superclass. This isn't necessary to fix the bug, but is better for clarity.

        * khtml/xml/dom2_eventsimpl.cpp:
        (KeyboardEventImpl::KeyboardEventImpl):
        switch parameter order to match superclass. Then pass the parameters to superclass's
        constructor in the right order.
        (KeyboardEventImpl::initKeyboardEvent):
        Pass parameters to superclass's constructor in the right order.

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

17 years ago Reviewed by Dave Harrison.
sullivan [Wed, 27 Apr 2005 17:59:15 +0000 (17:59 +0000)]
    Reviewed by Dave Harrison.

        - fixed <rdar://problem/3547489> pop-up window blocking preference and
        menu item can easily get out of sync.

        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences _setStringValue:forKey:]):
        save local value before setting value in NSUserDefaults, so clients reacting to NSUserDefaults
        change notification but calling back on WebPreferences API will see the updated value.
        (-[WebPreferences _setIntegerValue:forKey:]):
        ditto
        (-[WebPreferences _setBoolValue:forKey:]):
        ditto

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

17 years ago Fixed by Darin, reviewed by me.
adele [Wed, 27 Apr 2005 05:52:08 +0000 (05:52 +0000)]
    Fixed by Darin, reviewed by me.

        Fix for <rdar://problem/4084029> designMode doesn't allow editing when iframe src = "" or = about:blank

        This change will add an HTML element for empty documents.  Now that there will be an HTMLDocument in this case,
        a body will also be created (see rdar://problem/3758785). This was preventing frames with empty documents from
        being editable.

        * khtml/html/htmlparser.cpp: (KHTMLParser::finished):

        Updated these tests to expect the HTML and BODY elements
        * layout-tests/fast/flexbox/016-expected.txt:
        * layout-tests/fast/frames/001-expected.txt:
        * layout-tests/fast/frames/002-expected.txt:
        * layout-tests/fast/frames/contentWindow_Frame-expected.txt:
        * layout-tests/fast/frames/contentWindow_iFrame-expected.txt:
        * layout-tests/fast/frames/empty-frame-src-expected.txt:

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

17 years agoJavaScriptCore:
rjw [Wed, 27 Apr 2005 01:03:57 +0000 (01:03 +0000)]
JavaScriptCore:
Fixed <rdar://problem/4098713> Scripting API is incompatible with Mozilla

We were incompatible with Mozilla's implementation of the scripting APIs in
two ways:

Their NPN_SetException has the following signature:

            void NPN_SetException(NPObject *npobj, const NPUTF8 *message);

ours has:

            void NPN_SetException (NPObject * npobj, const NPString *message);

Also, they expect the string returned from NPN_UTF8FromIdentifier() to be freed by caller.
We do not.

I changed both behaviors to match Mozilla.

        Reviewed by Chris.

        * bindings/NP_jsobject.cpp:
        (_NPN_SetException):
        * bindings/npruntime.cpp:
        (_NPN_UTF8FromIdentifier):
        (_NPN_IntFromIdentifier):
        (_NPN_SetExceptionWithUTF8):
        * bindings/npruntime.h:
        * bindings/npruntime_impl.h:

WebKit:
Fixed <rdar://problem/4098713> Scripting API is incompatible with Mozilla

        Reviewed by Chris.

        * Plugins.subproj/npfunctions.h:
        * Plugins.subproj/npruntime.h:

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

17 years agoJavaScriptCore:
mjs [Wed, 27 Apr 2005 00:18:14 +0000 (00:18 +0000)]
JavaScriptCore:

        Reviewed by Chris.

<rdar://problem/4092136> reproducible crash in KJS::kjs_fast_realloc loading maps.google.com

* kjs/string_object.cpp:
        (StringObjectFuncImp::call): Allocate adopted ustring buffer properly.

WebCore:

        New test case for <rdar://problem/4092136> reproducible crash in KJS::kjs_fast_realloc loading maps.google.com

        * layout-tests/fast/js/string-from-char-code-expected.txt: Added.
        * layout-tests/fast/js/string-from-char-code.html: Added.

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

17 years agoWebCore:
darin [Tue, 26 Apr 2005 23:36:34 +0000 (23:36 +0000)]
WebCore:

        Reviewed by John.

        - fixed <rdar://problem/3655817> please add support for mouse wheel events and the onmousewheel handler

        Loose ends:

            - need to test behavior of Windows IE with horizontal scroll wheeling; we currently send a distinct event
              for that relatively obscure case, which means the event handlers won't fire at all; might be incorrect
            - overflow scrolling is done after all DOM event handling, but ideally should be done in the overflowing
              element's default event handler; not important in practice
            - frame scrolling is done after all DOM event handling, but probably should be done in a default event handler;
              not sure about this, but it's probably not important in practice and definitely not required

        - JavaScript

        * khtml/ecma/kjs_events.h: Added DOMWheelEvent.
        * khtml/ecma/kjs_events.cpp:
        (KJS::getDOMEvent): Added a case for wheel event. To be forward looking, I use the event's impl pointer
        instead of a C++ DOM wrapper. Eventually it will all work this way.
        (offsetFromTarget): Added. Factored out code to compute offsetX/Y for an event.
        (DOMMouseEvent::getValueProperty): Changed to call offsetFromTarget for offsetX/Y.
        (DOMWheelEvent::DOMWheelEvent): Added.
        (DOMWheelEvent::tryGet): Added.
        (DOMWheelEvent::getValueProperty): Added.
        (DOMWheelEventProtoFunc::tryCall): Added. Nothing at the moment, but might get contents later.

        * khtml/ecma/kjs_dom.h: Added OnMouseWheel to the enum with the list of properties.
        * khtml/ecma/kjs_dom.cpp: Added onmousewheel as a property of DOM nodes.
        (DOMNode::getValueProperty): Return the mouse wheel event handler.
        (DOMNode::putValue): Set the mouse wheel event handler.

        * khtml/ecma/kjs_window.cpp: Added onmousewheel as a property of the window.
        (Window::get): Return the mouse wheel event handler.
        (Window::put): Set the mouse wheel event handler.

        * khtml/ecma/kjs_window.h: Added OnWindowMouseWheel to the enum with the list of properties.
        (Other properties distinguish the window handler by lower-casing the initial letter, way too subtle,
        so I did this one a good way.)

        * khtml/dom/dom2_events.h: Made the constructors for Event and UIEvent public. There's no good reason
        for them to be private, and I had to use the UIEvent one in the JavaScript implementation.

        - DOM

        * khtml/xml/dom2_eventsimpl.h: Added events for mouse wheel and horizontal mouse wheel.
        Added isWheelEvent function to EventImpl.
        (DOM::UIEventWithKeyStateImpl): Added. Base class shared by mouse, wheel, and keyboard events.
        (DOM::MouseRelatedEventImpl): Added. Base class shared by mouse and wheel events.
        (DOM::WheelEventImpl): Added.

        * khtml/xml/dom2_eventsimpl.cpp: Added "mousewheel" to list of event names and a placeholder for
        the horizontal mouse wheel.
        (EventImpl::isWheelEvent): Added. Returns false.
        (MouseRelatedEventImpl::MouseRelatedEventImpl): Added. Factored out what's shared between mouse
        events and wheel events to avoid duplicated code.
        (MouseRelatedEventImpl::computeLayerPos): Moved to MouseRelatedWheelEventImpl.
        (MouseEventImpl::MouseEventImpl): Changed since MouseRelatedWheelEventImpl is now the base class
        so we can share more code with wheel events.
        (KeyboardEventImpl::KeyboardEventImpl): Changed since UIEventWithKeyStateImpl is now the base class
        so we can share more code with mouse and wheel events.
        (WheelEventImpl::WheelEventImpl): Added.
        (WheelEventImpl::isWheelEvent): Added. Returns true.

        * khtml/misc/htmlattrs.in: Added "onmousewheel" attribute name.
        * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseHTMLAttribute): Added parsing of the
        "onmousewheel" atribute, consistent with other event handler attributes.

        - event handling

        * kwq/WebCoreBridge.h: Renamed scrollOverflowWithScrollWheelEvent to sendScrollWheelEvent.
        * kwq/WebCoreBridge.mm: (-[WebCoreBridge sendScrollWheelEvent:]): Renamed.

        * kwq/KWQEvent.h: Added Wheel as an event type value.
        (QWheelEvent::QWheelEvent): Added.
        * kwq/KWQEvent.mm:
        (positionForEvent): Updated to know that wheel events have valid positions in them.
        (orientationForEvent): Added.
        (deltaForEvent): Added.
        (QWheelEvent::QWheelEvent): Added.

        * kwq/KWQKHTMLPart.h: Renamed scrollOverflowWithScrollWheelEvent to wheelEvent.
        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::wheelEvent): Renamed and added code to construct a QWheelEvent
        and send it along to KHTMLView::viewportWheelEvent, consistent with how mouse events work.

        * khtml/khtmlview.cpp: (KHTMLView::viewportWheelEvent): Do a hit test to figure out which node to
        send the event to, and then call dispatchWheelEvent.

        * khtml/xml/dom_nodeimpl.h: Added dispatchWheelEvent.
        * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::dispatchWheelEvent): Added.

        - generated files

        * khtml/ecma/kjs_dom.lut.h: Regenerated.
        * khtml/ecma/kjs_events.lut.h: Regenerated.
        * khtml/ecma/kjs_window.lut.h: Regenerated.
        * khtml/misc/htmlattrs.c: Regenerated.
        * khtml/misc/htmlattrs.h: Regenerated.

WebKit:

        Reviewed by John.

        - fixed <rdar://problem/3655817> please add support for mouse wheel events and the onmousewheel handler

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView scrollWheel:]): Call sendScrollWheelEvent: method
        instead of the old scrollOverflowWithScrollWheelEvent: (just a name change).

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

17 years ago Reviewed by Darin, Maciej.
harrison [Tue, 26 Apr 2005 22:39:33 +0000 (22:39 +0000)]
    Reviewed by Darin, Maciej.

        <rdar://problem/4075576> Deleting text in new message borks content

        Fixed by removing the methods that attempted to preserve the position.  The idea
        of preserving position is a very recent one, and turned out to not actually address
        the problem it was intended to fix (see below).  Further, is unclear how the position
        could be preserved in a form that could be properly used later on.   Therefore,
        removing the code to work like before is the preferred alternative for this software
        update.  I've written <rdar://problem/4099839> to cover the bug that position
        preservation was supposed to fix (but did not).  Added layout tests for
        both this bug and 4099839.  Also, updated existing tests with correct expected results
        (delete-at-paragraph-boundaries-003 and 004).

        * khtml/editing/htmlediting.cpp:
        (khtml::CompositeEditCommand::removeFullySelectedNode):
        (khtml::CompositeEditCommand::removeChildrenInRange):
        (khtml::DeleteSelectionCommand::handleGeneralDelete):
        * khtml/editing/htmlediting.h:
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-007.html: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-008.html: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-009.html: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-010.html: Added.

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

17 years ago - fixed development builds
darin [Tue, 26 Apr 2005 21:20:28 +0000 (21:20 +0000)]
    - fixed development builds

        * khtml/misc/main_thread_malloc.h: Use inlines instead of macros for allocation functions.

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