WebKit-https.git
12 years ago Reviewed by Darin.
thatcher [Mon, 23 Apr 2007 08:47:07 +0000 (08:47 +0000)]
    Reviewed by Darin.

        Bug 6658: World leak when closing inspected window
        http://bugs.webkit.org/show_bug.cgi?id=6658 and <rdar://problem/4411863>

        Removes over-retains of the inspector WebView, WebInspector and WebInspectorPanel.

        * WebInspector/WebInspector.m:
        (+[WebInspector sharedWebInspector]): Return the global sharedWebInspector variable.
        (-[WebInspector window]): Release the window after calling setWindow:.
        (-[WebInspector windowWillClose:]): Set the JavaScript Inspector variable to null and expire the current highlight.
          Also clear the global sharedWebInspector variable and release it if self equals sharedWebInspector.
        (-[WebInspector showWindow:]): Set the JavaScript Inspector variable back to self.
        * WebInspector/WebInspectorInternal.h: Remove the isSharedInspector member variable.
        * WebView/WebView.mm:
        (-[WebView windowScriptObject]): Return nil if core([self mainFrame]) is NULL.

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

12 years agoJavaScriptCore:
darin [Mon, 23 Apr 2007 08:38:46 +0000 (08:38 +0000)]
JavaScriptCore:

        Reviewed by Maciej.

        - fix <rdar://problem/4840688> REGRESSION (r10588, r10621): JavaScript won't parse
          modifications of non-references (breaks 300themovie.warnerbros.com, fedex.com)

        Despite the ECMAScript specification's claim that you can treat these as syntax
        errors, doing so creates some website incompatibilities. So this patch turns them back
        into evaluation errors instead.

        Test: fast/js/modify-non-references.html

        * kjs/grammar.y: Change makeAssignNode, makePrefixNode, and makePostfixNode so that they
        never fail to parse. Update rules that use them. Fix a little bit of indenting. Use
        new PostfixErrorNode, PrefixErrorNode, and AssignErrorNode classes.

        * kjs/nodes.h: Added an overload of throwError that takes a char* argument.
        Replaced setExceptionDetailsIfNeeded and debugExceptionIfNeeded with handleException,
        which does both. Added PostfixErrorNode, PrefixErrorNode, and AssignErrorNode classes.

        * kjs/nodes.cpp: Changed exception macros to use handleException; simpler and smaller
        code size than the two functions that we used before.
        (Node::throwError): Added the overload mentioned above.
        (Node::handleException): Added. Contains the code from both setExceptionDetailsIfNeeded
        and debugExceptionIfNeeded.
        (PostfixErrorNode::evaluate): Added. Throws an exception.
        (PrefixErrorNode::evaluate): Ditto.
        (AssignErrorNode::evaluate): Ditto.
        (ThrowNode::execute): Call handleException instead of debugExceptionIfNeeded; this
        effectively adds a call to setExceptionDetailsIfNeeded, which may help with getting
        the correct file and line number for these exceptions.

        * kjs/nodes2string.cpp:
        (PostfixErrorNode::streamTo): Added.
        (PrefixErrorNode::streamTo): Added.
        (AssignErrorNode::streamTo): Added.

LayoutTests:

        Reviewed by Maciej.

        - test for <rdar://problem/4840688> REGRESSION (r10588, r10621): JavaScript won't parse
          modifications of non-references (breaks 300themovie.warnerbros.com, fedex.com)

        * fast/js/modify-non-references-expected.txt: Added.
        * fast/js/modify-non-references.html: Added.
        * fast/js/resources/modify-non-references.js: Added.

        * fast/js/assign-expected.txt: Updated for different exception text.
        * fast/js/postfix-syntax-expected.txt: Ditto.
        * fast/js/prefix-syntax-expected.txt: Ditto.

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

12 years agoLayoutTests:
darin [Mon, 23 Apr 2007 08:27:18 +0000 (08:27 +0000)]
LayoutTests:

        Reviewed by Hyatt.

        - test changes for rename of box-sizing to -webkit-box-sizing

        * fast/borders/border-fit.html: Rename.
        * fast/box-sizing/box-sizing.html: Ditto.
        * fast/box-sizing/panels-one.html: Added -webkit-box-sizing.
        * fast/box-sizing/panels-two.html: Ditto.
        * fast/box-sizing/percentage-height.html: Renamed -khtml-box-sizing to -webkit-box-sizing.
        * fast/css/computed-style-expected.txt: Updated for different name and place in sorting order.
        * tables/mozilla/core/box_sizing.html: Rename.

WebCore:

        Reviewed by Hyatt.

        - rename box-sizing to -webkit-box-sizing
          because of <rdar://problem/4667227> REGRESSION: Shifted table on page at
          https://us.etrade.com/e/t/home (due to box-sizing)

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Rename.
        * css/CSSPropertyNames.in: Ditto.
        * css/cssparser.cpp: (WebCore::CSSParser::parseValue): Rename and take out comment
        explaining why we aren't prefacing with -webkit.
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): Rename.
        * css/html4.css: Rename.
        * css/quirks.css: Rename.

WebKit:

        Reviewed by Hyatt.

        - rename box-sizing to -webkit-box-sizing

        * WebInspector/webInspector/inspector.css: Here.
        * WebInspector/webInspector/inspector.js: And here, in the expected default CSS values list.

WebKitTools:

        Reviewed by Hyatt.

        - rename box-sizing to -webkit-box-sizing

        * Drosera/console.css: Here.
        * Drosera/debugger.css: And here.
        * Drosera/viewer.css: And here.

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

12 years ago Reviewed by Darin.
mjs [Mon, 23 Apr 2007 07:54:43 +0000 (07:54 +0000)]
    Reviewed by Darin.

        - fix test failures / crashes on PPC

        * kjs/property_map.h: Make the bool fields explicitly 8-bit bitfields, since bool is a full
        word there otherwise :-(

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

12 years ago Reviewed by Darin.
mjs [Mon, 23 Apr 2007 07:44:39 +0000 (07:44 +0000)]
    Reviewed by Darin.

        - fix more test case failures

        * bindings/runtime_array.cpp:
        (RuntimeArray::RuntimeArray): inherit from JSObject instead of ArrayInstance; it turns
        out that this class only needs the prototype and classInfo from ArrayInstance, not the
        actual class itself, and it was too big otherwise.
        (RuntimeArray::getOwnPropertySlot):
        * bindings/runtime_array.h:

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

12 years ago Reviewed by Darin.
mjs [Mon, 23 Apr 2007 07:15:08 +0000 (07:15 +0000)]
    Reviewed by Darin.

        - fix some test failures

        * bindings/runtime_method.cpp:
        (RuntimeMethod::RuntimeMethod): inherit from InternalFunctionImp instead of FunctionImpl,
        otherwise this is too big
        (RuntimeMethod::getOwnPropertySlot):
        * bindings/runtime_method.h:

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

12 years ago2007-04-23 Alp Toker <alp@atoker.com>
bdash [Mon, 23 Apr 2007 07:13:21 +0000 (07:13 +0000)]
2007-04-23  Alp Toker  <alp@atoker.com>

        Reviewed by Hyatt.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::drawConvexPolygon):
        Fix stroking and filling of ellipses and polygons.
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::BitmapImage::draw): Make use of a new GraphicsContext
        function to simplify the code.
        (WebCore::Image::drawPattern): Now implemented. This makes content
        with tiled patterns (eg. CSS repeat) render correctly.
        * platform/graphics/gdk/ImageGdk.cpp:
        (WebCore::Image::drawPattern): Remove old stub.

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

12 years ago2007-04-22 Lars Naesbye Christensen <lars@naesbye.dk>
bdash [Mon, 23 Apr 2007 06:46:05 +0000 (06:46 +0000)]
2007-04-22  Lars Naesbye Christensen  <lars@naesbye.dk>

        Reviewed by Tim Hatcher.

        Prettier, more modern 'cell' cursor
        http://bugs.webkit.org/show_bug.cgi?id=13441
        Also updates past ChangeLog entries to new email address

        * ChangeLog:
        * ChangeLog-2006-12-31:
        * Resources/cellCursor.png:

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

12 years ago2007-04-23 Mark Rowe <mrowe@apple.com>
bdash [Mon, 23 Apr 2007 06:17:38 +0000 (06:17 +0000)]
2007-04-23  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Hyatt.

        Rename cMaxPenderingSourceLengthInLowBandwidthDisplay to cMaxPendingSourceLengthInLowBandwidthDisplay.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):

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

12 years ago Reviewed by Darin.
mjs [Mon, 23 Apr 2007 04:16:42 +0000 (04:16 +0000)]
    Reviewed by Darin.

        - discard the arguments List for an ActivationImp when the corresponding Context is destroyed (1.7% speedup)
        http://bugs.webkit.org/show_bug.cgi?id=13385

        Based an idea by Christopher E. Hyde <C.Hyde@parableuk.force9.co.uk>. His patch to do
        this also had many other List changes and I found this much simpler subset of the changes
        was actually a hair faster.

        This optimization is valid because the arguments list is only kept around to
        lazily make the arguments object. If it's not made by the time the function
        exits, it never will be, since any function that captures the continuation will
        have its own local arguments variable in scope.

        Besides the 1.7% speed improvement, it shrinks List by 4 bytes
        (which in turn shrinks ActivationImp by 4 bytes).

        * kjs/Context.cpp:
        (KJS::Context::~Context): Clear the activation's arguments list.
        * kjs/function.cpp:
        (KJS::ActivationImp::ActivationImp): Adjusted for list changes.
        (KJS::ActivationImp::mark): No need to mark, lists are always protected (this doesn't
        cause a ref-cycle for reasons stated above).
        (KJS::ActivationImp::createArgumentsObject): Clear arguments list.
        * kjs/function.h:
        * kjs/list.cpp:
        (KJS::List::List): No more needsMarking boolean
        (KJS::List::operator=): ditto
        * kjs/list.h:
        (KJS::List::List): ditto
        (KJS::List::reset): ditto
        (KJS::List::deref): ditto

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

12 years ago Reviewed by Darin.
mjs [Mon, 23 Apr 2007 04:10:47 +0000 (04:10 +0000)]
    Reviewed by Darin.

        - shrink PropertyMap by 8 bytes and therefore shrink CELL_SIZE to 40 (for 32-bit;
        similar shrinkage for 64-bit)
        http://bugs.webkit.org/show_bug.cgi?id=13384

        Inspired by similar changes by Christopher E. Hyde <C.Hyde@parableuk.force9.co.uk>
        done in the kjs-tweaks branch of KDE's kjs. However, this version is somewhat
        cleaner style-wise and avoids some of the negative speed impact (at least on gcc/x86)
        of his version.

        This is nearly a wash performance-wise, maybe a slight slowdown, but worth doing
        to eventually reach cell size 32.

        * kjs/collector.cpp:
        (KJS::):
        * kjs/property_map.cpp:
        (KJS::PropertyMap::~PropertyMap):
        (KJS::PropertyMap::clear):
        (KJS::PropertyMap::get):
        (KJS::PropertyMap::getLocation):
        (KJS::PropertyMap::put):
        (KJS::PropertyMap::insert):
        (KJS::PropertyMap::expand):
        (KJS::PropertyMap::rehash):
        (KJS::PropertyMap::remove):
        (KJS::PropertyMap::mark):
        (KJS::PropertyMap::containsGettersOrSetters):
        (KJS::PropertyMap::getEnumerablePropertyNames):
        (KJS::PropertyMap::getSparseArrayPropertyNames):
        (KJS::PropertyMap::save):
        (KJS::PropertyMap::checkConsistency):
        * kjs/property_map.h:
        (KJS::PropertyMap::hasGetterSetterProperties):
        (KJS::PropertyMap::setHasGetterSetterProperties):
        (KJS::PropertyMap::):
        (KJS::PropertyMap::PropertyMap):

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

12 years ago Reviewed by Darin.
mjs [Mon, 23 Apr 2007 04:01:47 +0000 (04:01 +0000)]
    Reviewed by Darin.

        - change blocks to 64k in size, and use various platform-specific calls to allocate at 64k-aligned addresses
        http://bugs.webkit.org/show_bug.cgi?id=13383

        * kjs/collector.cpp:
        (KJS::allocateBlock): New function to allocate 64k of 64k-aligned memory
        (KJS::freeBlock): Corresponding free
        (KJS::Collector::allocate):
        (KJS::Collector::collect):

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

12 years agoAdded bugzilla URL to earlier commit.
mjs [Mon, 23 Apr 2007 03:29:27 +0000 (03:29 +0000)]
Added bugzilla URL to earlier commit.

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

12 years ago Reviewed by Darin and Geoff.
mjs [Mon, 23 Apr 2007 03:28:45 +0000 (03:28 +0000)]
    Reviewed by Darin and Geoff.

        - remove the concept of oversize objects, now that there aren't any (for now
        only enforced with an assert).
        http://bugs.webkit.org/show_bug.cgi?id=13382

        This change is a .66% speedup on JS iBench for 32-bit platforms, probably much more
        for 64-bit since it finally gives a reasonable cell size, but I did not test that.

        * kjs/collector.cpp:
        (KJS::): Use different cell size for 32-bit and 64-bit, now that there is no
        oversize allocation.
        (KJS::Collector::allocate): Remove oversize allocator.
        (KJS::Collector::markStackObjectsConservatively): Don't check oversize objects.
        (KJS::Collector::markMainThreadOnlyObjects): Ditto.
        (KJS::Collector::collect): Ditto.

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

12 years ago Reviewed by Darin and Geoff.
mjs [Mon, 23 Apr 2007 03:09:30 +0000 (03:09 +0000)]
    Reviewed by Darin and Geoff.

        - move most of Window's data members into a separate private object, to avoid needing
        to use the oversize allocator for it

        It was the only remaining JSObject subclass to use the oversize
        allocator on 32-bit platforms, and having oversize objects around
        makes garbage collection slower so this would hurt performance
        with many tabs/windows open.

        No significant effect on JS iBench.

        * bindings/js/kjs_events.cpp:
        (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener):
        (KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener):
        (KJS::JSEventListener::JSEventListener):
        (KJS::JSEventListener::~JSEventListener):
        (KJS::JSLazyEventListener::parseCode):
        * bindings/js/kjs_window.cpp:
        (KJS::WindowPrivate::WindowPrivate):
        (KJS::Window::Window):
        (KJS::Window::~Window):
        (KJS::Window::location):
        (KJS::Window::selection):
        (KJS::Window::locationbar):
        (KJS::Window::menubar):
        (KJS::Window::personalbar):
        (KJS::Window::statusbar):
        (KJS::Window::toolbar):
        (KJS::Window::scrollbars):
        (KJS::Window::mark):
        (KJS::Window::getValueProperty):
        (KJS::Window::findJSEventListener):
        (KJS::Window::findJSUnprotectedEventListener):
        (KJS::Window::clearHelperObjectProperties):
        (KJS::Window::clear):
        (KJS::Window::setCurrentEvent):
        (KJS::Window::setReturnValueSlot):
        (KJS::Window::clearAllTimeouts):
        (KJS::Window::installTimeout):
        (KJS::Window::pauseTimeouts):
        (KJS::Window::resumeTimeouts):
        (KJS::Window::clearTimeout):
        (KJS::Window::timerFired):
        (KJS::Window::disconnectFrame):
        (KJS::Window::jsEventListeners):
        (KJS::Window::jsHTMLEventListeners):
        (KJS::Window::jsUnprotectedEventListeners):
        (KJS::Window::jsUnprotectedHTMLEventListeners):
        * bindings/js/kjs_window.h:

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

