WebKit-https.git
11 years ago2009-03-28 Jan Michael Alonzo <jmalonzo@webkit.org>
jmalonzo@webkit.org [Sat, 28 Mar 2009 08:55:09 +0000 (08:55 +0000)]
2009-03-28  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Gtk build fix. Not reviewed.

        FrameLoader::loadURL and FrameLoader::detachChildren went private
        per changes in http://trac.webkit.org/changeset/42055. Follow
        Mac's behaviour and use FrameLoader::loadURLIntoChildFrame for
        loadURL and FrameLoader::detachParent for detachChildrem.

        * WebCoreSupport/FrameLoaderClientGtk.cpp:
        (WebKit::FrameLoaderClient::createFrame):
        * webkit/webkitwebview.cpp:

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

11 years agoFix non-AllInOneFile builds.
oliver@apple.com [Sat, 28 Mar 2009 05:11:55 +0000 (05:11 +0000)]
Fix non-AllInOneFile builds.

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

11 years agoUpdate text-content-type-with-binary-extension.html to use a .sitx file of random...
mrowe@apple.com [Sat, 28 Mar 2009 04:04:36 +0000 (04:04 +0000)]
Update text-content-type-with-binary-extension.html to use a .sitx file of random data rather
than a .m4a to ensure that WebKit doesn't handle the resource as a full-frame media element if the network
layer sniffs it as audio/mp4 rather than application/octet-stream.

Rubber-stamped by Dan Bernstein.

* http/tests/loading/resources/.htaccess:
* http/tests/loading/resources/binaryData.m4a: Removed.
* http/tests/loading/resources/binaryData.sitx: Added.
* http/tests/loading/text-content-type-with-binary-extension.html:

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

11 years agoFix syntax of Skipped file.
mrowe@apple.com [Sat, 28 Mar 2009 04:04:20 +0000 (04:04 +0000)]
Fix syntax of Skipped file.

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

11 years agoImprove performance of Function.prototype.call
oliver@apple.com [Sat, 28 Mar 2009 03:50:39 +0000 (03:50 +0000)]
Improve performance of Function.prototype.call
<https://bugs.webkit.org/show_bug.cgi?id=24907>

Reviewed by Gavin Barraclough

Optimistically assume that expression.call(..) is going to be a call to
Function.prototype.call, and handle it specially to attempt to reduce the
degree of VM reentrancy.

When everything goes right this removes the vm reentry improving .call()
by around a factor of 10.

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

11 years agoSkip two plug-in tests that are failing due to <rdar://problem/6733642>.
mrowe@apple.com [Sat, 28 Mar 2009 02:54:59 +0000 (02:54 +0000)]
Skip two plug-in tests that are failing due to <rdar://problem/6733642>.

Rubber-stamped by Oliver Hunt.

* platform/mac-snowleopard/Skipped:

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

11 years agoLand updated results for two SVG tests involving Geeza Pro.
mrowe@apple.com [Sat, 28 Mar 2009 02:46:39 +0000 (02:46 +0000)]
Land updated results for two SVG tests involving Geeza Pro.

Rubber-stamped by Dan Bernstein.

* platform/mac-leopard/svg/W3C-SVG-1.1/text-intro-05-t-expected.checksum: Renamed from LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.checksum.
* platform/mac-leopard/svg/W3C-SVG-1.1/text-intro-05-t-expected.png: Renamed from LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.png.
* platform/mac-leopard/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt.
* platform/mac-leopard/svg/text/text-intro-05-t-expected.checksum: Renamed from LayoutTests/platform/mac/svg/text/text-intro-05-t-expected.checksum.
* platform/mac-leopard/svg/text/text-intro-05-t-expected.png: Renamed from LayoutTests/platform/mac/svg/text/text-intro-05-t-expected.png.
* platform/mac-leopard/svg/text/text-intro-05-t-expected.txt: Copied from LayoutTests/platform/mac/svg/text/text-intro-05-t-expected.txt.
* platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt:
* platform/mac/svg/text/text-intro-05-t-expected.txt:

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

11 years agoFix two SVG test failures in 64-bit.
mrowe@apple.com [Sat, 28 Mar 2009 02:40:34 +0000 (02:40 +0000)]
Fix two SVG test failures in 64-bit.

Reviewed by Sam Weinig.

getSubStringLength's arguments were declared as unsigned in the IDL and as signed long in the implementation.
This led to a value of -1 in JavaScript being converted to MAX_UINT in the bindings.  In 32-bit this was
identical to -1 when interpeted as signed long, but in 64-bit it was still equal to MAX_UINT.

The solution for this is to use the IsIndex attribute on arguments that the SVG spec declares as "unsigned long"
but requires an exception be thrown when a negative value is passed.  This results in the JS bindings handling the
check for a negative value and lets the implementation treat the arguments purely as unsigned values.

* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::getNumberOfChars):
(WebCore::SVGTextContentElement::getSubStringLength):
(WebCore::SVGTextContentElement::getStartPositionOfChar):
(WebCore::SVGTextContentElement::getEndPositionOfChar):
(WebCore::SVGTextContentElement::getExtentOfChar):
(WebCore::SVGTextContentElement::getRotationOfChar):
(WebCore::SVGTextContentElement::getCharNumAtPosition):
(WebCore::SVGTextContentElement::selectSubString):
* svg/SVGTextContentElement.h:
* svg/SVGTextContentElement.idl:

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

11 years ago2009-03-27 Darin Adler <darin@apple.com>
darin@apple.com [Sat, 28 Mar 2009 00:49:21 +0000 (00:49 +0000)]
2009-03-27  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Get mailto code out of FrameLoader.

        * html/HTMLFormElement.cpp:
        (WebCore::transferMailtoPostFormDataToURL): Added. Factored out the mailto
        logic so HTMLFormElement::submit isn't full of ugly bits. This includes the
        part of the logic that involves transformeing the URL that was previously
        inside FrameLoader.
        (WebCore::HTMLFormElement::submit): Call transferMailtoPostFormDataToURL and
        also release the data for slightly less refcount churn.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::submitForm): Removed all the special casing for mailto,
        since HTMLFormElement now properly prepares both the URL and the form data.

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

11 years ago Reviewed by Mark Rowe.
mitz@apple.com [Sat, 28 Mar 2009 00:41:32 +0000 (00:41 +0000)]
    Reviewed by Mark Rowe.

        - fix <rdar://problem/6724514> A bit of OpenTypeUtilities cleanup

        * platform/graphics/chromium/FontCustomPlatformData.cpp:
        (WebCore::EOTStream::EOTStream): Changed to use EOTHeader.
        (WebCore::createFontCustomPlatformData): Ditto.
        * platform/graphics/opentype/OpenTypeUtilities.cpp:
        (WebCore::EOTHeader::EOTHeader): Added. Initializes the buffer size to
        the size of an EOTPrefix.
        (WebCore::EOTHeader::updateEOTSize): Added. Updates the size field in
        the prefix.
        (WebCore::EOTHeader::appendBigEndianString): Changed the static
        appendBigEndianStringToEOTHeader() into this member function.
        (WebCore::EOTHeader::appendPaddingShort): Added.
        (WebCore::getEOTHeader): Changed to use EOTHeader.
        * platform/graphics/opentype/OpenTypeUtilities.h:
        (WebCore::EOTHeader::size):
        (WebCore::EOTHeader::data):
        (WebCore::EOTHeader::prefix):
        * platform/graphics/win/FontCustomPlatformData.cpp:
        (WebCore::EOTStream::EOTStream): Changed to use EOTHeader.
        (WebCore::createFontCustomPlatformData): Ditto.

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

11 years ago2009-03-27 Darin Adler <darin@apple.com>
darin@apple.com [Sat, 28 Mar 2009 00:06:57 +0000 (00:06 +0000)]
2009-03-27  Darin Adler  <darin@apple.com>

        * StringsNotToBeLocalized.txt: Updated for recent changes.

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

11 years ago2009-03-27 Darin Adler <darin@apple.com>
darin@apple.com [Sat, 28 Mar 2009 00:06:38 +0000 (00:06 +0000)]
2009-03-27  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        * Scripts/extract-localizable-strings: Fixed version check for perl 5.10 compatibility.

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

11 years ago2009-03-27 Darin Adler <darin@apple.com>
darin@apple.com [Fri, 27 Mar 2009 23:55:17 +0000 (23:55 +0000)]
2009-03-27  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Made our mailto form submission tests work more reliably by using the new
        layoutTestController.waitForPolicyDelegate function.

        * fast/encoding/mailto-always-utf-8.html: Updated test to use waitForPolicyDelegate
        rather than relying on the form submission happening immediately.
        * fast/forms/mailto/advanced-get.html: Ditto.
        * fast/forms/mailto/advanced-put.html: Ditto.
        * fast/forms/mailto/get-multiple-items-text-plain.html: Ditto.
        * fast/forms/mailto/get-multiple-items-x-www-form-urlencoded.html: Ditto.
        * fast/forms/mailto/get-multiple-items.html: Ditto.
        * fast/forms/mailto/get-non-ascii-always-utf-8.html: Ditto.
        * fast/forms/mailto/get-non-ascii-text-plain-latin-1.html: Ditto.
        * fast/forms/mailto/get-non-ascii-text-plain.html: Ditto.
        * fast/forms/mailto/get-non-ascii.html: Ditto.
        * fast/forms/mailto/get-overwrite-query.html: Ditto.
        * fast/forms/mailto/post-append-query.html: Ditto.
        * fast/forms/mailto/post-multiple-items-multipart-form-data.html: Ditto.
        * fast/forms/mailto/post-multiple-items-text-plain.html: Ditto.
        * fast/forms/mailto/post-multiple-items-x-www-form-urlencoded.html: Ditto.
        * fast/forms/mailto/post-multiple-items.html: Ditto.
        * fast/forms/mailto/post-text-plain-with-accept-charset.html: Ditto.
        * fast/forms/mailto/post-text-plain.html: Ditto.

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

