1. 24 May, 2005 1 commit
    • mjs's avatar
      Reviewed by John. · 84e724c0
      mjs authored
      	- split remaining editing command classes out of htmlediting.cpp
      	- rename InsertParagraphSeparatorInQuotedContentCommand to BreakBlockquoteCommand
      
      	No layout tests needed - this is a pure refactoring change.
      
              * WebCore.pbproj/project.pbxproj:
              * khtml/editing/apply_style_command.cpp:
              * khtml/editing/break_blockquote_command.cpp: Added.
              * khtml/editing/break_blockquote_command.h: Added.
              * khtml/editing/composite_edit_command.cpp:
              * khtml/editing/delete_selection_command.cpp:
              * khtml/editing/edit_command.cpp:
              * khtml/editing/htmlediting.cpp:
              * khtml/editing/htmlediting.h:
              * khtml/editing/insert_line_break_command.cpp: Added.
              * khtml/editing/insert_line_break_command.h: Added.
              * khtml/editing/insert_paragraph_separator_command.cpp: Added.
              * khtml/editing/insert_paragraph_separator_command.h: Added.
              * khtml/editing/insert_text_command.cpp: Added.
              * khtml/editing/insert_text_command.h: Added.
              * khtml/editing/join_text_nodes_command.cpp: Added.
              * khtml/editing/join_text_nodes_command.h: Added.
              * khtml/editing/merge_identical_elements_command.cpp: Added.
              * khtml/editing/merge_identical_elements_command.h: Added.
              * khtml/editing/move_selection_command.cpp: Added.
              * khtml/editing/move_selection_command.h: Added.
              * khtml/editing/rebalance_whitespace_command.cpp: Added.
              * khtml/editing/rebalance_whitespace_command.h: Added.
              * khtml/editing/remove_css_property_command.cpp: Added.
              * khtml/editing/remove_css_property_command.h: Added.
              * khtml/editing/remove_node_attribute_command.cpp: Added.
              * khtml/editing/remove_node_attribute_command.h: Added.
              * khtml/editing/remove_node_command.cpp: Added.
              * khtml/editing/remove_node_command.h: Added.
              * khtml/editing/remove_node_preserving_children_command.cpp: Added.
              * khtml/editing/remove_node_preserving_children_command.h: Added.
              * khtml/editing/replace_selection_command.cpp: Added.
              * khtml/editing/replace_selection_command.h: Added.
              * khtml/editing/set_node_attribute_command.cpp: Added.
              * khtml/editing/set_node_attribute_command.h: Added.
              * khtml/editing/split_element_command.cpp: Added.
              * khtml/editing/split_element_command.h: Added.
              * khtml/editing/split_text_node_command.cpp: Added.
              * khtml/editing/split_text_node_command.h: Added.
              * khtml/editing/split_text_node_containing_element_command.h: Added.
              * khtml/editing/typing_command.cpp: Added.
              * khtml/editing/typing_command.h: Added.
              * khtml/editing/wrap_contents_in_dummy_span_command.cpp: Added.
              * khtml/editing/wrap_contents_in_dummy_span_command.h: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9196 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      84e724c0
  2. 23 May, 2005 5 commits
  3. 22 May, 2005 1 commit
  4. 20 May, 2005 2 commits
    • sullivan's avatar
      Reviewed by Chris. · e6b2a727
      sullivan authored
              - fixed <rdar://problem/4126160> Crash sending mouse-exited event after reloading
              page with resizable textarea
      
              * kwq/KWQTextArea.mm:
              (-[KWQTextAreaTextView resetCursorRects]):
              This was some side effect of tracking rect code used for resizable textareas. I discovered
              that I didn't need the tracking rect code at all (at least to achieve the level of only-somewhat-working
              cursor behavior that I already had). Removing it caused the bug to vanish.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9184 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e6b2a727
    • cblu's avatar
      Fixed: <rdar://problem/4098786> sync. XMLHttpRequest works w/o... · 8ee550eb
      cblu authored
      	Fixed: <rdar://problem/4098786> sync. XMLHttpRequest works w/o AllowNetworkAccess key because load delegate is not consulted
      
      	Synchronous loads did not cause the willSendRequest method on the resource load delegate to be called. This is the method that Dashboard uses to enforce AllowNetworkAccess and this must be called to avoid exploits.
      
              Reviewed by sullivan.
      
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then
      	[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:] so synthetic resource load delegate
      	methods are called and the data is saved as a WebResource for resources in the WebCore cache.
      
              (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:],
      	respect its result, do the load and then call [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]
      	for synchronous loads
      
              * WebView.subproj/WebFrame.m:
              (-[WebFrame _opened]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then
      	[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:] so synthetic resource load delegate methods are called
      	for subresrources in the page cache
      
      	(-[WebFrame _requestFromDelegateForRequest:identifier:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
      	This method calls identifierForInitialRequest and willSendRequest.
      
              (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
      	This method calls the remaining resource load delegate messages.
      
              (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]): new, saves the resource and calls
      	[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]
      
              * WebView.subproj/WebFrameInternal.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9183 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8ee550eb
  5. 19 May, 2005 2 commits
    • darin's avatar
      JavaScriptCore: · 74627e06
      darin authored
              Reviewed by Maciej.
      
              - turned off exceptions and RTTI; seems to cut JavaScriptCore code size by about 22%
      
              * JavaScriptCore.pbproj/project.pbxproj: Turn off exceptions and RTTI for both
              the framework and testkjs tool.
      
      WebCore:
      
              Reviewed by Maciej.
      
              - turned off exceptions and RTTI; seems to cut WebCore code size by about 35%
      
              * WebCore.pbproj/project.pbxproj: Turn off exceptions and RTTI for the framework.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9182 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      74627e06
    • darin's avatar
      Reviewed by Chris Petersen. · 8ed2c1d1
      darin authored
              - 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: http://svn.webkit.org/repository/webkit/trunk@9181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8ed2c1d1
  6. 18 May, 2005 3 commits
    • darin's avatar
      Reviewed by Maciej. · b4912e4f
      darin authored
              - 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: http://svn.webkit.org/repository/webkit/trunk@9180 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b4912e4f
    • darin's avatar
      Reviewed by Maciej. · 32fad45c
      darin authored
              - 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: http://svn.webkit.org/repository/webkit/trunk@9179 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      32fad45c
    • darin's avatar
      Reviewed by Maciej. · cfa71ee8
      darin authored
              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: http://svn.webkit.org/repository/webkit/trunk@9178 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cfa71ee8
  7. 17 May, 2005 2 commits
    • cblu's avatar
      Fixed: <rdar://problem/4119282> clicking a link in an RTF file opens the link... · 20d3d4b7
      cblu authored
      	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: http://svn.webkit.org/repository/webkit/trunk@9177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      20d3d4b7
    • cblu's avatar
      WebKit: · 989b6992
      cblu authored
      	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: http://svn.webkit.org/repository/webkit/trunk@9176 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      989b6992
  8. 16 May, 2005 4 commits
    • darin's avatar
      WebCore: · 9de1f6d2
      darin authored
              - 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: http://svn.webkit.org/repository/webkit/trunk@9175 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9de1f6d2
    • adele's avatar
      Tests: · a2ffab6b
      adele authored
              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: http://svn.webkit.org/repository/webkit/trunk@9174 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a2ffab6b
    • darin's avatar
      Reviewed by Adele. · b4ff6d04
      darin authored
              - 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: http://svn.webkit.org/repository/webkit/trunk@9173 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b4ff6d04
    • darin's avatar
      Reviewed by Adele. · 04b93fa5
      darin authored
              - 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: http://svn.webkit.org/repository/webkit/trunk@9172 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      04b93fa5
  9. 13 May, 2005 4 commits
    • sullivan's avatar
      * kwq/KWQTextArea.mm: · 6158038d
      sullivan authored
              (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
              added Radar numbers to FIXMEs about resizable textareas
              (-[KWQTextAreaTextView resetCursorRects]):
              ditto
              (-[KWQTextAreaTextView mouseDown:]):
              ditto
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6158038d
    • sullivan's avatar
      Reviewed by Kevin. · 593ac879
      sullivan authored
              - 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: http://svn.webkit.org/repository/webkit/trunk@9170 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      593ac879
    • darin's avatar
      Reviewed by Chris Blumenberg. · 1a76dc44
      darin authored
              - 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: http://svn.webkit.org/repository/webkit/trunk@9169 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1a76dc44
    • mjs's avatar
      Reviewed by Dave. · a0fe4047
      mjs authored
      	- 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: http://svn.webkit.org/repository/webkit/trunk@9168 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a0fe4047
  10. 12 May, 2005 4 commits
    • adele's avatar
      Reviewed by Maciej. · e5a72c77
      adele authored
              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: http://svn.webkit.org/repository/webkit/trunk@9167 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e5a72c77
    • sullivan's avatar
      WebCore: · e82a6b11
      sullivan authored
              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: http://svn.webkit.org/repository/webkit/trunk@9166 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e82a6b11
    • darin's avatar
      Reviewed by Maciej (except for some parts outside the ECMA directory). · 37da08c4
      darin authored
              - 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: http://svn.webkit.org/repository/webkit/trunk@9165 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      37da08c4
    • hyatt's avatar
      Improve the display of apple.com. innerWidth and innerHeight refer to the... · 5e39fdf2
      hyatt authored
      	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: http://svn.webkit.org/repository/webkit/trunk@9164 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5e39fdf2
  11. 11 May, 2005 4 commits
    • mjs's avatar
      Reviewed by Kevin. · c4e0d76f
      mjs authored
      	- 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: http://svn.webkit.org/repository/webkit/trunk@9163 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c4e0d76f
    • adele's avatar
      Reviewed by Darin. · 217dfda7
      adele authored
              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: http://svn.webkit.org/repository/webkit/trunk@9162 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      217dfda7
    • hyatt's avatar
      Fix the newline error I made backing out changes to the .in files in misc. · 70816212
      hyatt authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9161 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      70816212
    • mjs's avatar
      Reviewed by Kevin. · 9efaf6bd
      mjs authored
      	- 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: http://svn.webkit.org/repository/webkit/trunk@9160 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9efaf6bd
  12. 10 May, 2005 8 commits
    • hyatt's avatar
      Back out unintentional additions to HTML attrs and tags. · 439819c3
      hyatt authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9159 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      439819c3
    • hyatt's avatar
      Refactor the DOM so that the concept of class/style/id is no longer unique to... · 109781e6
      hyatt authored
      	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: http://svn.webkit.org/repository/webkit/trunk@9158 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      109781e6
    • darin's avatar
      Reviewed by Dave Hyatt. · 903a0c25
      darin authored
              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: http://svn.webkit.org/repository/webkit/trunk@9157 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      903a0c25
    • darin's avatar
      Reviewed by Chris Blumenberg. · d1fadd86
      darin authored
              - 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: http://svn.webkit.org/repository/webkit/trunk@9156 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d1fadd86
    • mjs's avatar
      Reviewed by John. · 8f1c741b
      mjs authored
      	- 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: http://svn.webkit.org/repository/webkit/trunk@9155 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8f1c741b
    • mjs's avatar
      Reviewed by John. · 850e125e
      mjs authored
      	- 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: http://svn.webkit.org/repository/webkit/trunk@9154 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      850e125e
    • darin's avatar
      Reviewed by David Harrison. · 8d315b9d
      darin authored
              - 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: http://svn.webkit.org/repository/webkit/trunk@9153 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8d315b9d
    • sullivan's avatar
      WebKit: · 8079533c
      sullivan authored
              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: http://svn.webkit.org/repository/webkit/trunk@9152 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8079533c