12 years ago Fix 1% regression on the PLT. Make sure roundToDevicePixels does no
hyatt [Mon, 23 Apr 2007 03:08:05 +0000 (03:08 +0000)]
    Fix 1% regression on the PLT.  Make sure roundToDevicePixels does no
        work when no scale is in effect.

        Reviewed by mjs

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

12 years ago Reviewed by Oliver.
darin [Mon, 23 Apr 2007 00:44:34 +0000 (00:44 +0000)]
    Reviewed by Oliver.

        - fix small things noticed while looking into a font subsitution bug

        * platform/Font.h: (WebCore::Font::operator==): Corrected a misleading comment.

        * platform/Font.cpp:
        (WebCore::Font::Font): Initialize m_pageZero to 0 in the empty constructor instead
        of leaving it uninitialized. Initialize m_fontList for tighter code. Remove unneeded
        initialization of RefPtr members to 0. Changed the copy constructor to use initialization
        for tighter code.
        (WebCore::Font::operator=): Sorted to match the order from the header and the copy
        constructor, and removed the uneeded self-assignment check.

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

12 years ago Reviewed by Darin.
thatcher [Mon, 23 Apr 2007 00:38:54 +0000 (00:38 +0000)]
    Reviewed by Darin.

        The fix for <rdar://problem/4976681> ASSERTION failure on quit @ talkcrunch.com in _NPN_ReleaseObject
        was #ifdefed out in Production builds.

        * WebView/WebView.mm:
        (+[WebView initialize]): Move the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM inside initialize around the specific code
        (+[WebView _applicationWillTerminate]): Moved outside the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM block

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

12 years ago Reviewed by Maciej.
darin [Sun, 22 Apr 2007 23:14:59 +0000 (23:14 +0000)]
    Reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=5196
          <rdar://problem/4537384> input type=file fields with style=display:none do not post
          their values (5196)

        - fix http://bugs.webkit.org/show_bug.cgi?id=8248
          Can not clear file input field

        * manual-tests/clear-input-file.html: Added.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::appendFormData): Remove check that prevents submission of
        form data when there is no renderer or the renderer is invisible. While well-intentioned,
        the rule does not match the behavior of other web browsers.
        (WebCore::HTMLInputElement::setValue): Instead of disallowing all value changes for file
        type, allow changes to the empty string.
        (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): Made file type return true
        for this. 1) The file type does store its value separate from the value attribute.
        2) The code in setInputType() should do the right thing given this new value, according to
        my inspection of the code. 3) The code in both reset() and setValue() will work properly
        if this is true, which was the motivation for changing it.

        * platform/FileChooser.h: Added a clear function.
        * platform/FileChooser.cpp: (WebCore::FileChooser::clear): Clear the filename and the icon.

        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::valueChanged): Used a local variable to make the code
        a little bit more readable (and match the change below).
        (WebCore::RenderFileUploadControl::updateFromElement): Used local variables a bit more in
        the old code. Added code that will call clear on the FileChooser and repaint if the DOM
        element has an empty value and the FileChooser does not.

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

12 years ago Reviewed by Hyatt.
darin [Sun, 22 Apr 2007 23:12:29 +0000 (23:12 +0000)]
    Reviewed by Hyatt.

        Fixes: http://bugs.webkit.org/show_bug.cgi?id=12279
        Implemented two pass loading. Enabled by WTF_USE_LOW_BANDWIDTH_DISPLAY flag.

        * dom/Document.cpp:
        (WebCore::Document::Document): initialize member variable m_inLowBandwidthDisplay

        * dom/Document.h:
        (WebCore::Document::haveStylesheetsLoaded): while in low bandwidth display mode, ignore pending style sheets
        (WebCore::Document::setDocLoader):
        (WebCore::Document::inLowBandwidthDisplay):
        (WebCore::Document::setLowBandwidthDisplay):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::scriptHandler): while in low bandwidth display mode, don't execute JavaScript

        * loader/Cache.cpp:
        (WebCore::Cache::requestResource): while in low bandwidth display mode, don't let style sheet and JavaScript block

        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::checkNotify): add notifyFinished() as client may need "this" pointer

        * loader/DocLoader.h:
        (WebCore::DocLoader::replaceDocument):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::requestFrame): while in low bandwidth display mode, don't load sub-frame
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::begin): set to low bandwidth display mode if the top frame is HTML document
        (WebCore::FrameLoader::write):
        (WebCore::FrameLoader::endIfNotLoading):
        (WebCore::FrameLoader::checkCompleted): while in low bandwidth display mode, don't set complete
        (WebCore::FrameLoader::requestObject): while in low bandwidth display mode, don't care Object
        (WebCore::FrameLoader::addLowBandwidthDisplayRequest):
        (WebCore::FrameLoader::removeAllLowbandwidthDisplayRequests):
        (WebCore::FrameLoader::notifyFinished):
        (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::FrameLoader::needToSwitchOutLowBandwidthDisplay):
        (WebCore::FrameLoader::FrameLoader::setUseLowBandwidthDisplay):
        (WebCore::FrameLoader::FrameLoader::useLowBandwidthDisplay):

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

12 years agoLayoutTests:
darin [Sun, 22 Apr 2007 22:57:21 +0000 (22:57 +0000)]
LayoutTests:

        Reviewed by Tim Hatcher.

        - test for http://bugs.webkit.org/show_bug.cgi?id=13439
          4 problems found in dashboard-region parser and serializer

        * fast/css/dashboard-region-parser.html: Added.
        * fast/css/dashboard-region-parser-expected.txt: Added.

        * fast/css/dashboard-regions-attr-crash.html: Updated bug URL to point to bugs.webkit.org
        instead of bugzilla.opendarwin.org. At some point we should do this for the roughly 100
        other tests that have the old URL.
        * fast/css/dashboard-regions-attr-crash-expected.txt: Ditto.

WebCore:

        Reviewed by Tim Hatcher.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13439
          4 problems found in dashboard-region parser and serializer

        Test: fast/css/dashboard-region-parser.html

        * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText):
        Fix code that overwrote each additional region with the previous one to
        instead build a space-separated list. Check for the case of an identifier
        that's invalid, since that's (accidentally) how we represent a region
        value that doesn't have explicit top/right/bottom/left values. The old code
        would end up writing out four spaces after the region type.

        * css/cssparser.cpp: (WebCore::CSSParser::parseDashboardRegions):
        Fail to parse if there is something after the "none" identifier or after
        the arguments inside the dashboard-region "function". Also replaced code
        that produced a identifier with CSS_VAL_INVALID in a roundabout way with
        code that does it explicitly.

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

12 years ago Reviewed by Mitz.
thatcher [Sun, 22 Apr 2007 22:12:00 +0000 (22:12 +0000)]
    Reviewed by Mitz.

        Bug 13436: Make Option-clicking a disclosure triangle expand the entire subtree
        http://bugs.webkit.org/show_bug.cgi?id=13436

        Makes option-click recursively expand and collapse the sub-tree. Pressing option-left
        and -right also recursively expands and collapses the sub-tree.

        * WebInspector/webInspector/treeoutline.js:

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

12 years ago Reviewed by Mitz.
thatcher [Sun, 22 Apr 2007 22:05:48 +0000 (22:05 +0000)]
    Reviewed by Mitz.

        Bug 13437: Inspector does not update when navigating to a different page
        http://bugs.webkit.org/show_bug.cgi?id=13437

        * WebInspector/webInspector/inspector.js: Correctly update to a new root node
          if the new focus node and the old focus node don't have a common ancestor.

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

12 years agoLayoutTests:
darin [Sun, 22 Apr 2007 17:17:02 +0000 (17:17 +0000)]
LayoutTests:

        Reviewed by Adele.

        - test for <rdar://problem/5100240> REGRESSION: Control-O broken

        * editing/input/emacs-ctrl-o-expected.checksum: Added.
        * editing/input/emacs-ctrl-o-expected.png: Added.
        * editing/input/emacs-ctrl-o-expected.txt: Added.
        * editing/input/emacs-ctrl-o.html: Added.

WebCore:

        Reviewed by Adele.

        - support for fix for <rdar://problem/5100240> REGRESSION: Control-O broken

        * dom/KeyboardEvent.h: Include a vector of command names in the KeypressCommand object
        instead of a single command name.

WebKit:

        Reviewed by Adele.

        - fix for <rdar://problem/5100240> REGRESSION: Control-O broken

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Update to handle a vector of
        command names instead of a single command.
        (-[WebHTMLView doCommandBySelector:]): Change logic so that we add the command to a vector
        and also so that the interpretKeyEvents parameters are still intact for a second call to
        doCommandBySelector:, since the key bindings mechanism can do more than one.
        (-[WebHTMLView insertText:]): Added comment.

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

12 years ago Reviewed by Darin.
ap [Sun, 22 Apr 2007 08:23:55 +0000 (08:23 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=13115
        REGRESSION: 1000% performance regression in DOM access by index, which was already slow

        * dom/NodeList.h: Move cached data into a separate class, so it can be shared.

        * dom/Node.h: Replace the set of registered NodeLists with a struct that also
        contains a shared NodeList::Caches (so the size of Node doesn't change).

        * dom/NodeList.cpp:
        (WebCore::NodeList::NodeList):
        (WebCore::NodeList::~NodeList):
        (WebCore::NodeList::recursiveLength):
        (WebCore::NodeList::itemForwardsFromCurrent):
        (WebCore::NodeList::itemBackwardsFromCurrent):
        (WebCore::NodeList::recursiveItem):
        (WebCore::NodeList::itemWithName):
        (WebCore::NodeList::rootNodeChildrenChanged):
        (WebCore::NodeList::NodeListInfo::NodeListInfo):
        (WebCore::NodeList::NodeListInfo::reset):
        * dom/ChildNodeList.cpp:
        (WebCore::ChildNodeList::ChildNodeList):
        (WebCore::ChildNodeList::length):
        (WebCore::ChildNodeList::item):
        (WebCore::ChildNodeList::nodeMatches):
        * dom/ChildNodeList.h:
        * dom/Node.cpp:
        (WebCore::Node::childNodes):
        (WebCore::Node::registerNodeList):
        (WebCore::Node::unregisterNodeList):
        (WebCore::Node::notifyLocalNodeListsAttributeChanged):
        (WebCore::Node::notifyLocalNodeListsChildrenChanged):
        Adjust for the above changes.

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

12 years agoLayoutTests:
andrew [Sun, 22 Apr 2007 03:15:17 +0000 (03:15 +0000)]
LayoutTests:
2007-04-21  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - repaint test for http://bugs.webkit.org/show_bug.cgi?id=13391
          REGRESSION (r18819): Incomplete repaint of button text

        * fast/repaint/control-clip-expected.checksum: Added.
        * fast/repaint/control-clip-expected.png: Added.
        * fast/repaint/control-clip-expected.txt: Added.
        * fast/repaint/control-clip.html: Added.

WebCore:
2007-04-21  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13391
          REGRESSION (r18819): Incomplete repaint of button text

        Test: fast/repaint/control-clip.html

        Ignore controls' lightweight clip in repaint rect computation for now.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeAbsoluteRepaintRect):

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

12 years ago Reviewed by Adam.
darin [Sun, 22 Apr 2007 01:41:26 +0000 (01:41 +0000)]
    Reviewed by Adam.

        - fix <rdar://problem/4816343> :-khtml-drag CSS pseudo-class changed to :-webkit-drag, need alias

        * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
        Since Apple documentation claims "-khtml-drag" works, we need to keep it working,
        so add it back as an alias.

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

12 years ago Reviewed by Oliver.
darin [Sat, 21 Apr 2007 23:46:57 +0000 (23:46 +0000)]
    Reviewed by Oliver.

        - fix some problems I ran into using the inspector

        * WebInspector/webInspector/inspector.js: Add some null checks.

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

12 years ago Reviewed by Oliver.
darin [Sat, 21 Apr 2007 23:46:07 +0000 (23:46 +0000)]
    Reviewed by Oliver.

        - fix <rdar://problem/4782422> REGRESSION: -[stringByEvaluatingJavaScriptFromString]
          returns an empty string instead of nil for non-string results

        * page/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
        Added a call to nsStringNilIfEmpty to restore the old behavior. It might be nice to
        distinguish the empty string from a non-string result, but there's no obvious way
        to do that, and for compatibility it's probably best to just restore the old
        behavior instead.

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

12 years ago Fix for bug 13432, determineFlowSpacing is O(n^2).
hyatt [Sat, 21 Apr 2007 22:31:09 +0000 (22:31 +0000)]
    Fix for bug 13432, determineFlowSpacing is O(n^2).

        Reviewed by aroben

        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::nextOnLineExists):
        (WebCore::InlineBox::prevOnLineExists):
        * rendering/InlineBox.h:
        (WebCore::InlineBox::InlineBox):

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

12 years ago2007-04-21 Lamar Goddard <lamargoddard@gmail.com>
ap [Sat, 21 Apr 2007 09:38:59 +0000 (09:38 +0000)]
2007-04-21  Lamar Goddard <lamargoddard@gmail.com>

        Reviewed by Darin.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=5262
        <rdar://problem/5018778>
        XMLSerializer drops Namespace information

WebCore:
        Updated WebCore::markup to output namespace information for elements/attributes whose namespace information
        doesn't appear in its scope in the output.

        * WebCore/editing/markup.cpp:
        (WebCore::createMarkup(const Node*, ...)): Changed call to WebCore::markup to match parameters
        (WebCore::markup): Changed recursive call to match tree structure, removed ASSERT and no longer needed includeSiblings parameter.
        (WebCore::startMarkup): Added optional parameter to track namespaces in the current scope.
        (WebCore::addNamespace): Function to add namespace information to markup.
        (WebCore::shouldAddNamespaceAttr):
        (WebCore::shouldAddNamespaceElem): Functions that test whether namespace information should be added for a given node.
        * WebCore/dom/Document.idl:
        (createElementNS):
        (createAttributeNS):
        (getElementsByTagNameNS): Added [ConvertNullToNullString] to namespaceURI parameter.
        * WebCore/dom/Node.cpp:
        (Node::getElementsByTagNameNS): removed test for namespaceURI being null as null can be a valid namespace.

LayoutTests:
        * fast/dom/serialize-nodes-expected.txt: Added.
        * fast/dom/serialize-nodes.xhtml: Added.
        * dom/xhtml/level3/core/nodeisequalnode14-expected.txt: This test fails because
        createAttribute is supposed to create an Attr with localName of null.
        * dom/xhtml/level3/core/nodeisequalnode15-expected.txt: Now succeeds.
        * fast/innerHTML/004-expected.txt: Added namespace information to head and body nodes
        as xhtml nodes now serialize with namespace information.

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

12 years ago Reviewed by Darin.
ap [Sat, 21 Apr 2007 08:50:29 +0000 (08:50 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=13300
        Reproducible crash opening anekdot.ru

WebCore:
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::HTMLParser):
        (WebCore::HTMLParser::getNode):
        (WebCore::HTMLParser::handleIsindex):
        * html/HTMLParser.h:
        Made HTMLParser::form a RefPtr, and renamed it to m_currentFormElement.
        Made m_currentMapElement a RefPtr.

LayoutTests:
        * fast/parser/rewrite-form-expected.txt: Added.
        * fast/parser/rewrite-form.html: Added.
        * fast/parser/rewrite-map-expected.txt: Added.
        * fast/parser/rewrite-map.html: Added.

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

12 years ago2007-04-21 Mitz Pettel <mitz@webkit.org>
bdash [Sat, 21 Apr 2007 08:20:39 +0000 (08:20 +0000)]
2007-04-21  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13353
          REGRESSION (r20754-20766): Textarea does not resize when scrollbar is present

        Test: fast/overflow/hit-test-overflow-controls.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseMoveEvent): Avoid activating scrollbars
        during layer resize.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::isPointInOverflowControl): Renamed isPointInScrollbar
        to this, to reflect that it returns true for points in the resize corner
        as well. Changed it to call the layer to do the actual work.
        (WebCore::RenderBlock::nodeAtPoint): Updated for the above rename.
        * rendering/RenderBlock.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::horizontalScrollbarWidget): Fixed typo in this function's
        name (it was horizontaScrollbarWidget).
        (WebCore::RenderLayer::hitTestOverflowControls): Added. Returns whether the
        hit point is in one of the scrollbars or the resize corner, and updates the
        platform scrollbar in the hit test result if a scrollbar was hit.
        * rendering/RenderLayer.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::isPointInOverflowControl): Rename.
        * rendering/RenderListBox.h:

2007-04-21  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - test for http://bugs.webkit.org/show_bug.cgi?id=13353
          REGRESSION (r20754-20766): Textarea does not resize when scrollbar is present

        * fast/overflow/hit-test-overflow-controls-expected.checksum: Added.
        * fast/overflow/hit-test-overflow-controls-expected.png: Added.
        * fast/overflow/hit-test-overflow-controls-expected.txt: Added.
        * fast/overflow/hit-test-overflow-controls.html: Added.

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

12 years ago2007-04-21 Mitz Pettel <mitz@webkit.org>
bdash [Sat, 21 Apr 2007 08:17:09 +0000 (08:17 +0000)]
2007-04-21  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=13350
          Build Ahem into DumpRenderTree

        * DumpRenderTree/DumpRenderTree.m:
        (activateAhemFont): Added. Activates the copy of Ahem included in the
        DumpRenderTree binary.
        (dumpRenderTree): Replaced the check that Ahem is available with a call
        to activateAhemFont().
        * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
          Added linker options to include Ahem in the data section of the
          DumpRenderTree binary.

2007-04-21  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=13350
          Build Ahem into DumpRenderTree

        * quality/testing.html: Removed the requirement to download and install
        Ahem for running the tests.
        * quality/testwriting.html: Added information about Ahem.

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

12 years ago2007-04-21 Mitz Pettel <mitz@webkit.org>
bdash [Sat, 21 Apr 2007 08:14:25 +0000 (08:14 +0000)]
2007-04-21  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13417
          Repro crash when the first argument to getMatchedCSSRules is not an element

        Test: fast/dom/Window/getMatchedCSSRules-null-crash.html

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::styleRulesForElement): Added null check.

2007-04-21  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - test for http://bugs.webkit.org/show_bug.cgi?id=13417
          Repro crash when the first argument to getMatchedCSSRules is not an element

        * fast/dom/Window/getMatchedCSSRules-null-crash-expected.txt: Added.
        * fast/dom/Window/getMatchedCSSRules-null-crash.html: Added.

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

12 years ago2007-04-21 Mitz Pettel <mitz@webkit.org>
bdash [Sat, 21 Apr 2007 08:12:26 +0000 (08:12 +0000)]
2007-04-21  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13416
          Repro crash after referencing the user stylesheet from JavaScript

        No test included because DumpRenderTree does not support setting the user stylesheet.

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::CSSStyleSelector::~CSSStyleSelector):
        * css/cssstyleselector.h: Made m_userSheet a RefPtr.

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

12 years ago2007-04-21 Mitz Pettel <mitz@webkit.org>
bdash [Sat, 21 Apr 2007 08:09:45 +0000 (08:09 +0000)]
2007-04-21  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Adam.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13428
          REGRESSION (r20973-r20976): Failing ecma/Array/15.4.4.5-3.js

        - fix http://bugs.webkit.org/show_bug.cgi?id=13429
          REGRESSION (r20973-r20976): Crashing in fast/dom/plugin-attributes-enumeration.html

        * kjs/array_object.cpp:
        (ArrayInstance::sort): Free the old storage, not the new one.

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

12 years ago2007-04-21 MorganL <morganl.webkit@yahoo.com>
bdash [Sat, 21 Apr 2007 08:08:41 +0000 (08:08 +0000)]
2007-04-21  MorganL  <morganl.webkit@yahoo.com>

        Reviewed by Adam.

        NPObject should be forward declared using 'struct' instead of 'class'

        * page/Frame.h:

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

12 years ago2007-04-21 Alp Toker <alp@atoker.com>
bdash [Sat, 21 Apr 2007 07:51:46 +0000 (07:51 +0000)]
2007-04-21  Alp Toker  <alp@atoker.com>

        Gdk build fix.

        * platform/gdk/FontPlatformDataGdk.cpp:
        (WebCore::FontPlatformData::FontPlatformData): Use the correct casts.

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

12 years agoFixes the build.
thatcher [Sat, 21 Apr 2007 06:43:48 +0000 (06:43 +0000)]
Fixes the build.

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

12 years ago Reviewed by Darin.
thatcher [Sat, 21 Apr 2007 06:14:51 +0000 (06:14 +0000)]
    Reviewed by Darin.

        Merge over the WebInspectorRefresh branch. This change removes the NSOutlineView and
        is replaced with a HTML/JavaScript tree. Most of the inspector logic is now in the JavaScript.

        A few bugs are fixed by these changes:

        Bug 6615: Parent node drop-down list is upside-down
        http://bugs.webkit.org/show_bug.cgi?id=6615

        Bug 6643: REGRESSION: Tree view repaints lines without erasing them first
        http://bugs.webkit.org/show_bug.cgi?id=6643

        Bug 6650: Web Inspector HTML Hierarchy can't be scrolled with scrollwheel
        http://bugs.webkit.org/show_bug.cgi?id=6650

        Bug 6677: Can't drag inspector when tree view has focus
        http://bugs.webkit.org/show_bug.cgi?id=6677

        Bug 7326: Web Inspector tree scrollbar always shows up when resizing the top pane down
        http://bugs.webkit.org/show_bug.cgi?id=7326

        * WebInspector/WebInspector.h: Removed the searchQuery methods.
        * WebInspector/WebInspector.m: Removed the DOMNode category and code for the old outline view.
        * WebInspector/WebInspectorOutlineView.h: Removed.
        * WebInspector/WebInspectorOutlineView.m: Removed.
        * WebInspector/WebInspectorInternal.h: Remove some methods and instance variables.
        * WebInspector/webInspector/Images/resize.png: Added.
        * WebInspector/webInspector/inspector.css:
        * WebInspector/webInspector/inspector.html: Include the new classes and remove the plugin.
        * WebInspector/webInspector/inspector.js: Changes to use the new tree outline and other fixes.
        * WebInspector/webInspector/scrollarea.js: Copied from the Dashboard widget resources.
        * WebInspector/webInspector/scrollbar.js: Ditto.
        * WebInspector/webInspector/treeoutline.js: New tree outline class.
        * WebInspector/webInspector/utilities.js: DOM and String prototype additions.
        * WebKit.xcodeproj/project.pbxproj: Remove WebInspectorOutlineView.

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

12 years ago Reviewed by Adam.
bdakin [Sat, 21 Apr 2007 01:00:07 +0000 (01:00 +0000)]
    Reviewed by Adam.

        Test I meant to check in a while ago.

        * fast/events/fire-scroll-event-expected.txt: Added.
        * fast/events/fire-scroll-event.html: Added.

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

12 years agoWebCore:
beidson [Sat, 21 Apr 2007 00:26:18 +0000 (00:26 +0000)]
WebCore:

        Reviewed by Oliver (Black Sheep)

        <rdar://problem/3559794>
        [WebView setMaintainsBackForwardList:] doesn't actually flush out the current page caches

        * WebCore.exp:
        * history/BackForwardList.cpp:
        (WebCore::BackForwardList::BackForwardList): Set the flag to true by default
        (WebCore::BackForwardList::addItem): Check the flag and bail if its false
        (WebCore::BackForwardList::setCapacity): More correct if it set the m_current to
          NoCurrentItemIndex if we're setting capacity to 0
        (WebCore::BackForwardList::enabled):
        (WebCore::BackForwardList::setEnabled): If we're disabling, cycle capacity to 0 and
          back to flush things out
        * history/BackForwardList.h: Add enabled(), setEnabled(bool), and m_enabled

WebKit:

        Reviewed by Oliver (Black Sheep)

        <rdar://problem/3559794>
        [WebView setMaintainsBackForwardList:] doesn't actually flush out the current page caches

        * WebView/WebView.mm: Remove _private->useBackForwardList
        (-[WebView _setInitiatedDrag:]): Use _private->page instead of [self page]
        (-[WebView initWithCoder:]): Manipulate the flag that is now in WebCore::BackForwardList
        (-[WebView encodeWithCoder:]): Ditto
        (-[WebView backForwardList]): Use _private->page instead of [self page]
        (-[WebView setMaintainsBackForwardList:]): Manipulate the flag that is now in WebCore::BackForwardList

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

12 years ago Bug 13424, firstLineStyle and verticalPositionHint together take
hyatt [Sat, 21 Apr 2007 00:24:43 +0000 (00:24 +0000)]
    Bug 13424, firstLineStyle and verticalPositionHint together take
        33% of the time on the new tag nesting PLT.  Don't waste time even
        looking for first-line styles if no stylesheet used them.

        Reviewed by beth

        * css/CSSGrammar.y:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        (WebCore::Document::usesFirstLineRules):
        (WebCore::Document::setUsesFirstLineRules):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::verticalPositionHint):
        (WebCore::RenderObject::firstLineStyle):

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

12 years ago Not reviewed, build fix.
mjs [Fri, 20 Apr 2007 22:50:45 +0000 (22:50 +0000)]
    Not reviewed, build fix.

        - fix build problem with last change - -O3 complains more about uninitialized variables

        * pcre/pcre_compile.c:
        (compile_branch):
        (pcre_compile2):

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

12 years ago Reviewed by Darin.
aroben [Fri, 20 Apr 2007 22:33:36 +0000 (22:33 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=13421
        Bug 13421: prepare-ChangeLog should use svn-create-patch when spewing diffs

        * Scripts/prepare-ChangeLog: Use svn-create-patch instead of svn diff.

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

12 years ago2007-04-20 Peter Kasting <pkasting@google.com>
oliver [Fri, 20 Apr 2007 22:26:55 +0000 (22:26 +0000)]
2007-04-20  Peter Kasting  <pkasting@google.com>

        Reviewed by Oliver.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13420

        * platform/TextEncodingRegistry.cpp:
        (WebCore::addToTextEncodingNameMap): Change a pointer comparison to a
        strcmp(), since the strings here are not necessarily
        pointer-equivalent.

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

12 years ago Reviewed by Darin.
mjs [Fri, 20 Apr 2007 22:20:15 +0000 (22:20 +0000)]
    Reviewed by Darin.

        - <rdar://problem/5149915> use mergesort when possible, since it leads to fewer compares (2% JS iBench speedup)

        * kjs/array_object.cpp:
        (ArrayInstance::sort): Use mergesort(3) on platforms that have it, since it tends
        to do fewer compares than qsort; but avoid it very on large arrays since it uses extra
        memory. Also added comments identifying possibly even better sorting algorithms
        for sort by string value and sort by compare function.
        * kjs/config.h:

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

12 years ago Reviewed by Darin.
mjs [Fri, 20 Apr 2007 22:00:06 +0000 (22:00 +0000)]
    Reviewed by Darin.

        - bump optimization flags up to -O3 for 1% JS iBench speed improvement

        * Configurations/Base.xcconfig:

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

12 years agoLayoutTests:
darin [Fri, 20 Apr 2007 21:52:14 +0000 (21:52 +0000)]
LayoutTests:

        Reviewed by Geoff Garen and John Sullivan.

        - test changes for <rdar://problem/4671964> document property on <iframe> elements causes problems for SAP application

        * fast/dom/iframe-document-expected.txt: Added.
        * fast/dom/iframe-document.html: Added.

        * fast/dom/attr_dead_doc.html: Changed to use contentDocument instead of relying on the document property
        on HTMLIFrameElement.
        * fast/events/mouseover-mouseout.html: Ditto.
        * fast/frames/repaint-display-none-crash.html: Ditto.

WebCore:

        Reviewed by Geoff Garen and John Sullivan.

        - fix <rdar://problem/4671964> document property on <iframe> elements causes problems for SAP application

        Test: fast/dom/iframe-document.html

        * bindings/js/kjs_html.h: Removed IFrameDocument.
        * bindings/js/kjs_html.cpp: (KJS::JSHTMLElement::iFrameGetter): Ditto.

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

12 years ago2007-04-20 Mark Rowe <mrowe@apple.com>
bdash [Fri, 20 Apr 2007 08:47:42 +0000 (08:47 +0000)]
2007-04-20  Mark Rowe  <mrowe@apple.com>

        Reviewed by Maciej.

        Fix bogus optimisation in the generic pthread code path.

        * kjs/collector.cpp:
        (KJS::currentThreadStackBase):

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

12 years ago2007-04-20 Mark Rowe <mrowe@apple.com>
bdash [Fri, 20 Apr 2007 07:50:14 +0000 (07:50 +0000)]
2007-04-20  Mark Rowe  <mrowe@apple.com>

        Reviewed by Anders.

        Improve FreeBSD compatibility, as suggested by Alexander Botero-Lowry.

        * kjs/collector.cpp:
        (KJS::currentThreadStackBase): FreeBSD requires that pthread_attr_t's are
        initialized via pthread_attr_init before being used in any context.

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

12 years ago Reviewed by Maciej.
andersca [Fri, 20 Apr 2007 07:13:24 +0000 (07:13 +0000)]
    Reviewed by Maciej.

        <rdar://problem/5085897> REGRESSION: Some Flash links at www.jumpskyhigh.com just reload the page

        Get rid of the check that would prevent plugin requests from being loaded if a new page load was underway.
        www.jumpskyhigh.com had a flash movie that was embedded inside an <a> tag and clicking on the plug-in would cause the
        URL pointed to by the <a> tag to start loading and thus preventing the plug-in from loading the real URL.

        This check was added by Maciej and we should be able to remove it with the loader changes that have happened now,
        (mainly the fact that resource loaders are handled by the document loader instead of the frame loader).

        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):

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

12 years ago2007-04-19 Alp Toker <alp@atoker.com>
bdash [Fri, 20 Apr 2007 06:54:25 +0000 (06:54 +0000)]
2007-04-19  Alp Toker  <alp@atoker.com>

        Reviewed by Mark.

        * platform/gdk/FontGdk.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/gdk/FontPlatformDataGdk.cpp:
        (WebCore::FontPlatformData::FontPlatformData): Fix font support in Gdk port.

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

12 years ago Fix for bug 13208, implement word-break. This patch produces a partial
hyatt [Fri, 20 Apr 2007 05:02:19 +0000 (05:02 +0000)]
    Fix for bug 13208, implement word-break.  This patch produces a partial
        implementation of word-break.  word-break: break-all is implemented.  In
        addition, a custom value, word-break: break-word is added that is a hybrid
        of word-wrap: break-word and word-break: break-all (and more useful than
        either).

        Reviewed by beth

        Added fast/text/word-break.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSPropertyNames.in:
        * css/CSSValueKeywords.in:
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/RenderStyle.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
        (WebCore::StyleRareInheritedData::operator==):
        (WebCore::RenderStyle::diff):
        * rendering/RenderStyle.h:
        (WebCore::):
        (WebCore::RenderStyle::breakWords):
        (WebCore::RenderStyle::wordBreak):
        (WebCore::RenderStyle::setWordBreak):
        (WebCore::RenderStyle::initialWordBreak):
        (WebCore::RenderStyle::initialWordWrap):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::calcMinMaxWidthInternal):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::createInnerTextStyle):
        (WebCore::RenderTextControl::calcHeight):
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::findNextLineBreak):

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