11 years ago2009-03-27 Darin Adler <darin@apple.com>
darin@apple.com [Fri, 27 Mar 2009 23:55:04 +0000 (23:55 +0000)]
2009-03-27  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Added waitForPolicyDelegate, a more-reliable way to make our mailto form submission
        tests work.

        * DumpRenderTree/AccessibilityController.cpp:
        (getFocusedElementCallback): Use static_cast instead of reinterpret_cast because there's
        no reason to use reinterpret_cast just to get from void* to a specific type.
        (getRootElementCallback): Ditto.
        * DumpRenderTree/AccessibilityUIElement.cpp:
        (toAXElement): Ditto.
        * DumpRenderTree/GCController.cpp:
        (collectCallback): Ditto.
        (collectOnAlternateThreadCallback): Ditto.
        (getJSObjectCountCallback): Ditto.
        * DumpRenderTree/LayoutTestController.cpp:
        (many functions):  Ditto.
        (waitForPolicyDelegateCallback): Added.
        (LayoutTestController::staticFunctions): Sorted functions by name.
        Added waitForPolicyDelegate.

        * DumpRenderTree/LayoutTestController.h: Sorted functions by name.
        Added waitForPolicyDelegate.

        * DumpRenderTree/mac/DumpRenderTree.mm:
        (resetWebViewToConsistentStateBeforeTesting): Added code to reset the state of the
        policy delegate.
        (runTest): Added an additional call to resetWebViewToConsistentStateBeforeTesting just
        before loading an empty page. This prevents extra policy delegate calls from being logged.

        * DumpRenderTree/mac/LayoutTestControllerMac.mm:
        (LayoutTestController::waitForPolicyDelegate): Added. Puts us into wait mode, and then
        tells the policy delegate to notify when done, then points the web view at the policy delegate.

        * DumpRenderTree/mac/PolicyDelegate.h: Added setControllerToNotifyDone: method.

        * DumpRenderTree/mac/PolicyDelegate.mm:
        (-[PolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
        Added code to do notifyDone if controllerToNotifyDone is set.
        (-[PolicyDelegate setControllerToNotifyDone:]): Added.

        * DumpRenderTree/win/DumpRenderTree.cpp:
        (resetWebViewToConsistentStateBeforeTesting): Added code to reset the state of the
        policy delegate. Also moved the call to resetUndoManager in here.
        (runTest): Removed the call to resetUndoManager (see above). Added an additional call to
        resetWebViewToConsistentStateBeforeTesting to match the Mac code.

        * DumpRenderTree/win/LayoutTestControllerWin.cpp:
        (LayoutTestController::setCustomPolicyDelegate): 0, not NULL.

        * DumpRenderTree/win/PolicyDelegate.cpp:
        (PolicyDelegate::PolicyDelegate): Initialize m_controllerToNotifyDone to 0.
        (PolicyDelegate::decidePolicyForNavigationAction): Added code to do notifyDone if
        m_controllerToNotifyDone is set.

        * DumpRenderTree/win/PolicyDelegate.h: Added setControllerToNotifyDone and
        m_controllerToNotifyDone.

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

11 years ago2009-03-27 Darin Adler <darin@apple.com>
darin@apple.com [Fri, 27 Mar 2009 23:37:46 +0000 (23:37 +0000)]
2009-03-27  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        To prepare for work on a form loading fix, remove some unused functions,
        consolidate some functions, and make many more functions private in
        FrameLoader.

        * WebCore.base.exp: Remove some unused entry points, update another.

        * dom/Document.cpp:
        (WebCore::Document::detach): Clear m_frame directly instead of using
        clearFramePointer.
        * dom/Document.h: Ditto.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::urlSelected): Consolidate the two functions
        of this name into a single function. Also changed the event argument
        to be PassRefPtr<Event>.
        (WebCore::FrameLoader::submitForm): Changed the event argument to
        be PassRefPtr<Event>.
        (WebCore::FrameLoader::scheduleLocationChange): Call completeURL
        explicitly so we can remove the version of changeLocation that does
        completeURL for us.
        (WebCore::FrameLoader::redirectionTimerFired): Ditto.
        (WebCore::FrameLoader::loadURLIntoChildFrame): Set m_provisionalHistoryItem
        directly so we don't need a setProvisionalHistoryItem function.
        (WebCore::FrameLoader::canCachePageContainingThisFrame): Get at
        m_quickRedirectComing directly so we don't need a isQuickRedirectComing
        function.
        (WebCore::FrameLoader::logCanCacheFrameDecision): Ditto.
        (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Changed the
        event argument to be PassRefPtr<Event>.
        (WebCore::FrameLoader::loadURL): Move the logic of the continueLoadWithData
        function here because this is the only caller. If we want to make the
        resulting function smaller we should refactor some other way. Also
        streamlined the user-chosen encoding logic, but did not change what it does.
        (WebCore::FrameLoader::finishedLoadingDocument): Changed the event argument
        to be PassRefPtr<Event>.
        (WebCore::FrameLoader::loadPostRequest): Ditto.
        (WebCore::FrameLoader::receivedMainResourceError): Moved the logic from
        the didNotOpenURL function here, since this was the only caller.

        * loader/FrameLoader.h: Removed include of FormState.h and used a forward
        declaration instead. Removed unneeded forward declation of Element.
        Moved many functions into the private section, and removed some other
        unused or uneeded functions.

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

11 years ago2009-03-27 Xiaomei Ji <xji@chromium.org>
darin@chromium.org [Fri, 27 Mar 2009 23:23:09 +0000 (23:23 +0000)]
2009-03-27  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Dan Bernstein.

        Fix https://bugs.webkit.org/show_bug.cgi?id=24303
        Using keyboard select RTL text, Highlights goes to opposite direction from Firefox and IE.

        Test: editing/selection/extend-selection.html

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::directionOfEnclosingBlock): Added
        (WebCore::SelectionController::modifyExtendingRight): Added. Currenctly
        implemented for character and word granularity, all other granularities
        are treated as "forward".
        (WebCore::SelectionController::modifyExtendingForward): Renamed
        modifyExtendingRightForward() to this.
        (WebCore::SelectionController::modifyExtendingLeft): Added. Currenctly
        implemented for character and word granularity, all other granularities
        are treated as "backward".
        (WebCore::SelectionController::modifyExtendingBackward): Renamed
        modifyExtendingLeftBackward() to this.
        (WebCore::SelectionController::modify): Change to call either the
        left/right or backward/forward methods depending on the 'dir' argument
        for extends.
        * editing/SelectionController.h:

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

11 years ago2009-03-27 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 27 Mar 2009 23:15:01 +0000 (23:15 +0000)]
2009-03-27  Sam Weinig  <sam@webkit.org>

        Reviewed by Gavin Barraclough.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=24765
        prepare-ChangeLog and svn-create-patch doesn't work with svn 1.6

        * Scripts/prepare-ChangeLog:
        * Scripts/svn-create-patch:

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

11 years ago2009-03-27 John Abd-El-Malek <jam@google.com>
dimich@chromium.org [Fri, 27 Mar 2009 22:34:10 +0000 (22:34 +0000)]
2009-03-27  John Abd-El-Malek  <jam@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=24836
        Fix navigator.plugins.refresh(false) in Chromium.

        * plugins/chromium/PluginDataChromium.cpp:
        (WebCore::PluginData::refresh):

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

11 years ago Make scrollLeft, scrollTop, scrollWidth, and scrollHeight
timothy@apple.com [Fri, 27 Mar 2009 22:31:19 +0000 (22:31 +0000)]
    Make scrollLeft, scrollTop, scrollWidth, and scrollHeight
        virtual to fix the broken layout tests from my last commit.

        Reviewed by Mark Rowe.

        * dom/Element.cpp:
        (WebCore::Element::scrollLeft):
        (WebCore::Element::scrollTop):
        (WebCore::Element::scrollWidth):
        (WebCore::Element::scrollHeight):
        * dom/Element.h:
        * html/HTMLBodyElement.h:

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

11 years agoFix <https://bugs.webkit.org/show_bug.cgi?id=24876>.
mrowe@apple.com [Fri, 27 Mar 2009 21:34:03 +0000 (21:34 +0000)]
Fix <https://bugs.webkit.org/show_bug.cgi?id=24876>.
Bug 24876: fast/forms/select-max-length.html times out in debug builds due to HTMLSelectElement::setLength being O(N^2)

Reviewed by Sam Weinig.

* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::setLength): Repeatedly calling remove to remove elements causes us to recalculate the list
items after each node is removed, leading to O(N^2) behaviour.  By inlining the batch removal in to setLength we can avoid
this gratuitous recalcuation.

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

11 years ago2009-03-27 Dirk Schulze <krit@webkit.org>
krit@webkit.org [Fri, 27 Mar 2009 20:45:35 +0000 (20:45 +0000)]
2009-03-27  Dirk Schulze  <krit@webkit.org>

        Reviewed by Eric Seidel.

        We don't support images for GtkCursors yet. We need a  placeholder to avoid crashes.
        I took crosshair to have a common behavior with firefox.

        [GTK] SVG - Crash on setting the cursor icon
        https://bugs.webkit.org/show_bug.cgi?id=24565

        * platform/gtk/CursorGtk.cpp:
        (WebCore::Cursor::Cursor):

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

11 years ago Remove redundant attributes and functions from IDL files that have the
timothy@apple.com [Fri, 27 Mar 2009 20:36:21 +0000 (20:36 +0000)]
    Remove redundant attributes and functions from IDL files that have the
        same attributes and functions defined in the super class.

        Reviewed by Simon Fraser.

        * WebCore.xcodeproj/project.pbxproj: Remove DOMHTMLBodyElementPrivate.h.
        * bindings/objc/PublicDOMInterfaces.h: Remove focus and blur from DOMHTMLElement.
        * html/HTMLBodyElement.idl: Remove scrollLeft, scrollTop, scrollWidth
        and scrollHeight.
        * html/HTMLElement.idl: Remove blur and focus.

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

11 years agoFix the Mac DumpRenderTree build.
timothy@apple.com [Fri, 27 Mar 2009 18:44:23 +0000 (18:44 +0000)]
Fix the Mac DumpRenderTree build.

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

11 years agoDon't include substitute data URLs in global history redirect chains
aroben@apple.com [Fri, 27 Mar 2009 18:37:16 +0000 (18:37 +0000)]
Don't include substitute data URLs in global history redirect chains

WebCore:

        Don't include substitute data URLs in global history redirect chains

        <rdar://6690169>

        Reviewed by Darin Adler.

        This might be testable if:
          - support were added to DRT for providing substitute data on failed
            loads
          - support were added to DRT for dumping redirect chains

        I tried doing the above and was still unable to make a test.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::updateHistoryForStandardLoad):
        (WebCore::FrameLoader::updateHistoryForRedirectWithLockedBackForwardList):
        Call updateGlobalHistoryRedirectLinks only if the load succeeded
        (i.e., there is no unreachableURL). Previous the FrameLoaderClient
        implementations were unconditionally calling
        updateGlobalHistoryRedirectLinks from within updateGlobalHistory.

