1. 08 Jul, 2006 2 commits
    • mjs's avatar
      Reviewed by Darin, tweaked slightly and landed by Maciej. · 965a62f1
      mjs authored
              http://bugzilla.opendarwin.org/show_bug.cgi?id=9787
              fast/frames tests failing (bad pointer to owner element) under MallocScribble
              
              * html/HTMLFrameElement.cpp:
              (WebCore::HTMLFrameElement::close):
              Disconnect the owner element of our frame.
              
              * html/HTMLIFrameElement.cpp:
              (WebCore::HTMLIFrameElement::attach):
              Don't call setFrame here.
              
              * html/HTMLPlugInElement.cpp:
              (WebCore::HTMLPlugInElement::detach):
              Disconnect the owner element of our frame.
      
              * html/HTMLPlugInElement.h:
              (WebCore::HTMLPlugInElement::setFrameName):        
              New function.
              
              * page/Frame.cpp:
              (WebCore::Frame::Frame):
              Don't call setFrame.
              
              (WebCore::Frame::~Frame):
              Null out the owner element.
              
              (WebCore::Frame::requestObject):
              When an object creates a child frame, assign it a name so it can be
              accessed from HTMLPlugInElement.
              
              * rendering/RenderPart.cpp:
              (WebCore::RenderPart::RenderPart):
              (WebCore::RenderPart::~RenderPart):
              * rendering/RenderPart.h:
              Get rid of setFrame.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15240 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      965a62f1
    • darin's avatar
      Reviewed by Geoff. · 5d430f1f
      darin authored
              - better fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9622
                REGRESSION: showModalDialog returnValue ignored, function result is always "undefined"
      
              * bindings/js/kjs_window.cpp:
              (KJS::showModalDialog): Set the return value after returning from the function if the
              window is not cleared; this is a better way to handle the case where the window does
              not get cleared before returning, and handles some new cases created by slight changes
              in the latest Safari properly too.
              (KJS::Window::clear): Changed logic slightly so we always store the result of getDirect
              into the return value slot -- the old code left the storage untouched if it was 0.
              Also made it only overwrite the return value slot if it's 0.
      
              * bindings/js/kjs_proxy.h:
              * bindings/js/kjs_proxy.cpp:
              * bindings/js/kjs_window.h:
              * bindings/js/kjs_window.cpp:
              * page/Frame.cpp:
              Roll the previous fix out.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5d430f1f
  2. 07 Jul, 2006 1 commit
    • lweintraub's avatar
      LayoutTests: · 6d377800
      lweintraub authored
              Reviewed by justin
      
              Improved table editing
      
              * editing/deleting/delete-to-select-table-expected.checksum: Added.
              * editing/deleting/delete-to-select-table-expected.png: Added.
              * editing/deleting/delete-to-select-table-expected.txt: Added.
              * editing/deleting/delete-to-select-table.html: Added.
              * editing/input/text-input-controller-expected.txt:
      
      WebCore:
      
              Reviewed by justin
      
              Improved table editing: pressing delete directly before or after a table will now select
              the table first, then delete it, instead of just deleting it. Useful for when the table's
              existence is non-obvious.
      
              * bridge/mac/FrameMac.h: Added shouldDeleteSelection, which allows WebCore to trigger
              deletion editing deligates
              * bridge/mac/FrameMac.mm: ditto
              (WebCore::FrameMac::shouldDeleteSelection):
              * bridge/mac/WebCoreFrameBridge.h: ditto
              * editing/TypingCommand.cpp: Implemented check for a caret position next to a table, and
              subsequent selection (as opposed to removal)
              (WebCore::TypingCommand::deleteKeyPressed):
              (WebCore::TypingCommand::forwardDeleteKeyPressed):
              * page/Frame.cpp: shouldDeleteSelection added
              (WebCore::Frame::shouldDeleteSelection):
              * page/Frame.h: ditto
      
      WebKit:
      
              Reviewed by justin
      
              Improved table editing
      
              * WebCoreSupport/WebFrameBridge.m: Added method to allow WebCore to trigger
              deletion editing delegate
              (-[WebFrameBridge shouldDeleteSelectedDOMRange:]):
              * WebView/WebHTMLView.m: Moved code that expanded a selection when the delete
              key is pressed over to WebCore so we can be more intelligent about how to handle it
              (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]):
              (-[NSArray _deleteWithDirection:granularity:killRing:isTypingAction:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15206 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6d377800
  3. 05 Jul, 2006 1 commit
    • andersca's avatar
      WebCore: · 3a434621
      andersca authored
      2006-07-05  Anders Carlsson  <acarlsson@apple.com>
      
              Reviewed by Maciej.
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=3581
              iFrames set to display:none are Missing from frames array
      
              * bridge/mac/FrameMac.h:
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::FrameMac):
              (WebCore::FrameMac::createFrame):
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge initSubframeWithOwnerElement:]):
              (-[WebCoreFrameBridge installInFrame:]):
              Modify to pass the owner element instead of the owner renderer.        
      
              * dom/ContainerNode.cpp:
              (WebCore::ContainerNode::insertBefore):
              (WebCore::ContainerNode::replaceChild):
              (WebCore::ContainerNode::appendChild):
              Dispatch the node inserted events before attaching the nodes. This is what the
              tokenizer does.
              
              * html/HTMLFrameElement.cpp:
              (WebCore::HTMLFrameElement::openURL):
              (WebCore::HTMLFrameElement::attach):
              Pass the element to requestFrame.
              
              (WebCore::HTMLFrameElement::setLocation):
              Don't call attach/detach on an iframe.
      
              * html/HTMLIFrameElement.cpp:
              (WebCore::HTMLIFrameElement::insertedIntoDocument):
              Load the frame here (using openURL).
              
              (WebCore::HTMLIFrameElement::removedFromDocument):
              Call frameDetached.
              
              (WebCore::HTMLIFrameElement::attach):
              If there's a renderer, attach the content frame to it.
              
              (WebCore::HTMLIFrameElement::detach):
              Reset the renderer's frame.
              
              (WebCore::HTMLIFrameElement::openURL):
              Modify to request the frame.
              
              * html/HTMLIFrameElement.h:
              Add detach.
              
              * page/Frame.cpp:
              (WebCore::parentFromOwnerElement):
              (WebCore::Frame::Frame):
              (WebCore::Frame::~Frame):
              (WebCore::Frame::requestFrame):
              (WebCore::Frame::requestObject):
              (WebCore::Frame::loadSubframe):
              (WebCore::Frame::ownerElement):
              (WebCore::Frame::ownerRenderer):
              (WebCore::Frame::disconnectOwnerElement):
              * page/Frame.h:
              * page/FramePrivate.h:
              (WebCore::FramePrivate::FramePrivate):        
              * rendering/RenderPart.cpp:
              (WebCore::RenderPart::setFrame):
              Modify to keep an owner element around instead of the renderer. 
              
              * rendering/RenderPartObject.cpp:
              (WebCore::RenderPartObject::updateWidget):
              Don't do anything for iframes.
      
      WebKit:
      
      2006-07-05  Anders Carlsson  <acarlsson@apple.com>
      
              Reviewed by Maciej.
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=3581
              iFrames set to display:none are Missing from frames array
              
              * WebCoreSupport/WebFrameBridge.m:
              (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
              (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
              Modify to pass the owner element instead of the owner renderer.
              
              * WebView/WebHTMLView.m:
              (-[WebHTMLView _topHTMLView]):
              Remove assertion, it's not valid anymore.
      
      LayoutTests:
      
      2006-07-05  Anders Carlsson  <acarlsson@apple.com>
      
              Reviewed by Maciej.
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=3581
              iFrames set to display:none are Missing from frames array
      
              * fast/events/mouseover-mouseout2-expected.txt:
              * fast/events/mouseover-mouseout2.html:
              Update expected result. Since we now keep the frame around, the mouseout event is 
              now dispatched to the element in the frame.
      
              * fast/events/onloadFrameCrash-expected.checksum:
              * fast/events/onloadFrameCrash-expected.png:
              * fast/events/onloadFrameCrash-expected.txt:
              This does hide the frame now.
              
              * fast/frames/iframe-display-none-expected.txt: Added.
              * fast/frames/iframe-display-none.html: Added.
              * fast/frames/resources/iframe-display-none-child.html: Added.
              New test that tests JS interaction with frames.
              
              * fast/frames/iframe-double-attach-expected.txt: Added.
              * fast/frames/iframe-double-attach.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15170 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3a434621
  4. 29 Jun, 2006 1 commit
    • darin's avatar
      Reviewed by Anders. · 7a4828e0
      darin authored
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9622
                showModalDialog returnValue ignored, function result is always "undefined"
      
              * manual-tests/modal-dialog.html: Added.
              * manual-tests/show-modal-dialog-test.html: Added.
      
              * page/Frame.cpp: (WebCore::Frame::clear): Call KJSProxy::clear with the
              clearWindowProperties parameter instead of not calling it at all when
              clearWindowProperties is false.
      
              * bindings/js/kjs_proxy.h: Add boolean clearWindowProperties parameter.
              * bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::clear): Pass clearWindowProperties
              variable through to Window::clear instead of not calling it at all.
      
              * bindings/js/kjs_window.h: Add boolean clearWindowProperties parameter.
              * bindings/js/kjs_window.cpp: (KJS::Window::clear): If clearWindowProperties
              is false, do only the returnValue work, not the rest of the work.
      
              * manual-tests/modal-dialog.html: Added.
              * manual-tests/show-modal-dialog-test.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15097 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7a4828e0
  5. 26 Jun, 2006 2 commits
    • hyatt's avatar
      Fix for 9538, support syntax highlighted HTML source. Lots of loose · 3ad24079
      hyatt authored
              ends still (script/style/comments/doctype/entities/accurate whitespace).
      
              Reviewed by darin
      
              * DerivedSources.make:
              * WebCore.xcodeproj/project.pbxproj:
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge setInViewSourceMode:]):
              (-[WebCoreFrameBridge inViewSourceMode]):
              * css/cssstyleselector.cpp:
              (WebCore::CSSStyleSelector::loadDefaultStyle):
              (WebCore::CSSStyleSelector::matchUARules):
              * css/cssstyleselector.h:
              * css/view-source.css: Added.
              * dom/Document.cpp:
              (WebCore::Document::implicitClose):
              * dom/xml_tokenizer.h:
              (WebCore::Tokenizer::Tokenizer):
              (WebCore::Tokenizer::~Tokenizer):
              (WebCore::Tokenizer::inViewSourceMode):
              (WebCore::Tokenizer::setInViewSourceMode):
              * html/HTMLAttributeNames.in:
              * html/HTMLFrameElement.cpp:
              (WebCore::HTMLFrameElement::init):
              (WebCore::HTMLFrameElement::parseMappedAttribute):
              (WebCore::HTMLFrameElement::attach):
              * html/HTMLFrameElement.h:
              (WebCore::HTMLFrameElement::viewSourceMode):
              * html/HTMLTokenizer.cpp:
              (WebCore::HTMLTokenizer::HTMLTokenizer):
              (WebCore::HTMLTokenizer::scriptHandler):
              (WebCore::HTMLTokenizer::scriptExecution):
              (WebCore::HTMLTokenizer::parseTag):
              (WebCore::HTMLTokenizer::continueProcessing):
              (WebCore::HTMLTokenizer::write):
              (WebCore::HTMLTokenizer::timerFired):
              (WebCore::HTMLTokenizer::end):
              (WebCore::HTMLTokenizer::processToken):
              (WebCore::HTMLTokenizer::notifyFinished):
              * html/HTMLTokenizer.h:
              * html/HTMLViewSourceDocument.cpp: Added.
              (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
              (WebCore::HTMLViewSourceDocument::createTokenizer):
              (WebCore::HTMLViewSourceDocument::addViewSourceToken):
              (WebCore::HTMLViewSourceDocument::addViewSourceAttribute):
              (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
              * html/HTMLViewSourceDocument.h: Added.
              * page/Frame.cpp:
              (WebCore::Frame::begin):
              (WebCore::Frame::inViewSourceMode):
              (WebCore::Frame::setInViewSourceMode):
              * page/Frame.h:
              * page/FramePrivate.h:
              (WebCore::FramePrivate::FramePrivate):
              * rendering/RenderPartObject.cpp:
              (WebCore::RenderPartObject::updateWidget):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15050 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3ad24079
    • andersca's avatar
      2006-06-26 Anders Carlsson <acarlsson@apple.com> · 5dc61eae
      andersca authored
              Reviewed by Darin.
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=9031
              REGRESSION: Crash when closing tabs on newegg.com
              
              * page/Frame.cpp:
              (WebCore::Frame::pageDestroyed):        
              * page/Frame.h:
              Add new method which is invoked when the frame's page has been destroyed.
              Currently this function disassociates the JS Window object with the frame, 
              stopping any running JS timers.
              
              * page/Page.cpp:
              (WebCore::Page::~Page):
              Call pageDestroyed on all frames.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5dc61eae
  6. 24 Jun, 2006 1 commit
    • ap's avatar
      Reviewed by Darin. · c548c22a
      ap authored
              - http://bugzilla.opendarwin.org/show_bug.cgi?id=8177
              Javascript search incredibly slow
      
              No change in functionality, thus no test.
      
              Use info sharing for named collections, too. Moved shared HTMLCollection infos from HTMLDocument 
              to Document.  Renamed collection types to use the preferred WebKit style. Replaced direct
              HTMLCollection creation with using accessors from Document in a few places.
      
              * bindings/objc/DOMHTML.mm:
              (-[DOMHTMLElement children]):
              (-[DOMHTMLDocument images]):
              (-[DOMHTMLDocument applets]):
              (-[DOMHTMLDocument links]):
              (-[DOMHTMLDocument forms]):
              (-[DOMHTMLDocument anchors]):
              (-[DOMHTMLMapElement areas]):
              (-[DOMHTMLTableSectionElement rows]):
              (-[DOMHTMLTableElement rows]):
              (-[DOMHTMLTableElement tBodies]):
              (-[DOMHTMLTableRowElement cells]):
              * dom/Document.cpp:
              (WebCore::Document::images):
              (WebCore::Document::applets):
              (WebCore::Document::embeds):
              (WebCore::Document::objects):
              (WebCore::Document::scripts):
              (WebCore::Document::links):
              (WebCore::Document::forms):
              (WebCore::Document::anchors):
              (WebCore::Document::all):
              (WebCore::Document::windowNamedItems):
              (WebCore::Document::documentNamedItems):
              (WebCore::Document::nameCollectionInfo):
              * dom/Document.h:
              (WebCore::Document::collectionInfo):
              * html/HTMLCollection.cpp:
              (WebCore::HTMLCollection::HTMLCollection):
              (WebCore::HTMLCollection::traverseNextItem):
              (WebCore::HTMLCollection::checkForNameMatch):
              (WebCore::HTMLCollection::updateNameCache):
              * html/HTMLCollection.h:
              (WebCore::HTMLCollection::):
              * html/HTMLDocument.h:
              * html/HTMLElement.cpp:
              (WebCore::HTMLElement::children):
              * html/HTMLMapElement.cpp:
              (WebCore::HTMLMapElement::areas):
              * html/HTMLNameCollection.h:
              * html/HTMLNameCollection.cpp:
              (WebCore::HTMLNameCollection::HTMLNameCollection):
              (WebCore::HTMLNameCollection::traverseNextItem):
              * html/HTMLFormCollection.cpp:
              * html/HTMLOptionsCollection.cpp:
              (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
              * html/HTMLSelectElement.h:
              (WebCore::HTMLSelectElement::collectionInfo):
              * html/HTMLTableElement.cpp:
              (WebCore::HTMLTableElement::rows):
              (WebCore::HTMLTableElement::tBodies):
              * html/HTMLTableRowElement.cpp:
              (WebCore::HTMLTableRowElement::cells):
              * html/HTMLTableSectionElement.cpp:
              (WebCore::HTMLTableSectionElement::rows):
              * kwq/WebCoreAXObject.mm:
              (-[WebCoreAXObject accessibilityAttributeValue:]):
              * page/Frame.cpp:
              (WebCore::Frame::gotoAnchor):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15006 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c548c22a
  7. 23 Jun, 2006 1 commit
    • sullivan's avatar
      Reviewed by Tim Omernick · d8424e33
      sullivan authored
              
              - fixed <rdar://problem/4597685> stale rects for document markers can be left behind in certain cases
      
              * dom/Document.h:
              * dom/Document.cpp:
              (WebCore::Document::setRenderedRectForMarker):
              changed parameter from IntRect to const IntRect& at Darin's request
              (WebCore::Document::invalidateRenderedRectsForMarkersInRect):
              new method, tests whether the rendered rect for each marker intersects the
              passed rect. If so, sets the rendered rect back to the placeholder rect that
              means that the rect for this marker isn't known.
              
              * page/Frame.cpp:
              (WebCore::Frame::paint):
              call invalidateRenderedRectsForMarkersInRect on the rect we're about to paint.
              This ensures that old stale rects won't be preserved if the associated marker
              has moved such that it is out of the painted area.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14998 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d8424e33
  8. 20 Jun, 2006 1 commit
    • adele's avatar
      LayoutTests: · 19869953
      adele authored
              Reviewed by Maciej.
      
              Tests for:
              http://bugzilla.opendarwin.org/show_bug.cgi?id=8724
              REGRESSION: onSelect handler doesn't work for text fields
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=7676
              REGRESSION: Selection methods on new text fields don't work if text field is hidden
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=8867
              REGRESSION: selectionStart/End return 0 for input element once it no longer has focus
      
              * fast/forms/double-focus-expected.txt:
              * fast/forms/input-selection-hidden-expected.txt: Added.
              * fast/forms/input-selection-hidden.html: Added.
              * fast/forms/input-selection-restore-expected.txt: Added.
              * fast/forms/input-selection-restore.html: Added.
              * fast/forms/input-text-paste-maxlength-expected.txt:
              * fast/forms/onselect-textarea-expected.txt: Added.
              * fast/forms/onselect-textarea.html: Added.
              * fast/forms/onselect-textfield-expected.txt: Added.
              * fast/forms/onselect-textfield.html: Added.
              * fast/forms/selection-functions-expected.txt:
      
      WebCore:
      
              Reviewed by Maciej.
      
              Fixes for:
              http://bugzilla.opendarwin.org/show_bug.cgi?id=8724
              REGRESSION: onSelect handler doesn't work for text fields
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=7676
              REGRESSION: Selection methods on new text fields don't work if text field is hidden
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=8867
              REGRESSION: selectionStart/End return 0 for input element once it no longer has focus
      
              Implemented onSelect for new text fields and textareas.  Also fixed selection restore
              behavior to better match other browsers and Safari 2.0 behavior.
      
              Tests:
              * fast/forms/input-selection-restore.html
              * fast/forms/input-selection-hidden.html
              * fast/forms/onselect-textarea.html
              * fast/forms/onselect-textfield.html
      
              * html/HTMLInputElement.h: (WebCore::HTMLInputElement::cacheSelection): Added.
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::init): Initializes cached selection.
              (WebCore::HTMLInputElement::selectionStart): If this element doesn't have focus, return the cached selection value.
              (WebCore::HTMLInputElement::selectionEnd): ditto.
              (WebCore::HTMLInputElement::setValue): Restore a caret at the starting point of the old selection.  Matches Safari 2.0 behavior.
      
              * html/HTMLTextAreaElement.h: (WebCore::HTMLTextAreaElement::cacheSelection): Added.
              * html/HTMLTextAreaElement.cpp:
              (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Initializes cached selection.
              (WebCore::HTMLTextAreaElement::selectionStart): If this element doesn't have focus, return the cached selection value.
              (WebCore::HTMLTextAreaElement::selectionEnd): ditto.
              (WebCore::HTMLTextAreaElement::focus): If this is the first focus, set a caret at the end of the text.  Otherwise,
              restore the cached selection.  This matches other browsers' behavior.
              (WebCore::HTMLTextAreaElement::setValue): Restore a caret at the starting point of the old selection.  Matches Safari 2.0 behavior.
      
              * page/Frame.h: Added notifyRendererOfSelectionChange method. 
              * page/Frame.cpp:
              (WebCore::Frame::notifyRendererOfSelectionChange): Added.  Calls selectionChanged for text fields and textareas.  Forwards a userTriggered
              argument so selectionChanged knows whether or not to fire onSelect.
              (WebCore::Frame::setSelection): Calls notifyRendererOfSelectionChange(false).  This gets called for all selection changes, so the renderer
              can always update its cached selection values.
              (WebCore::Frame::handleMouseReleaseEvent): Calls notifyRendererOfSelectionChange(true) so onSelect will get fired when the user is done
              making a selection with the mouse.
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]): Calls notifyRendererOfSelectionChange(true) so onSelect gets
              fired when the user makes a selection with the keyboard.
              (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]): ditto.
      
              * rendering/RenderTextField.h: Add userTriggered parameter to selectionChanged.
              * rendering/RenderTextField.cpp:
              (WebCore::RenderTextField::setSelectionRange): For visibility:hidden, cache the selection and 
              return early since we won't be able to actually set the selection.
              (WebCore::RenderTextField::selectionChanged): Caches the selection.  
              If the selection is a range, and its triggered by user action, then fire the onSelect event.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14931 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      19869953
  9. 19 Jun, 2006 2 commits
    • ap's avatar
      Reviewed by Darin. · a01e8e12
      ap authored
              - http://bugzilla.opendarwin.org/show_bug.cgi?id=5499
              Page reload does not send any cache control headers
      
      WebCore:
              * bindings/js/kjs_window.cpp:
              (KJS::LocationFunc::callAsFunction): Call scheduleRefresh() for Location::Reload.
      
              * page/Frame.h: Add scheduleRefresh(). Don't derive from TransferJob or implement its methods - that was
              used only for storing response HTTP headers, which was an overkill.
      
              * page/FramePrivate.h: Replace TransferJob with a HashMap for storing response headers.
      
              * page/Frame.cpp:
              (WebCore::Frame::didOpenURL): Don't needlessly change d->m_cachePolicy. Don't create a TransferJob.
              (WebCore::Frame::stopLoading): Directly access the metadata map, instead of going through a TransferJob.
              (WebCore::Frame::receivedFirstData): Ditto.
              (WebCore::Frame::addMetaData): Ditto.
              (WebCore::Frame::scheduleRefresh): A new function that schedules a refresh, similarly to what
              scheduleRedirection() does.
              (WebCore::Frame::changeLocation): Set request.reload attribute based on the current cache policy.
      
      WebKit:
              * WebView/WebFrame.m:
              (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]): Set a proper Cache-Control header for 
              reload requests.
              (-[WebFrame loadRequest:]): Reset loadType to WebFrameLoadTypeStandard (after a reload, it stayed at 
              WebFrameLoadTypeReload, so _addExtraFieldsToRequest erroneously added a Cache-Control header to them).
      
      LayoutTests:
              * http/tests/misc/refresh-headers-expected.txt: Added.
              * http/tests/misc/refresh-headers.php: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14920 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a01e8e12
    • weinig's avatar
      · 681a517b
      weinig authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14916 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      681a517b
  10. 15 Jun, 2006 1 commit
    • justing's avatar
      LayoutTests: · c35c5d23
      justing authored
              Reviewed by harrison
              
              <http://bugzilla.opendarwin.org/show_bug.cgi?id=9456>
              REGRESSION (417.9.2-420+): Cmd-G doesn't work in Safari after double-click and Cmd-E
      
              * editing/execCommand/findString-2-expected.checksum: Added.
              * editing/execCommand/findString-2-expected.png: Added.
              * editing/execCommand/findString-2-expected.txt: Added.
              * editing/execCommand/findString-2.html: Added.
      
      WebCore:
      
              Reviewed by harrison
              
              <http://bugzilla.opendarwin.org/show_bug.cgi?id=9456>
              REGRESSION (417.9.2-420+): Cmd-G doesn't work in Safari after double-click and Cmd-E
              
              * page/Frame.cpp:
              (WebCore::Frame::findString): When comparing the found range with
              what's currently selected a) build a selection with the found
              range to remove collapsed whitespace and b) compare ranges 
              instead of selection objects to ignore the way that the 
              current selection was made (to ignore the base and extent).
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c35c5d23
  11. 12 Jun, 2006 1 commit
  12. 11 Jun, 2006 1 commit
    • andersca's avatar
      WebCore: · c79dba31
      andersca authored
      2006-06-11  Anders Carlsson  <acarlsson@apple.com>
      
              Reviewed by Geoff.
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=9390
              Move full-frame plugins to WebCore
              
              * WebCore.vcproj/WebCore/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              Add PluginDocument
              
              * bridge/mac/FrameMac.h:
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::redirectDataToPlugin):
              Call the bridge.
              
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              Add redirectDataToPlugin which is used to redirect incoming data
              to a plugin.
              
              * bridge/mac/WebCoreViewFactory.h:
              Add pluginSupportsMIMEType which returns whether any plugins support a given MIME type.
              
              * dom/DOMImplementation.cpp:
              * dom/DOMImplementation.h:
              Get rid of createTextDocument and just create a text document explicitly when needed.
              
              * dom/Document.h:
              (WebCore::Document::isPluginDocument):
              * loader/PluginDocument.cpp: Added.
              (WebCore::PluginTokenizer::PluginTokenizer):
              (WebCore::PluginTokenizer::wantsRawData):
              (WebCore::PluginTokenizer::write):
              (WebCore::PluginTokenizer::createDocumentStructure):
              (WebCore::PluginTokenizer::writeRawData):
              (WebCore::PluginTokenizer::stopParsing):
              (WebCore::PluginTokenizer::finish):
              (WebCore::PluginTokenizer::isWaitingForScripts):
              (WebCore::PluginDocument::PluginDocument):
              (WebCore::PluginDocument::createTokenizer):
              * loader/PluginDocument.h: Added.
              (WebCore::PluginDocument::isPluginDocument):
              Add PluginDocument.
              
              * page/Frame.cpp:
              (WebCore::Frame::begin):
              Possibly create a plugin document.
              
              * page/Frame.h:
              (WebCore::Frame::redirectDataToPlugin):
              Add declaration.
              
              * platform/PlugInInfoStore.h:
              * platform/mac/PlugInInfoStoreMac.mm:
              (WebCore::PlugInInfoStore::supportsMIMEType):
              Ask WebCoreViewFactory if the MIME type is supported.
      
      WebKit:
      
      2006-06-11  Anders Carlsson  <acarlsson@apple.com>
      
              Reviewed by Tim.
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=9390
              Move full-frame plugins to WebCore
      
              * Plugins/WebBaseNetscapePluginStream.h:
              * Plugins/WebBaseNetscapePluginStream.m:
              (-[WebBaseNetscapePluginStream instance]):
              Add instance method which returns the plugin instance.
              
              * Plugins/WebBasePluginPackage.h:
              Add WebPluginManualLoader protocol
              
              * Plugins/WebNetscapePluginDocumentView.h: Removed.
              * Plugins/WebNetscapePluginDocumentView.m: Removed.
      
              * Plugins/WebNetscapePluginEmbeddedView.h:
              * Plugins/WebNetscapePluginEmbeddedView.m:
              (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:]):
              (-[WebNetscapePluginEmbeddedView dealloc]):
              (-[WebNetscapePluginEmbeddedView didStart]):
              (-[WebNetscapePluginEmbeddedView pluginView:receivedResponse:]):
              (-[WebNetscapePluginEmbeddedView pluginView:receivedData:]):
              (-[WebNetscapePluginEmbeddedView pluginView:receivedError:]):
              (-[WebNetscapePluginEmbeddedView pluginViewFinishedLoading:]):
              (-[WebNetscapePluginEmbeddedView redeliverStream]):
              Make WebNetscapePluginEmbeddedView support the WebPluginManualLoader protocol. It creates a plugin stream and feeds the
              data manually. Much of this code has been copied from WebNetscapePluginRepresentation.
      
              * Plugins/WebNetscapePluginRepresentation.h: Removed.
              * Plugins/WebNetscapePluginRepresentation.m: Removed.
      
              * Plugins/WebPluginController.h:
              * Plugins/WebPluginController.m:
              (-[WebPluginController pluginView:receivedResponse:]):
              (-[WebPluginController pluginView:receivedData:]):
              (-[WebPluginController pluginView:receivedError:]):
              (-[WebPluginController pluginViewFinishedLoading:]):
              Make WebPluginController support the WebPluginManualLoader protocol so it can feed data manually to WebKit plugins.
      
              * Plugins/WebPluginDatabase.m:        
              (-[WebPluginDatabase refresh]):
              Use WebHTMLView and WebHTMLRepresentation when registering/unregistering plug-in MIME types.
              
              * Plugins/WebPluginDocumentView.h: Removed.
              * Plugins/WebPluginDocumentView.m: Removed.
      
              * WebCoreSupport/WebFrameBridge.m:
              (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
              (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
              Add loadManually argument.
              
              (-[WebFrameBridge redirectDataToPlugin:]):
              Call down to the HTML representation.
              
              (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
              Pass NO to loadManually.
              
              (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
              Explicitly check if the MIME type is supported by a plug-in instead of checking the view class.
              
              * WebCoreSupport/WebViewFactory.m:
              (-[WebViewFactory pluginSupportsMIMEType:]):
              New function which returns whether any plugins support a given MIME type.
              
              * WebKit.xcodeproj/project.pbxproj:
              Update for removed files.
              
              * WebView/WebFrame.m:
              (-[WebFrame _reloadForPluginChanges]):
              Remove view type checks.
              
              (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
              (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
              Remove FIXME comments.
              
              * WebView/WebHTMLRepresentation.m:
              (-[WebHTMLRepresentation _redirectDataToManualLoader:forPluginView:]):        
              New function which redirects incoming data to a manual loader.
              
              (-[WebHTMLRepresentation receivedData:withDataSource:]):
              (-[WebHTMLRepresentation receivedError:withDataSource:]):
              (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
              Optionally redirect incoming data.
              
              * WebView/WebHTMLRepresentationPrivate.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14811 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c79dba31
  13. 09 Jun, 2006 5 commits
    • hyatt's avatar
      Fix win32 build bustage. · be77b9dd
      hyatt authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      be77b9dd
    • hyatt's avatar
      Rename m_isFocused on the frame to m_isActive, since it isn't really · df52ae62
      hyatt authored
              about focus but is instead about whether or not the top-level window is
              active.
      
              Pull code that was incorrectly factored into Mac-only code out of FrameMac
              and back up into Frame.
      
              Reviewed by andersca
      
              * bridge/mac/FrameMac.h:
              * bridge/mac/FrameMac.mm:
              * page/Frame.cpp:
              (WebCore::Frame::setFocusNodeIfNeeded):
              (WebCore::Frame::isActive):
              (WebCore::Frame::setIsActive):
              * page/FramePrivate.h:
              (WebCore::FramePrivate::FramePrivate):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14791 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      df52ae62
    • hyatt's avatar
      WebCore: · 76a0c024
      hyatt authored
              Rework selection coloring.  Rename displaysWithFocusAttributes
              to isActive.  Move the white-blending code onto the Color API to make
              it more convenient to mutate colors for selection blending.  Eliminate all
              the selection state from the GraphicsContext and move it to the RenderTheme.
              Implement both Win32 and Mac theme selection colors.
      
              Reviewed by sfalken
      
              * bridge/mac/FrameMac.h:
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::setIsActive):
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge drawRect:]):
              (-[WebCoreFrameBridge setIsActive:]):
              (-[WebCoreFrameBridge selectionColor]):
              * css/cssstyleselector.cpp:
              (WebCore::CSSStyleSelector::checkOneSelector):
              * page/Frame.cpp:
              (WebCore::Frame::isActive):
              (WebCore::Frame::setIsActive):
              * page/Frame.h:
              * platform/Color.cpp:
              (WebCore::blend):
              (WebCore::Color::blendWithWhite):
              * platform/Color.h:
              (WebCore::Color::hasAlpha):
              * platform/GraphicsContext.cpp:
              (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
              * platform/GraphicsContext.h:
              * platform/mac/GraphicsContextMac.mm:
              * platform/win/TemporaryLinkStubs.cpp:
              (GraphicsContext::endTransparencyLayer):
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paintSelection):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::fillHorizontalSelectionGap):
              (WebCore::RenderBlock::fillVerticalSelectionGap):
              (WebCore::RenderBlock::fillLeftSelectionGap):
              (WebCore::RenderBlock::fillRightSelectionGap):
              * rendering/RenderHTMLCanvas.cpp:
              (WebCore::RenderHTMLCanvas::paint):
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::paint):
              * rendering/RenderListMarker.cpp:
              (WebCore::RenderListMarker::paint):
              * rendering/RenderListMarker.h:
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::selectionColor):
              * rendering/RenderObject.h:
              * rendering/RenderReplaced.cpp:
              * rendering/RenderReplaced.h:
              * rendering/RenderTheme.cpp:
              (WebCore::RenderTheme::activeSelectionColor):
              (WebCore::RenderTheme::inactiveSelectionColor):
              (WebCore::RenderTheme::platformActiveSelectionColor):
              (WebCore::RenderTheme::platformInactiveSelectionColor):
              * rendering/RenderTheme.h:
              * rendering/RenderThemeMac.h:
              * rendering/RenderThemeMac.mm:
              (WebCore::RenderThemeMac::platformActiveSelectionColor):
              (WebCore::RenderThemeMac::platformInactiveSelectionColor):
              * rendering/RenderThemeWin.cpp:
              (WebCore::RenderThemeWin::platformActiveSelectionColor):
              (WebCore::RenderThemeWin::platformInactiveSelectionColor):
              * rendering/RenderThemeWin.h:
              * rendering/RenderWidget.cpp:
              (WebCore::RenderWidget::paint):
      
      WebKit:
      
              Rename displaysWithFocusAttributes to isActive.
      
              Reviewed by sfalken
      
              * WebKit.xcodeproj/project.pbxproj:
              * WebView/WebHTMLView.m:
              (-[WebHTMLView _updateFocusState]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14784 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      76a0c024
    • justing's avatar
      LayoutTests: · 7c9568d1
      justing authored
              Reviewed by levi
              
              <rdar://problem/4549980>
              REGRESSION: "Find Again" can get stuck when searching for string with a trailing space
      
              * editing/execCommand/findString-expected.checksum: Added.
              * editing/execCommand/findString-expected.png: Added.
              * editing/execCommand/findString-expected.txt: Added.
              * editing/execCommand/findString.html: Added.
      
      WebCore:
      
              Reviewed by levi
              
              <rdar://problem/4549980>
              REGRESSION: "Find Again" can get stuck when searching for string with a trailing space
      
              * bridge/mac/FrameMac.h: Moved findString to Frame.
              * bridge/mac/FrameMac.mm: Ditto.
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge searchFor:direction:caseSensitive:wrap:]): 
              Convert the NSString to a String.
              * editing/JSEditor.cpp: Added execCommand(FindString, ...)
              * editing/Selection.cpp: Added a constructor for Ranges
              (WebCore::Selection::Sele...
      7c9568d1
    • bdakin's avatar
      Reviewed by Hyatt. Tweaked by Maciej. Tweaks reviewed by Beth. · 1f63b91e
      bdakin authored
              Landed by Beth.
      
              CSS3 Media Queries implementation.
              <http://bugzilla.opendarwin.org/show_bug.cgi?id=4127>
      
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/kjs_css.cpp:
              (KJS::DOMMediaList::put):
              (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
              * bindings/objc/DOMCSS.mm:
              (-[DOMMediaList setMediaText:]):
              (-[DOMMediaList deleteMedium:]):
              (-[DOMMediaList appendMedium:]):
              * css/CSSGrammar.y:
              * css/MediaFeatureNames.cpp: Added.
              (WebCore::MediaFeatureNames::init):
              * css/MediaFeatureNames.h: Added.
              * css/MediaList.cpp:
              (WebCore::MediaList::MediaList):
              (WebCore::MediaList::~MediaList):
              (WebCore::parseMediaDescriptor):
              (WebCore::MediaList::deleteMedium):
              (WebCore::MediaList::mediaText):
              (WebCore::MediaList::setMediaText):
              (WebCore::MediaList::item):
              (WebCore::MediaList::appendMedium):
              (WebCore::MediaList::appendMediaQuery):
              * css/MediaList.h:
              (WebCore::MediaList::MediaList):
              (WebCore::MediaList::length):
              (WebCore::MediaList::mediaQueries):
              * css/MediaQuery.cpp: Added.
              (WebCore::MediaQuery::MediaQuery):
              (WebCore::MediaQuery::~MediaQuery):
              (WebCore::MediaQuery::operator==):
              (WebCore::MediaQuery::cssText):
              * css/MediaQuery.h: Added.
              (WebCore::MediaQuery::):
              (WebCore::MediaQuery::restrictor):
              (WebCore::MediaQuery::expressions):
              (WebCore::MediaQuery::mediaType):
              (WebCore::MediaQuery::append):
              * css/MediaQueryEvaluator.cpp: Added.
              (WebCore::):
              (WebCore::MediaQueryEvaluator):
              (WebCore::MediaQueryEvaluator::~MediaQueryEvaluator):
              (WebCore::MediaQueryEvaluator::mediaTypeMatch):
              (WebCore::applyRestrictor):
              (WebCore::MediaQueryEvaluator::eval):
              (WebCore::parseAspectRatio):
              (WebCore::cmpvalue):
              (WebCore::numberValue):
              (WebCore::colorMediaFeatureEval):
              (WebCore::monochromeMediaFeatureEval):
              (WebCore::device_aspect_ratioMediaFeatureEval):
              (WebCore::gridMediaFeatureEval):
              (WebCore::device_heightMediaFeatureEval):
              (WebCore::device_widthMediaFeatureEval):
              (WebCore::heightMediaFeatureEval):
              (WebCore::widthMediaFeatureEval):
              (WebCore::min_colorMediaFeatureEval):
              (WebCore::max_colorMediaFeatureEval):
              (WebCore::min_monochromeMediaFeatureEval):
              (WebCore::max_monochromeMediaFeatureEval):
              (WebCore::min_device_aspect_ratioMediaFeatureEval):
              (WebCore::max_device_aspect_ratioMediaFeatureEval):
              (WebCore::min_heightMediaFeatureEval):
              (WebCore::max_heightMediaFeatureEval):
              (WebCore::min_widthMediaFeatureEval):
              (WebCore::max_widthMediaFeatureEval):
              (WebCore::min_device_heightMediaFeatureEval):
              (WebCore::max_device_heightMediaFeatureEval):
              (WebCore::min_device_widthMediaFeatureEval):
              (WebCore::max_device_widthMediaFeatureEval):
              (WebCore::createFunctionMap):
              * css/MediaQueryEvaluator.h: Added.
              * css/MediaQueryExp.cpp: Added.
              (WebCore::MediaQueryExp::MediaQueryExp):
              (WebCore::MediaQueryExp::~MediaQueryExp):
              * css/MediaQueryExp.h: Added.
              (WebCore::MediaQueryExp::mediaFeature):
              (WebCore::MediaQueryExp::value):
              (WebCore::MediaQueryExp::operator==):
              * css/StyleSheet.cpp:
              (WebCore::StyleSheet::setMedia):
              * css/cssparser.cpp:
              (WebCore::CSSParser::CSSParser):
              (WebCore::CSSParser::~CSSParser):
              (WebCore::CSSParser::setupParser):
              (WebCore::CSSParser::parseMediaQuery):
              (WebCore::CSSParser::createFloatingMediaQueryExp):
              (WebCore::CSSParser::sinkFloatingMediaQueryExp):
              (WebCore::CSSParser::createFloatingMediaQueryExpList):
              (WebCore::CSSParser::sinkFloatingMediaQueryExpList):
              (WebCore::CSSParser::createFloatingMediaQuery):
              (WebCore::CSSParser::sinkFloatingMediaQuery):
              * css/cssparser.h:
              * css/cssstyleselector.cpp:
              (WebCore::CSSStyleSelector::CSSStyleSelector):
              (WebCore::CSSStyleSelector::init):
              (WebCore::CSSStyleSelector::~CSSStyleSelector):
              (WebCore::CSSStyleSelector::loadDefaultStyle):
              (WebCore::CSSStyleSelector::matchUARules):
              (WebCore::CSSStyleSelector::styleForElement):
              (WebCore::CSSStyleSelector::pseudoStyleForElement):
              (WebCore::CSSStyleSelector::updateFont):
              (WebCore::CSSStyleSelector::cacheBorderAndBackground):
              (WebCore::CSSStyleSelector::styleRulesForElement):
              (WebCore::CSSRuleSet::addRulesFromSheet):
              * css/cssstyleselector.h:
              * css/maketokenizer:
              * css/tokenizer.flex:
              * dom/DOMImplementation.cpp:
              (WebCore::DOMImplementation::createCSSStyleSheet):
              * html/HTMLLinkElement.cpp:
              (WebCore::HTMLLinkElement::process):
              (WebCore::HTMLLinkElement::setStyleSheet):
              * html/HTMLStyleElement.cpp:
              (WebCore::HTMLStyleElement::childrenChanged):
              * ksvg2/svg/SVGDOMImplementation.cpp:
              (SVGDOMImplementation::createCSSStyleSheet):
              * ksvg2/svg/SVGStyleElement.cpp:
              (WebCore::SVGStyleElement::childrenChanged):
              * page/Frame.cpp:
              (WebCore::Frame::Frame):
              * platform/Screen.h:
              * platform/mac/ScreenMac.mm:
              (WebCore::screenDepthPerComponent):
              (WebCore::screenIsMonochrome):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14779 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1f63b91e
  14. 08 Jun, 2006 2 commits
    • justing's avatar
      LayoutTests: · e6f80c1e
      justing authored
              Reviewed by levi
              
              <http://bugzilla.opendarwin.org/show_bug.cgi?id=4468>
              Implement execCommand(Insert{Un}OrderedList)
      
              Added:
              * editing/execCommand/create-list-from-range-selection-expected.checksum: Added.
              * editing/execCommand/create-list-from-range-selection-expected.png: Added.
              * editing/execCommand/create-list-from-range-selection-expected.txt: Added.
              * editing/execCommand/create-list-from-range-selection.html: Added.
              * editing/execCommand/insert-list-and-stitch-expected.checksum: Added.
              * editing/execCommand/insert-list-and-stitch-expected.png: Added.
              * editing/execCommand/insert-list-and-stitch-expected.txt: Added.
              * editing/execCommand/insert-list-and-stitch.html: Added.
              * editing/execCommand/insert-list-with-id-expected.checksum: Added.
              * editing/execCommand/insert-list-with-id-expected.png: Added.
              * editing/execCommand/insert-list-with-id-expected.txt: Added.
              * editing/execCommand/insert-list-with-id.html: Added.
              * editing/execCommand/remove-list-from-range-selection-expected.checksum: Added.
              * editing/execCommand/remove-list-from-range-selection-expected.png: Added.
              * editing/execCommand/remove-list-from-range-selection-expected.txt: Added.
              * editing/execCommand/remove-list-from-range-selection.html: Added.
              * editing/execCommand/remove-list-items-expected.checksum: Added.
              * editing/execCommand/remove-list-items-expected.png: Added.
              * editing/execCommand/remove-list-items-expected.txt: Added.
              * editing/execCommand/remove-list-items.html: Added.
              * editing/execCommand/switch-list-type-expected.checksum: Added.
              * editing/execCommand/switch-list-type-expected.png: Added.
              * editing/execCommand/switch-list-type-expected.txt: Added.
              * editing/execCommand/switch-list-type.html: Added.
              
              Fixes:
              * editing/pasteboard/drag-drop-modifies-page-expected.txt:
              * editing/pasteboard/paste-list-001-expected.txt:
              * editing/selection/drag-to-contenteditable-iframe-expected.checksum:
              * editing/selection/drag-to-contenteditable-iframe-expected.png:
              * editing/selection/drag-to-contenteditable-iframe-expected.txt:
              * editing/style/block-style-005-expected.txt:
              * fast/text/textIteratorNilRenderer-expected.checksum:
              * fast/text/textIteratorNilRenderer-expected.png:
              * fast/text/textIteratorNilRenderer-expected.txt:
              * editing/deleting/delete-line-016-expected.checksum:
              * editing/deleting/delete-line-016-expected.png:
              * editing/deleting/delete-line-016-expected.txt:
      
      WebCore:
      
              Reviewed by levi
              
              <http://bugzilla.opendarwin.org/show_bug.cgi?id=4468>
              Implement execCommand(Insert{Un}OrderedList)
      
              * WebCore.xcodeproj/project.pbxproj: Added InsertListCommand.{h,cpp} to the project.
              * dom/Position.cpp:
              (WebCore::hasRenderedNonAnonymousDescendantsWithHeight): 
              Added. A block with height is only a candidate if this is false.  This should fix the problems
              getting carets into empty blocks.
              (WebCore::Position::inRenderedContent):
              * editing/AppendNodeCommand.cpp:
              (WebCore::AppendNodeCommand::doApply):
              * editing/CompositeEditCommand.cpp:
              (WebCore::hasARenderedDescendant):
              (WebCore::CompositeEditCommand::prune): A node can have DOM descendants that are rendered, yet
              have no rendered descendants.  Fixed the pruning rule to avoid removing a node like this.
              (WebCore::CompositeEditCommand::mergeIdenticalElements): Put the two elements next to
              each other if they aren't already, as a convenience.
              (WebCore::CompositeEditCommand::moveParagraph): Added code to preserve the current selection.
              (WebCore::CompositeEditCommand::moveParagraphs): Ditto. 
              * editing/CompositeEditCommand.h:
              * editing/DeleteSelectionCommand.cpp:
              (WebCore::DeleteSelectionCommand::initializeStartEnd): Expansion for special elements should
              continue to happen until it is no longer possible.
              (WebCore::DeleteSelectionCommand::handleGeneralDelete): The code to adjust the start node
              wouldn't always avoid removing the start block.
              * editing/InsertListCommand.cpp: Added.
              (WebCore::InsertListCommand::fixOrphanedListChild): Puts a list item that isn't inside a list
              into a list.
              (WebCore::InsertListCommand::InsertListCommand):
              (WebCore::InsertListCommand::modifyRange):
              (WebCore::InsertListCommand::doApply):
              * editing/InsertListCommand.h: Added.
              (WebCore::InsertListCommand::):
              * editing/InsertNodeBeforeCommand.cpp:
              (WebCore::InsertNodeBeforeCommand::doApply):
              * editing/InsertParagraphSeparatorCommand.cpp:
              * editing/JSEditor.cpp:
              * editing/TextIterator.cpp:
              (WebCore::TextIterator::advance): Don't handle a node if the end of the range used to create the 
              iterator ends at the start of that node.
              used to create the iterator.
              * editing/VisiblePosition.cpp:
              (WebCore::VisiblePosition::next):
              (WebCore::VisiblePosition::previous):
              * editing/VisiblePosition.h: 
              Added a parameter to next/previous to prevent them from going outside the current editable region.
              * editing/htmlediting.cpp:
              (WebCore::highestAncestor):
              (WebCore::enclosingList):
              (WebCore::enclosingListChild):
              (WebCore::outermostEnclosingList):
              (WebCore::createListItemElement):
              * editing/htmlediting.h:
              * page/Frame.cpp:
              (WebCore::Frame::selectionListState): Added.
              * page/Frame.h:
      
      WebKit:
      
              Reviewed by levi
              
              <http://bugzilla.opendarwin.org/show_bug.cgi?id=4468>
              Implement execCommand(Insert{Un}OrderedList)
      
              * WebView/WebFrame.m:
              (-[WebFrame _findFrameWithSelection]): Removed an assertion
              that we only have one frame with a selection.  
              * WebView/WebView.m:
              (-[WebView selectedFrame]): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14777 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e6f80c1e
    • darin's avatar
      WebCore: · 9ca92892
      darin authored
              Reviewed by Justin.
      
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8616
                REGRESSION: TinyMCE: Crash on Undo
      
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:allowShadowContent:]):
              Changed to call nodeInfoAtPoint directly.
              (-[WebCoreFrameBridge _visiblePositionForPoint:]): Changed to call nodeInfoAtPoint directly.
              Also added code to convert coordinates so it works for points that are in nodes in subframes.
      
              * page/Frame.cpp:
              (WebCore::Frame::setMark): Added assertions to catch if we attempt to set selection
              endpoints in another document.
              (WebCore::Frame::setSelection): Ditto.
      
      WebKit:
      
              Reviewed by Justin.
      
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8616
                REGRESSION: TinyMCE: Crash on Undo
      
              * WebView/WebHTMLView.m:
              (-[WebHTMLView _topHTMLView]): Added.
              (-[WebHTMLView _isTopHTMLView]): Added.
              (-[WebHTMLView _insideAnotherHTMLView]): Changed to use _topHTMLView.
              (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
              Forward to the top HTML view, so that only the top view ever starts a dragging operation.
              Change dragging code to not assume that the dragged node is in the current view's document.
              Added checks that the node is an element in a couple places and coordinate conversions.
              (-[WebHTMLView _mayStartDragAtEventLocation:]): Forward to the top HTML view.
              (-[NSArray addMouseMovedObserver]): Change to do nothing when the dataSource field is 0,
              since we now use the dataSource field to get to the WebView.
              (-[NSArray removeMouseMovedObserver]): Added a comment.
              (-[NSArray dragImage:at:offset:event:pasteboard:source:slideBack:]):
              Forward to the top HTML view.
              (-[NSArray draggingSourceOperationMaskForLocal:]): Assert that it's the top HTML view.
              (-[NSArray draggedImage:movedTo:]): Ditto.
              (-[NSArray draggedImage:endedAt:operation:]): Ditto.
              (-[NSArray namesOfPromisedFilesDroppedAtDestination:]): Ditto.
              (-[NSArray _canProcessDragWithDraggingInfo:]): Ditto.
              (-[NSArray _isMoveDrag]): Ditto.
              (-[NSArray draggingUpdatedWithDraggingInfo:actionMask:]): Ditto.
              (-[NSArray draggingCancelledWithDraggingInfo:]): Ditto.
              (-[NSArray concludeDragForDraggingInfo:actionMask:]): Ditto. Also added code to work
              with the appropriate bridge when receiving a drag. This fixes the problem where the
              top level frame got a selection intended for the inner frame; the source of the bug.
              (-[NSArray elementAtPoint:allowShadowContent:]): Added code to convert the coordinates
              so this works properly when returning an element from an inner frame.
              (-[NSArray setDataSource:]): Added a call to addMouseMovedObserver, needed now that
              addMouseMovedObserver won't do anything if called when dataSource is nil.
              (-[WebHTMLView _delegateDragSourceActionMask]): Forward to the top HTML view.
      
              * WebView/WebView.m:
              (-[WebViewPrivate dealloc]): Removed code to release dragCaretBridge since that field
              is now gone.
              (-[WebView moveDragCaretToPoint:]): Always call the main frame's bridge, since the
              drag caret is now a page-level item. Later we'll move it to the page bridge.
              (-[WebView removeDragCaret]): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14770 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9ca92892
  15. 07 Jun, 2006 1 commit
    • adele's avatar
      WebCore: · e76b0101
      adele authored
              Reviewed by Hyatt 
      
              Added support for cross-platform resize property.
      
              * platform/PlatformMouseEvent.h: Removed isMouseButtonDown, since we
              already cache this info when we handle mouse down and mouse up.
              * platform/mac/MouseEventMac.mm: ditto.
              * platform/win/TemporaryLinkStubs.cpp: ditto.
      
              * page/Frame.cpp:
              (WebCore::Frame::autoscrollTimerFired): Use d->m_bMousePressed instead of isMouseButtonDown.
              * page/FrameView.cpp:
              (WebCore::FrameView::handleMouseMoveEvent): Passes event to layer resize method.
              (WebCore::FrameView::mousePressed): Added.
              * page/FrameView.h: Added mousePressed.
      
              * rendering/RenderTheme.h: Removed paintResizeControl.
              Since its not dependent on the theme, the layer can just paint this.
              * rendering/RenderTheme.cpp: ditto.
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::RenderLayer): Initializes m_resizeCornerImage.
              (WebCore::RenderLay...
      e76b0101
  16. 06 Jun, 2006 1 commit
    • andersca's avatar
      WebCore: · a70ccbc8
      andersca authored
      2006-06-06  Anders Carlsson  <acarlsson@apple.com>
      
              Reviewed by John.
      
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge containsPlugins]):
              * page/Frame.cpp:
              (WebCore::Frame::containsPlugins):
              * page/Frame.h:
              Add containsPlugins function which returns whether a frame contains plugins
              or not.
      
      WebKit:
      
      2006-06-06  Anders Carlsson  <acarlsson@apple.com>
      
              Reviewed by John.
      
              * WebView/WebFrame.m:
              (-[WebFrame _reloadForPluginChanges]):
              Don't traverse the view hierarchy looking for plugin views. Instead, just
              ask the frame whether it contains any plugins.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14743 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a70ccbc8
  17. 02 Jun, 2006 1 commit
    • darin's avatar
      Reviewed by Geoff, tweaked a bit by Darin. · b4483824
      darin authored
              - http://bugzilla.opendarwin.org/show_bug.cgi?id=9064
                Split dom2_traversalimpl.* into separate files (one class per file).
      
              * WebCore.xcodeproj/project.pbxproj: Updated for new files.
              * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
      
              * bindings/js/kjs_traversal.h:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bindings/objc/DOM.mm:
              * dom/Document.cpp:
              * dom/Document.h:
              Updated includes.
      
              * dom/NodeFilter.cpp: Added.
              * dom/NodeFilter.h: Added.
              * dom/NodeFilterCondition.cpp: Added.
              * dom/NodeFilterCondition.h: Added.
              * dom/NodeIterator.cpp: Added.
              * dom/NodeIterator.h: Added.
              * dom/Traversal.cpp: Added.
              * dom/Traversal.h: Added.
              * dom/TreeWalker.cpp: Added.
              * dom/TreeWalker.h: Added.
      
              * dom/dom2_traversalimpl.cpp: Removed.
              * dom/dom2_traversalimpl.h: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14680 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b4483824
  18. 01 Jun, 2006 1 commit
    • andersca's avatar
      WebCore: · 079f44cf
      andersca authored
      2006-06-01  Anders Carlsson  <acarlsson@apple.com>
      
              Reviewed by Darin.
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=6309
              multiple problems prevent bookmarking/back button technique for AJAX/DHTML applications from working
              
              * bindings/js/kjs_window.cpp:
              (KJS::Location::put):
              Handle the case where the hash starts with a "#". Also, don't do anything if the previous and new hashes
              are equal.
              
              * bridge/BrowserExtension.h:
              * bridge/mac/BrowserExtensionMac.h:
              * bridge/mac/BrowserExtensionMac.mm:        
              (WebCore::BrowserExtensionMac::historyURL):
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              New function historyURL which returns the complete URL for a given item in the history.
              
              * page/Frame.cpp:
              (WebCore::Frame::scheduleLocationChange):        
              (WebCore::Frame::scheduleHistoryNavigation):
              If the URL of the new location only differs in the hash, don't schedule the load. Instead, load it
              directly.
              
              * platform/KURL.cpp:
              * platform/KURL.h:
              Add equalsIgnoringRef which returns whether two URLs are equal, ignoring the ref.
      
      WebKit:
      
      2006-06-01  Anders Carlsson  <acarlsson@apple.com>
      
              Reviewed by Darin.
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=6309
              multiple problems prevent bookmarking/back button technique for AJAX/DHTML applications from working
      
              * Misc/WebNSURLExtras.m:
              (-[NSString _webkit_URLFragment]):
              Don't include the "#" character in the fragment.
              
              * WebCoreSupport/WebFrameBridge.m:
              (-[WebFrameBridge historyURL:]):
              New function, returns the history URL for a given position in the back/forward list
              
              * WebView/WebFrame.m:
              (-[WebFrame _loadItem:withLoadType:]):
              Always call scrollToAnchorWithURL, even if there is no fragment. This way we keep the WebCore frame's
              URL up-to-date.
      
      WebKitTools:
      
      2006-06-01  Anders Carlsson  <acarlsson@apple.com>
      
              Reviewed by Darin.
      
              * DumpRenderTree/DumpRenderTree.m:
              (+[LayoutTestController isSelectorExcludedFromWebScript:]):
              (-[LayoutTestController clearBackForwardList]):
              Add clearBackForwardList function to layoutTestController
              
      LayoutTests:
      
      2006-06-01  Anders Carlsson  <acarlsson@apple.com>
      
              Reviewed by Darin.
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=6309
              multiple problems prevent bookmarking/back button technique for AJAX/DHTML applications from working
              
              * fast/dom/location-hash-expected.txt: Added.
              * fast/dom/location-hash.html: Added.
              Added tests.
              
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14669 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      079f44cf
  19. 31 May, 2006 2 commits
    • adele's avatar
      Reviewed by Hyatt. · 8877ecc6
      adele authored
              - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8969
                REGRESSION: typing in textfield repaints whole web page at gamefaqs.com
      
              No test possible (no functionality change)
      
              * dom/Document.cpp:
              (WebCore::Document::updateLayout): Changed to ensure that pending subtree
              layouts are performed too.
              * page/Frame.cpp:
              (WebCore::Frame::forceLayout): Force a full layout.
              * page/FrameView.cpp:
              (WebCore::FrameViewPrivate::reset):
              (WebCore::FrameView::layout): Changed to relayout only the subtree rooted
              at d->layoutRoot if it's non-zero and allowSubtree is true.
              (WebCore::FrameView::scheduleRelayout): Change pending subtree relayout into
              normal relayout by clearing d->layoutRoot and propagating needsLayout to the
              root. 
              (WebCore::FrameView::scheduleRelayoutOfSubtree): Added.
              * page/FrameView.h:
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::markContainingBlocksForLayout): Added scheduleRelayout
              parameter. FrameView passes false to force marking all the way to the root
              when turning a pending subtree relayout into a full relayout. Otherwise,
              marking stops at the first textField (or at the root) and
              relayout of the last object reached is scheduled.
              (WebCore::RenderObject::scheduleRelayout):
              * rendering/RenderObject.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8877ecc6
    • eseidel's avatar
      2006-05-30 Eric Seidel <eric@eseidel.com> · 4e52462e
      eseidel authored
              Reviewed by andersca.
      
              Add first-cut SVG JS bindings autogeneration.
              SVGSVGElement and various other support classes are generated.
              Various small style fixes.
              http://bugzilla.opendarwin.org/show_bug.cgi?id=4249
      
              * DerivedSources.make:
              * WebCore+SVG/RGBColor.cpp: Removed.
              * WebCore+SVG/RGBColor.h: Removed.
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSHTMLElementWrapperFactory.cpp:
              (WebCore::createJSHTMLWrapper): renamed from createJSWrapper
              * bindings/js/JSHTMLElementWrapperFactory.h:
              * bindings/js/kjs_dom.cpp:
              (KJS::DOMNode::DOMNode):
              (KJS::DOMNode::toBoolean):
              (KJS::DOMNode::getOwnPropertySlot):
              (KJS::DOMNode::getValueProperty):
              (KJS::DOMNode::put):
              (KJS::DOMNode::putValueProperty):
              (KJS::DOMNode::toPrimitive):
              (KJS::DOMNode::toString):
              (KJS::DOMNodeProtoFunc::callAsFunction):
         ...
      4e52462e
  20. 30 May, 2006 1 commit
    • hyatt's avatar
      Rename RenderCanvas to RenderView. Rename canvas(), isCanvas() · d804834e
      hyatt authored
              to view(), isView().  Rename the frame view accessor on the old canvas
              from view() to frameView() (to avoid view()->view(), since that just looks
              stupid). :)
      
              Reviewed by andersca
      
              * WebCore.vcproj/WebCore/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/kjs_dom.cpp:
              * bindings/js/kjs_window.cpp:
              * bridge/mac/FrameMac.mm:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge _setupRootForPrinting:]):
              (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
              (-[WebCoreFrameBridge selectionColor]):
              (-[WebCoreFrameBridge accessibilityTree]):
              * dom/Document.cpp:
              (WebCore::Document::attach):
              (WebCore::Document::updateSelection):
              (WebCore::Document::prepareMouseEvent):
              * editing/SelectionController.cpp:
              * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
              * ksvg2/svg/SVGClipPathElement.cpp:
              (SVGClipPathElement::canvasResource):
              * ksvg2/svg/SVGFEFloodElement.cpp:
              (SVGFEFloodElement::filterEffect):
              * ksvg2/svg/SVGGradientElement.cpp:
              (SVGGradientElement::rebuildStops):
              * ksvg2/svg/SVGHelper.cpp:
              (SVGHelper::PercentageOfViewport):
              * ksvg2/svg/SVGPathElement.cpp:
              (WebCore::SVGPathElement::getPointAtLength):
              * ksvg2/svg/SVGSVGElement.cpp:
              (WebCore::SVGSVGElement::currentTranslate):
              * ksvg2/svg/SVGStyledElement.cpp:
              (WebCore::SVGStyledElement::view):
              (WebCore::SVGStyledElement::pushAttributeContext):
              * ksvg2/svg/SVGStyledElement.h:
              * kwq/WebCoreAXObject.mm:
              (-[WebCoreAXObject accessibilityShouldUseUniqueId]):
              (-[WebCoreAXObject role]):
              (-[WebCoreAXObject value]):
              (-[WebCoreAXObject position]):
              (-[WebCoreAXObject accessibilityIsIgnored]):
              (-[WebCoreAXObject accessibilityAttributeNames]):
              (-[WebCoreAXObject topView]):
              (-[WebCoreAXObject accessibilityAttributeValue:]):
              * page/Frame.cpp:
              (WebCore::Frame::selectionRect):
              (WebCore::Frame::paint):
              (WebCore::Frame::adjustPageHeight):
              (WebCore::Frame::forceLayoutWithPageWidthRange):
              * page/FrameView.cpp:
              (WebCore::FrameView::adjustViewSize):
              (WebCore::FrameView::layout):
              * page/FrameView.h:
              * rendering/AutoTableLayout.cpp:
              (WebCore::shouldScaleColumns):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::MarginInfo::MarginInfo):
              (WebCore::RenderBlock::isSelfCollapsingBlock):
              (WebCore::RenderBlock::layoutBlock):
              (WebCore::RenderBlock::paintChildren):
              (WebCore::RenderBlock::setSelectionState):
              (WebCore::RenderBlock::isSelectionRoot):
              (WebCore::RenderBlock::fillInlineSelectionGaps):
              (WebCore::RenderBlock::lowestPosition):
              (WebCore::RenderBlock::rightmostPosition):
              (WebCore::RenderBlock::leftmostPosition):
              (WebCore::RenderBlock::clearFloats):
              (WebCore::RenderBlock::nodeAtPoint):
              (WebCore::RenderBlock::calcBlocminMaxWidth):
              (WebCore::RenderBlock::inRootBlockContext):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::setStyle):
              (WebCore::RenderBox::paintRootBoxDecorations):
              (WebCore::RenderBox::paintBackgroundExtended):
              (WebCore::RenderBox::calcHeight):
              (WebCore::RenderBox::calcPercentageHeight):
              (WebCore::RenderBox::availableHeightUsing):
              * rendering/RenderCanvas.cpp: Removed.
              * rendering/RenderCanvas.h: Removed.
              * rendering/RenderContainer.cpp:
              (WebCore::RenderContainer::removeChildNode):
              * rendering/RenderFileButton.cpp:
              (WebCore::RenderFileButton::RenderFileButton):
              * rendering/RenderFlow.cpp:
              (WebCore::RenderFlow::destroy):
              (WebCore::RenderFlow::paintLines):
              * rendering/RenderFrameSet.cpp:
              (WebCore::RenderFrameSet::layout):
              (WebCore::RenderFrameSet::userResize):
              (WebCore::RenderFrameSet::setResizing):
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::paint):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::updateLayerPositions):
              (WebCore::RenderLayer::updateLayerPosition):
              (WebCore::RenderLayer::stackingContext):
              (WebCore::RenderLayer::enclosingPositionedAncestor):
              (WebCore::RenderLayer::convertToLayerCoords):
              (WebCore::RenderLayer::scrollToOffset):
              (WebCore::isSubframeCanvas):
              (WebCore::RenderLayer::intersectsDamageRect):
              * rendering/RenderLayer.h:
              (WebCore::RenderLayer::isStackingContext):
              * rendering/RenderListMarker.cpp:
              (WebCore::RenderListMarker::paint):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::scroll):
              (WebCore::RenderObject::containingBlock):
              (WebCore::RenderObject::repaint):
              (WebCore::RenderObject::repaintRectangle):
              (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
              (WebCore::RenderObject::draggableNode):
              (WebCore::RenderObject::selectionStartEnd):
              (WebCore::RenderObject::setStyle):
              (WebCore::RenderObject::viewRect):
              (WebCore::RenderObject::view):
              (WebCore::RenderObject::container):
              (WebCore::RenderObject::removeFromObjectLists):
              (WebCore::RenderObject::scheduleRelayout):
              (WebCore::RenderObject::imageChanged):
              (WebCore::RenderObject::maximalOutlineSize):
              * rendering/RenderObject.h:
              (WebCore::RenderObject::isRenderView):
              * rendering/RenderTextArea.cpp:
              (WebCore::RenderTextArea::RenderTextArea):
              * rendering/RenderThemeMac.mm:
              (WebCore::RenderThemeMac::paintCheckbox):
              (WebCore::RenderThemeMac::paintRadio):
              (WebCore::RenderThemeMac::paintButton):
              * rendering/RenderTreeAsText.cpp:
              (externalRepresentation):
              * rendering/RenderView.cpp: Added.
              (WebCore::RenderView::RenderView):
              (WebCore::RenderView::~RenderView):
              (WebCore::RenderView::calcHeight):
              (WebCore::RenderView::calcWidth):
              (WebCore::RenderView::calcMinMaxWidth):
              (WebCore::RenderView::layout):
              (WebCore::RenderView::absolutePosition):
              (WebCore::RenderView::paint):
              (WebCore::RenderView::paintBoxDecorations):
              (WebCore::RenderView::repaintViewRectangle):
              (WebCore::RenderView::getAbsoluteRepaintRect):
              (WebCore::RenderView::computeAbsoluteRepaintRect):
              (WebCore::RenderView::absoluteRects):
              (WebCore::RenderView::selectionRect):
              (WebCore::RenderView::setSelection):
              (WebCore::RenderView::clearSelection):
              (WebCore::RenderView::selectionStartEnd):
              (WebCore::RenderView::updateWidgetPositions):
              (WebCore::RenderView::addWidget):
              (WebCore::RenderView::removeWidget):
              (WebCore::RenderView::viewRect):
              (WebCore::RenderView::docHeight):
              (WebCore::RenderView::docWidth):
              (WebCore::RenderView::setBestTruncatedAt):
              * rendering/RenderView.h: Added.
              (WebCore::RenderView::renderName):
              (WebCore::RenderView::isRenderView):
              (WebCore::RenderView::frameView):
              * rendering/RenderWidget.cpp:
              (WebCore::RenderWidget::RenderWidget):
              (WebCore::RenderWidget::destroy):
              (WebCore::RenderWidget::updateWidgetPosition):
              * rendering/RenderWidget.h:
              (WebCore::RenderWidget::widget):
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::layoutInlineChildren):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14638 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d804834e
  21. 25 May, 2006 1 commit
    • eseidel's avatar
      2006-05-19 Rob Buis <buis@kde.org> · 8be35841
      eseidel authored
              Reviewed by darin.  Landed by eseidel.
      
              Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5978
              WebKIt+SVG should use SVGDocumentImpl for image/svg+xml
      
              Make sure SVGDocument is created for standalone svg
              documents.
      
              * ksvg2/svg/SVGDOMImplementation.cpp:
              (SVGDOMImplementation::instance):
              (SVGDOMImplementation::createDocument):
              * ksvg2/svg/SVGDOMImplementation.h:
              * ksvg2/svg/SVGDocument.cpp:
              (WebCore::SVGDocument::SVGDocument):
              (WebCore::SVGDocument::~SVGDocument):
              * ksvg2/svg/SVGDocument.h:
              * ksvg2/svg/SVGTests.cpp:
              (WebCore::SVGTests::isValid):
              * ksvg2/svg/SVGTitleElement.cpp:
              * ksvg2/svg/SVGTitleElement.h:
              * page/Frame.cpp:
              (WebCore::Frame::begin):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8be35841
  22. 24 May, 2006 1 commit
    • justing's avatar
      LayoutTests: · 66c72dd4
      justing authored
              Reviewed by levi
      
              * editing/selection/designmode-no-caret-expected.checksum: Added.
              * editing/selection/designmode-no-caret-expected.png: Added.
              * editing/selection/designmode-no-caret-expected.txt: Added.
              * editing/selection/designmode-no-caret.html: Added.
      
      WebCore:
      
              Reviewed by levi
              
              <rdar://problem/4549610> REGRESSION: No initial cursor in Mail reply or Blot document
              <rdar://problem/4560698> Mail is very crashy in Leopard9A182, WebCore::Range::compareBoundaryPoints(WebCore::Node*, int, WebCore::Node*, int)
      
              * page/Frame.cpp:
              (WebCore::Frame::setSelectionFromNone): Find the body and stick a caret 
              in it.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14578 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      66c72dd4
  23. 19 May, 2006 1 commit
    • lweintraub's avatar
      LayoutTests: · 61368985
      lweintraub authored
              Reviewed by justin.
              
              Tests for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8931>
              Drag caret not painted for editable sub-frames
      
              * editing/resources/select-and-drag-iframe.html: Added.
              * editing/selection/drag-in-iframe-expected.checksum: Added.
              * editing/selection/drag-in-iframe-expected.png: Added.
              * editing/selection/drag-in-iframe-expected.txt: Added.
              * editing/selection/drag-in-iframe.html: Added.
      
      WebCore:
      
              Reviewed by justin.
              
              <http://bugzilla.opendarwin.org/show_bug.cgi?id=8931>
              Drag caret not painted for editable sub-frames
              
              Moved the drag caret out of Frame and into Page.
              Only the Frame that contains the drag caret will paint it.
      
              * editing/SelectionController.h:
              * page/Frame.cpp:
              (WebCore::Frame::dragCaret):
              (WebCore::Frame::setDragCaret):
              (WebCore::Frame::paintDragCaret):
              * page/FramePrivate.h:
              *...
      61368985
  24. 17 May, 2006 3 commits
    • sullivan's avatar
      Reviewed by Darin Adler · 322ec1d4
      sullivan authored
              
              Improvement to my previous patch, suggested by Darin
      
              * dom/Document.cpp:
              (WebCore::Document::repaintMarkers):
              new method, similar in structure to removeMarkers but just repaints each node that
              has a marker of the specified type
              * dom/Document.h:
              declare new method, and tweak style in related method declarations
              
              * page/Frame.cpp:
              (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
              if the value changes, call repaintMarkers
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14455 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      322ec1d4
    • adele's avatar
      LayoutTests: · 275a6ad0
      adele authored
              Reviewed by Hyatt.
      
              Updated test results for changes to prepare for 
              http://bugzilla.opendarwin.org/show_bug.cgi?id=8948
              Switch to use new text field implementation for <textarea>
      
              * fast/block/float/032-expected.txt:
      
      WebCore:
      
              Reviewed by Hyatt.
      
              First step for http://bugzilla.opendarwin.org/show_bug.cgi?id=8948
              Switch to use new text field implementation for <textarea>
      
              New textareas can be turned on by setting -webkit-appearance:textarea.
      
              Tests:
              * LayoutTests/fast/block/float/032.html - Updated results.
      
              * bridge/mac/FrameMac.h: Added textDidChangeinTextArea to send notification over the bridge to form delegate.
              * bridge/mac/FrameMac.mm: (WebCore::FrameMac::textDidChangeInTextArea): ditto.
              * page/Frame.cpp: (WebCore::Frame::textDidChangeInTextArea): ditto.
              * page/Frame.h: ditto.
      
              * css/CSSValueKeywords.in: Added textarea.
              * css/cssparser.cpp: (WebCore::CSSParser::parseValue): Updates to check for textarea.
              * css/html4.css: Added style for textarea.  Leaved background-color and appearance values commented out.
              * rendering/render_style.h: (WebCore::): Added TextAreaAppearance.
      
              * rendering/RenderTheme.cpp:
              (WebCore::RenderTheme::adjustStyle): Updated for textarea.
              (WebCore::RenderTheme::paint): ditto.
              (WebCore::RenderTheme::paintBorderOnly): ditto.
              (WebCore::RenderTheme::isControlStyled): ditto.
              (WebCore::RenderTheme::supportsFocusRing): ditto.
              (WebCore::RenderTheme::adjustTextFieldStyle): ditto.
              (WebCore::RenderTheme::adjustTextAreaStyle): ditto.
              * rendering/RenderTheme.h: (WebCore::RenderTheme::paintTextArea): Added.
              * rendering/RenderThemeMac.h: Added adjustTextAreaStyle.
              Note- I didn't add a paintTextArea function for RenderThemeMac, since we can just paint the border 
              specified in html4.css to match the NSTextView border.  Added a paintTextArea function to the Windows
              theme can override that border.
              * rendering/RenderThemeMac.mm:
              (WebCore::RenderThemeMac::isControlStyled): Updated for textarea.
              (WebCore::RenderThemeMac::adjustTextAreaStyle): ditto.
      
              * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::HTMLGenericFormElement):
              Moved m_valueMatchesRenderer and its setters and getters into this class so HTMLInputElement and
              HTMLTextArea can share.
              * html/HTMLGenericFormElement.h:
              (WebCore::HTMLGenericFormElement::valueMatchesRenderer): Added.
              (WebCore::HTMLGenericFormElement::setValueMatchesRenderer): Added.
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::init): Remove m_valueMatchesRenderer intialization.
              (WebCore::HTMLInputElement::isKeyboardFocusable): Updated spelling.
              (WebCore::HTMLInputElement::createRenderer): Pass multiLine bool to RenderTextField constructor.
              (WebCore::HTMLInputElement::parseMappedAttribute): Use setValueMatchesRenderer instead of m_valueMatchesRenderer.
              (WebCore::HTMLInputElement::detach): ditto.
              (WebCore::HTMLInputElement::setValue): ditto.
              (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
              * html/HTMLInputElement.h: Remove setValueMatchesRenderer and valueMatchesRenderer and m_valueMatchesRenderer.
              * html/HTMLTextAreaElement.cpp:
              (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Calls setValueMatchesRenderer to intialize m_valueMatchesRenderer.
              (WebCore::HTMLTextAreaElement::selectionStart): Uses appearance to determine which renderer to use.
              (WebCore::HTMLTextAreaElement::selectionEnd): ditto.
              (WebCore::HTMLTextAreaElement::setSelectionStart): ditto.
              (WebCore::HTMLTextAreaElement::setSelectionEnd): ditto.
              (WebCore::HTMLTextAreaElement::select): ditto.
              (WebCore::HTMLTextAreaElement::setSelectionRange): ditto.
              (WebCore::HTMLTextAreaElement::createRenderer): ditto.
              (WebCore::HTMLTextAreaElement::appendFormData): ditto.
              (WebCore::HTMLTextAreaElement::updateValue): ditto.
              (WebCore::HTMLTextAreaElement::isKeyboardFocusable): Added.
              (WebCore::HTMLTextAreaElement::isMouseFocusable): Added.
              (WebCore::HTMLTextAreaElement::focus): Added.
              (WebCore::HTMLTextAreaElement::defaultEventHandler): Added to forward events to the inner div.
              (WebCore::HTMLTextAreaElement::setValue): Calls setValueMatchesRenderer.
              * html/HTMLTextAreaElement.h: Added defaultEventHandler, isMouseFocusable, isKeyboardFocusable, and focus methods.
              Removed invalidateValue and m_valueMatchesRenderer since those are now handled in the base class.
              * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLTextFieldInnerElement::defaultEventHandler):
              Updated to handle textareas.
              * rendering/RenderTextArea.cpp: (WebCore::RenderTextArea::valueChanged):
              Calls setValueMatchesRenderer(false) instead of invalidateValue.
      
              * rendering/RenderTextField.h: Changed to be a RenderFlexibleBox instead of a RenderBlock.
              This was necessary to get the inner div's height to grow and shrink with the size of the textarea.
              Added m_multiLine bool, and calcHeight, canHaveChildren, baselinePosition, isTextArea, textWithHardLineBreaks, selectionChanged.
              (WebCore::RenderTextField::canHaveChildren): Returns false now so that no renderer gets created for
              the textarea's child text node for its initial contents.
              (WebCore::RenderTextField::isTextField): Returns true if m_multiLine is false.
              (WebCore::RenderTextField::isTextArea): Returns true if m_multiLine is true.
              * rendering/RenderTextField.cpp:
              (WebCore::RenderTextField::RenderTextField):  Initializes m_multiLine.
              (WebCore::RenderTextField::~RenderTextField): Notifies HTMLTextAreaElement that the renderer is being destroyed so the value gets updated.
              (WebCore::RenderTextField::setStyle): Makes sure there's no overflow clip on the RenderTextField, since we're handling overflow on the inner div.
              (WebCore::RenderTextField::createDivStyle): Sets white-space, box-flex, overflow, word-wrap styles needed for text area.
              (WebCore::RenderTextField::updateFromElement): Updated for textarea elements.
              (WebCore::RenderTextField::setSelectionRange): Optimized caret case by checking to see if start is equal to end before calculating
              the same VisiblePosition twice.
              (WebCore::RenderTextField::subtreeHasChanged): Updated for textarea elements.
              (WebCore::RenderTextField::text): Use innerText so newlines are considered.
              (WebCore::RenderTextField::textWithHardLineBreaks): Added.  Not implemented yet. Just calls text method.
              (WebCore::RenderTextField::calcHeight): Added. Sets initial height based on specified number of rows, and then calls the base class.
              (WebCore::RenderTextField::baselinePosition): Added. Unlike text fields, textareas align to the bottom.
              (WebCore::RenderTextField::calcMinMaxWidth): Updated for textareas.
              (WebCore::RenderTextField::selectionChanged): Added. Not implemented yet.
      
      WebKit:
      
              Reviewed by Hyatt.
      
              WebKit part of initial checkin to prepare for http://bugzilla.opendarwin.org/show_bug.cgi?id=8948
              Switch to use new text field implementation for <textarea>
      
              * WebView/WebHTMLView.m:
              (-[NSArray insertNewline:]): If we're in plain text mode, insert a line break instead of a paragraph separator.
              (-[NSArray insertParagraphSeparator:]): ditto.
              * WebView/WebView.m: (-[WebView _menuForElement:defaultItems:]):
              Checks for textareas as well as textfields before allowing the delegate to control
              the context menu.  This won't affect the old textareas because AppKit handles those context menus.
      
      WebKitTools:
      
              Reviewed by Hyatt.
      
              * Scripts/do-webcore-rename: Added RenderTextField => RenderTextControl and 
              HTMLTextFieldInnerElement => HTMLTextControlInnerElement to list for future renames.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14451 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      275a6ad0
    • sullivan's avatar
      Reviewed by Maciej. · db5fb961
      sullivan authored
              
              First step towards making text-matching mechanism more flexible; now caller can 
              control whether or not the matches are highlighted.
      
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge markAllMatchesForText:caseSensitive:]):
              renamed from highlightAllMatchesForString:
              (-[WebCoreFrameBridge markedTextMatchesAreHighlighted]):
              new getter method
              (-[WebCoreFrameBridge setMarkedTextMatchesAreHighlighted:]):
              new setter method
              (-[WebCoreFrameBridge unmarkAllTextMatches]):
              renamed from clearHighlightedMatches
              
              * page/Frame.h:
              * page/Frame.cpp:
              (WebCore::Frame::markAllMatchesForText):
              renamed from highlightAllMatchesForString
              (WebCore::Frame::markedTextMatchesAreHighlighted):
              new getter method, uses boolean ivar in FramePrivate
              (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
              new setter method, uses boolean ivar in FramePrivate
              
              * page/FramePrivate.h:
              (WebCore::FramePrivate::FramePrivate):
              added boolean ivar m_highlightTextMatches, initialized to 0
              
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paint):
              respect markedTextMatchesAreHighlighted
      
              * WebCore.xcodeproj/project.pbxproj:
              newer Xcode removed some obsolete settings
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14447 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      db5fb961
  25. 16 May, 2006 1 commit
    • andersca's avatar
      WebCore: · e3516cb3
      andersca authored
      2006-05-16  Anders Carlsson  <acarlsson@apple.com>
      
              Reviewed by Maciej.
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=8921
              Use WebCore to render full-frame images.
      
              * WebCore.xcodeproj/project.pbxproj:
              Add ImageDocument.
              
              * bridge/mac/WebCoreFrameBridge.h:
              Add mainResourceURLResponse and imageTitleForFilename.
              
              * bridge/mac/WebCoreFrameBridge.mm:
              (+[WebCoreFrameBridge supportedNonImageMIMETypes]):
              This used to be supportedMIMETypes but WebKit requires that we handle the
              image MIME types separately.
              
              (+[WebCoreFrameBridge supportedImageMIMETypes]):
              Add image types from WebCoreImageRendererFactory.
              
              (-[WebCoreFrameBridge canProvideDocumentSource]):
              Return no for image types.
              
              * dom/xml_tokenizer.h:
              (WebCore::Tokenizer::wantsRawData):
              (WebCore::Tokenizer::writeRawData):
              New virtual functions which tokenizers can override if they want to get
              raw data (which isn't fed through the decoder)
              
              * html/HTMLImageElement.h:
              (WebCore::HTMLImageElement::setLoadManually):
              New function which calls HTMLImageLoader::setLoadManually
              
              * html/HTMLImageLoader.cpp:
              (WebCore::HTMLImageLoader::HTMLImageLoader):
              (WebCore::HTMLImageLoader::updateFromElement):
              Don't request the image from the loader if the load is set to be manual.
              
              * html/HTMLImageLoader.h:
              (WebCore::HTMLImageLoader::setLoadManually):
              New function which decides if the image data should be fed manually or loaded
              by the loader.
              
              * loader/DocLoader.h:
              Add HTMLImageLoader as a friend.
              
              * loader/ImageDocument.cpp: Added.
              (WebCore::ImageTokenizer::ImageTokenizer):
              (WebCore::ImageTokenizer::wantsRawData):
              (WebCore::ImageTokenizer::write):
              (WebCore::ImageTokenizer::writeRawData):
              (WebCore::ImageTokenizer::stopParsing):
              (WebCore::ImageTokenizer::finish):
              (WebCore::ImageTokenizer::isWaitingForScripts):
              (WebCore::ImageDocument::ImageDocument):
              (WebCore::ImageDocument::createTokenizer):
              * loader/ImageDocument.h: Added.
              Add new ImageDocument class which will feed its data to a created image element.
      
              * loader/TextDocument.h:
              Inherit from HTMLDocument here too, in case any broken web pages want to manipulate
              the DOM of any plain text documents.
              
              * page/Frame.cpp:
              (WebCore::Frame::begin):
              (WebCore::Frame::write):
              Don't create or use the decoder if the tokenizer is in "raw mode".
              
      WebKit:
      
      2006-05-16  Anders Carlsson  <acarlsson@apple.com>
      
              Reviewed by Maciej.
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=8921
              Use WebCore to render full-frame images
              
              * WebCoreSupport/WebFrameBridge.m:
              (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
              Remove WebImageView handling.
              
              (-[WebFrameBridge mainResourceURLResponse]):
              New function which returns the URL response for the main resource. This is used by the
              manual loading of images.
              
              (-[WebFrameBridge imageTitleForFilename:size:]):
              New function which returns a correctly translated image title given a filename and a size.
              
              * WebCoreSupport/WebImageRenderer.m:
              (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
              Remove WebImageView handling.
              
              * WebKit.xcodeproj/project.pbxproj:
              Remove WebImageRepresentation and WebImageView.
              
              * WebView/WebArchiver.h:
              * WebView/WebArchiver.m:
              (+[WebArchiver archiveMainResourceForFrame:]):
              New functions which returns a WebArchive with just the main resource, ignoring any subresources.
              
              * WebView/WebDataSource.m:
              (+[WebDataSource _repTypesAllowImageTypeOmission:]):
              Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.
              
              * WebView/WebFrameView.m:
              (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
              Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.
              
              (+[WebHTMLRepresentation supportedMIMETypes]):
              Create an array of image and non-image MIME Types.
              
              (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
              (+[WebHTMLRepresentation supportedImageMIMETypes]):
              New functions, separating the list of MIME types into image and non-image ones.
              
              * WebView/WebHTMLView.m:
              (+[WebHTMLView supportedImageMIMETypes]):
              (+[WebHTMLView supportedNonImageMIMETypes]):
              New functions which call down to WebHTMLRepresentation.
              
              (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
              If the image element comes from an ImageDocument, just use an archive of the main resource
              instead of the generated HTML document.
              
              * WebView/WebHTMLViewPrivate.h:
              Declare new functions.
              
              * WebView/WebImageRepresentation.h: Removed.
              * WebView/WebImageRepresentation.m: Removed.
              * WebView/WebImageView.h: Removed.
              * WebView/WebImageView.m: Removed.
              
      LayoutTests:
      
      2006-05-16  Anders Carlsson  <acarlsson@apple.com>
      
              Reviewed by Maciej.
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=8921
              Use WebCore to render full-frame images.
      
              * css2.1/t0801-c412-hz-box-00-b-a-expected.txt:
              * dom/xhtml/level2/html/frame-expected.checksum:
              * dom/xhtml/level2/html/frame-expected.png:
              * dom/xhtml/level2/html/frame-expected.txt:
              * dom/xhtml/level2/html/iframe-expected.checksum:
              * dom/xhtml/level2/html/iframe-expected.png:
              * dom/xhtml/level2/html/iframe-expected.txt:
              * tables/mozilla/bugs/bug50695-2-expected.txt:
              Update tests.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14414 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e3516cb3
  26. 15 May, 2006 2 commits
    • eseidel's avatar
      2006-05-15 Eric Seidel <eseidel@apple.com> · 13a64221
      eseidel authored
              Reviewed by hyatt.
      
              Split css_valueimpl.* and css_ruleimpl.* into separate files (one per class).
              http://bugzilla.opendarwin.org/show_bug.cgi?id=8934
      
              * WebCore+SVG/RGBColor.cpp:
              (WebCore::RGBColor::RGBColor):
              * WebCore.vcproj/WebCore/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/kjs_css.cpp:
              (KJS::DOMCSSRule::classInfo):
              * bindings/js/kjs_css.h:
              * bindings/js/kjs_dom.cpp:
              * bindings/js/kjs_html.cpp:
              * bindings/js/kjs_window.cpp:
              * bindings/objc/DOMCSS.mm:
              * bindings/scripts/CodeGeneratorJS.pm:
              * css/CSSBorderImageValue.cpp: Added.
              (WebCore::CSSBorderImageValue::CSSBorderImageValue):
              * css/CSSBorderImageValue.h: Added.
              * css/CSSCharsetRule.h: Added.
              (WebCore::CSSCharsetRule::CSSCharsetRule):
              * css/CSSComputedStyleDeclaration.cpp:
              (WebCore::valueForShadow):
              (WebCore::):
              * css/CSSComputedStyleDeclaration.h:
              * css/CSSFontFaceRule.cpp: Added.
              (WebCore::CSSFontFaceRule::CSSFontFaceRule):
              * css/CSSFontFaceRule.h: Added.
              (WebCore::CSSFontFaceRule::isFontFaceRule):
              * css/CSSGrammar.y:
              * css/CSSImageValue.cpp: Added.
              (WebCore::CSSImageValue::CSSImageValue):
              * css/CSSImageValue.h: Added.
              * css/CSSImportRule.cpp: Added.
              * css/CSSImportRule.h: Added.
              * css/CSSInheritedValue.cpp: Added.
              * css/CSSInheritedValue.h: Added.
              * css/CSSInitialValue.cpp: Added.
              * css/CSSInitialValue.h: Added.
              * css/CSSMediaRule.cpp: Added.
              (WebCore::CSSMediaRule::CSSMediaRule):
              (WebCore::CSSMediaRule::~CSSMediaRule):
              (WebCore::CSSMediaRule::append):
              (WebCore::CSSMediaRule::deleteRule):
              (WebCore::CSSMediaRule::cssText):
              * css/CSSMediaRule.h: Added.
              (WebCore::CSSMediaRule::media):
              (WebCore::CSSMediaRule::cssRules):
              * css/CSSMutableStyleDeclaration.cpp: Added.
              (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
              (WebCore::CSSMutableStyleDeclaration::setChanged):
              * css/CSSMutableStyleDeclaration.h: Added.
              * css/CSSPageRule.cpp: Added.
              (WebCore::CSSPageRule::CSSPageRule):
              * css/CSSPageRule.h: Added.
              (WebCore::CSSPageRule::isPageRule):
              * css/CSSPrimitiveValue.cpp: Added.
              * css/CSSPrimitiveValue.h: Added.
              * css/CSSProperty.cpp: Added.
              (WebCore::CSSProperty::cssText):
              * css/CSSProperty.h: Added.
              (WebCore::CSSProperty::CSSProperty):
              * css/CSSQuirkPrimitiveValue.h: Added.
              * css/CSSRule.cpp: Added.
              * css/CSSRule.h: Added.
              (WebCore::CSSRule::CSSRule):
              * css/CSSRuleList.cpp: Added.
              (WebCore::CSSRuleList::CSSRuleList):
              (WebCore::CSSRuleList::~CSSRuleList):
              (WebCore::CSSRuleList::deleteRule):
              (WebCore::CSSRuleList::append):
              (WebCore::CSSRuleList::insertRule):
              * css/CSSRuleList.h: Added.
              (WebCore::CSSRuleList::item):
              * css/CSSStyleDeclaration.cpp: Added.
              (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
              (WebCore::CSSStyleDeclaration::diff):
              * css/CSSStyleDeclaration.h: Added.
              * css/CSSStyleRule.cpp: Added.
              (WebCore::CSSStyleRule::CSSStyleRule):
              (WebCore::CSSStyleRule::selectorText):
              * css/CSSStyleRule.h: Added.
              * css/CSSStyleSheet.cpp:
              (WebCore::CSSStyleSheet::ownerRule):
              * css/CSSUnknownRule.h: Added.
              (WebCore::CSSUnknownRule::CSSUnknownRule):
              * css/CSSValue.h: Added.
              * css/CSSValueList.cpp: Added.
              * css/CSSValueList.h: Added.
              * css/Counter.h: Added.
              * css/DashboardRegion.h: Added.
              * css/FontFamilyValue.cpp: Added.
              * css/FontFamilyValue.h: Added.
              (WebCore::FontFamilyValue::genericFamilyType):
              * css/FontValue.cpp: Added.
              (WebCore::FontValue::cssText):
              * css/FontValue.h: Added.
              * css/MediaList.cpp:
              * css/Pair.h: Added.
              (WebCore::Pair::~Pair):
              * css/RectImpl.h: Added.
              (WebCore::RectImpl::~RectImpl):
              * css/ShadowValue.cpp: Added.
              (WebCore::ShadowValue::ShadowValue):
              * css/ShadowValue.h: Added.
              * css/css_base.cpp:
              * css/css_ruleimpl.cpp: Removed.
              * css/css_ruleimpl.h: Removed.
              * css/css_valueimpl.cpp: Removed.
              * css/css_valueimpl.h: Removed.
              * css/cssparser.cpp:
              (WebCore::CSSParser::parseColor):
              (WebCore::CSSParser::parseFontFamily):
              * css/cssstyleselector.cpp:
              (WebCore::CSSStyleSelector::locateCousinList):
              (WebCore::CSSStyleSelector::checkSelector):
              (WebCore::CSSRuleSet::addRulesFromSheet):
              (WebCore::CSSStyleSelector::applyProperty):
              (WebCore::CSSStyleSelector::mapBackgroundImage):
              * css/cssstyleselector.h:
              * dom/CSSMappedAttributeDeclaration.h:
              (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
              * dom/Document.cpp:
              * editing/ApplyStyleCommand.cpp:
              * editing/CompositeEditCommand.h:
              * editing/EditCommand.cpp:
              * editing/InsertLineBreakCommand.cpp:
              (WebCore::InsertLineBreakCommand::doApply):
              * editing/InsertLineBreakCommand.h:
              * editing/InsertTextCommand.cpp:
              (WebCore::InsertTextCommand::input):
              * editing/RemoveCSSPropertyCommand.cpp:
              (WebCore::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand):
              (WebCore::RemoveCSSPropertyCommand::~RemoveCSSPropertyCommand):
              * editing/RemoveCSSPropertyCommand.h:
              (WebCore::RemoveCSSPropertyCommand::styleDeclaration):
              * html/HTMLBodyElement.cpp:
              * html/HTMLElement.cpp:
              * html/HTMLScriptElement.h:
              * html/HTMLTokenizer.h:
              * kcanvas/KCanvasFilters.h:
              (WebCore::KCanvasFEColorMatrix::values):
              (WebCore::KCanvasFEColorMatrix::setValues):
              (WebCore::KCanvasFEConvolveMatrix::kernel):
              (WebCore::KCanvasFEConvolveMatrix::setKernel):
              * kcanvas/KCanvasPath.h:
              * kcanvas/KCanvasTreeDebug.h:
              (WebCore::operator<<):
              * kcanvas/RenderPath.h:
              * ksvg2/css/SVGCSSParser.cpp:
              (WebCore::CSSParser::parseSVGValue):
              (WebCore::CSSParser::parseSVGStrokeDasharray):
              (WebCore::CSSParser::parseSVGPaint):
              (WebCore::CSSParser::parseSVGColor):
              * ksvg2/css/SVGCSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::applySVGProperty):
              * ksvg2/css/SVGRenderStyleDefs.h:
              * ksvg2/ecma/Ecma.cpp:
              * ksvg2/misc/KCanvasRenderingStyle.cpp:
              * ksvg2/misc/KCanvasRenderingStyle.h:
              * ksvg2/svg/SVGAnimationElement.cpp:
              * ksvg2/svg/SVGColor.cpp:
              * ksvg2/svg/SVGColor.h:
              * ksvg2/svg/SVGCursorElement.h:
              * ksvg2/svg/SVGFEColorMatrixElement.cpp:
              (SVGFEColorMatrixElement::filterEffect):
              * page/DOMWindow.cpp:
              * page/Frame.cpp:
              * page/FramePrivate.h:
              * platform/DeprecatedValueList.h:
              * rendering/RenderTextField.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14407 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      13a64221
    • eseidel's avatar
      2006-05-15 Eric Seidel <eseidel@apple.com> · 8494362c
      eseidel authored
              Reviewed by Tim Hatcher.
      
              Split html_imageimpl.* into separate files (one per class).
              http://bugzilla.opendarwin.org/show_bug.cgi?id=8929
      
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSCanvasRenderingContext2DBase.cpp:
              * bindings/js/kjs_events.cpp:
              * bindings/js/kjs_html.cpp:
              * bindings/objc/DOMHTML.mm:
              * bridge/mac/WebCoreFrameBridge.mm:
              * dom/Document.cpp:
              * editing/JSEditor.cpp:
              * html/CanvasRenderingContext2D.cpp:
              * html/HTMLAnchorElement.cpp:
              * html/HTMLAreaElement.cpp: Added.
              (WebCore::HTMLAreaElement::HTMLAreaElement):
              (WebCore::HTMLAreaElement::mapMouseEvent):
              (WebCore::HTMLAreaElement::getRect):
              (WebCore::HTMLAreaElement::getRegion):
              * html/HTMLAreaElement.h: Added.
              * html/HTMLCanvasElement.h:
              * html/HTMLDocument.cpp:
              * html/HTMLElementFactory.cpp:
              * html/HTMLFormCollection.cpp:
              * html/HTMLFormElement.cpp:
              * html/HTMLImageElement.cpp: Added.
              (WebCore::HTMLImageElement::HTMLImageElement):
              * html/HTMLImageElement.h: Added.
              * html/HTMLImageLoader.cpp: Added.
              (WebCore::HTMLImageLoader::HTMLImageLoader):
              * html/HTMLImageLoader.h: Added.
              * html/HTMLInputElement.cpp:
              * html/HTMLMapElement.cpp: Added.
              (WebCore::HTMLMapElement::mapMouseEvent):
              (WebCore::HTMLMapElement::parseMappedAttribute):
              * html/HTMLMapElement.h: Added.
              * html/HTMLObjectElement.cpp:
              * html/HTMLParser.cpp:
              * html/html_imageimpl.cpp: Removed.
              * html/html_imageimpl.h: Removed.
              * ksvg2/misc/SVGImageLoader.h:
              * kwq/WebCoreAXObject.mm:
              (-[WebCoreAXObject addChildrenToArray:]):
              * page/Frame.cpp:
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::RenderImage):
              (WebCore::RenderImage::nodeAtPoint):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14393 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8494362c
  27. 12 May, 2006 2 commits
    • eseidel's avatar
      2006-05-12 Eric Seidel <eseidel@apple.com> · 409f4301
      eseidel authored
              Reviewed by mjs.
      
              Split render_frames.* render_replaced.* and html_baseimpl.* into separate files (one class per file).
              http://bugzilla.opendarwin.org/show_bug.cgi?id=8878
      
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/kjs_html.cpp:
              (KJS::JSHTMLDocumentProtoFunc::callAsFunction):
              (KJS::JSHTMLDocument::namedItemGetter):
              (KJS::JSHTMLDocument::getValueProperty):
              (KJS::JSHTMLDocument::getOwnPropertySlot):
              (KJS::JSHTMLDocument::putValueProperty):
              (KJS::JSHTMLElement::formIndexGetter):
              (KJS::JSHTMLElement::formNameGetter):
              (KJS::JSHTMLElement::selectIndexGetter):
              (KJS::JSHTMLElement::framesetNameGetter):
              (KJS::JSHTMLElement::runtimeObjectGetter):
              (KJS::JSHTMLElement::runtimeObjectPropertyGetter):
              (KJS::JSHTMLElement::getOwnPropertySlot):
              (KJS::JSHTMLElement::implementsCall):
              (KJS::JSHTMLElement::callAsFunction):
              (KJS::JSHTMLElement::getValueProperty):
              (KJS::JSHTMLElement::toString):
              (KJS::getForm):
              (KJS::JSHTMLElement::pushEventHandlerScope):
              (KJS::HTMLElementFunction::callAsFunction):
              (KJS::JSHTMLElement::put):
              (KJS::JSHTMLElement::selectSetter):
              (KJS::JSHTMLElement::putValueProperty):
              (KJS::toHTMLElement):
              (KJS::toHTMLTableCaptionElement):
              (KJS::toHTMLTableSectionElement):
              (KJS::JSHTMLCollection::lengthGetter):
              (KJS::JSHTMLCollection::indexGetter):
              (KJS::JSHTMLCollection::nameGetter):
              (KJS::JSHTMLCollection::getOwnPropertySlot):
              (KJS::HTMLCollectionProtoFunc::callAsFunction):
              (KJS::JSHTMLSelectCollection::selectedIndexGetter):
              (KJS::JSHTMLSelectCollection::put):
              (KJS::OptionConstructorImp::construct):
              (KJS::getSelectHTMLCollection):
              * bindings/objc/DOMHTML.mm:
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::createFrame):
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge copyRenderNode:copier:]):
              * dom/Document.cpp:
              (WebCore::widgetForNode):
              * html/HTMLBodyElement.cpp: Added.
              (WebCore::HTMLBodyElement::HTMLBodyElement):
              (WebCore::HTMLBodyElement::parseMappedAttribute):
              * html/HTMLBodyElement.h: Added.
              * html/HTMLDocument.cpp:
              * html/HTMLElementFactory.cpp:
              * html/HTMLEmbedElement.cpp:
              * html/HTMLFrameElement.cpp: Added.
              (WebCore::HTMLFrameElement::isURLAllowed):
              (WebCore::HTMLFrameElement::parseMappedAttribute):
              (WebCore::HTMLFrameElement::setLocation):
              * html/HTMLFrameElement.h: Added.
              * html/HTMLFrameSetElement.cpp: Added.
              (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
              (WebCore::HTMLFrameSetElement::parseMappedAttribute):
              (WebCore::HTMLFrameSetElement::attach):
              (WebCore::HTMLFrameSetElement::defaultEventHandler):
              (WebCore::HTMLFrameSetElement::recalcStyle):
              * html/HTMLFrameSetElement.h: Added.
              * html/HTMLHeadElement.cpp: Added.
              (WebCore::HTMLHeadElement::HTMLHeadElement):
              * html/HTMLHeadElement.h: Added.
              * html/HTMLHtmlElement.cpp: Added.
              (WebCore::HTMLHtmlElement::HTMLHtmlElement):
              * html/HTMLHtmlElement.h: Added.
              * html/HTMLIFrameElement.cpp: Added.
              (WebCore::HTMLIFrameElement::HTMLIFrameElement):
              * html/HTMLIFrameElement.h: Added.
              * html/HTMLObjectElement.cpp:
              * html/HTMLParser.cpp:
              * html/html_baseimpl.cpp: Removed.
              * html/html_baseimpl.h: Removed.
              * kwq/WebCoreAXObject.mm:
              * page/Frame.cpp:
              (WebCore::isFrameElement):
              (WebCore::Frame::applyEditingStyleToBodyElement):
              (WebCore::Frame::removeEditingStyleFromBodyElement):
              (WebCore::Frame::applyEditingStyleToElement):
              (WebCore::Frame::removeEditingStyleFromElement):
              (WebCore::Frame::selectionRect):
              (WebCore::Frame::isFrameSet):
              (WebCore::scanForForm):
              (WebCore::Frame::currentForm):
              (WebCore::Frame::nodeInfoAtPoint):
              (WebCore::Frame::adjustPageHeight):
              (WebCore::Frame::frameForWidget):
              (WebCore::Frame::forceLayoutWithPageWidthRange):
              (WebCore::Frame::passWidgetMouseDownEventToWidget):
              * page/FrameView.cpp:
              * rendering/RenderFrame.cpp: Added.
              (WebCore::RenderFrame::viewCleared):
              * rendering/RenderFrame.h: Added.
              * rendering/RenderFrameSet.cpp: Added.
              (WebCore::RenderFrameSet::RenderFrameSet):
              (WebCore::RenderFrameSet::~RenderFrameSet):
              (WebCore::RenderFrameSet::layout):
              (WebCore::RenderFrameSet::positionFrames):
              (WebCore::RenderFrameSet::userResize):
              (WebCore::RenderFrameSet::canResize):
              (WebCore::RenderFrameSet::dump):
              * rendering/RenderFrameSet.h: Added.
              * rendering/RenderImage.h:
              * rendering/RenderPart.cpp: Added.
              (WebCore::RenderPart::RenderPart):
              * rendering/RenderPart.h: Added.
              * rendering/RenderPartObject.cpp: Added.
              (WebCore::isURLAllowed):
              (WebCore::RenderPartObject::updateWidget):
              (WebCore::RenderPartObject::viewCleared):
              * rendering/RenderPartObject.h: Added.
              * rendering/RenderReplaced.cpp: Added.
              (WebCore::RenderReplaced::selectionColor):
              * rendering/RenderReplaced.h: Added.
              * rendering/RenderWidget.cpp: Added.
              (WebCore::RenderWidget::deleteWidget):
              * rendering/RenderWidget.h: Added.
              * rendering/render_form.h:
              * rendering/render_frames.cpp: Removed.
              * rendering/render_frames.h: Removed.
              * rendering/render_replaced.cpp: Removed.
              * rendering/render_replaced.h: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      409f4301
    • eseidel's avatar
      2006-05-10 Eric Seidel <eseidel@apple.com> · d2f36a16
      eseidel authored
              Reviewed by mjs & adele.
      
              Split html_objectimpl.* into multiple files (one per class)
              http://bugzilla.opendarwin.org/show_bug.cgi?id=8836
      
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/kjs_dom.cpp:
              (KJS::DOMNamedNodeMap::lengthGetter):
              (KJS::DOMNamedNodeMap::indexGetter):
              (KJS::DOMNamedNodeMap::nameGetter):
              (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
              (KJS::getRuntimeObject):
              * bindings/js/kjs_html.cpp:
              * html/HTMLAppletElement.cpp: Added.
              * html/HTMLAppletElement.h: Added.
              * html/HTMLElementFactory.cpp:
              * html/HTMLEmbedElement.cpp: Added.
              (WebCore::HTMLEmbedElement::HTMLEmbedElement):
              (WebCore::HTMLEmbedElement::getInstance):
              (WebCore::HTMLEmbedElement::parseMappedAttribute):
              * html/HTMLEmbedElement.h: Added.
              * html/HTMLNameCollection.cpp:
              (WebCore::HTMLNameCollection::traverseNextItem):
              * html/HTMLObjectElement.cpp: Added.
              (WebCore::HTMLObjectElement::getInstance):
              (WebCore::HTMLObjectElement::form):
              (WebCore::HTMLObjectElement::parseMappedAttribute):
              (WebCore::HTMLObjectElement::updateDocNamedItem):
              * html/HTMLObjectElement.h: Added.
              * html/HTMLParamElement.cpp: Added.
              * html/HTMLParamElement.h: Added.
              * html/HTMLParser.cpp:
              * html/HTMLPlugInElement.cpp: Added.
              * html/HTMLPlugInElement.h: Added.
              * html/html_objectimpl.cpp: Removed.
              * html/html_objectimpl.h: Removed.
              * page/Frame.cpp:
              (WebCore::Frame::handleFallbackContent):
              * rendering/RenderApplet.cpp:
              * rendering/render_frames.cpp:
              (WebCore::RenderPartObject::updateWidget):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14327 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d2f36a16