12 years ago2007-04-20 Mark Rowe <mrowe@apple.com>
bdash [Fri, 20 Apr 2007 04:59:28 +0000 (04:59 +0000)]
2007-04-20  Mark Rowe  <mrowe@apple.com>

        Qt build fix for FreeBSD.

        * WebCore.pro: FreeBSD needs HAVE_PTHREAD_NP_H defined.

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

12 years ago2007-04-19 Oliver Hunt <oliver@apple.com>
oliver [Fri, 20 Apr 2007 02:50:14 +0000 (02:50 +0000)]
2007-04-19  Oliver Hunt  <oliver@apple.com>

        Reviewed by Adam.

        Fix for <rdar://problem/4960912> -- REGRESSION: Content-Disposition:
        filename is ignored for drag-and-drop.

        * WebView/WebResource.mm:
        (-[WebResource _fileWrapperRepresentation]):
          When creating the NSFileWrapper check the response for a preferred
          filename, rather than just blindly hoping for the best.

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

12 years ago2007-04-19 Mitz Pettel <mitz@webkit.org>
bdash [Fri, 20 Apr 2007 02:09:35 +0000 (02:09 +0000)]
2007-04-19  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13403
          REGRESSION (r18875-r18899): Can no longer type into search form field after searching and then clicking "back"

        The problem was that the page was loaded from the page cache with a subtree
        marked for layout and the layout timer stopped (having been stopped when the
        page entered the page cache). FrameView::needsLayout() was returning false
        which prevented the pending layout from completing.

        * page/FrameView.cpp:
        (WebCore::FrameView::clear): Removed the call to stop the layout timer, since
        reset() does that already.
        (WebCore::FrameView::needsLayout): Changed to return true if there's a subtree
        pending relayout.

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

12 years ago2007-04-19 Mitz Pettel <mitz@webkit.org>
bdash [Fri, 20 Apr 2007 02:08:01 +0000 (02:08 +0000)]
2007-04-19  Mitz Pettel  <mitz@webkit.org>

        Rubber-stamped by Adam.

        - http://bugs.webkit.org/show_bug.cgi?id=13412
          Replace abe.jpg with a PNG file

        * editing/abe.jpg: Removed.
        * editing/deleting/4866671.html:
        * editing/deleting/delete-3608462-fix.html:
        * editing/deleting/delete-image-001.html:
        * editing/deleting/delete-image-002.html:
        * editing/deleting/delete-image-003.html:
        * editing/deleting/delete-image-004.html:
        * editing/execCommand/5080333-1-expected.checksum:
        * editing/execCommand/5080333-1-expected.png:
        * editing/execCommand/5080333-1.html:
        * editing/execCommand/5080333-2-expected.checksum:
        * editing/execCommand/5080333-2-expected.png:
        * editing/execCommand/5080333-2.html:
        * editing/execCommand/createLink-expected.txt:
        * editing/execCommand/createLink.html:
        * editing/execCommand/insertImage-expected.checksum:
        * editing/execCommand/insertImage-expected.png:
        * editing/execCommand/insertImage.html:
        * editing/execCommand/unlink-expected.txt:
        * editing/execCommand/unlink.html:
        * editing/inserting/12882.html:
        * editing/inserting/typing-around-image-001.html:
        * editing/pasteboard/4641033-expected.checksum:
        * editing/pasteboard/4641033-expected.png:
        * editing/pasteboard/4641033.html:
        * editing/pasteboard/4947130-expected.checksum:
        * editing/pasteboard/4947130-expected.png:
        * editing/pasteboard/4947130.html:
        * editing/pasteboard/4989774-expected.checksum:
        * editing/pasteboard/4989774-expected.png:
        * editing/pasteboard/4989774.html:
        * editing/pasteboard/copy-standalone-image.html:
        * editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.checksum:
        * editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.png:
        * editing/pasteboard/drag-image-to-contenteditable-in-iframe.html:
        * editing/pasteboard/drag-selected-image-to-contenteditable-expected.checksum:
        * editing/pasteboard/drag-selected-image-to-contenteditable-expected.png:
        * editing/pasteboard/drag-selected-image-to-contenteditable.html:
        * editing/pasteboard/styled-element-markup-expected.checksum:
        * editing/pasteboard/styled-element-markup-expected.png:
        * editing/pasteboard/styled-element-markup.html:
        * editing/resources/abe.jpg: Removed.
        * editing/resources/abe.png: Added.
        * editing/selection/4402375-expected.checksum:
        * editing/selection/4402375-expected.png:
        * editing/selection/4402375.html:
        * editing/selection/4932260-1-expected.checksum:
        * editing/selection/4932260-1-expected.png:
        * editing/selection/4932260-1.html:
        * editing/selection/4932260-2-expected.checksum:
        * editing/selection/4932260-2-expected.png:
        * editing/selection/4932260-2.html:
        * editing/selection/4932260-3-expected.checksum:
        * editing/selection/4932260-3-expected.png:
        * editing/selection/4932260-3.html:
        * editing/selection/drag-to-contenteditable-iframe-expected.checksum:
        * editing/selection/drag-to-contenteditable-iframe-expected.png:
        * editing/selection/drag-to-contenteditable-iframe.html:
        * editing/selection/extend-by-character-002-expected.checksum:
        * editing/selection/extend-by-character-002-expected.png:
        * editing/selection/extend-by-character-002.html:
        * editing/selection/extend-by-character-004-expected.checksum:
        * editing/selection/extend-by-character-004-expected.png:
        * editing/selection/extend-by-character-004.html:
        * editing/selection/image-before-linebreak-expected.checksum:
        * editing/selection/image-before-linebreak-expected.png:
        * editing/selection/image-before-linebreak.html:
        * editing/selection/legal-positions.html:
        * editing/selection/move-by-character-002-expected.checksum:
        * editing/selection/move-by-character-002-expected.png:
        * editing/selection/move-by-character-002.html:
        * editing/selection/move-by-character-004-expected.checksum:
        * editing/selection/move-by-character-004-expected.png:
        * editing/selection/move-by-character-004.html:
        * editing/selection/replaced-boundaries-1-expected.checksum:
        * editing/selection/replaced-boundaries-1-expected.png:
        * editing/selection/replaced-boundaries-1.html:
        * editing/selection/replaced-boundaries-2-expected.checksum:
        * editing/selection/replaced-boundaries-2-expected.png:
        * editing/selection/replaced-boundaries-2.html:

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

12 years agoLayoutTests:
justing [Fri, 20 Apr 2007 01:53:22 +0000 (01:53 +0000)]
LayoutTests:

        Reviewed by harrison

        <rdar://problem/5144139>
        On delete, <BR> inserted into non-editable ToDo <TABLE> element

        * editing/deleting/5144139-2-expected.checksum: Added.
        * editing/deleting/5144139-2-expected.png: Added.
        * editing/deleting/5144139-2-expected.txt: Added.
        * editing/deleting/5144139-2.html: Added.

WebCore:

        Reviewed by harrison

        <rdar://problem/5144139>
        On delete, <BR> inserted into non-editable ToDo <TABLE> element

        The fact that the br was being inserted at a bad position
        (a non-editable position and one inside a table instead of
        before it) was fixed in the previous checkin. This change
        stops us from inserting a br at all, to fix the bug.

        After a delete, we need a placeholder if the selection
        started at the start of a paragraph and ended at the end
        of a paragraph. But not if it starts just before a table
        and ends inside that table.  We need placeholders to hold
        open emptied out table cells, but that is handled separately.

        Also, moved lineBreakExistsAtPosition to htmlediting.cpp
        so that it can be used in more places.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::removePlaceholderAt):
        (WebCore::CompositeEditCommand::moveParagraphs):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::doApply):
        * editing/InsertLineBreakCommand.cpp:
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        * editing/htmlediting.cpp:
        (WebCore::lineBreakExistsAtPosition):
        * editing/htmlediting.h:

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

12 years agoLayoutTests:
justing [Fri, 20 Apr 2007 00:08:50 +0000 (00:08 +0000)]
LayoutTests:

        Reviewed by harrison

        * editing/execCommand/5144139-1-expected.checksum: Added.
        * editing/execCommand/5144139-1-expected.png: Added.
        * editing/execCommand/5144139-1-expected.txt: Added.
        * editing/execCommand/5144139-1.html: Added.

WebCore:

        Reviewed by harrison

        Fixes some issues found while investigating:
        <rdar://problem/5144139> On delete, <BR> inserted into non-editable ToDo <TABLE> element

        Move the code to handle inserting content before/after
        tables for [table, 0/max] to insertNodeAt, so that
        all insertions get it, not just some.
        Changed insertNodeAt to take in a position instead of a
        node and an offset.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::insertNodeAt):
        (WebCore::CompositeEditCommand::insertNodeAtTabSpanPosition):
        (WebCore::CompositeEditCommand::insertBlockPlaceholder):
        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
        If paragrahStart.node() is an atomic node, insertNodeAt can handle
        insertion, we don't need to special case it.
        (WebCore::CompositeEditCommand::moveParagraphs):
        (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
        * editing/CompositeEditCommand.h:
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::mergeParagraphs):
        (WebCore::DeleteSelectionCommand::doApply):
        * editing/FormatBlockCommand.cpp:
        (WebCore::FormatBlockCommand::doApply):
        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::indentRegion):
        (WebCore::IndentOutdentCommand::outdentParagraph):
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply):
        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApply):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::prepareForTextInsertion): Removed some
        dead code that handled insertion at non-editable positions.
        (WebCore::InsertTextCommand::insertTab):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):
        (WebCore::ReplaceSelectionCommand::insertNodeAtAndUpdateNodesInserted):
        * editing/ReplaceSelectionCommand.h:

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

12 years ago Reviewed by Darin.
andrew [Thu, 19 Apr 2007 22:35:06 +0000 (22:35 +0000)]
    Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13336
          REGRESSION (r20646): editing/execCommand/hilitecolor.html crashes under guardMalloc

        Avoid calling selectionRect() and selectionGapRects() on a renderer that needs
        layout.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::selectionGapRects):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::BlockSelectionInfo::BlockSelectionInfo):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::selectionRect):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::SelectionInfo::SelectionInfo):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::selectionRect):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::selectionRect):

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

12 years agoLayoutTests:
justing [Thu, 19 Apr 2007 20:27:47 +0000 (20:27 +0000)]
LayoutTests:

        Reviewed by darin

        <rdar://problem/5142012>
        GoogleDocs: Crash at WebCore::Range::startPosition() when creating a list from a link

        Tests the change to pushAnchorElementDown, where we remove
        the anchor element that has had copies of it pushed down:
        * editing/execCommand/5142012-1-expected.checksum: Added.
        * editing/execCommand/5142012-1-expected.png: Added.
        * editing/execCommand/5142012-1-expected.txt: Added.
        * editing/execCommand/5142012-1.html: Added.

        Demonstrates the crash (fixed by adding nil-checks
        to moveParagraphs):
        * editing/execCommand/5142012-2-expected.checksum: Added.
        * editing/execCommand/5142012-2-expected.png: Added.
        * editing/execCommand/5142012-2-expected.txt: Added.
        * editing/execCommand/5142012-2.html: Added.

        Tests the changes to positionAvoidingSpecialElementBoundary,
        where we push down anchors before we avoid them so that
        we don't also avoid structural elements like lists and paragraphs:
        * editing/execCommand/5142012-3-expected.checksum: Added.
        * editing/execCommand/5142012-3-expected.png: Added.
        * editing/execCommand/5142012-3-expected.txt: Added.
        * editing/execCommand/5142012-3.html: Added.

WebCore:

        Reviewed by darin

        <rdar://problem/5142012>
        GoogleDocs: Crash at WebCore::Range::startPosition() when creating a list from a link

        List creation uses moveParagraphs to push content into list items.
        Its fragment creation (using createMarkup) incorrectly uses regular
        spaces instead of nbsps for spaces that were rendered (11475), which
        causes spaces to be collapsed during the move operation.  This results
        in a call to rangeFromLocationAndLength with a location past the end
        of the document.  We use the result from rangeFromLocationAndLength
        (null) and crash.

        Also when moveParagraphs tries to push content into a list item surrounded
        by an anchor, it fails because positionAvoidingSpecialElementBoundary avoids
        the anchor, which also avoids the list item.  This was fixed by pushing
        down anchors before avoiding them.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::pushAnchorElementDown): Remove the
        old anchor after we push down clones of it, this is what callers
        expect.
        (WebCore::CompositeEditCommand::pushPartiallySelectedAnchorElementsDown):
        Call the new enclosingAnchorElement, that takes in a position instead
        of a node.
        (WebCore::CompositeEditCommand::moveParagraphs): If spaces collapsed
        as a result of the move, rangeFromLocationAndLength can return null,
        bail and don't try to preserve the selection in that case.
        (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
        Moved from htmlediting.cpp.
        Make sure anchors are pushed down before avoiding them so that we don't
        also avoid structural elements like lists and blocks.
        * editing/CompositeEditCommand.h:
        * editing/TypingCommand.cpp: Moved isFirst/LastPositionBefore/AfterTable
        to htmlediting.cpp.
        * editing/htmlediting.cpp:
        Moved positionAvoidingSpecialElementBoundary so that it could call
        pushAnchorElementDown.
        (WebCore::isFirstPositionAfterTable): Moved here.
        (WebCore::isLastPositionBeforeTable): Moved here.
        (WebCore::enclosingAnchorElement): Moved here.
        (WebCore::enclosingListChild): Removed an extraneous space.
        * editing/htmlediting.h:

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

12 years agoWebCore:
bdakin [Thu, 19 Apr 2007 19:58:20 +0000 (19:58 +0000)]
WebCore:
       Reviewed by Hyatt.

        Fix for <rdar://problem/5120889> Sized table cells w/borders not
        drawn to correct size

        When table cells have children with %-height, the cells were
        incorrectly shrinking down to be the size of the child. This
        exposed another problem with replaced children and sizing.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcReplacedHeightUsing): The exposed problem.
        Subtract our borders and padding in the auto or percent table cell
        containing block case.
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows): When our children can
        flex, do not always set the cellTopExtra and cellBottomExtra to 0!
        That is bad! We should do the same as the non-flex case.