WebKit/mac:

        Don't include substitute data URLs in global history redirect chains

        <rdar://6690169>

        Reviewed by Darin Adler.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::updateGlobalHistory): Don't call
        updateGlobalHistoryRedirectLinks. FrameLoader calls this for us now.
        (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
        Added an assertion to help catch cases where we might be adding a
        substitute data URL into a redirect chain.

WebKit/win:

        Don't include substitute data URLs in global history redirect chains

        <rdar://6690169>

        Reviewed by Darin Adler.

        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::updateGlobalHistory): Don't call
        updateGlobalHistoryRedirectLinks. FrameLoader calls this for us now.
        (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
        Added an assertion to help catch cases where we might be adding a
        substitute data URL into a redirect chain.

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

11 years ago2009-03-27 Darin Adler <darin@apple.com>
darin@apple.com [Fri, 27 Mar 2009 18:27:16 +0000 (18:27 +0000)]
2009-03-27  Darin Adler  <darin@apple.com>

        Reviewed by Adam Roben.

        <rdar://problem/6541923> REGRESSION (r38629): Tab cycle in empty tab is broken

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _wantsKeyDownForEvent:]): Only return YES when we have a Frame.

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

11 years ago2009-03-27 Peter Kasting <pkasting@google.com>
pkasting@chromium.org [Fri, 27 Mar 2009 18:07:41 +0000 (18:07 +0000)]
2009-03-27  Peter Kasting  <pkasting@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=24861
        Chromium port did not render decorations for <input type="search">.
        This copies RenderThemeWin.*.

        * css/themeChromiumWin.css: Removed.
        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet):
        (WebCore::RenderThemeChromiumLinux::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeChromiumLinux::paintSearchFieldCancelButton):
        (WebCore::RenderThemeChromiumLinux::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeChromiumLinux::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeChromiumLinux::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeChromiumLinux::adjustSearchFieldResultsButtonStyle):
        (WebCore::RenderThemeChromiumLinux::paintSearchFieldResultsButton):
        * rendering/RenderThemeChromiumLinux.h:
        (WebCore::RenderThemeChromiumLinux::paintSearchField):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::):
        (WebCore::RenderThemeChromiumWin::extraDefaultStyleSheet):
        (WebCore::RenderThemeChromiumWin::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeChromiumWin::paintSearchFieldCancelButton):
        (WebCore::RenderThemeChromiumWin::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeChromiumWin::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeChromiumWin::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeChromiumWin::adjustSearchFieldResultsButtonStyle):
        (WebCore::RenderThemeChromiumWin::paintSearchFieldResultsButton):
        * rendering/RenderThemeChromiumWin.h:
        (WebCore::RenderThemeChromiumWin::paintSearchField):

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

11 years agoWebCore:
hyatt@apple.com [Fri, 27 Mar 2009 18:02:18 +0000 (18:02 +0000)]
WebCore:

2009-03-27  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser

        If an object has a self-painting layer, don't count it as part of a block's visual overflow.
        This fix has only been made for block-level children.   The inline-level case is still broken
        (and covered by an existing bug).

        Added fast/block/positioning/negative-rel-position.html

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesVertically):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChildren):
        (WebCore::RenderBlock::lowestPosition):
        (WebCore::RenderBlock::rightmostPosition):
        (WebCore::RenderBlock::leftmostPosition):

LayoutTests:

2009-03-27  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser

        Test case for relative positioning bug.

        * fast/block/positioning/negative-rel-position.html: Added.
        * platform/mac/fast/block/positioning/negative-rel-position-expected.checksum: Added.
        * platform/mac/fast/block/positioning/negative-rel-position-expected.png: Added.
        * platform/mac/fast/block/positioning/negative-rel-position-expected.txt: Added.

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

11 years ago2009-03-27 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Fri, 27 Mar 2009 18:00:50 +0000 (18:00 +0000)]
2009-03-27  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/6642221>
        REGRESSION: With the Movie widget, movie trailer fails to load if movie had been previously viewed

        Add a dashboard specific workaround so that we always create renderers for object elements, even if display:none is set.

        I've filed <rdar://problem/6731022> against the Movies widget.

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::rendererIsNeeded):

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

11 years ago2009-03-27 Darin Adler <darin@apple.com>
darin@apple.com [Fri, 27 Mar 2009 17:53:27 +0000 (17:53 +0000)]
2009-03-27  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan and Anders Carlsson.

        <rdar://problem/5987442> Pasteboard not exposed to WebEditingDelegate for WebViewInsertActionPasted (needed for system services)

        Added SPI to tell which pasteboard is currently being inserted.
        I chose to put it on WebView to be forward-looking since we're migrating things
        from WebHTMLView to WebView in the future.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Add calls to _setInsertionPasteboard.
        (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Ditto.
        * WebView/WebView.mm:
        (-[WebViewPrivate dealloc]): Assert the pasteboard is nil.
        (-[WebViewPrivate finalize]): Ditto.
        (-[WebView _insertionPasteboard]): Return the pastebaord.
        (-[WebView _setInsertionPasteboard:]): Set the pasteboard.
        * WebView/WebViewInternal.h: Added _setInsertionPasteboard.
        * WebView/WebViewPrivate.h: Added _insertionPasteboard.

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

11 years agoExpose new DOM methods as public Objective-C API.
timothy@apple.com [Fri, 27 Mar 2009 17:50:15 +0000 (17:50 +0000)]
Expose new DOM methods as public Objective-C API.

WebCore:

2009-03-25  Timothy Hatcher  <timothy@apple.com>

        Expose new DOM methods as public Objective-C API.

        <rdar://problem/5837350> Expose new DOM classes and methods
        as public API (match the additions to the JavaScript DOM)

        Reviewed by NOBODY (OOPS!).

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMHTML.h:
        * bindings/objc/DOMPrivate.h:
        * bindings/objc/PublicDOMInterfaces.h:

WebKit/mac:

2009-03-25  Timothy Hatcher  <timothy@apple.com>

        Expose new DOM methods as public Objective-C API.

        <rdar://problem/5837350> Expose new DOM classes and methods
        as public API (match the additions to the JavaScript DOM)

        Reviewed by NOBODY (OOPS!).

        * MigrateHeaders.make:

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

11 years ago2009-03-27 Zack Rusin <zack@kde.org>
hausmann@webkit.org [Fri, 27 Mar 2009 17:45:41 +0000 (17:45 +0000)]
2009-03-27  Zack Rusin <zack@kde.org>

        Reviewed by Simon Hausmann.

        https://bugs.webkit.org/show_bug.cgi?id=24280

        Fix propagation of fill rules when rendering paths in the Qt build.

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

11 years ago2009-03-27 Zack Rusin <zack@kde.org>
hausmann@webkit.org [Fri, 27 Mar 2009 17:40:45 +0000 (17:40 +0000)]
2009-03-27  Zack Rusin <zack@kde.org>

        Reviewed by Tor Arne Vestbø.

        https://bugs.webkit.org/show_bug.cgi?id=24275

        Fix text field theming in the Qt build with the KDE 4 Oxygen
        style by adjusting the size vertically and horizontally to
        set padding on the element equal to the width of the style painted border.

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

11 years ago2009-03-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
hausmann@webkit.org [Fri, 27 Mar 2009 16:23:01 +0000 (16:23 +0000)]
2009-03-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Darin Adler.

        Bug 24884: Include strings.h for strcasecmp()
        https://bugs.webkit.org/show_bug.cgi?id=24884

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

11 years ago2009-03-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
hausmann@webkit.org [Fri, 27 Mar 2009 13:05:11 +0000 (13:05 +0000)]
2009-03-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Simon Hausmann.

        https://bugs.webkit.org/show_bug.cgi?id=24852
        Build fix for GNU mode RVCT compilation

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

11 years ago2009-03-27 Erik L. Bunce <elbunce@xendom.com>
hausmann@webkit.org [Fri, 27 Mar 2009 12:59:24 +0000 (12:59 +0000)]
2009-03-27  Erik L. Bunce  <elbunce@xendom.com>

        Reviewed by Simon Hausmann.

        https://bugs.webkit.org/show_bug.cgi?id=24869

        Fixes an incorrect case in tst_qwebpage.

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

11 years ago2009-03-27 Erik L. Bunce <elbunce@xendom.com>
hausmann@webkit.org [Fri, 27 Mar 2009 12:50:10 +0000 (12:50 +0000)]
2009-03-27  Erik L. Bunce  <elbunce@xendom.com>

        Reviewed by Simon Hausmann.

        https://bugs.webkit.org/show_bug.cgi?id=24868

        Make text of the writing direction items more user friendly.

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

11 years ago2009-03-27 Erik L. Bunce <elbunce@xendom.com>
hausmann@webkit.org [Fri, 27 Mar 2009 12:47:20 +0000 (12:47 +0000)]
2009-03-27  Erik L. Bunce  <elbunce@xendom.com>

        Reviewed by Simon Hausmann.

        https://bugs.webkit.org/show_bug.cgi?id=24274

        Fixed the Qt 4.4 Mac build with netscape plugins enabled.

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

11 years ago2009-03-27 Erik L. Bunce <elbunce@xendom.com>
hausmann@webkit.org [Fri, 27 Mar 2009 11:54:22 +0000 (11:54 +0000)]
2009-03-27  Erik L. Bunce  <elbunce@xendom.com>

        Reviewed by Simon Hausmann.

        https://bugs.webkit.org/show_bug.cgi?id=24746

        Add new editing related QWebPage::WebActions
        * Clipboard: PasteAndMatchStyle
        * Formatting: RemoveFormat, ToggleStrikethrough, ToggleSubscript, and
          ToggleSuperscript
        * List Editing: InsertUnorderedList, InsertOrderedList, Indent, Outdent
        * Paragraph Justification: AlignCenter, AlignJustified, AlignLeft, AlignRight

        Improved selection and editing tests.

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

11 years ago Reviewed by David Hyatt.
eric@webkit.org [Fri, 27 Mar 2009 06:16:59 +0000 (06:16 +0000)]
    Reviewed by David Hyatt.

        Update fast/repaint/lines-with-layout-delta.html pixel results.
        Hyatt says it's a progression, blame him if it ain't.

        * platform/mac/fast/repaint/lines-with-layout-delta-expected.checksum:
        * platform/mac/fast/repaint/lines-with-layout-delta-expected.png:

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

11 years agoTry and fix the Qt build.
mrowe@apple.com [Fri, 27 Mar 2009 05:19:07 +0000 (05:19 +0000)]
Try and fix the Qt build.

* platform/text/TextEncodingDetectorNone.cpp:
(WebCore::detectTextEncoding):

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

11 years ago2009-03-26 Eric Carlson <eric.carlson@apple.com>
eric.carlson@apple.com [Fri, 27 Mar 2009 04:56:56 +0000 (04:56 +0000)]
2009-03-26  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=24874
        24874: HTMLMediaElement: 'duration' defaults to NaN, deal with it

        The 'duration' attribute is NaN when no media is available, so the
        media element should take care when comparing with duration().

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Don't compare with duration when
        it is NaN.
        (WebCore::HTMLMediaElement::endedPlayback): Ditto.

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

11 years agoUpdate layout test results for changes to Geeza Pro.
mrowe@apple.com [Fri, 27 Mar 2009 04:30:44 +0000 (04:30 +0000)]
Update layout test results for changes to Geeza Pro.

* platform/mac-leopard/fast/text/international/bidi-AN-after-L-expected.txt: Removed.
* platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt:
* platform/mac/fast/text/international/bidi-AN-after-L-expected.checksum: Renamed from LayoutTests/platform/mac-leopard/fast/text/international/bidi-AN-after-L-expected.checksum.
* platform/mac/fast/text/international/bidi-AN-after-L-expected.png: Renamed from LayoutTests/platform/mac-leopard/fast/text/international/bidi-AN-after-L-expected.png.
* platform/mac/fast/text/international/bidi-AN-after-L-expected.txt:
* platform/mac/fast/text/international/bidi-AN-after-empty-run-expected.txt:
* platform/mac/fast/text/international/bidi-CS-after-AN-expected.txt:
* platform/mac/fast/text/international/bidi-neutral-run-expected.txt:

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

11 years agoFix the build.
mrowe@apple.com [Fri, 27 Mar 2009 03:21:56 +0000 (03:21 +0000)]
Fix the build.

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

11 years ago2009-03-26 Jungshik Shin <jshin@chromium.org>
cwzwarich@webkit.org [Fri, 27 Mar 2009 02:51:43 +0000 (02:51 +0000)]
2009-03-26  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Cameron Zwarich.

        1. Fix the crash in setHintEncoding
        2. Fix build failures on Tiger and Qt.
        UnusedParam.h was not included by TextEncodingDetector{None,ICU}.cpp
        in the patch landed in r42023
        for http://bugs.webkit.org/show_bug.cgi?id=16482

        * loader/TextResourceDecoder.h:
        (WebCore::TextResourceDecoder::setHintEncoding):
        * platform/text/TextEncodingDetectorICU.cpp:
        * platform/text/TextEncodingDetectorNone.cpp:

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

11 years ago2009-03-26 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Fri, 27 Mar 2009 01:27:16 +0000 (01:27 +0000)]
2009-03-26  Simon Fraser  <simon.fraser@apple.com>

        Build fix when ACCELERATED_COMPOSITING is turned on.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::canUseDirectCompositing):

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

11 years ago2009-03-26 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Fri, 27 Mar 2009 01:12:01 +0000 (01:12 +0000)]
2009-03-26  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        https://bugs.webkit.org/show_bug.cgi?id=24864

        Change the terminology from "inner content layer" to "direct compositing"
        for cases where we can push an image directly over to the compositing system,
        without having to draw it.

        Clean up much of the code which looks at style to determine if this is possible,
        and fix some bugs when backgrounds change dynamically.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::hasBorderOutlineOrShadow):
        (WebCore::hasBoxDecorations):
        (WebCore::hasBoxDecorationsWithBackgroundImage):
        (WebCore::RenderLayerBacking::canBeSimpleContainerCompositingLayer):
        (WebCore::RenderLayerBacking::canUseDirectCompositing):
        (WebCore::RenderLayerBacking::detectDrawingOptimizations):
        (WebCore::RenderLayerBacking::rendererContentChanged):
        (WebCore::RenderLayerBacking::updateImageContents):
        * rendering/RenderLayerBacking.h:

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

11 years ago No additional review, committing previously reviewed files for build fix...
eric@webkit.org [Fri, 27 Mar 2009 00:28:47 +0000 (00:28 +0000)]
    No additional review, committing previously reviewed files for build fix only.

        Add files I missed when commiting Jungshik's patch in r42022.
        https://bugs.webkit.org/show_bug.cgi?id=16482

        * icu/unicode/ucsdet.h: Added.
        * platform/text/TextEncodingDetector.h: Added.
        * platform/text/TextEncodingDetectorICU.cpp: Added.
        (WebCore::detectTextEncoding):
        * platform/text/TextEncodingDetectorNone.cpp: Added.
        (WebCore::detectTextEncoding):

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

11 years ago2009-03-26 Jungshik Shin <jshin@chromium.org>
eric@webkit.org [Fri, 27 Mar 2009 00:01:58 +0000 (00:01 +0000)]
2009-03-26  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Add an encoding detector 'hook' to TextResourceDecoder.
         - add |usesEncodingDetector| to Settings. It's off by default.
         - add a new encoding source type |EncodingFromParent|
           to distinguish cases when the encoding is inherited from
           the parent frame from cases when it's actually auto-detected.
         - add TextEncodingDetector* to platform/text. Currently,
           the only implementation uses ICU. Stub is added for
           ports that do not use ICU and a build on Tiger. Mac OS
           Tiger comes with ICU 3.2 that does not support encoding detector.
         - add ucsdet.h to icu/unicode for ports using ICU.

        Layout tests will be added once bug 20534 is fixed and a WebPreference
        can be controlled in test_shell. With UsesEncodingDetector off, there
        is no change to test.

        http://bugs.webkit.org/show_bug.cgi?id=16482

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCore/GNUmakefile.am
        * WebCore/WebCore.pro
        * WebCore/WebCore.scons
        * WebCore/WebCoreSources.bkl
        * WebCore.base.exp
        * icu/unicode/ucsdet.h
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::write): turn on/off encoding detector depending on Settings and set hintEncoding of TextResourceDecoder to the parent frame encoding if necessary and the security policy allows refering to the parent frame encoding.
        * loader/TextResourceDecoder.cpp:
        (WebCore::TextResourceDecoder::TextResourceDecoder):
        (WebCore::TextResourceDecoder::checkForCSSCharset): add check for EncodingFromParentFrame
        (WebCore::TextResourceDecoder::checkForHeadCharset): ditto
        (WebCore::TextResourceDecoder::shouldAutoDetect):
        (WebCore::TextResourceDecoder::decode): call encoding detector if shouldAutoDetect returns true.
        (WebCore::TextResourceDecoder::flush): if encoding is not determined by now, call encoding detector if shouldAutoDetect returns true.
        * loader/TextResourceDecoder.h:
        (WebCore::TextResourceDecoder::):
        (WebCore::TextResourceDecoder::create):
        (WebCore::TextResourceDecoder::setHintEncoding):
        (WebCore::TextResourceDecoder::source):
        * page/Settings.cpp: add m_usesEncodingDetector
        (WebCore::Settings::Settings):
        (WebCore::Settings::setUsesEncodingDetector):
        * page/Settings.h:
        (WebCore::Settings::usesEncodingDetector):
        * platform/text/TextEncodingDetector.h: Added.
        * platform/text/TextEncodingDetectorICU.cpp: Added.
        (WebCore::detectTextEncoding):
        * platform/text/TextEncodingDetectorNone.cpp: Added.
        (WebCore::detectTextEncoding):

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

11 years ago2009-03-26 Darin Adler <darin@apple.com>
darin@apple.com [Thu, 26 Mar 2009 23:50:00 +0000 (23:50 +0000)]
2009-03-26  Darin Adler  <darin@apple.com>

        Reviewed by Geoff Garen.

        Removed code that casts EventListener down to derived classes
        without type checking. A crash could happen if you added event
        listeners with Objective-C and then manipulated the class with
        JavaScript.

        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        (WebCore::JSDOMApplicationCache::mark): Removed all the casts
        and used the markIfNotNull function and mark functions on
        EventListener instead.
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::mark): Ditto.
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::mark): Ditto.
        * bindings/js/JSWorkerCustom.cpp:
        (WebCore::JSWorker::mark): Ditto.
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::mark): Ditto.
        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
        (WebCore::JSXMLHttpRequestUpload::mark): Ditto.

        * bindings/js/JSEventListener.cpp:
        (WebCore::JSAbstractEventListener::handleEvent): Used function,
        the new name for what used to be called listenerObj.
        (WebCore::JSAbstractEventListener::virtualIsInline): Renamed since
        this doesn't need to be virtual for callers who have a pointer to
        this class, not the base class.
        (WebCore::JSEventListener::function): Renamed from listenerObj.
        (WebCore::JSProtectedEventListener::function): Ditto.

        * bindings/js/JSEventListener.h: Removed unneeded forward class
        declarations. Made all virtual functions private since there's no
        need to call any of them on a particular derived class, only on
        EventListener. Explicitly declare JSEventListener::mark as virtual
        since it's now overriding a function in the EventListener base class.
        Made JSProtectedEventListener::m_globalObject protected so the
        JSLazyEventListener derived class can use it directly instead of using
        a virtual function to get the pointer.

        * bindings/js/JSLazyEventListener.cpp:
        (WebCore::JSLazyEventListener::parseCode): Use m_globalObject instead
        of globalObject since the latter is a virtual function and there's no
        need to pay virtual function overhead.
        (WebCore::JSLazyEventListener::function): Renamed from listenerObj.

        * bindings/js/JSLazyEventListener.h: Moved forward declaration of the
        Node class here from JSEventListener.h.

        * bindings/scripts/CodeGeneratorJS.pm: Removed now-unneeded cast to
        JSEventListener when getting the script object from a listener.

        * dom/EventListener.h: Added virtual function and mark functions
        so we can extract the JavaScript function object or mark a JavaScript
        event listener in a type safe manner.

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

11 years ago2009-03-26 Peter Kasting <pkasting@google.com>
pkasting@chromium.org [Thu, 26 Mar 2009 23:25:18 +0000 (23:25 +0000)]
2009-03-26  Peter Kasting  <pkasting@google.com>

        Reviewed by Adele Peterson.

        https://bugs.webkit.org/show_bug.cgi?id=24859
        Use CSS file instead of code to adjust search field styling.

        * css/themeWin.css:
        * rendering/RenderThemeWin.cpp:
        * rendering/RenderThemeWin.h:

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

11 years ago2009-03-26 Darin Adler <darin@apple.com>
darin@apple.com [Thu, 26 Mar 2009 22:53:28 +0000 (22:53 +0000)]
2009-03-26  Darin Adler  <darin@apple.com>

        Reviewed by Geoff Garen.

        Split JSLazyEventListener out into its own separate source file.
        We'll be removing JSAbstractEventListener and JSProtectedEventListener soon,
        so leave those in the same file with JSEventListener.

        * GNUmakefile.am: Added JSLazyEventListener.
        * WebCore.pro: Ditto.
        * WebCore.scons: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * WebCoreSources.bkl: Ditto.

        * bindings/js/JSEventListener.cpp: Removed the JSLazyEventListener part.
        Removed unneeded includes. Removed incorrect ASSERT_CLASS_FITS_IN_CELL, since
        JSAbstractEventListener is not derived from JSCell.

        * bindings/js/JSEventListener.h: Removed the JSLazyEventListener part
        and the now-unneeded include of PlatformString.h.

        * bindings/js/JSLazyEventListener.cpp: Copied from bindings/js/JSEventListener.cpp.
        Kept only the JSLazyEventListener part.
        (WebCore::eventParameterName): Made this have internal linkage by adding "static".
        Also moved the default case out of the switch statement so we will get a warning
        if we omit any cases in the future.

        * bindings/js/JSLazyEventListener.h: Copied from bindings/js/JSEventListener.h.
        Kept only the JSLazyEventListener part.

        * bindings/js/ScriptController.cpp: Removed unneeded includes and sorted the
        remanining ones. Include JSLazyEventListener.h instead of JSEventListener.h.

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