Layout Tests:
        Reviewed by Hyatt.

        Series of new/rearranged results after fix for <rdar://problem/
        5120889> Sized table cells w/borders not drawn to correct size

        These tests are different by tiny, barely noticeable amounts. The
        new results are more correct. We didn't catch the problem before
        because it was so subtle here:
        * fast/replaced/width100percent-expected.txt:
        * fast/table/003-expected.checksum:
        * fast/table/003-expected.png:
        * fast/table/003-expected.txt:

        This is the test that exposed the other problem with replaced
        children. Now we fit snugly inside the border on the bottom, which
        is different than Firefox, but seems right.
        * tables/mozilla/bugs/bug131020-expected.checksum:
        * tables/mozilla/bugs/bug131020-expected.png:
        * tables/mozilla/bugs/bug131020-expected.txt:

        This test actually always failed and was incorrectly filed as a
        success. Moving to failures.
        * tables/mozilla/bugs/bug137388-2-expected.checksum: Removed.
        * tables/mozilla/bugs/bug137388-2-expected.png: Removed.
        * tables/mozilla/bugs/bug137388-2-expected.txt: Removed.
        * tables/mozilla/bugs/bug137388-2.html: Removed.
        * tables/mozilla_expected_failures/bugs/bug137388-2-expected.checksum: Added.
        * tables/mozilla_expected_failures/bugs/bug137388-2-expected.png: Added.
        * tables/mozilla_expected_failures/bugs/bug137388-2-expected.txt: Added.

        This test was actually wrong before, and now it is right!
        * tables/mozilla/bugs/bug149275-2-expected.checksum:
        * tables/mozilla/bugs/bug149275-2-expected.png:
        * tables/mozilla/bugs/bug149275-2-expected.txt:

        This was a failing test that now passes. YAY!
        * tables/mozilla/bugs/bug18440-expected.checksum: Added.
        * tables/mozilla/bugs/bug18440-expected.png: Added.
        * tables/mozilla/bugs/bug18440-expected.txt: Added.
* tables/mozilla_expected_failures/bugs/bug18440-expected.checksum: Removed.
        * tables/mozilla_expected_failures/bugs/bug18440-expected.png: Removed.
        * tables/mozilla_expected_failures/bugs/bug18440-expected.txt: Removed.
        * tables/mozilla_expected_failures/bugs/bug18440.html: Removed.

        This was slightly wrong before and is now correct.
        * tables/mozilla/bugs/bug30692-expected.checksum:
        * tables/mozilla/bugs/bug30692-expected.png:
        * tables/mozilla/bugs/bug30692-expected.txt:

        Still wrong, but slightly more correct.
        * tables/mozilla_expected_failures/bugs/bug137388-1-expected.checksum:
        * tables/mozilla_expected_failures/bugs/bug137388-1-expected.png:
        * tables/mozilla_expected_failures/bugs/bug137388-1-expected.txt:

        So much closer to being correct!! But still slightly wrong.
        * tables/mozilla_expected_failures/bugs/bug19526-expected.txt:

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

12 years agoLayoutTests:
andersca [Thu, 19 Apr 2007 19:19:16 +0000 (19:19 +0000)]
LayoutTests:

        Reviewed by Geoff.

        http://bugs.webkit.org/show_bug.cgi?id=13333
        Support naturalWidth/naturalHeight on image elements

        * fast/dom/HTMLImageElement/image-natural-width-height-expected.txt: Added.
        * fast/dom/HTMLImageElement/image-natural-width-height.html: Added.

WebCore:

        Reviewed by Geoff.

        http://bugs.webkit.org/show_bug.cgi?id=13333
        Support naturalWidth/naturalHeight on image elements

        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::naturalWidth):
        (WebCore::HTMLImageElement::naturalHeight):
        * html/HTMLImageElement.h:
        * html/HTMLImageElement.idl:

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

12 years ago - review suggestion for rdar://5145011 code change
pyeh [Thu, 19 Apr 2007 18:56:25 +0000 (18:56 +0000)]
    - review suggestion for rdar://5145011 code change

        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject value]):
        return early if value attribute is not supported by the attachment view.

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