11 years agoWebCore:
darin@apple.com [Thu, 26 Mar 2009 22:31:48 +0000 (22:31 +0000)]
WebCore:

2009-03-26  Darin Adler  <darin@apple.com>

        Reviewed by Geoff Garen.

        Renamed JSUnprotectedEventListener to JSEventListener.
        And related renames.

        Soon Geoff will make all JavaScript event listeners use mark instead
        of protect, so there's no need to emphasize "unprotected".

        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        (WebCore::JSDOMApplicationCache::mark):
        (WebCore::JSDOMApplicationCache::addEventListener):
        (WebCore::JSDOMApplicationCache::removeEventListener):
        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
        (WebCore::JSDOMGlobalObject::findJSEventListener):
        (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
        (WebCore::JSDOMGlobalObject::jsEventListeners):
        (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
        * bindings/js/JSDOMGlobalObject.h:
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::JSEventListener):
        (WebCore::JSEventListener::~JSEventListener):
        (WebCore::JSEventListener::listenerObj):
        (WebCore::JSEventListener::globalObject):
        (WebCore::JSEventListener::clearGlobalObject):
        (WebCore::JSEventListener::mark):
        * bindings/js/JSEventListener.h:
        (WebCore::JSEventListener::create):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::mark):
        (WebCore::JSMessagePort::addEventListener):
        (WebCore::JSMessagePort::removeEventListener):
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::mark):
        (WebCore::JSWorkerContext::addEventListener):
        (WebCore::JSWorkerContext::removeEventListener):
        * bindings/js/JSWorkerCustom.cpp:
        (WebCore::JSWorker::mark):
        (WebCore::JSWorker::addEventListener):
        (WebCore::JSWorker::removeEventListener):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::mark):
        (WebCore::JSXMLHttpRequest::addEventListener):
        (WebCore::JSXMLHttpRequest::removeEventListener):
        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
        (WebCore::JSXMLHttpRequestUpload::mark):
        (WebCore::JSXMLHttpRequestUpload::addEventListener):
        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
        * bindings/scripts/CodeGeneratorJS.pm:
        All just renaming.

WebKitTools:

2009-03-26  Darin Adler  <darin@apple.com>

        Reviewed by Geoff Garen.

        * Scripts/do-webcore-rename:Update for rename of JSUnprotectedEventListener to
        JSEventListener.

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

11 years agoWebCore:
darin@apple.com [Thu, 26 Mar 2009 22:21:26 +0000 (22:21 +0000)]
WebCore:

2009-03-26  Darin Adler  <darin@apple.com>

        Reviewed by Geoff Garen.

        Renamed JSEventListener to JSProtectedEventListener.
        And related renames.

        Soon Geoff will make all JavaScript event listeners use mark instead
        of protect, and so this class will be be obsolete. We will rename
        JSUnrpotectedEventListener to JSEventListener in the next check-in,
        since that one will remain.

        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
        (WebCore::JSDOMGlobalObject::findJSProtectedEventListener):
        (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener):
        (WebCore::JSDOMGlobalObject::jsProtectedEventListeners):
        (WebCore::JSDOMGlobalObject::jsProtectedInlineEventListeners):
        * bindings/js/JSDOMGlobalObject.h:
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::addEventListener):
        (WebCore::JSDOMWindow::removeEventListener):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSProtectedEventListener::JSProtectedEventListener):
        (WebCore::JSProtectedEventListener::~JSProtectedEventListener):
        (WebCore::JSProtectedEventListener::listenerObj):
        (WebCore::JSProtectedEventListener::globalObject):
        (WebCore::JSProtectedEventListener::clearGlobalObject):
        (WebCore::JSLazyEventListener::JSLazyEventListener):
        (WebCore::JSLazyEventListener::parseCode):
        * bindings/js/JSEventListener.h:
        (WebCore::JSProtectedEventListener::create):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::addEventListener):
        (WebCore::JSNode::removeEventListener):
        * bindings/js/JSSVGElementInstanceCustom.cpp:
        (WebCore::JSSVGElementInstance::addEventListener):
        (WebCore::JSSVGElementInstance::removeEventListener):
        All just renaming.

WebKitTools:

2009-03-26  Darin Adler  <darin@apple.com>

        Reviewed by Geoff Garen.

        * Scripts/do-webcore-rename: Update for rename of JSEventListener to
        JSProtectedEventListener. This includes all the related renames, but
        not that one because that one renames the file.

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

11 years ago Copy testapi.js to $WebKitOutputDir on Windows
aroben@apple.com [Thu, 26 Mar 2009 21:28:09 +0000 (21:28 +0000)]
    Copy testapi.js to $WebKitOutputDir on Windows

        Part of Bug 24856: run-javascriptcore-tests should run testapi on
        Windows
        <https://bugs.webkit.org/show_bug.cgi?id=24856>

        This matches what Mac does, which will help once we enable running
        testapi from run-javascriptcore-tests on Windows.

        Reviewed by Steve Falkenburg.

        * JavaScriptCore.vcproj/testapi/testapi.vcproj: Copy testapi.js next
        to testapi.exe.

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

11 years agoVersioning.
mrowe@apple.com [Thu, 26 Mar 2009 20:39:48 +0000 (20:39 +0000)]
Versioning.

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

11 years ago Reviewed by Anders Carlsson.
mitz@apple.com [Thu, 26 Mar 2009 20:35:57 +0000 (20:35 +0000)]
    Reviewed by Anders Carlsson.

        - fix <rdar://problem/6725042> BidiResolver::createBidiRunsForLine can
          create runs extending beyond the end

        No test because Safari does not use this version of
        createBidiRunsForLine() with the end iterator not pointing to the end
        of the text run.

        * platform/text/BidiResolver.h:
        (WebCore::BidiResolver::appendRun): Cap the end of the run at the end
        of the line and set the reachedEndOfLine flag. This mirrors the logic
        in the specialized version of appendRun() in bidi.cpp, which is why the
        problem did not show up in HTML. Also avoid creating empty runs.

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

11 years ago Reduce run-webkit-tests's time out limit to 15 seconds (or 2.5 minutes under...
aroben@apple.com [Thu, 26 Mar 2009 20:18:12 +0000 (20:18 +0000)]
    Reduce run-webkit-tests's time out limit to 15 seconds (or 2.5 minutes under GuardMalloc)

        The previous limit was 60 seconds (or 10 minutes under GuardMalloc).
        There's no evidence that we need the limit to be this long, and having
        it be so long just makes timed-out tests take forever to complete.
        DRT's watchdog timer is 10 seconds, so still has time to fire before
        run-webkit-tests will cut it off.

        Reviewed by Simon Fraser.

        * Scripts/run-webkit-tests:
        (sub readFromDumpToolWithTimer): Reduced the limit to 15 seconds (or
        2.5 mintues under GuardMalloc).

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

11 years ago Make DRT's watchdog timer actually work on Windows
aroben@apple.com [Thu, 26 Mar 2009 20:10:32 +0000 (20:10 +0000)]
    Make DRT's watchdog timer actually work on Windows

        We were previously trying to use a CFRunLoopTimer for the watchdog
        timer on Windows. This doesn't work because we don't use a CFRunLoop
        on the main thread on Windows.

        This patch changes the watchdog timer on Windows be a normal Windows
        timer.

        Reviewed by Simon Fraser.

        * DumpRenderTree/DumpRenderTree.h: Moved declaration of
        waitToDumpWatchdog from here...
        * DumpRenderTree/mac/DumpRenderTreeMac.h: ...to here.

        * DumpRenderTree/win/DumpRenderTree.cpp:
        (invalidateAnyPreviousWaitToDumpWatchdog): Added. This function
        cancels an existing watchdog timer.
        (dump): Call invalidateAnyPreviousWaitToDumpWatchdog. This will
        prevent watchdogs from previous tests firing during subsequent ones.
        This matches Mac's behavior.

        * DumpRenderTree/win/DumpRenderTreeWin.h: Added a declaration of
        waitToDumpWatchdog.

        * DumpRenderTree/win/LayoutTestControllerWin.cpp:
        (waitUntilDoneWatchdogFired): Converted this to be a Windows
        TIMERPROC.
        (LayoutTestController::setWaitToDump): Changed to use SetTimer instead
        of CFRunLoopAddTimer.

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

11 years ago2009-03-26 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Thu, 26 Mar 2009 18:48:26 +0000 (18:48 +0000)]
2009-03-26  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        - Fix <rdar://problem/6687055> and <rdar://problem/6713639>.

        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WKPCInvalidateRect):
        Call NetscapePluginInstanceProxy::invalidateRect.

        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::cleanup):
        Stop the request timer, set m_pluginView to nil.

        (WebKit::NetscapePluginInstanceProxy::pluginHostDied):
        No need to set m_pluginView to nil here anymore, it's now done in cleanup().

        (WebKit::NetscapePluginInstanceProxy::performRequest):
        (WebKit::NetscapePluginInstanceProxy::requestTimerFired):
        Assert that the plug-in view is not nil.

        (WebKit::NetscapePluginInstanceProxy::invalidateRect):
        Call setNeedsDisplayInRect here.

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

11 years ago2009-03-26 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Thu, 26 Mar 2009 18:34:03 +0000 (18:34 +0000)]
2009-03-26  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        https://bugs.webkit.org/show_bug.cgi?id=23914

        Tests: compositing/overflow/ancestor-overflow.html
               compositing/overflow/parent-overflow.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::calculateClipRects):
        * rendering/RenderLayer.h:
        (WebCore::ClipRects::infiniteRect):
        New static method that returns a large rect that is used by the clipping
        logic.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
        Use parentClipRects(), rather than calculateRects(), to compute the overflow
        rect that we'll use to create a masking layer for composited clipping.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::clippedByAncestor):
        Use parentClipRects() to see whether there's a layer between us and our
        compositing ancestor which applies clipping.

        (WebCore::RenderLayerCompositor::clipsCompositingDescendants):
        A layer which imposes clipping to its children doesn't have to be a stacking
        context; it might be a normal flow layer; in either case, we can rely on the
        hasCompositingDescendant() bit.

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

11 years ago Remove SafariThemeConstants.h, which is now provided by WebKitSupportLibrary
aroben@apple.com [Thu, 26 Mar 2009 18:18:38 +0000 (18:18 +0000)]
    Remove SafariThemeConstants.h, which is now provided by WebKitSupportLibrary

        * win/include/SafariTheme: Removed.
        * win/include/SafariTheme/SafariThemeConstants.h: Removed.

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

11 years ago https://bugs.webkit.org/show_bug.cgi?id=24837
sfalken@apple.com [Thu, 26 Mar 2009 17:05:43 +0000 (17:05 +0000)]
    https://bugs.webkit.org/show_bug.cgi?id=24837
        Escape key should dismiss select menu

        Reviewed by Adam Roben.

        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupWndProc):

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

11 years agoReviewed by Alexey Proskuryakov.
kevino@webkit.org [Thu, 26 Mar 2009 16:12:00 +0000 (16:12 +0000)]
Reviewed by Alexey Proskuryakov.

Make sure the script uses LF line endings even on Windows.

https://bugs.webkit.org/show_bug.cgi?id=24805

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

11 years ago2009-03-26 Simon Hausmann <simon.hausmann@nokia.com>
hausmann@webkit.org [Thu, 26 Mar 2009 15:21:33 +0000 (15:21 +0000)]
2009-03-26  Simon Hausmann  <simon.hausmann@nokia.com>

        Rubber-stamped by Tor Arne Vestbø.

        Fix the documentation of the QLocale usage in userAgentForUrl.

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

11 years ago2009-03-25 Brian Weinstein <bweinstein@gmail.com>
aroben@apple.com [Thu, 26 Mar 2009 15:06:45 +0000 (15:06 +0000)]
2009-03-25  Brian Weinstein  <bweinstein@gmail.com>

        Update Windows skipped list based on failures in r41995, to try and make Windows build-bot green.

        <https://bugs.webkit.org/show_bug.cgi?id=24810>

        Reviewed by Adam Roben

        * platform/win/Skipped:

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

11 years ago Reviewed by Adam Roben.
mitz@apple.com [Thu, 26 Mar 2009 14:26:06 +0000 (14:26 +0000)]
    Reviewed by Adam Roben.

        - add close() to the WebView API.

        * Interfaces/IWebView.idl:
        * WebView.cpp:
        (WebView::close):
        * WebView.h:

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

11 years ago2009-03-26 Eli Fidler <eli.fidler@torchmobile.com>
staikos@webkit.org [Thu, 26 Mar 2009 14:24:15 +0000 (14:24 +0000)]
2009-03-26  Eli Fidler  <eli.fidler@torchmobile.com>

        Reviewed by George Staikos.

        Remove warnings all over the place by making operator precedence
        explicit in cases like x && y || z.  No functional change.

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

11 years ago2009-03-26 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
kov@webkit.org [Thu, 26 Mar 2009 11:43:09 +0000 (11:43 +0000)]
2009-03-26  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=24804
        [GTK] 401 responses cause rogue content to be loaded

        Our soup code handles 401 responses itself, so we should not feed
        the headers and data of those responses to the loader.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::gotHeadersCallback):
        (WebCore::gotChunkCallback):

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

11 years ago2009-03-20 Erik L. Bunce <elbunce@xendom.com>
ariya@webkit.org [Thu, 26 Mar 2009 09:31:55 +0000 (09:31 +0000)]
2009-03-20  Erik L. Bunce  <elbunce@xendom.com>

        Reviewed by Simon Hausmann.

        Fix for InsertParagraphSeparator and InsertLineSeparator so that
        QWebPage::action() creates QActions for them. Also make sure they get
        updated appropriately.

        * Api/qwebpage.cpp:
        (QWebPagePrivate::updateEditorActions):
        (QWebPage::action):
        * tests/qwebpage/tst_qwebpage.cpp:
        (tst_QWebPage::textEditing):

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

11 years agoFix exception handling for instanceof in the interpreter.
oliver@apple.com [Thu, 26 Mar 2009 02:39:38 +0000 (02:39 +0000)]
Fix exception handling for instanceof in the interpreter.

Reviewed by Geoff Garen

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

11 years ago2009-03-25 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Thu, 26 Mar 2009 02:34:54 +0000 (02:34 +0000)]
2009-03-25  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Cameron Zwarich.

        Fixed <rdar://problem/6724011> Write to freed memory in JSC::Label::deref
        when reloading http://helpme.att.net/speedtest/

        * bytecompiler/BytecodeGenerator.h: Reversed the declaration order for
        m_labelScopes and m_labels to reverse their destruction order.
        m_labelScopes has references to memory within m_labels, so its destructor
        needs to run first.

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

11 years ago2009-03-25 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Thu, 26 Mar 2009 02:12:27 +0000 (02:12 +0000)]
2009-03-25  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt and Darin Adler.

        Fixed <rdar://problem/6603167> Crash in WebKit!JSC::JSGlobalObject::resetPrototype
        during Stress test (#3 & #7 WER crashes for Safari 4 Beta)

        The problem was that allocation of the global object would, for just a
        moment, leave the global object's prototype unprotected from GC. This
        bug doesn't apply to non-global DOM objects because their prototypes are
        cached and marked by the global object.

        No test case because the crashing condition is hard to deterministically
        produce in a normal build, and in a Windows Release build with
        COLLECT_ON_EVERY_ALLOCATION set to 1, existing tests crash/hang.

        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::setWindow):
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::initScript): Protect the global object's
        prototype from GC during construction, since the global object does not
        yet point to it, and therefore won't mark it.

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

11 years ago2009-03-25 Dean Jackson <dino@apple.com>
dino@apple.com [Thu, 26 Mar 2009 01:38:52 +0000 (01:38 +0000)]
2009-03-25  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser

        https://bugs.webkit.org/show_bug.cgi?id=23361

        When using hardware compositing, some images can be directly
        rendered by the hardware - no need to draw them into a separate
        context, therefore saving memory.
        Only images with certain style properties can be directly
        composited - basically anything that is not a simple image requires
        the usual rendering path (eg. if the image has borders).

        Test: compositing/direct-image-compositing.html

        * manual-tests/resources/simple_image.png: Added.
        * manual-tests/simple-image-compositing.html: Added.
        * platform/graphics/Image.h:
        (WebCore::Image::startAnimation):
            - move this to public
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageChanged):
            - poke compositing layer if image has changed
        (WebCore::RenderImage::notifyFinished):
            - let the compositing layer know that it can render the image
        * rendering/RenderImage.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::rendererContentChanged):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::canUseInnerContentLayer):
        (WebCore::RenderLayerBacking::detectDrawingOptimizations):
        (WebCore::RenderLayerBacking::rendererContentChanged):
        * rendering/RenderLayerBacking.h:
            - code to hook up direct compositing of images where
              possible

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

11 years agoUpdate test result search path for Windows now that it has updated versions of ICU...
mrowe@apple.com [Wed, 25 Mar 2009 23:41:53 +0000 (23:41 +0000)]
Update test result search path for Windows now that it has updated versions of ICU, libxml2, and friends.

Rubber-stamped by Steve Falkenburg.

* Scripts/run-webkit-tests:

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

11 years ago2009-03-25 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Wed, 25 Mar 2009 23:06:41 +0000 (23:06 +0000)]
2009-03-25  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/6714964>
        CrashTracer: [REGRESSION] 51 crashes in Safari at com.apple.WebKit â\80¢ WebNetscapePluginStream::deliverData + 775

        Don't release m_deliveryData since it's a RetainPtr. Also, use adoptNS instead of releasing newDeliveryData manually.

        * Plugins/WebBaseNetscapePluginStream.mm:
        (WebNetscapePluginStream::deliverData):

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

11 years ago2009-03-25 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Wed, 25 Mar 2009 22:37:56 +0000 (22:37 +0000)]
2009-03-25  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Anders Carlsson.

        Update layout test results for
        https://bugs.webkit.org/show_bug.cgi?id=24809

        * fast/css/getComputedStyle/computed-style-expected.txt:
        * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * platform/win/fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * svg/css/getComputedStyle-basic-expected.txt:

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

11 years ago2009-03-25 David Levin <levin@chromium.org>
levin@chromium.org [Wed, 25 Mar 2009 22:24:23 +0000 (22:24 +0000)]
2009-03-25  David Levin  <levin@chromium.org>

        Reviewed by Dimitri Glazkov.

        Chromium build fix. Fix #include in V8NodeFilterCondition.cpp due to the
        rename of V8NodeFilter to V8NodeFilterCondition.

        * bindings/v8/V8NodeFilterCondition.cpp:

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

11 years ago Reviewed by Darin Adler.
eric@webkit.org [Wed, 25 Mar 2009 22:15:03 +0000 (22:15 +0000)]
    Reviewed by Darin Adler.

        Remove dead code and style cleanup
        https://bugs.webkit.org/show_bug.cgi?id=24684

        * html/CanvasStyle.cpp:
        (WebCore::CanvasStyle::CanvasStyle):
          Coverty was annoyed that we didn't initialize all of our members.  I agree, but I didn't
          want to paste all 8 members each time, so I just cleaned up the existing constructors and left them.
        * page/FocusController.cpp:
        (WebCore::FocusController::setFocusedNode):
          "node" was checked just above and is already known to be non-null
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::insertOnlyThisLayer):
          We were already using parentLayer w/o a NULL check above, so just add an explicit ASSERT and use it w/o NULL check
        (WebCore::RenderLayer::resize):
          element is already ASSERTed above, no need to null check it here
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addCell):
          currentCell.cell was just assigned to the value "cell" which is known to be non-null, no need to null check again.

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

11 years ago Reviewed by Darin Adler.
eric@webkit.org [Wed, 25 Mar 2009 22:14:57 +0000 (22:14 +0000)]
    Reviewed by Darin Adler.

        Move ASSERT(foo) to before where foo-> is used
        https://bugs.webkit.org/show_bug.cgi?id=24684

        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::writeImage):
          Move ASSERTs to the top of the function, code was using "node" before ASSERT(node), once I moved
          ASSERT(node) to the top of the function it made sense to move the rest of them there too.
        * rendering/SVGRenderSupport.cpp:
        (WebCore::prepareToRenderSVGContent):
          move ASSERT(object) to *before* we use "object" :)

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

11 years ago Reviewed by Simon Fraser.
eric@webkit.org [Wed, 25 Mar 2009 22:14:52 +0000 (22:14 +0000)]
    Reviewed by Simon Fraser.

        Make TextTokenizer ASSERT that the buffer was freed
        https://bugs.webkit.org/show_bug.cgi?id=24684

        * loader/TextDocument.cpp:
        (WebCore::TextTokenizer::TextTokenizer):
        (WebCore::TextTokenizer::~TextTokenizer):
        (WebCore::TextTokenizer::finish):
          Make it clear by adding a ~TextTokenizer that finish() will always be called and the memory never leaked.

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