12 years ago <rdar://problem/5145011> Allow attachment view of web object to handle access...
pyeh [Thu, 19 Apr 2007 18:21:06 +0000 (18:21 +0000)]
    <rdar://problem/5145011> Allow attachment view of web object to handle accessibility actions

        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject value]):
        Only allow asking the attachmentView for value if attachmentView supports this value attribute
        (-[WebCoreAXObject title]):
        (-[WebCoreAXObject accessibilityAttributeNames]):
        Should not return that long list of unrelated attributes for attachmentView.
        (-[WebCoreAXObject accessibilityActionNames]):
        (-[WebCoreAXObject accessibilityPerformAction:]):
        Allow attachmentView a chance to handle actions.
        (-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
        Should not return that long list of unrelated attributes for attachmentView.

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

12 years ago Reviewed by John.
andersca [Thu, 19 Apr 2007 16:47:51 +0000 (16:47 +0000)]
    Reviewed by John.

        <rdar://problem/5137002>
        REGRESSION (r20812): [WebFrame DOMDocument] is returning non-nil value in bookmarks view, causing trouble in Safari

        Put back the MIME type check as a workaround.
        * WebView/WebFrame.mm:
        (-[WebFrame DOMDocument]):

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

12 years agoLayoutTests:
weinig [Thu, 19 Apr 2007 14:47:21 +0000 (14:47 +0000)]
LayoutTests:

        Reviewed by Hyatt

        - updated results for http://bugs.webkit.org/show_bug.cgi?id=13291
          REGRESSION (r19595): WebViewDidBeginEditingNotification not posted when focusing with the mouse

        * editing/deleting/4845371-expected.txt:
        * editing/deleting/collapse-whitespace-3587601-fix-expected.txt:
        * editing/deleting/delete-3608430-fix-expected.txt:
        * editing/deleting/delete-3608445-fix-expected.txt:
        * editing/deleting/delete-3608462-fix-expected.txt:
        * editing/deleting/delete-3775172-fix-expected.txt:
        * editing/deleting/delete-3800834-fix-expected.txt:
        * editing/deleting/delete-3857753-fix-expected.txt:
        * editing/deleting/delete-3865854-fix-expected.txt:
        * editing/deleting/delete-3928305-fix-expected.txt:
        * editing/deleting/delete-3959464-fix-expected.txt:
        * editing/deleting/delete-4038408-fix-expected.txt:
        * editing/deleting/delete-4083333-fix-expected.txt:
        * editing/deleting/delete-after-span-ws-001-expected.txt:
        * editing/deleting/delete-after-span-ws-002-expected.txt:
        * editing/deleting/delete-after-span-ws-003-expected.txt:
        * editing/deleting/delete-all-text-in-text-field-assertion-expected.txt:
        * editing/deleting/delete-and-undo-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-001-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-002-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-005-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-006-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-007-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-008-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-009-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-010-expected.txt:
        * editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
        * editing/deleting/delete-at-start-or-end-expected.txt:
        * editing/deleting/delete-block-contents-001-expected.txt:
        * editing/deleting/delete-block-contents-002-expected.txt:
        * editing/deleting/delete-block-contents-003-expected.txt:
        * editing/deleting/delete-block-merge-contents-001-expected.txt:
        * editing/deleting/delete-block-merge-contents-002-expected.txt:
        * editing/deleting/delete-block-merge-contents-003-expected.txt:
        * editing/deleting/delete-block-merge-contents-004-expected.txt:
        * editing/deleting/delete-block-merge-contents-005-expected.txt:
        * editing/deleting/delete-block-merge-contents-006-expected.txt:
        * editing/deleting/delete-block-merge-contents-007-expected.txt:
        * editing/deleting/delete-block-merge-contents-008-expected.txt:
        * editing/deleting/delete-block-merge-contents-009-expected.txt:
        * editing/deleting/delete-block-merge-contents-010-expected.txt:
        * editing/deleting/delete-block-merge-contents-011-expected.txt:
        * editing/deleting/delete-block-merge-contents-012-expected.txt:
        * editing/deleting/delete-block-merge-contents-013-expected.txt:
        * editing/deleting/delete-block-merge-contents-014-expected.txt:
        * editing/deleting/delete-block-merge-contents-015-expected.txt:
        * editing/deleting/delete-block-merge-contents-016-expected.txt:
        * editing/deleting/delete-block-merge-contents-017-expected.txt:
        * editing/deleting/delete-block-merge-contents-018-expected.txt:
        * editing/deleting/delete-block-merge-contents-019-expected.txt:
        * editing/deleting/delete-block-merge-contents-020-expected.txt:
        * editing/deleting/delete-block-merge-contents-021-expected.txt:
        * editing/deleting/delete-block-merge-contents-022-expected.txt:
        * editing/deleting/delete-block-merge-contents-023-expected.txt:
        * editing/deleting/delete-block-merge-contents-024-expected.txt:
        * editing/deleting/delete-block-table-expected.txt:
        * editing/deleting/delete-br-001-expected.txt:
        * editing/deleting/delete-br-002-expected.txt:
        * editing/deleting/delete-br-003-expected.txt:
        * editing/deleting/delete-br-004-expected.txt:
        * editing/deleting/delete-br-005-expected.txt:
        * editing/deleting/delete-br-006-expected.txt:
        * editing/deleting/delete-br-007-expected.txt:
        * editing/deleting/delete-br-008-expected.txt:
        * editing/deleting/delete-br-009-expected.txt:
        * editing/deleting/delete-br-010-expected.txt:
        * editing/deleting/delete-br-011-expected.txt:
        * editing/deleting/delete-br-012-expected.txt:
        * editing/deleting/delete-by-word-001-expected.txt:
        * editing/deleting/delete-by-word-002-expected.txt:
        * editing/deleting/delete-character-001-expected.txt:
        * editing/deleting/delete-contiguous-ws-001-expected.txt:
        * editing/deleting/delete-first-list-item-expected.txt:
        * editing/deleting/delete-hr-expected.txt:
        * editing/deleting/delete-image-001-expected.txt:
        * editing/deleting/delete-image-002-expected.txt:
        * editing/deleting/delete-image-003-expected.txt:
        * editing/deleting/delete-image-004-expected.txt:
        * editing/deleting/delete-leading-ws-001-expected.txt:
        * editing/deleting/delete-line-001-expected.txt:
        * editing/deleting/delete-line-002-expected.txt:
        * editing/deleting/delete-line-003-expected.txt:
        * editing/deleting/delete-line-004-expected.txt:
        * editing/deleting/delete-line-005-expected.txt:
        * editing/deleting/delete-line-006-expected.txt:
        * editing/deleting/delete-line-007-expected.txt:
        * editing/deleting/delete-line-008-expected.txt:
        * editing/deleting/delete-line-009-expected.txt:
        * editing/deleting/delete-line-010-expected.txt:
        * editing/deleting/delete-line-011-expected.txt:
        * editing/deleting/delete-line-012-expected.txt:
        * editing/deleting/delete-line-013-expected.txt:
        * editing/deleting/delete-line-014-expected.txt:
        * editing/deleting/delete-line-015-expected.txt:
        * editing/deleting/delete-line-016-expected.txt:
        * editing/deleting/delete-line-017-expected.txt:
        * editing/deleting/delete-line-end-ws-001-expected.txt:
        * editing/deleting/delete-line-end-ws-002-expected.txt:
        * editing/deleting/delete-link-1-expected.txt:
        * editing/deleting/delete-listitem-001-expected.txt:
        * editing/deleting/delete-listitem-002-expected.txt:
        * editing/deleting/delete-mixed-editable-content-001-expected.txt:
        * editing/deleting/delete-select-all-001-expected.txt:
        * editing/deleting/delete-select-all-002-expected.txt:
        * editing/deleting/delete-select-all-003-expected.txt:
        * editing/deleting/delete-selection-001-expected.txt:
        * editing/deleting/delete-tab-001-expected.txt:
        * editing/deleting/delete-tab-002-expected.txt:
        * editing/deleting/delete-tab-003-expected.txt:
        * editing/deleting/delete-tab-004-expected.txt:
        * editing/deleting/delete-to-end-of-paragraph-expected.txt:
        * editing/deleting/delete-to-select-table-expected.txt:
        * editing/deleting/delete-trailing-ws-001-expected.txt:
        * editing/deleting/delete-trailing-ws-002-expected.txt:
        * editing/deleting/delete-ws-fixup-001-expected.txt:
        * editing/deleting/delete-ws-fixup-002-expected.txt:
        * editing/deleting/delete-ws-fixup-003-expected.txt:
        * editing/deleting/delete-ws-fixup-004-expected.txt:
        * editing/deleting/forward-delete-expected.txt:
        * editing/deleting/list-item-1-expected.txt:
        * editing/deleting/merge-different-styles-expected.txt:
        * editing/deleting/merge-endOfParagraph-expected.txt:
        * editing/deleting/merge-into-empty-block-1-expected.txt:
        * editing/deleting/merge-into-empty-block-2-expected.txt:
        * editing/deleting/merge-no-br-expected.txt:
        * editing/deleting/merge-unrendered-space-expected.txt:
        * editing/deleting/paragraph-in-preserveNewline-expected.txt:
        * editing/deleting/pruning-after-merge-1-expected.txt:
        * editing/deleting/pruning-after-merge-2-expected.txt:
        * editing/deleting/smart-delete-001-expected.txt:
        * editing/deleting/smart-delete-002-expected.txt:
        * editing/deleting/smart-delete-003-expected.txt:
        * editing/deleting/smart-delete-004-expected.txt:
        * editing/deleting/table-cells-expected.txt:
        * editing/deleting/transpose-empty-expected.txt:
        * editing/deleting/whitespace-pre-1-expected.txt:
        * editing/execCommand/4641880-1-expected.txt:
        * editing/execCommand/4641880-2-expected.txt:
        * editing/execCommand/boldSelection-expected.txt:
        * editing/execCommand/create-list-from-range-selection-expected.txt:
        * editing/execCommand/create-list-with-hr-expected.txt:
        * editing/execCommand/createLink-expected.txt:
        * editing/execCommand/format-block-expected.txt:
        * editing/execCommand/format-block-from-range-selection-expected.txt:
        * editing/execCommand/format-block-with-braces-expected.txt:
        * editing/execCommand/format-block-with-trailing-br-expected.txt:
        * editing/execCommand/hilitecolor-expected.txt:
        * editing/execCommand/indent-empty-root-expected.txt:
        * editing/execCommand/indent-list-item-expected.txt:
        * editing/execCommand/indent-selection-expected.txt:
        * editing/execCommand/insert-list-and-stitch-expected.txt:
        * editing/execCommand/insert-list-with-id-expected.txt:
        * editing/execCommand/insertHTML-expected.txt:
        * editing/execCommand/insertHorizontalRule-expected.txt:
        * editing/execCommand/insertImage-expected.txt:
        * editing/execCommand/italicizeByCharacter-expected.txt:
        * editing/execCommand/modifyForeColorByCharacter-expected.txt:
        * editing/execCommand/nsresponder-indent-expected.txt:
        * editing/execCommand/nsresponder-outdent-expected.txt:
        * editing/execCommand/outdent-selection-expected.txt:
        * editing/execCommand/print-expected.txt:
        * editing/execCommand/queryCommandState-01-expected.txt:
        * editing/execCommand/remove-formatting-2-expected.txt:
        * editing/execCommand/remove-formatting-expected.txt:
        * editing/execCommand/remove-list-from-range-selection-expected.txt:
        * editing/execCommand/remove-list-item-1-expected.txt:
        * editing/execCommand/remove-list-items-expected.txt:
        * editing/execCommand/selectAll-expected.txt:
        * editing/execCommand/strikethroughSelection-expected.txt:
        * editing/execCommand/switch-list-type-expected.txt:
        * editing/execCommand/unlink-expected.txt:
        * editing/input/firstrectforcharacterrange-plain-expected.txt:
        * editing/input/firstrectforcharacterrange-styled-expected.txt:
        * editing/input/wrapped-line-char-rect-expected.txt:
        * editing/inserting/4278698-expected.txt:
        * editing/inserting/before-after-input-element-expected.txt:
        * editing/inserting/editable-html-element-expected.txt:
        * editing/inserting/editing-empty-divs-expected.txt:
        * editing/inserting/insert-3654864-fix-expected.txt:
        * editing/inserting/insert-3659587-fix-expected.txt:
        * editing/inserting/insert-3775316-fix-expected.txt:
        * editing/inserting/insert-3778059-fix-expected.txt:
        * editing/inserting/insert-3786362-fix-expected.txt:
        * editing/inserting/insert-3800346-fix-expected.txt:
        * editing/inserting/insert-3851164-fix-expected.txt:
        * editing/inserting/insert-3907422-fix-expected.txt:
        * editing/inserting/insert-after-delete-001-expected.txt:
        * editing/inserting/insert-at-end-01-expected.txt:
        * editing/inserting/insert-at-end-02-expected.txt:
        * editing/inserting/insert-before-link-1-expected.txt:
        * editing/inserting/insert-br-001-expected.txt:
        * editing/inserting/insert-br-002-expected.txt:
        * editing/inserting/insert-br-003-expected.txt:
        * editing/inserting/insert-br-004-expected.txt:
        * editing/inserting/insert-br-005-expected.txt:
        * editing/inserting/insert-br-006-expected.txt:
        * editing/inserting/insert-br-007-expected.txt:
        * editing/inserting/insert-br-008-expected.txt:
        * editing/inserting/insert-br-009-expected.txt:
        * editing/inserting/insert-br-at-tabspan-001-expected.txt:
        * editing/inserting/insert-br-at-tabspan-002-expected.txt:
        * editing/inserting/insert-br-at-tabspan-003-expected.txt:
        * editing/inserting/insert-br-quoted-001-expected.txt:
        * editing/inserting/insert-br-quoted-002-expected.txt:
        * editing/inserting/insert-br-quoted-003-expected.txt:
        * editing/inserting/insert-br-quoted-004-expected.txt:
        * editing/inserting/insert-br-quoted-005-expected.txt:
        * editing/inserting/insert-br-quoted-006-expected.txt:
        * editing/inserting/insert-div-001-expected.txt:
        * editing/inserting/insert-div-002-expected.txt:
        * editing/inserting/insert-div-003-expected.txt:
        * editing/inserting/insert-div-004-expected.txt:
        * editing/inserting/insert-div-005-expected.txt:
        * editing/inserting/insert-div-006-expected.txt:
        * editing/inserting/insert-div-007-expected.txt:
        * editing/inserting/insert-div-008-expected.txt:
        * editing/inserting/insert-div-009-expected.txt:
        * editing/inserting/insert-div-010-expected.txt:
        * editing/inserting/insert-div-011-expected.txt:
        * editing/inserting/insert-div-012-expected.txt:
        * editing/inserting/insert-div-013-expected.txt:
        * editing/inserting/insert-div-014-expected.txt:
        * editing/inserting/insert-div-015-expected.txt:
        * editing/inserting/insert-div-016-expected.txt:
        * editing/inserting/insert-div-017-expected.txt:
        * editing/inserting/insert-div-018-expected.txt:
        * editing/inserting/insert-div-019-expected.txt:
        * editing/inserting/insert-div-020-expected.txt:
        * editing/inserting/insert-div-021-expected.txt:
        * editing/inserting/insert-div-022-expected.txt:
        * editing/inserting/insert-div-023-expected.txt:
        * editing/inserting/insert-div-024-expected.txt:
        * editing/inserting/insert-div-025-expected.txt:
        * editing/inserting/insert-div-026-expected.txt:
        * editing/inserting/insert-div-027-expected.txt:
        * editing/inserting/insert-paragraph-01-expected.txt:
        * editing/inserting/insert-paragraph-02-expected.txt:
        * editing/inserting/insert-paragraph-03-expected.txt:
        * editing/inserting/insert-paragraph-04-expected.txt:
        * editing/inserting/insert-space-in-empty-doc-expected.txt:
        * editing/inserting/insert-tab-001-expected.txt:
        * editing/inserting/insert-tab-002-expected.txt:
        * editing/inserting/insert-tab-003-expected.txt:
        * editing/inserting/insert-tab-004-expected.txt:
        * editing/inserting/insert-text-at-tabspan-001-expected.txt:
        * editing/inserting/insert-text-at-tabspan-002-expected.txt:
        * editing/inserting/insert-text-at-tabspan-003-expected.txt:
        * editing/inserting/insert-text-with-newlines-expected.txt:
        * editing/inserting/line-break-expected.txt:
        * editing/inserting/multiple-lines-selected-expected.txt:
        * editing/inserting/paragraph-separator-01-expected.txt:
        * editing/inserting/paragraph-separator-02-expected.txt:
        * editing/inserting/paragraph-separator-03-expected.txt:
        * editing/inserting/paragraph-separator-in-table-1-expected.txt:
        * editing/inserting/paragraph-separator-in-table-2-expected.txt:
        * editing/inserting/redo-expected.txt:
        * editing/inserting/return-key-with-selection-001-expected.txt:
        * editing/inserting/return-key-with-selection-002-expected.txt:
        * editing/inserting/return-key-with-selection-003-expected.txt:
        * editing/inserting/typing-001-expected.txt:
        * editing/inserting/typing-002-expected.txt:
        * editing/inserting/typing-003-expected.txt:
        * editing/inserting/typing-around-br-001-expected.txt:
        * editing/inserting/typing-around-image-001-expected.txt:
        * editing/pasteboard/3976872-expected.txt:
        * editing/pasteboard/4076267-2-expected.txt:
        * editing/pasteboard/4076267-3-expected.txt:
        * editing/pasteboard/4076267-expected.txt:
        * editing/pasteboard/4242293-1-expected.txt:
        * editing/pasteboard/4242293-expected.txt:
        * editing/pasteboard/4631972-expected.txt:
        * editing/pasteboard/4641033-expected.txt:
        * editing/pasteboard/4700297-expected.txt:
        * editing/pasteboard/4744008-expected.txt:
        * editing/pasteboard/8145-1-expected.txt:
        * editing/pasteboard/8145-2-expected.txt:
        * editing/pasteboard/8145-3-expected.txt:
        * editing/pasteboard/bad-placeholder-expected.txt:
        * editing/pasteboard/block-wrappers-necessary-expected.txt:
        * editing/pasteboard/copy-in-password-field-expected.txt:
        * editing/pasteboard/copy-standalone-image-expected.txt:
        * editing/pasteboard/cut-text-001-expected.txt:
        * editing/pasteboard/displaced-generic-placeholder-expected.txt:
        * editing/pasteboard/displaced-placeholder-expected.txt:
        * editing/pasteboard/display-block-on-spans-expected.txt:
        * editing/pasteboard/drag-drop-modifies-page-expected.txt:
        * editing/pasteboard/drag-selected-image-to-contenteditable-expected.txt:
        * editing/pasteboard/drop-link-expected.txt:
        * editing/pasteboard/emacs-cntl-y-001-expected.txt:
        * editing/pasteboard/emacs-ctrl-a-k-y-expected.txt:
        * editing/pasteboard/emacs-ctrl-k-y-001-expected.txt:
        * editing/pasteboard/interchange-newline-1-expected.txt:
        * editing/pasteboard/interchange-newline-2-expected.txt:
        * editing/pasteboard/interchange-newline-3-expected.txt:
        * editing/pasteboard/interchange-newline-4-expected.txt:
        * editing/pasteboard/merge-after-delete-1-expected.txt:
        * editing/pasteboard/merge-after-delete-2-expected.txt:
        * editing/pasteboard/merge-after-delete-expected.txt:
        * editing/pasteboard/merge-end-3-expected.txt:
        * editing/pasteboard/merge-end-4-expected.txt:
        * editing/pasteboard/merge-end-5-expected.txt:
        * editing/pasteboard/merge-end-blockquote-expected.txt:
        * editing/pasteboard/merge-end-borders-expected.txt:
        * editing/pasteboard/merge-end-list-expected.txt:
        * editing/pasteboard/merge-end-table-expected.txt:
        * editing/pasteboard/merge-start-blockquote-expected.txt:
        * editing/pasteboard/merge-start-list-expected.txt:
        * editing/pasteboard/nested-blocks-with-text-area-expected.txt:
        * editing/pasteboard/nested-blocks-with-text-field-expected.txt:
        * editing/pasteboard/paste-4035648-fix-expected.txt:
        * editing/pasteboard/paste-4038267-fix-expected.txt:
        * editing/pasteboard/paste-4039777-fix-expected.txt:
        * editing/pasteboard/paste-RTFD-expected.txt:
        * editing/pasteboard/paste-TIFF-expected.txt:
        * editing/pasteboard/paste-line-endings-001-expected.txt:
        * editing/pasteboard/paste-line-endings-002-expected.txt:
        * editing/pasteboard/paste-line-endings-003-expected.txt:
        * editing/pasteboard/paste-line-endings-004-expected.txt:
        * editing/pasteboard/paste-line-endings-005-expected.txt:
        * editing/pasteboard/paste-line-endings-006-expected.txt:
        * editing/pasteboard/paste-line-endings-007-expected.txt:
        * editing/pasteboard/paste-line-endings-008-expected.txt:
        * editing/pasteboard/paste-line-endings-009-expected.txt:
        * editing/pasteboard/paste-line-endings-010-expected.txt:
        * editing/pasteboard/paste-list-001-expected.txt:
        * editing/pasteboard/paste-match-style-001-expected.txt:
        * editing/pasteboard/paste-match-style-002-expected.txt:
        * editing/pasteboard/paste-pre-001-expected.txt:
        * editing/pasteboard/paste-pre-002-expected.txt:
        * editing/pasteboard/paste-table-001-expected.txt:
        * editing/pasteboard/paste-table-002-expected.txt:
        * editing/pasteboard/paste-table-003-expected.txt:
        * editing/pasteboard/paste-text-001-expected.txt:
        * editing/pasteboard/paste-text-002-expected.txt:
        * editing/pasteboard/paste-text-003-expected.txt:
        * editing/pasteboard/paste-text-004-expected.txt:
        * editing/pasteboard/paste-text-005-expected.txt:
        * editing/pasteboard/paste-text-006-expected.txt:
        * editing/pasteboard/paste-text-007-expected.txt:
        * editing/pasteboard/paste-text-008-expected.txt:
        * editing/pasteboard/paste-text-009-expected.txt:
        * editing/pasteboard/paste-text-010-expected.txt:
        * editing/pasteboard/paste-text-011-expected.txt:
        * editing/pasteboard/paste-text-012-expected.txt:
        * editing/pasteboard/paste-text-013-expected.txt:
        * editing/pasteboard/paste-text-014-expected.txt:
        * editing/pasteboard/paste-text-015-expected.txt:
        * editing/pasteboard/paste-text-016-expected.txt:
        * editing/pasteboard/paste-text-017-expected.txt:
        * editing/pasteboard/paste-text-018-expected.txt:
        * editing/pasteboard/paste-text-019-expected.txt:
        * editing/pasteboard/paste-text-at-tabspan-001-expected.txt:
        * editing/pasteboard/paste-text-at-tabspan-002-expected.txt:
        * editing/pasteboard/paste-text-at-tabspan-003-expected.txt:
        * editing/pasteboard/paste-xml-expected.txt:
        * editing/pasteboard/pasting-object-expected.txt:
        * editing/pasteboard/pasting-tabs-expected.txt:
        * editing/pasteboard/prevent-block-nesting-01-expected.txt:
        * editing/pasteboard/quirks-mode-br-1-expected.txt:
        * editing/pasteboard/quirks-mode-br-2-expected.txt:
        * editing/pasteboard/smart-paste-001-expected.txt:
        * editing/pasteboard/smart-paste-002-expected.txt:
        * editing/pasteboard/smart-paste-003-expected.txt:
        * editing/pasteboard/smart-paste-004-expected.txt:
        * editing/pasteboard/smart-paste-005-expected.txt:
        * editing/pasteboard/smart-paste-006-expected.txt:
        * editing/pasteboard/smart-paste-007-expected.txt:
        * editing/pasteboard/smart-paste-008-expected.txt:
        * editing/pasteboard/styled-element-markup-expected.txt:
        * editing/pasteboard/subframe-dragndrop-1-expected.txt:
        * editing/pasteboard/testcase-9507-expected.txt:
        * editing/pasteboard/undoable-fragment-removes-expected.txt:
        * editing/pasteboard/unrendered-br-expected.txt:
        * editing/selection/3690703-2-expected.txt:
        * editing/selection/3690703-expected.txt:
        * editing/selection/3690719-expected.txt:
        * editing/selection/4397952-expected.txt:
        * editing/selection/4932260-1-expected.txt:
        * editing/selection/4932260-2-expected.txt:
        * editing/selection/4932260-3-expected.txt:
        * editing/selection/4947387-expected.txt:
        * editing/selection/6476-expected.txt:
        * editing/selection/7152-1-expected.txt:
        * editing/selection/7152-2-expected.txt:
        * editing/selection/after-line-wrap-expected.txt:
        * editing/selection/caret-rtl-2-expected.txt:
        * editing/selection/caret-rtl-expected.txt:
        * editing/selection/click-before-and-after-table-expected.txt:
        * editing/selection/click-start-of-line-expected.txt:
        * editing/selection/designmode-no-caret-expected.txt:
        * editing/selection/editable-links-expected.txt:
        * editing/selection/editable-non-editable-crash-expected.txt:
        * editing/selection/end-of-document-expected.txt:
        * editing/selection/expanding-selections-expected.txt:
        * editing/selection/expanding-selections2-expected.txt:
        * editing/selection/extend-by-character-001-expected.txt:
        * editing/selection/extend-by-character-002-expected.txt:
        * editing/selection/extend-by-character-003-expected.txt:
        * editing/selection/extend-by-character-004-expected.txt:
        * editing/selection/extend-by-character-005-expected.txt:
        * editing/selection/extend-by-character-006-expected.txt:
        * editing/selection/extend-by-sentence-001-expected.txt:
        * editing/selection/extend-by-word-001-expected.txt:
        * editing/selection/extend-by-word-002-expected.txt:
        * editing/selection/fake-doubleclick-expected.txt:
        * editing/selection/fake-drag-expected.txt:
        * editing/selection/iframe-expected.txt:
        * editing/selection/image-before-linebreak-expected.txt:
        * editing/selection/inline-table-expected.txt:
        * editing/selection/leave-requested-block-expected.txt:
        * editing/selection/mixed-editability-1-expected.txt:
        * editing/selection/mixed-editability-3-expected.txt:
        * editing/selection/mixed-editability-4-expected.txt:
        * editing/selection/mixed-editability-5-expected.txt:
        * editing/selection/move-3875618-fix-expected.txt:
        * editing/selection/move-3875641-fix-expected.txt:
        * editing/selection/move-backwords-by-word-001-expected.txt:
        * editing/selection/move-between-blocks-no-001-expected.txt:
        * editing/selection/move-between-blocks-yes-001-expected.txt:
        * editing/selection/move-by-character-001-expected.txt:
        * editing/selection/move-by-character-002-expected.txt:
        * editing/selection/move-by-character-003-expected.txt:
        * editing/selection/move-by-character-004-expected.txt:
        * editing/selection/move-by-character-005-expected.txt:
        * editing/selection/move-by-character-6-expected.txt:
        * editing/selection/move-by-line-001-expected.txt:
        * editing/selection/move-by-line-002-expected.txt:
        * editing/selection/move-by-word-001-expected.txt:
        * editing/selection/previous-line-position-expected.txt:
        * editing/selection/replace-selection-1-expected.txt:
        * editing/selection/replaced-boundaries-1-expected.txt:
        * editing/selection/replaced-boundaries-2-expected.txt:
        * editing/selection/replaced-boundaries-3-expected.txt:
        * editing/selection/select-all-001-expected.txt:
        * editing/selection/select-all-002-expected.txt:
        * editing/selection/select-all-003-expected.txt:
        * editing/selection/select-all-004-expected.txt:
        * editing/selection/select-all-005-expected.txt:
        * editing/selection/select-all-006-expected.txt:
        * editing/selection/select-all-iframe-expected.txt:
        * editing/selection/select-box-expected.txt:
        * editing/selection/select-element-paragraph-boundary-expected.txt:
        * editing/selection/select-missing-image-expected.txt:
        * editing/selection/selection-3748164-fix-expected.txt:
        * editing/selection/skip-non-editable-1-expected.txt:
        * editing/selection/skip-non-editable-2-expected.txt:
        * editing/selection/table-caret-1-expected.txt:
        * editing/selection/table-caret-2-expected.txt:
        * editing/selection/table-caret-3-expected.txt:
        * editing/selection/triple-click-in-pre-expected.txt:
        * editing/selection/unrendered-001-expected.txt:
        * editing/selection/unrendered-002-expected.txt:
        * editing/selection/unrendered-003-expected.txt:
        * editing/selection/unrendered-004-expected.txt:
        * editing/selection/unrendered-005-expected.txt:
        * editing/selection/unrendered-space-expected.txt:
        * editing/spelling/spelling-expected.txt:
        * editing/style/apple-style-editable-mix-expected.txt:
        * editing/style/block-style-001-expected.txt:
        * editing/style/block-style-002-expected.txt:
        * editing/style/block-style-003-expected.txt:
        * editing/style/block-style-004-expected.txt:
        * editing/style/block-style-005-expected.txt:
        * editing/style/block-style-006-expected.txt:
        * editing/style/block-styles-007-expected.txt:
        * editing/style/create-block-for-style-001-expected.txt:
        * editing/style/create-block-for-style-002-expected.txt:
        * editing/style/create-block-for-style-003-expected.txt:
        * editing/style/create-block-for-style-004-expected.txt:
        * editing/style/create-block-for-style-005-expected.txt:
        * editing/style/create-block-for-style-006-expected.txt:
        * editing/style/create-block-for-style-007-expected.txt:
        * editing/style/create-block-for-style-008-expected.txt:
        * editing/style/create-block-for-style-009-expected.txt:
        * editing/style/create-block-for-style-010-expected.txt:
        * editing/style/create-block-for-style-011-expected.txt:
        * editing/style/create-block-for-style-012-expected.txt:
        * editing/style/create-block-for-style-013-expected.txt:
        * editing/style/designmode-expected.txt:
        * editing/style/non-inheritable-styles-expected.txt:
        * editing/style/relative-font-size-change-001-expected.txt:
        * editing/style/relative-font-size-change-002-expected.txt:
        * editing/style/relative-font-size-change-003-expected.txt:
        * editing/style/relative-font-size-change-004-expected.txt:
        * editing/style/remove-underline-across-paragraph-expected.txt:
        * editing/style/remove-underline-across-paragraph-in-bold-expected.txt:
        * editing/style/remove-underline-after-paragraph-expected.txt:
        * editing/style/remove-underline-after-paragraph-in-bold-expected.txt:
        * editing/style/remove-underline-expected.txt:
        * editing/style/remove-underline-from-stylesheet-expected.txt:
        * editing/style/remove-underline-in-bold-expected.txt:
        * editing/style/smoosh-styles-001-expected.txt:
        * editing/style/smoosh-styles-002-expected.txt:
        * editing/style/smoosh-styles-003-expected.txt:
        * editing/style/style-3681552-fix-001-expected.txt:
        * editing/style/style-3681552-fix-002-expected.txt:
        * editing/style/style-3690704-fix-expected.txt:
        * editing/style/style-3998892-fix-expected.txt:
        * editing/style/style-boundary-001-expected.txt:
        * editing/style/style-boundary-002-expected.txt:
        * editing/style/style-boundary-003-expected.txt:
        * editing/style/style-boundary-004-expected.txt:
        * editing/style/style-boundary-005-expected.txt:
        * editing/style/table-selection-expected.txt:
        * editing/style/typing-style-001-expected.txt:
        * editing/style/typing-style-002-expected.txt:
        * editing/style/typing-style-003-expected.txt:
        * editing/style/unbold-in-bold-expected.txt:
        * editing/style/underline-expected.txt:
        * editing/undo/4063751-expected.txt:
        * editing/undo/redo-typing-001-expected.txt:
        * editing/undo/undo-iframe-location-change-expected.txt:
        * editing/undo/undo-misspellings-expected.txt:
        * editing/undo/undo-typing-001-expected.txt:
        * editing/unsupported-content/list-delete-001-expected.txt:
        * editing/unsupported-content/list-delete-002-expected.txt:
        * editing/unsupported-content/list-delete-003-expected.txt:
        * editing/unsupported-content/list-type-after-expected.txt:
        * editing/unsupported-content/list-type-before-expected.txt:
        * editing/unsupported-content/table-delete-001-expected.txt:
        * editing/unsupported-content/table-delete-002-expected.txt:
        * editing/unsupported-content/table-delete-003-expected.txt:
        * editing/unsupported-content/table-type-after-expected.txt:
        * editing/unsupported-content/table-type-before-expected.txt:
        * fast/forms/focus-selection-input-expected.txt:

WebCore:

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13291
          REGRESSION (r19595): WebViewDidBeginEditingNotification not posted when focusing with the mouse

        Covered by editing tests.

        * dom/Document.cpp:
        (WebCore::Document::setFocusedNode): Moved the call to Editor::didBeginEditing()
        back into here.
        * dom/Element.cpp:
        (WebCore::Element::updateFocusAppearance): Removed the call to didBeginEditing().
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::updateFocusAppearance): Ditto.

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