11 years ago Reviewed by Darin Adler.
eric@webkit.org [Wed, 25 Mar 2009 22:14:46 +0000 (22:14 +0000)]
    Reviewed by Darin Adler.

        Fix case where lBreak.obj->isBR() when lBreak.obj was NULL
        https://bugs.webkit.org/show_bug.cgi?id=24684

        I don't have a test case where we were taking the wrong path here
        However, adding an ASSERT(lBreak.obj) before this usage caused
        multiple bidi tests to fail, so lBreak.obj can be null here.

        * rendering/bidi.cpp:
        (WebCore::RenderBlock::findNextLineBreak):
          lBreak.obj can be null, so we can't call ->isBR() on it unconditionally.

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

11 years ago2009-03-25 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Wed, 25 Mar 2009 22:11:47 +0000 (22:11 +0000)]
2009-03-25  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

        https://bugs.webkit.org/show_bug.cgi?id=24817

        When the slider range is zero, avoid a divide by zero, which caused the
        thumb to be positioned off in the weeds, which broke painting.

        Test: media/video-empty-source.html

        * rendering/RenderSlider.cpp:
        (WebCore::SliderRange::proportionFromValue):
        (WebCore::SliderRange::valueFromProportion):
        (WebCore::sliderPosition):
        (WebCore::RenderSlider::setValueForPosition):

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

11 years ago Reviewed by Simon Fraser.
eric@webkit.org [Wed, 25 Mar 2009 22:04:48 +0000 (22:04 +0000)]
    Reviewed by Simon Fraser.

        Style cleanup and dead code removal in dom, editing
        https://bugs.webkit.org/show_bug.cgi?id=24684

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::getUpperLeftCorner):
        (WebCore::ContainerNode::getLowerRightCorner):
        (WebCore::ContainerNode::getRect):
          Coverty was (rightly) confused as to what the hell "o" was being used for
          and whether or not it would ever be NULL.  I added some ASSERTS so that people (and machines)
          would be less confused about the logic in getUpperLeftCorner/getLowerRightCorner
        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
          Remove dead code, this block already checked that change == Force
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::removeInlineStyle):
          Coverty correctly identified that traversePreviousNodePostOrder can return NULL, thus
          prev will be null, and we don't really explicitly handle it (like we probably should)
          It's OK though, because we end up creating a null position object, which may not have
          been what we intended, but we certainly don't crash.
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
          Remove dead code, insertionPosition.node() is already checked to be non-null above.
        * editing/markup.cpp:
        (WebCore::appendStartMarkup):
          removed dead code, annotate is already known to be true at this point in the file
          !annotate was checked above, and break; was called.

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

11 years ago Reviewed by Simon Fraser.
eric@webkit.org [Wed, 25 Mar 2009 22:04:43 +0000 (22:04 +0000)]
    Reviewed by Simon Fraser.

        CSS dead code removal and cleanup from Coverty errors
        https://bugs.webkit.org/show_bug.cgi?id=24684

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
          Every other place in the code we check settings() for NULL, so I made these places
          check too, even though we should never be resolving style against a document which has
          no frame (which I believe is the only time settings() can be null)
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::styleSheetChanged):
          Removing dead code, "root" can never be null here.
        * css/SVGCSSStyleSelector.cpp:
        (WebCore::colorFromSVGColorCSSValue):
        (WebCore::CSSStyleSelector::applySVGProperty):
          Extra returns in the old macros caused dead code.  Removing the old macros and use modern
          ones instead. :)
          Extra null checks to value were not needed.  Added an ASSERT at the top of the function
          to make it clear that value will never be NULL.
          Added colorFromSVGColorCSSValue to clean up the code a little.

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

11 years ago Reviewed by Simon Fraser.
eric@webkit.org [Wed, 25 Mar 2009 22:04:37 +0000 (22:04 +0000)]
    Reviewed by Simon Fraser.

        Font fallback cleanup and added ASSERT for GlyphPageTreeNode
        https://bugs.webkit.org/show_bug.cgi?id=24684

        * css/CSSFontSelector.cpp:
        (WebCore::compareFontFaces):
          Coverty was concerned that it was possible to index off the end of weightFallbackRuleSets
          I can't read the code well enough to tell, so I tried to make the code clearer
          and added an ASSERT.
        * platform/graphics/GlyphPageTreeNode.cpp:
        (WebCore::GlyphPageTreeNode::initializePage):
          Coverty believes we can crash here due to j being larger than GlyphPage::size.  I think to is already
          known to be < GlyphPage::size due to the min() statement above, but not being sure I added an ASSERT.

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

11 years ago Reviewed by Simon Fraser.
eric@webkit.org [Wed, 25 Mar 2009 22:04:31 +0000 (22:04 +0000)]
    Reviewed by Simon Fraser.

        Coverty inspired fixes in Animations/Transforms
        https://bugs.webkit.org/show_bug.cgi?id=24684

        * page/animation/AnimationBase.h:
          Fix animate() signatures to match so that the virtual methods actually override one another. :)
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
          Attempt to fix this method, prevAnimation was never set to anything but NULL,
          as far as I can tell the author originally intended to update it at the end
          of the loop, which is what I changed this code to do.
        * page/animation/ImplicitAnimation.cpp:
        (WebCore::ImplicitAnimation::animate):
          Make method signature match AnimationBase::animate
        * page/animation/ImplicitAnimation.h:
        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::animate):
          Make method signature match AnimationBase::animate
        * page/animation/KeyframeAnimation.h:
        * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
        (WebCore::PerspectiveTransformOperation::blend):
          if (blendToIdentity) already returned above.
        * platform/graphics/transforms/RotateTransformOperation.cpp:
        (WebCore::RotateTransformOperation::blend):
          if (blendToIdentity) already returned above.

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

11 years ago2009-03-25 Eli Fidler <eli.fidler@torchmobile.com>
staikos@webkit.org [Wed, 25 Mar 2009 21:31:44 +0000 (21:31 +0000)]
2009-03-25  Eli Fidler  <eli.fidler@torchmobile.com>

        Reviewed by George Staikos.

        Fix compiler warnings regarding assignments in if statements.

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

11 years agoWebCore:
mitz@apple.com [Wed, 25 Mar 2009 21:25:22 +0000 (21:25 +0000)]
WebCore:

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/6472150> repro crash in
          RenderBlock::rightmostPosition(bool, bool) const at mercotte.fr using
          menus

        Test: fast/inline/continuation-positioned-reparenting.html

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::splitFlow): When repurposing the existing
        container as the "pre" block, clear its positioned objects list, because
        positioned descendants may end up in a different block after the split.

LayoutTests:

        Reviewed by Dave Hyatt.

        - test for <rdar://problem/6472150> repro crash in
          RenderBlock::rightmostPosition(bool, bool) const at mercotte.fr using
          menus

        * fast/inline/continuation-positioned-reparenting-expected.txt: Added.
        * fast/inline/continuation-positioned-reparenting.html: Added.

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

11 years ago2009-03-24 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Wed, 25 Mar 2009 19:52:03 +0000 (19:52 +0000)]
2009-03-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        https://bugs.webkit.org/show_bug.cgi?id=24784

        Length values in transform operations need to take zoom into account.

        Test: fast/transforms/transforms-with-zoom.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::createTransformOperations):

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

11 years agoWebCore:
hyatt@apple.com [Wed, 25 Mar 2009 19:23:00 +0000 (19:23 +0000)]
WebCore:

2009-03-25  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=24809, background-clip/origin don't use the correct
        values.  Add support for the new values (while preserving the old values for backwards
        compatibility).

        Changed some existing test cases to use the new values.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFillProperty):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EFillBox):
        * css/CSSValueKeywords.in:

LayoutTests:

2009-03-25  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        Change a few test cases to use the new values just to verify that they work.

        https://bugs.webkit.org/show_bug.cgi?id=24809

        * fast/backgrounds/size/backgroundSize17.html:
        * fast/backgrounds/size/backgroundSize18.html:
        * fast/backgrounds/size/backgroundSize19.html:
        * fast/gradients/simple-gradients.html:

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

11 years agoWebCore:
brettw@chromium.org [Wed, 25 Mar 2009 18:18:11 +0000 (18:18 +0000)]
WebCore:
2009-03-25  Brett Wilson  <brettw@dhcp-172-22-71-191.mtv.corp.google.com>

        Reviewed by Dimitri Glazkov.

        Fix complex text opacity on the Chromium Windows port.
        https://bugs.webkit.org/show_bug.cgi?id=24757

        Test: fast/text/complex-text-opacity.html

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds):
        (WebCore::Font::drawGlyphs):
        (WebCore::Font::drawComplexText):

LayoutTests:
2009-03-25  Brett Wilson  <brettw@dhcp-172-22-71-191.mtv.corp.google.com>

        Reviewed by Dimitri Glazkov.

        Fix complex text opacity on the Chromium Windows port.
        https://bugs.webkit.org/show_bug.cgi?id=24757

        * fast/text/complex-text-opacity.html: Added.
        * platform/mac/fast/text/complex-text-opacity-expected.checksum: Added.
        * platform/mac/fast/text/complex-text-opacity-expected.png: Added.
        * platform/mac/fast/text/complex-text-opacity-expected.txt: Added.

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

11 years ago Reviewed by Kevin Decker.
kdecker@apple.com [Wed, 25 Mar 2009 17:30:01 +0000 (17:30 +0000)]
    Reviewed by Kevin Decker.

        <rdar://problem/6453738> call SetWindow when user creates a new tab

        CoreGraphics plug-ins now receive an NPP_SetWindow call when moving to a background tab.
        Flash is excluded from this change in behavior, as it has historical WebKit-specific code
        that isn't compatible with this change.

        * Plugins/WebNetscapePluginView.h:
            Added an _isFlash ivar.
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView _createPlugin]):
            Set the new _isFlash ivar based on the bundle identifier.
        (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
            When using the CG drawing model and in a non-drawable state,  set the portState
            to NULL and return early.
        (-[WebNetscapePluginView updateAndSetWindow]):
            When using the CG drawing model, call -setWindowIfNecessary even if the portState is NULL.
            Flash is an exception to this, due to its historical behavior.
        (-[WebNetscapePluginView setWindowIfNecessary]):
            Removed an assertion that was no longer true.  The [NSView focus] view
            is no longer guaranteed to be 'self' at this point.
            Also modified the debug logging for CG plug-ins to include the size of the
            window's clipRect, which was useful in verifying the correct behavior of this patch.

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

11 years agoWebCore:
hyatt@apple.com [Wed, 25 Mar 2009 17:07:31 +0000 (17:07 +0000)]
WebCore:

2009-03-25  David Hyatt  <hyatt@apple.com>

        Reviewed by Eric Seidel

        Fix for bug 23198, border images should not clip to border radii.  The border-image should just ignore
        the border-radius, since the assumption is that any desired rounding will be built into the border-image
        itself.

        Note that I do not agree with this change, but I am matching the spec.

        Added fast/borders/border-image-border-radius.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintNinePieceImage):

LayoutTests:

2009-03-25  David Hyatt  <hyatt@apple.com>

        Reviewed by Eric Seidel

        Test case for bug 23198.

        * fast/borders/border-image-border-radius.html: Added.
        * platform/mac/fast/borders/border-image-border-radius-expected.checksum: Added.
        * platform/mac/fast/borders/border-image-border-radius-expected.png: Added.
        * platform/mac/fast/borders/border-image-border-radius-expected.txt: Added.

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

11 years ago2009-03-25 Gustavo Noronha Silva <gns@gnome.org>
kov@webkit.org [Wed, 25 Mar 2009 15:09:24 +0000 (15:09 +0000)]
2009-03-25  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=24750
        [GTK] requests download instead of displaying page

        Fix the Content-Type headers we get from soup, so that we set a
        proper media type on the ResourceResponse.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::fillResponseFromMessage):

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

11 years ago2009-03-25 Gustavo Noronha Silva <gns@gnome.org>
kov@webkit.org [Wed, 25 Mar 2009 14:49:31 +0000 (14:49 +0000)]
2009-03-25  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=24600
        [GTK] responses with status code >= 400 should not be given special treatment

        Do not special case requests that have HTTP responses >=
        400. Redirects are handled automatically by libsoup, but the rest
        of the responses should be treated like any other.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::):
        (WebCore::gotHeadersCallback):
        (WebCore::gotChunkCallback):
        (WebCore::finishedCallback):

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

11 years ago2009-03-25 Darin Adler <darin@apple.com>
darin@apple.com [Wed, 25 Mar 2009 14:36:31 +0000 (14:36 +0000)]
2009-03-25  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        Tidy up LegacyWebArchive a bit. And don't include favicons in web archives when
        they are being used only for selections, not an entire document.

        * WebCore.base.exp: Remove exported function that's not used in WebKit.

        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::createPropertyListRepresentation): Made a static member
        function so it can share private things with other member functions. Added some FIXME
        comments to a branch of code I think is dead. Changed boolean argument into a named
        one. Renamed to match other similar functions.
        (WebCore::LegacyWebArchive::createResourceResponseFromPropertyListData): Ditto.
        (WebCore::LegacyWebArchive::createResource): Ditto.
        (WebCore::LegacyWebArchive::create): Merged the create and init functions.
        (WebCore::LegacyWebArchive::rawDataRepresentation): Added some assertions because
        we should never fail to write (we can fail to read).
        (WebCore::LegacyWebArchive::createResourceResponseFromMacArchivedData): Made a static
        member function as above.
        (WebCore::LegacyWebArchive::createFromSelection): Ditto.
        (WebCore::LegacyWebArchive::create): Iterate the vector with indices rather than
        iterators. Only include the favicon if the first node is the document since we don't
        want to include the favicon when copying and pasting.

        * loader/archive/cf/LegacyWebArchive.h: Made one of the create functions private.
        Made the Mac-specific functions be static member functions. Made other helpers be
        static member functions. Removed the nit function.

        * loader/archive/cf/LegacyWebArchiveMac.mm:
        (WebCore::LegacyWebArchive::createResourceResponseFromMacArchivedData): Updated
        comment and made this a static member function.
        (WebCore::LegacyWebArchive::createPropertyListRepresentation): Ditto. Also made
        it so we only type cast in one place.

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

11 years agoWebCore:
darin@apple.com [Wed, 25 Mar 2009 14:34:02 +0000 (14:34 +0000)]
WebCore:

2009-03-25  Darin Adler  <darin@apple.com>

        Reviewed by David Hyatt.

        Bug 24740: crash in RenderSlider::setPositionFromValue when calling pause() after setting <video> to display: none
        https://bugs.webkit.org/show_bug.cgi?id=24740
        rdar://problem/6679873

        Bug 12104: Native Slider: When the thumb's height is specified as a percentage, it is not centered properly
        https://bugs.webkit.org/show_bug.cgi?id=12104

        Test: media/video-display-none-crash.html

        The problem here was that RenderSlider was trying to position its thumb in a way that
        requires it to call updateLayout inside rendering code. The right way to position a
        child renderer is to do layout, so I had to write a layout function. And then fix a few
        other small problems shown by the same test case.

        * rendering/RenderSlider.cpp: Made defaultTrackLength have internal linkage.
        Renamed HTMLSliderThumbElement to SliderThumbElement because we only use the HTML
        prefix for public DOM classes, not elements used as implementation details.
        Made SliderThumbElement function members private and got rid of unneeded default
        argument value for shadowParent.
        (WebCore::SliderRange::SliderRange): Added. Parses precision, max, and min attributes.
        (WebCore::SliderRange::clampValue): Added. Does standard clamping based on the above.
        (WebCore::SliderRange::valueFromElement): Added. Reads the value from the element in
        a way that clamps to the range.
        (WebCore::sliderPosition): Added. Computes the slider position: a double.
        (WebCore::SliderThumbElement::SliderThumbElement): Removed unneeded explicit
        initialization of m_initialClickPoint.
        (WebCore::SliderThumbElement::defaultEventHandler): Call setValueForPosition instead
        of calling setCurrentPosition and valueChanged.
        (WebCore::RenderSlider::RenderSlider): Remove unneeded explicit initialization of m_thumb.
        (WebCore::RenderSlider::styleDidChange): Remove unneeded second argument to createThumbStyle.
        (WebCore::RenderSlider::createThumbStyle): Remove unneeded second argument. Get rid of code
        setting the position to relative and setting the left and top. We now handle positioning
        in a custom layout function.
        (WebCore::RenderSlider::layout): Rewrote to handle positioning of the thumb as layout.
        (WebCore::RenderSlider::updateFromElement): Added code to immediately update the value
        in the element if it's out of range. This clamping used to be done as a side effect of
        setPositionFromValue. Also, this has nothing to do with the renderer, so at some point
        it could be moved into HTMLInputElement. Removed call to setPositionFromValue
        and instead just rely on the call to setNeedsLayout. Fix the setNeedsLayout call to be
        a normal setNeedsLayout(true), not a setNeedsLayout(true, false), because we do want
        this to be propagated to the parent -- it's not called during layout.
        (WebCore::RenderSlider::setValueForPosition): Refactor to use the new SliderRange
        class. Also don't call setCurrentPosition; instead just call setNeedsLayout.
        (WebCore::RenderSlider::currentPosition): Use the actual position of the renderer rather
        than the style to find the position; that means this needs to be done after layout is done.
        Also removed unneeded runtime checks and replaced them with assertions, after checking
        all callers to see they already guarantee this.
        (WebCore::RenderSlider::trackSize): Removed unneeded runtime checks and replaced them
        with assertions, after checking all callers to see they already guarantee this.
        (WebCore::RenderSlider::inDragMode): Added a null check for m_thumb so this won't
        crash if called early on a brand new RenderSlider.

        * rendering/RenderSlider.h: Made all functions private except for forwardEvent and inDragMode.
        Renamed HTMLSliderThumbElement to SliderThumbElement because we only use the HTML
        prefix for public DOM classes, not elements used as implementation details. Made the
        mouseEventIsInThumb function non-virtual. Removed the return value and argument from
        setPositionFromValue. Removed valueChanged and setCurrentPosition. Removed the oldStyle
        argument to createThumbStyle (see above). Made SliderThumbElement a friend so it can use some
        private member functions.

LayoutTests:

2009-03-25  Darin Adler  <darin@apple.com>

        Reviewed by David Hyatt.

        Bug 24740: crash in RenderSlider::setPositionFromValue when calling pause() after setting <video> to display: none
        https://bugs.webkit.org/show_bug.cgi?id=24740
        rdar://problem/6679873

        Bug 12104: Native Slider: When the thumb's height is specified as a percentage, it is not centered properly
        https://bugs.webkit.org/show_bug.cgi?id=12104

        * media/video-display-none-crash-expected.txt: Added.
        * media/video-display-none-crash.html: Added.

        * platform/mac/fast/forms/box-shadow-override-expected.txt: Updated since a slider's thumb is no longer
        relative-positioned and hence no longer gets its own layer.
        * platform/mac/fast/forms/input-appearance-height-expected.txt: Ditto.
        * platform/mac/fast/forms/slider-padding-expected.txt: Ditto.
        * platform/mac/fast/forms/slider-thumb-shared-style-expected.txt: Ditto.
        * platform/mac/fast/forms/slider-thumb-stylability-expected.txt: Ditto.
        * platform/mac/media/audio-controls-rendering-expected.txt: Ditto.
        * platform/mac/media/video-controls-rendering-expected.txt: Ditto.
        * platform/mac/media/video-display-toggle-expected.txt: Ditto.

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

11 years ago2009-03-25 Gustavo Noronha Silva <gns@gnome.org>
kov@webkit.org [Wed, 25 Mar 2009 14:31:41 +0000 (14:31 +0000)]
2009-03-25  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=15793
        [GTK] tooltip position doesn't update when hovering consecutive links

        Work-around tooltips not updating their location when the elements
        are consecutive, by clearing the tooltip when handling
        mouseDidMoveOverElement.

        * WebCoreSupport/ChromeClientGtk.cpp:
        (WebKit::ChromeClient::mouseDidMoveOverElement):

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

11 years ago2009-03-25 Eli Fidler <eli.fidler@torchmobile.com>
staikos@webkit.org [Wed, 25 Mar 2009 13:01:45 +0000 (13:01 +0000)]
2009-03-25  Eli Fidler  <eli.fidler@torchmobile.com>

        Reviewed by George Staikos.

        Fix ambiguous else cases by adding braces to nested if()s with elses.

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

11 years ago2009-03-23 Alejandro Garcia Castro <alex@igalia.com>
xan@webkit.org [Wed, 25 Mar 2009 12:00:52 +0000 (12:00 +0000)]
2009-03-23  Alejandro Garcia Castro  <alex@igalia.com>

        Reviewed by Holger Freyther.

        [Gtk] Current API does not allow us to open target="_blank" links
        in new tabs instead of windows
        https://bugs.webkit.org/show_bug.cgi?id=23932

        Added a signal to the API (new-window-policy-decision-requested)
        that allows the browser to decide the policy for the new window
        request, if the signal is not handled we open the new window as
        usual.

        * WebCoreSupport/FrameLoaderClientGtk.cpp:
        (WebKit::getNavigationAction):
        (WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
        (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
        * webkit/webkitwebview.cpp:

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