12 years ago2007-04-19 Mark Rowe <mrowe@apple.com>
bdash [Thu, 19 Apr 2007 14:02:25 +0000 (14:02 +0000)]
2007-04-19  Mark Rowe  <mrowe@apple.com>

        Reviewed by Darin.

        Fix http://bugs.webkit.org/show_bug.cgi?id=13401
        Bug 13401: Reproducible crash calling myArray.sort(compareFn) from within
        a sort comparison function

        * kjs/array_object.cpp:
        (ArrayInstance::sort): Save/restore the static variables around calls to qsort
        to ensure nested calls to ArrayInstance::sort behave correctly.

2007-04-19  Mark Rowe  <mrowe@apple.com>

        Reviewed by Darin.

        Test for http://bugs.webkit.org/show_bug.cgi?id=13401
        Bug 13401: Reproducible crash calling myArray.sort(compareFn) from within
        a sort comparison function

        * fast/js/array-sort-reentrance-expected.txt: Added.
        * fast/js/array-sort-reentrance.html: Added.
        * fast/js/resources/array-sort-reentrance.js: Added.

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

12 years agoLayoutTests:
weinig [Thu, 19 Apr 2007 13:09:49 +0000 (13:09 +0000)]
LayoutTests:

        Reviewed by Darin.

        - Test for http://bugs.webkit.org/show_bug.cgi?id=12249
          FCKeditor: <hr>, <ul> and <ol> have id="undefined"

        * editing/execCommand/arguments-combinations-expected.txt: Added.
        * editing/execCommand/arguments-combinations.html: Added.

WebCore:

        Reviewed by Darin.

        - Patch for http://bugs.webkit.org/show_bug.cgi?id=12249
          FCKeditor: <hr>, <ul> and <ol> have id="undefined"

        Convert undefined and null to a null string for third argument of
        execCommand();

        Test: editing/execCommand/arguments-combinations.html

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_binding.cpp:
        (KJS::valueToStringWithUndefinedOrNullCheck):
        * bindings/js/kjs_binding.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/Document.idl:

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

12 years ago Reviewed by hyatt.
andrew [Thu, 19 Apr 2007 08:51:49 +0000 (08:51 +0000)]
    Reviewed by hyatt.

        * WebCoreSources.bkl: Remove obsolete source file from build.

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

12 years agoAdd in a missing word.
bdash [Thu, 19 Apr 2007 04:07:55 +0000 (04:07 +0000)]
Add in a missing word.

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

12 years ago2007-04-19 Mark Rowe <mrowe@apple.com>
bdash [Thu, 19 Apr 2007 03:02:41 +0000 (03:02 +0000)]
2007-04-19  Mark Rowe  <mrowe@apple.com>

        Reviewed by Oliver and Adam.

        <rdar://problem/5141290> WebAssertions.h is still needed some internal clients.

        * Misc/WebAssertions.h: Added.
        * WebKit.xcodeproj/project.pbxproj:

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

12 years ago2007-04-18 Alp Toker <alp@atoker.com>
bdash [Thu, 19 Apr 2007 00:48:10 +0000 (00:48 +0000)]
2007-04-18  Alp Toker  <alp@atoker.com>

        Gdk build fix.  Reviewed by Sam Weinig.

        Track changes to make GdkLauncher work again.

        * WebCoreSources.bkl:
        * platform/gdk/ChromeClientGdk.h:
        * platform/gdk/TemporaryLinkStubs.cpp:
        (ChromeClientGdk::createWindow):
        (ChromeClientGdk::createModalDialog):
        (Editor::markBadGrammar):

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

12 years agoRemoved unintentional garbage left after an #endif in my previous patch
beidson [Thu, 19 Apr 2007 00:42:50 +0000 (00:42 +0000)]
Removed unintentional garbage left after an #endif in my previous patch

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

12 years agoLayoutTests:
beidson [Thu, 19 Apr 2007 00:39:18 +0000 (00:39 +0000)]
LayoutTests:

        Reviewed by Tim

        <rdar://problem/5008925>
        Expose the NSURLConnection delegate willCacheResponse API to WebResourceLoadDelegate

        * http/tests/misc/willCacheResponse-delegate-callback-expected.txt: Added.
        * http/tests/misc/willCacheResponse-delegate-callback.html: Added.

WebCore:

        Reviewed by Tim

        <rdar://problem/5008925>
        Expose the NSURLConnection delegate willCacheResponse API to WebResourceLoadDelegate

        * WebCore.xcodeproj/project.pbxproj: Added ResourceLoaderMac.mm

        * loader/FrameLoaderClient.h: Add the willCacheResponse SPI for WebKit to implement

        * loader/ResourceLoader.h:
        * loader/mac/ResourceLoaderMac.mm: Added.
        (WebCore::ResourceLoader::willCacheResponse): Return the new cachedResponse from the client

        * platform/graphics/svg/SVGImageEmptyClients.h:
        (WebCore::SVGEmptyFrameLoaderClient::willCacheResponse): Stub

        * platform/network/ResourceHandleClient.h:
        (WebCore::ResourceHandleClient::willCacheResponse):  Return the new cachedResponse from the client

        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): Call to get the new
          cachedURLResponse before calling for the cache policy

WebKit:

        Reviewed by Tim

        <rdar://problem/5008925>
        Expose the NSURLConnection delegate willCacheResponse API to WebResourceLoadDelegate

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::willCacheResponse): Call
          [WebResourceLoadDelegate webView:resource:willCacheResponse:fromDataSource:];

        * WebView/WebView.mm:
        (-[WebView _cacheResourceLoadDelegateImplementations]): Pull out the willCacheResponse impl

        * WebView/WebViewPrivate.h: Add WebResourceLoadDelegatePrivate category for this new SPI

WebKitTools:

        Reviewed by Tim

        <rdar://problem/5008925>
        Expose the NSURLConnection delegate willCacheResponse API to WebResourceLoadDelegate

        * DumpRenderTree/ResourceLoadDelegate.m:
        (-[ResourceLoadDelegate webView:resource:willCacheResponse:fromDataSource:]):
          Add the willCacheResponse delegate call

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

12 years ago Reviewed by Hyatt.
darin [Thu, 19 Apr 2007 00:33:29 +0000 (00:33 +0000)]
    Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13375
          REGRESSION (r20901): failing fast/overflow/scrollRevealButton.html

        * dom/Document.cpp: (WebCore::Document::updateLayout):
        If we have a parent frame, update its layout too.

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

12 years ago Reviewed by David Kilzer.
aroben [Wed, 18 Apr 2007 23:59:43 +0000 (23:59 +0000)]
    Reviewed by David Kilzer.

        * Scripts/webkitdirs.pm:
        (sub setConfiguration): Added an optional argument to set the
        configuration instead of parsing it from ARGV.

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

12 years ago Reviewed by Adam
sullivan [Wed, 18 Apr 2007 21:11:46 +0000 (21:11 +0000)]
    Reviewed by Adam

        - fixed <rdar://problem/5103009> REGRESSION: Activity window shows blank name for untitled pages

        * WebView/WebHTMLRepresentation.mm:
        (-[WebHTMLRepresentation title]):
        return nil for empty string, to match old behavior

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

12 years ago Reviewed by AP.
kmccullo [Wed, 18 Apr 2007 20:05:06 +0000 (20:05 +0000)]
    Reviewed by AP.

        - Consolidated encoding tests.

        * fast/encoding/char-decoding-expected.txt:
        * fast/encoding/char-decoding.html:
        * fast/encoding/charset-x-nextstep-expected.txt: Removed.
        * fast/encoding/charset-x-nextstep.html: Removed.

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

12 years ago2007-04-18 Alp Toker <alp@atoker.com>
bdash [Wed, 18 Apr 2007 14:55:35 +0000 (14:55 +0000)]
2007-04-18  Alp Toker  <alp@atoker.com>

        Gdk build fix.  Reviewed by Mark.

        * loader/gdk/FrameLoaderClientGdk.cpp:
        (WebCore::FrameLoaderClientGdk::loadedFromCachedPage):
        (WebCore::FrameLoaderClientGdk::setDocumentViewFromCachedPage):
        (WebCore::FrameLoaderClientGdk::saveDocumentViewToCachedPage):
        * loader/gdk/FrameLoaderClientGdk.h:
        * platform/gdk/TemporaryLinkStubs.cpp:
        (CachedPage::close): Track PageCache to CachedPage refactoring.

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

12 years ago2007-04-17 Mitz Pettel <mitz@webkit.org>
bdash [Wed, 18 Apr 2007 04:58:54 +0000 (04:58 +0000)]
2007-04-17  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13369
          REGRESSION (r13366): Invisible table cell background is painted

        Test: fast/table/invisible-cell-background.html

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paintBackgroundsBehindCell): Don't paint any
        background if the cell is not visible. This behavior matches WinIE and Opera.

2007-04-17  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - pixel test for http://bugs.webkit.org/show_bug.cgi?id=13369
          REGRESSION (r13366): Invisible table cell background is painted

        * fast/table/invisible-cell-background-expected.checksum: Added.
        * fast/table/invisible-cell-background-expected.png: Added.
        * fast/table/invisible-cell-background-expected.txt: Added.
        * fast/table/invisible-cell-background.html: Added.

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

12 years agoRolling out my previous checkin, as the compiler bug still exists on Leopard.
justing [Wed, 18 Apr 2007 03:50:25 +0000 (03:50 +0000)]
Rolling out my previous checkin, as the compiler bug still exists on Leopard.

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

12 years ago * Scripts/find-included-framework-headers: Search Obj-C and Obj-C++
aroben [Wed, 18 Apr 2007 03:22:32 +0000 (03:22 +0000)]
    * Scripts/find-included-framework-headers: Search Obj-C and Obj-C++
        files as well.

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

12 years ago Added a simple shell script to find all the headers from a specified
aroben [Wed, 18 Apr 2007 03:18:43 +0000 (03:18 +0000)]
    Added a simple shell script to find all the headers from a specified
        framework or frameworks that are included by files beneath the working
        directory.

        * Scripts/find-included-framework-headers: Added.

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

12 years agoWebCore:
justing [Wed, 18 Apr 2007 02:23:47 +0000 (02:23 +0000)]
WebCore:

        Reviewed by adam

        Removed workarounds for compiler bug 4213314.

        * platform/mac/CursorMac.mm:
        (WebCore::leakNamedCursor):
        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::resizeContents):
        (WebCore::ScrollView::contentsToWindow):
        (WebCore::ScrollView::windowToContents):

WebKit:

        Reviewed by adam

        Removed workarounds for compiler bug 4213314.

        * Misc/WebNSAttributedStringExtras.mm:
        (+[NSAttributedString _web_attributedStringFromRange:]):
        * WebKit.xcodeproj/project.pbxproj:

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

12 years agoLayoutTests:
justing [Wed, 18 Apr 2007 01:20:44 +0000 (01:20 +0000)]
LayoutTests:

        Reviewed by harrison

        <rdar://problem/5119244>
        Crash when indenting a selected ToDo

        * editing/execCommand/5119244-expected.checksum: Added.
        * editing/execCommand/5119244-expected.png: Added.
        * editing/execCommand/5119244-expected.txt: Added.
        * editing/execCommand/5119244.html: Added.

WebCore:

        Reviewed by harrison

        <rdar://problem/5119244>
        Crash when indenting a selected ToDo

        indentRegion() was using the old (incorrect) editable root
        getter, which returned null for a valid, editable position,
        causing the crash.

        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::indentRegion):
        The editable root for a position is editableRootForPosition(p),
        not p.node()->rootEditableElement(), because of VisiblePositions
        before/after tables, replaced elements and others.

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

12 years agoLayoutTests:
justing [Wed, 18 Apr 2007 00:13:15 +0000 (00:13 +0000)]
LayoutTests:

        Reviewed by hyatt

        <rdar://problem/5138441>
        GoogleDocs: Indented text looks like text that's been Quoted

        Demonstrates the bug:
        * editing/execCommand/5138441-expected.checksum: Added.
        * editing/execCommand/5138441-expected.png: Added.
        * editing/execCommand/5138441-expected.txt: Added.
        * editing/execCommand/5138441.html: Added.

        Added inline style declarations for indent blockquotes
        to match those that the engine creates:
        * editing/execCommand/indent-selection.html:
        * editing/execCommand/outdent-selection.html:

WebCore:

        Reviewed by hyatt

        <rdar://problem/5138441>
        GoogleDocs: Indented text looks like text that's been Quoted

        GoogleDocs uses FormatBlock, blockquotes and a style rule
        for blockquotes to implement a "Quote Text" feature.  Styles
        intended only for those blockquotes were added to the
        blockquotes that we use for indenting.

        * css/html4.css: Removed the webkit-indent-blockquote class rule.
        * editing/IndentOutdentCommand.cpp:
        (WebCore::createIndentBlockquoteElement): Use custom margins
        and turn off border and padding to override author rules for
        blockquotes.

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

12 years ago Reviewed by Tim Hatcher
sullivan [Tue, 17 Apr 2007 23:00:07 +0000 (23:00 +0000)]
    Reviewed by Tim Hatcher

        - fixed <rdar://problem/5138492> Safari doesn't remember some changes to the PDF scale and display mode

        Some of the user interactions that could change the PDF scale and display mode were not going through
        the proxy mechanism in WebPDFView that updates preferences. Now we also listen to PDFKit notifications
        in order to catch the other cases.

        * WebView/WebPDFView.h:
        new _ignoreScaleAndDisplayModeNotifications and _updatePreferencesTimer ivars

        * WebView/WebPDFView.mm:
        (-[WebPDFView setPDFDocument:]):
        ignore scale and display mode notifications while we're setting up a fresh document
        (-[WebPDFView dealloc]):
        cancel the new timer (which releases it)
        (-[WebPDFView viewDidMoveToWindow]):
        listen for two PDFKit notifications
        (-[WebPDFView viewWillMoveToWindow:]):
        stop listening to the two PDFKit notifications
        (-[WebPDFView _applyPDFDefaults]):
        white space change
        (-[WebPDFView _cancelUpdatePreferencesTimer]):
        invalidate, release, and nil out the timer
        (-[WebPDFView _scaleOrDisplayModeChanged:]):
        update preferences soon, unless deliberately ignoring these notifications
        (-[WebPDFView _updatePreferencesNow]):
        cancel timer, then save data to preferences (code for saving the data was extracted from
        -[PDFPrefUpdatingProxy forwardInvocation:])
        (-[WebPDFView _updatePreferencesSoon]):
        use timer to consolidate multiple calls into one action; formerly we were setting preferences
        multiple times for some atomic user actions
        (-[PDFPrefUpdatingProxy forwardInvocation:]):
        call _updatePreferencesSoon where we used to immediately set preferences

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

12 years agoLayoutTests:
justing [Tue, 17 Apr 2007 20:27:58 +0000 (20:27 +0000)]
LayoutTests:

        Reviewed by darin

        <rdar://problem/5136770>
        Gmail Editor: Hang when turning a particular multi-line selection into a list

        Demonstrates the bug:
        * editing/execCommand/5136770-expected.checksum: Added.
        * editing/execCommand/5136770-expected.png: Added.
        * editing/execCommand/5136770-expected.txt: Added.
        * editing/execCommand/5136770.html: Added.

        Added placeholders in empty list items:
        * editing/execCommand/4747450-expected.txt:
        * editing/execCommand/insert-list-empty-div-expected.txt:
        * editing/execCommand/4917055-expected.txt:

        A horizontal rule pushed into a list item appears *before*
        the list marker in the render tree, although, the new results
        look more correct (13376):
        * editing/execCommand/create-list-with-hr-expected.checksum:
        * editing/execCommand/create-list-with-hr-expected.png:
        * editing/execCommand/create-list-with-hr-expected.txt:
        * editing/execCommand/create-list-with-hr.html:

WebCore:

        Reviewed by darin

        <rdar://problem/5136770>
        Gmail Editor: Hang when turning a particular multi-line selection into a list

        When InsertListCommand pushes content into list items,
        it creates an empty list item and then calls moveParagraphs.
        But moveParagraphs' selection preservation code fails when
        it encounters empty list items (list items w/o placeholders).
        This causes InsertListCommand to lose track of where it has
        already been performed, which causes the hang.

        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApply): Use brs to hold open
        empty list items.

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

12 years ago Oops, rolled that last change out. I'll redo it again later after making
darin [Tue, 17 Apr 2007 19:58:16 +0000 (19:58 +0000)]
    Oops, rolled that last change out. I'll redo it again later after making
        som additional refinments.

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

12 years ago Reviewed by Kevin Decker
sullivan [Tue, 17 Apr 2007 19:00:43 +0000 (19:00 +0000)]
    Reviewed by Kevin Decker

        - fixed <rdar://problem/4184640> "Look Up in Dictionary" item is always disabled for PDF pages

        * WebView/WebPDFView.mm:
        (-[WebPDFView validateUserInterfaceItem:]):
        enable "Look Up in Dictionary" only if we're using a version of PDFKit that knows how to do so
        (-[WebPDFView _canLookUpInDictionary]):
        use respondsToSelector to test whether the current version of PDFKit supports this non-API feature
        (-[WebPDFView _lookUpInDictionaryFromMenu:]):
        implement this method, which WebKit includes in the context menu when there's selected text
        (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
        updated comment for this change

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

12 years ago Reviewed by Brady.
darin [Tue, 17 Apr 2007 18:44:21 +0000 (18:44 +0000)]
    Reviewed by Brady.

        - a few baby steps to try to make lockHistory and userGesture less confusing

        * page/FrameLoadRequest.h:
        (WebCore::FrameLoadRequest::FrameLoadRequest): Add initialization of m_isUserGesture
        to true.
        (WebCore::FrameLoadRequest::shouldLockHistory): Renamed from lockHistory to avoid having
        a getter that sounds like a verb phrase.
        (WebCore::FrameLoadRequest::setShouldLockHistory): Ditto.
        (WebCore::FrameLoadRequest::isUserGesture): Added.
        (WebCore::FrameLoadRequest::setIsUserGesture): Ditto.

        * loader/FrameLoader.h: Remove userGesture parameter from load that takes
        FrameLoadRequest. Remove default values for lockHistory and userGesture parameters,
        since that just makes it more likely we'll forget to pass them in. Remove one of
        the overloads of urlSelected, since it's only called one place.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::createWindow): Remove userGesture parameter, relying on
        the true default in FrameLoadRequest.
        (WebCore::FrameLoader::urlSelected): Call setShouldLockHistory and setIsUserGesture
        on the FrameLoadRequest, and call load directly; also eliminate the other urlSelected
        overload since this was the only place it was called.
        (WebCore::FrameLoader::load): Remove userGesture parameter, relying on the true
        default in FrameLoadRequest. In the other overload, clean up logic to eliminate the
        argsReferrer variable and get rid of the userGesture parameter, using the value from
        FrameLoadRequest.
        (WebCore::FrameLoader::submitForm): Remove userGesture parameter, relying on the value
        in the FrameLoadRequest. This actually changes behavior.

        * bindings/js/kjs_html.cpp: (KJS::JSHTMLDocument::putValueProperty): Pass
        false for userGesture explicitly instead of relying on default argument.

        * page/ContextMenuController.cpp: (WebCore::ContextMenuController::contextMenuItemSelected):
        Remove userGesture parameter, relying on the true default in FrameLoadRequest.

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

12 years agoMore elegant fix for the 64-bit build failure.
thatcher [Tue, 17 Apr 2007 17:49:16 +0000 (17:49 +0000)]
More elegant fix for the 64-bit build failure.

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

12 years agoWebCore:
ddkilzer [Tue, 17 Apr 2007 01:15:36 +0000 (01:15 +0000)]
WebCore:

        Reviewed by NOBODY (fixed misspelling).

        * manual-tests/containing-block-position-chage.html: Removed.
        * manual-tests/containing-block-position-change.html: Added.

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

12 years ago64-bit build fix.
thatcher [Tue, 17 Apr 2007 00:25:29 +0000 (00:25 +0000)]
64-bit build fix.

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

12 years agoLayoutTests:
justing [Mon, 16 Apr 2007 21:06:46 +0000 (21:06 +0000)]
LayoutTests:

        Reviewed by darin

        <rdar://problem/5134759>
        GMail Editor: Hang after pasting underlined text multiple times

        Demonstrates the bug:
        * editing/pasteboard/5134759-expected.checksum: Added.
        * editing/pasteboard/5134759-expected.png: Added.
        * editing/pasteboard/5134759-expected.txt: Added.
        * editing/pasteboard/5134759.html: Added.

        A unnecessary extra space was added to an element's
        inline style declaration, because of the way cssText behaves:
        * editing/pasteboard/paste-table-002-expected.txt:

WebCore:

        Reviewed by darin

        <rdar://problem/5134759>
        GMail Editor: Hang after pasting underlined text multiple times

        The moveParagraphs call that ReplaceSelectionCommand
        performs must receive only inline content from createMarkup,
        or else it will result in another call to moveParagraphs
        when it performs the move, resulting in infinite recursion.

        * editing/markup.cpp:
        (WebCore::startMarkup): We were only converting a block to
        an inline if it had an inline style declaration or styles
        coming from matched rules.  Cleaned up this code a bit by
        handling an element's style separately from its other
        attributes.

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

12 years ago * Drosera/debugger.css: hide the borders for iframes
thatcher [Mon, 16 Apr 2007 18:31:08 +0000 (18:31 +0000)]
    * Drosera/debugger.css: hide the borders for iframes

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

12 years ago Rubber stamped by Tim Hatcher.
darin [Mon, 16 Apr 2007 18:29:10 +0000 (18:29 +0000)]
    Rubber stamped by Tim Hatcher.

        * WebKit.xcodeproj/project.pbxproj: Added Radar bug number to the error message
        for the "version number ending in 4" check so folks from Apple can find the
        original bug that motivated for this. To summarize what's in that bug, it says that
        <http://my.fedex.com> was failing, that it was because of the OpenCube DHTML Menu,
        and that some other affected sites were not using OpenCube (so the error is presumably
        more widespread).

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