WebKit.git
12 years ago2009-01-30 Jan Michael Alonzo <jmalonzo@webkit.org>
jmalonzo@webkit.org [Sat, 31 Jan 2009 09:36:45 +0000 (09:36 +0000)]
2009-01-30  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Nikolas Zimmermann.

        [Gtk] Refactor autoconf/configure.ac in preparation for jsc and webkit build splits
        https://bugs.webkit.org/show_bug.cgi?id=22136

        * GNUmakefile.am:
        * acinclude.m4: Removed.
        * autogen.sh:
        * autotools/acinclude.m4: Added.
        * autotools/dolt.m4: Added.
        * autotools/symbols.filter: Renamed from symbols.filter.
        * autotools/webkit.m4: Added.
        * configure.ac:

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

12 years agoWebCore:
abarth@webkit.org [Sat, 31 Jan 2009 08:42:29 +0000 (08:42 +0000)]
WebCore:

2009-01-30  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Add a pref to disable web security.

        * WebCore.base.exp:
        * dom/Document.cpp:
        (WebCore::Document::initSecurityContext):
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::SecurityOrigin):
        (WebCore::SecurityOrigin::canAccess):
        (WebCore::SecurityOrigin::canRequest):
        (WebCore::SecurityOrigin::grantUniversalAccess):
        * page/SecurityOrigin.h:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setWebSecurityEnabled):
        * page/Settings.h:
        (WebCore::Settings::isWebSecurityEnabled):

WebKit/win:

2009-01-30  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Add a pref to disable web security.

        * Interfaces/IWebPreferencesPrivate.idl:
        * WebPreferenceKeysPrivate.h:
        * WebPreferences.cpp:
        (WebPreferences::initializeDefaultSettings):
        (WebPreferences::isWebSecurityEnabled):
        (WebPreferences::setWebSecurityEnabled):
        * WebPreferences.h:
        * WebView.cpp:
        (WebView::notifyPreferencesChanged):

WebKit/mac:

2009-01-30  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Add a pref to disable web security.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences isWebSecurityEnabled]):
        (-[WebPreferences setWebSecurityEnabled:]):
        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]):

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

12 years ago Reviewed by Timothy Hatcher.
mitz@apple.com [Sat, 31 Jan 2009 06:24:58 +0000 (06:24 +0000)]
    Reviewed by Timothy Hatcher.

        - <rdar://problem/6545912> expose the build number in autoversion.h

        * win/tools/scripts/auto-version.sh: Added a #define __BUILD_NUMBER__
        with the full build number.

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

12 years ago2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
zecke@webkit.org [Sat, 31 Jan 2009 05:12:03 +0000 (05:12 +0000)]
2009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>

        Build fix.

        Move the inline virtual destructor after a non-inline virtual
        function so that the symbol for the vtable is not marked as a
        weakly exported symbol.

        This trick was previously used at revision 36122 in JSObject.h

        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::~FrameLoaderClient):

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

12 years agoInline SimpleFontData::widthForGlyph for a minor page load improvement.
oliver@apple.com [Sat, 31 Jan 2009 04:43:47 +0000 (04:43 +0000)]
Inline SimpleFontData::widthForGlyph for a minor page load improvement.

Reviewed by Stephanie Lewis

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

12 years agoBuild fix for WX and maybe even Windows.
zecke@webkit.org [Sat, 31 Jan 2009 04:40:02 +0000 (04:40 +0000)]
Build fix for WX and maybe even Windows.

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

12 years agoMove Frame::sendResizeEvent and Frame::sendScrollEvent to EventHandler
zecke@webkit.org [Sat, 31 Jan 2009 04:12:51 +0000 (04:12 +0000)]
Move Frame::sendResizeEvent and Frame::sendScrollEvent to EventHandler

Carry out the move and catch up in two call sites.

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

12 years agoMove Frame::isFrameSet to Document::isFrameSet
zecke@webkit.org [Sat, 31 Jan 2009 03:51:37 +0000 (03:51 +0000)]
Move Frame::isFrameSet to Document::isFrameSet

Changed the FrameLoader callsite. I assume that as this
point m_frame.document() might return a null pointer. Change
the condition to either not having a document or not having a
frame set. This should be semantically equivalent to the
old code.

Make Document::body() const to be able to call it from within
Document::isFrameSet. Leave the isHTMLDocument() check as this
is a stronger condition than simply having a HTMLElement in the
DOM.

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

12 years ago[GTK] Logic fixes and build fixes
zecke@webkit.org [Sat, 31 Jan 2009 03:51:13 +0000 (03:51 +0000)]
[GTK] Logic fixes and build fixes

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

Catch up with the internal GeoLocation API and fix the logic of
the previous version.

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

12 years ago[GTK] Implement GeolocationService using the Geoclue library
zecke@webkit.org [Sat, 31 Jan 2009 03:51:00 +0000 (03:51 +0000)]
[GTK] Implement GeolocationService using the Geoclue library

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

Untested implementation of the GeolocationService using the geoclue
library. Velocity handling is completely missing and the accuracy
handling might be wrong.

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

12 years agoBuild fix. Declare preferredSize as static.
mrowe@apple.com [Sat, 31 Jan 2009 03:48:15 +0000 (03:48 +0000)]
Build fix.  Declare preferredSize as static.

* platform/text/cf/StringImplCF.cpp:
(WebCore::StringWrapperCFAllocator::preferredSize):

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

12 years ago<rdar://problem/6391501> Enable the JIT on Mac OS X x86_64 as it passes all tests.
mrowe@apple.com [Sat, 31 Jan 2009 03:11:39 +0000 (03:11 +0000)]
<rdar://problem/6391501> Enable the JIT on Mac OS X x86_64 as it passes all tests.

Rubber-stamped by Oliver Hunt.

* wtf/Platform.h:

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

12 years ago2009-01-30 Darin Adler <darin@apple.com>
darin@apple.com [Sat, 31 Jan 2009 02:31:32 +0000 (02:31 +0000)]
2009-01-30  Darin Adler  <darin@apple.com>

        Reviewed by Mark Rowe.

        Bug 23622: create CFString and NSString objects from WebCore::String without copying the characters
        https://bugs.webkit.org/show_bug.cgi?id=23622

        * platform/text/cf/StringImplCF.cpp:
        (WebCore::StringWrapperCFAllocator::allocator): Added. Returns the allocator.
        (WebCore::StringWrapperCFAllocator::retain): Added. Callback for allocator.
        (WebCore::StringWrapperCFAllocator::release): Ditto.
        (WebCore::StringWrapperCFAllocator::copyDescription): Ditto.
        (WebCore::StringWrapperCFAllocator::allocate): Ditto.
        (WebCore::StringWrapperCFAllocator::reallocate): Ditto.
        (WebCore::StringWrapperCFAllocator::deallocate): Ditto.
        (WebCore::StringWrapperCFAllocator::preferredSize): Ditto.
        (WebCore::StringWrapperCFAllocator::create): Added. Creates the allocator, but
        returns 0 if garbage collection is enabled.
        (WebCore::StringImpl::createCFString): Use StringWrapperCFAllocator if possible.

        * platform/text/mac/StringImplMac.mm:
        (WebCore::StringImpl::operator NSString *): Use CFString and toll-free bridging,
        rather than using NSString directly. This lets NSString benefit from the above.

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

12 years ago2009-01-30 Darin Adler <darin@apple.com>
darin@apple.com [Sat, 31 Jan 2009 02:31:26 +0000 (02:31 +0000)]
2009-01-30  Darin Adler  <darin@apple.com>

        * page/Frame.cpp:
        (WebCore::Frame::createView): Fix debug build by removing get() from assert.

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

12 years agoWebKit/gtk:
ggaren@apple.com [Sat, 31 Jan 2009 02:13:35 +0000 (02:13 +0000)]
WebKit/gtk:

2009-01-30  Geoffrey Garen  <ggaren@apple.com>

        Build fix.

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

WebKit/mac:

2009-01-30  Geoffrey Garen  <ggaren@apple.com>

        Build fix.

        * WebView/WebFramePrivate.h:

WebKit/qt:

2009-01-30  Geoffrey Garen  <ggaren@apple.com>

        Build fix.

        * WebCoreSupport/FrameLoaderClientQt.cpp:
        (WebCore::FrameLoaderClientQt::createFrame):

WebKit/win:

2009-01-30  Geoffrey Garen  <ggaren@apple.com>

        Build fix.

        * Interfaces/IWebFramePrivate.idl:
        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::loadURLIntoChild):

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

12 years agoKill FrameLoaderClient.cpp, move the code over to Frame::createView
zecke@webkit.org [Sat, 31 Jan 2009 01:57:18 +0000 (01:57 +0000)]
Kill FrameLoaderClient.cpp, move the code over to Frame::createView

FrameLoaderClient is supposed to be an interface, move the
to be shared code to Frame which is a controller and is
allowed to create a FrameView.

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

12 years ago2009-01-30 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Sat, 31 Jan 2009 01:47:49 +0000 (01:47 +0000)]
2009-01-30  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

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

        New files to support accelerated compositing at the RenderLayer
        level.

        * WebCore.xcodeproj/project.pbxproj:
        New files added to project, and run through the sort script.

        * rendering/RenderLayerBacking.cpp: Added.
        * rendering/RenderLayerBacking.h: Added.
        New object to store compositing-related data for a single
        RenderLayer.

        * rendering/RenderLayerCompositor.cpp: Added.
        * rendering/RenderLayerCompositor.h: Added.
        Per-RenderView controller object for compositing hierarchy
        maintenance.

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

12 years ago2009-01-30 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Sat, 31 Jan 2009 01:42:01 +0000 (01:42 +0000)]
2009-01-30  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

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

        Add new files related to accelerated compositing.

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

12 years agoWebCore:
ggaren@apple.com [Sat, 31 Jan 2009 01:28:33 +0000 (01:28 +0000)]
WebCore:

2009-01-30  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Split "lockHistory" into "lockHistory" and "lockBackForwardList" in
        preparation for setting them differently during a redirect.

        * WebCore.base.exp:
        * bindings/js/JSHTMLFormElementCustom.cpp:
        (WebCore::JSHTMLFormElement::submit):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::navigateIfAllowed):
        (WebCore::JSLocation::setHref):
        (WebCore::JSLocation::setProtocol):
        (WebCore::JSLocation::setHost):
        (WebCore::JSLocation::setHostname):
        (WebCore::JSLocation::setPort):
        (WebCore::JSLocation::setPathname):
        (WebCore::JSLocation::setSearch):
        (WebCore::JSLocation::setHash):
        (WebCore::JSLocation::replace):
        (WebCore::JSLocation::assign):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::defaultEventHandler):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::submit):
        * html/HTMLFormElement.h:
        * loader/FrameLoader.cpp:
        (WebCore::FormSubmission::FormSubmission):
        (WebCore::ScheduledRedirection::ScheduledRedirection):
        (WebCore::isBackForwardLoadType):
        (WebCore::FrameLoader::createWindow):
        (WebCore::FrameLoader::changeLocation):
        (WebCore::FrameLoader::urlSelected):
        (WebCore::FrameLoader::submitFormAgain):
        (WebCore::FrameLoader::submitForm):
        (WebCore::FrameLoader::restoreDocumentState):
        (WebCore::FrameLoader::scheduleHTTPRedirection):
        (WebCore::FrameLoader::scheduleLocationChange):
        (WebCore::FrameLoader::scheduleRefresh):
        (WebCore::FrameLoader::redirectionTimerFired):
        (WebCore::FrameLoader::loadURLIntoChildFrame):
        (WebCore::FrameLoader::startRedirectionTimer):
        (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::clientRedirected):
        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
        (WebCore::FrameLoader::loadItem):
        * loader/FrameLoader.h:
        * loader/FrameLoaderTypes.h:
        (WebCore::):
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected):
        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::defaultEventHandler):

WebKit/mac:

2009-01-30  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Split "lockHistory" into "lockHistory" and "lockBackForwardList" in
        preparation for setting them differently during a redirect.

        * WebView/WebPDFView.mm:
        (-[WebPDFView PDFViewWillClickOnLink:withURL:]):

WebKit/qt:

2009-01-30  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Split "lockHistory" into "lockHistory" and "lockBackForwardList" in
        preparation for setting them differently during a redirect.

        * Api/qwebpage.cpp:
        (QWebPage::triggerAction):

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

12 years agoWebCore:
weinig@apple.com [Sat, 31 Jan 2009 00:42:12 +0000 (00:42 +0000)]
WebCore:

2009-01-30  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Fix for <rdar://problem/6545095>
        ASSERTION FAILED: RenderBlock.h:519: !o || o->isRenderBlock()

        Test: fast/block/float/crash-replaced-display-block.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChildren): Move RenderBlock only code into
        isRenderBlock if-statement.

LayoutTests:

2009-01-30  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Test for <rdar://problem/6545095>
        ASSERTION FAILED: RenderBlock.h:519: !o || o->isRenderBlock()

        * fast/block/float/crash-replaced-display-block-expected.txt: Added.
        * fast/block/float/crash-replaced-display-block.html: Added.

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

12 years agoBug 23656: AX hierarchy for iFrames is incorrect
cfleizach@apple.com [Fri, 30 Jan 2009 23:46:19 +0000 (23:46 +0000)]
Bug 23656: AX hierarchy for iFrames is incorrect
https://bugs.webkit.org/show_bug.cgi?id=23656

The AX hierarchy when an iFrame was present was incorrect. A different scroll area was returned when going down compared to when going up.

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

12 years ago2009-01-30 Adam Treat <adam.treat@torchmobile.com>
treat@webkit.org [Fri, 30 Jan 2009 23:43:35 +0000 (23:43 +0000)]
2009-01-30  Adam Treat  <adam.treat@torchmobile.com>

        Fix Qt build to include new class IdentifierRep introduced in revision 40412.

        * WebCore.pro:

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

12 years ago2009-01-30 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Fri, 30 Jan 2009 23:32:52 +0000 (23:32 +0000)]
2009-01-30  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Fix <rdar://problem/6544048>

        Have NetscapePluginInstanceProxy keep track of all the ProxyInstance objects associated.

        When the plug-in instance is destroyed, invalidate all proxy instances.

        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::destroy):
        (WebKit::NetscapePluginInstanceProxy::addInstance):
        (WebKit::NetscapePluginInstanceProxy::removeInstance):
        * Plugins/Hosted/ProxyInstance.h:
        * Plugins/Hosted/ProxyInstance.mm:
        (WebKit::ProxyInstance::ProxyInstance):
        (WebKit::ProxyInstance::~ProxyInstance):
        (WebKit::ProxyInstance::invalidate):

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

12 years ago2009-01-30 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Fri, 30 Jan 2009 23:16:33 +0000 (23:16 +0000)]
2009-01-30  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Make IdentifierRep.h a private header, and add symbols needed by WebKit to WebCore.LP64.exp.

        * WebCore.LP64.exp:
        * WebCore.xcodeproj/project.pbxproj:

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

12 years ago[Gtk+] Use AccessibilityObject::stringValue for the AtkObject name
zecke@webkit.org [Fri, 30 Jan 2009 23:13:59 +0000 (23:13 +0000)]
[Gtk+] Use AccessibilityObject::stringValue for the AtkObject name

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

The API documentation at http://library.gnome.org/devel/atk/stable/AtkText.html
states that: "AtkObjects whose text content is simple, unattributed, and very
brief may expose that content via atk_object_get_name instead"

As we are currently not able to always provide a AtkTextInterface
implementation this will make the whole content available to accerciser,
and other tools.

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

12 years ago2009-01-30 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 30 Jan 2009 23:11:17 +0000 (23:11 +0000)]
2009-01-30  Sam Weinig  <sam@webkit.org>

        Commit files I forgot to in the previous commit.

        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::layoutCount):
        * page/Frame.cpp:
        (WebCore::Frame::contentRenderer):
        (WebCore::Frame::forceLayoutWithPageWidthRange):
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::nodeAtPoint):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintUsingContainer):
        (WebCore::RenderObject::repaint):
        (WebCore::RenderObject::repaintRectangle):
        (WebCore::RenderObject::view):
        (WebCore::RenderObject::scheduleRelayout):
        (WebCore::RenderObject::maximalOutlineSize):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::clampImageBufferSizeToViewport):
        * svg/SVGLength.cpp:
        (WebCore::SVGLength::PercentageOfViewport):

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

12 years agoWebCore:
ggaren@apple.com [Fri, 30 Jan 2009 23:09:43 +0000 (23:09 +0000)]
WebCore:

2009-01-30  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        More scaffolding for redirect tracking. No behavior change yet.

        * bindings/js/JSHTMLFormElementCustom.cpp:
        (WebCore::JSHTMLFormElement::submit): Added scaffolding necessary for
        redirect checking in a form submission through JS. (Currently, we
        just specify "no redirect.")

        * bindings/js/ScriptController.h:
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::processingUserGesture):
        (WebCore::ScriptController::processingUserGestureEvent):
        (WebCore::ScriptController::isJavaScriptAnchorNavigation): Refactored
        user gesture check to make it more clear.

        (WebCore::ScriptController::pageIsProcessingUserGesture): Added a helper
        for checking if there's a user gesture in any frame on the page (a more
        relaxed rule than our popup blocking rule, which requires the user
        gesture to occur in the frame that's executing JavaScript.)

        * html/HTMLFormElement.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::submit): Added scaffolding necessary for
        redirect checking in a form submission through the DOM. (Currently, we
        just specify "no redirect.")

        * html/HTMLFormElement.idl: Made submit custom so it can participate
        in redirect checking.

        * loader/FrameLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::FormSubmission::FormSubmission): Clarified some names, and
        added a "lockHistory" parameter to form submissions, to match other
        navigations.

        (WebCore::FrameLoader::submitFormAgain):
        (WebCore::FrameLoader::submitForm): Use the lockHistory parameter.

        (WebCore::FrameLoader::userGestureHint): Refactored this function for
        clarity, and added a FIXME for a change I was too scared to make myself.
        (Really, we should just get rid of this function.)

        (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Refactored
        to pass a FrameLoadType to form posts, too, so they can participate in
        redirect tracking.

        (WebCore::FrameLoader::loadPostRequest):
        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
        (WebCore::FrameLoader::loadItem): Use the lockHistory parameter.

LayoutTests:

2009-01-30  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        More redirect layout test work.

        Added tests (expected to fail) for form submission via JavaScript:

        * http/tests/history/redirect-js-form-submit-0-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-form-submit-0-seconds.html: Added.
        * http/tests/history/redirect-js-form-submit-2-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-form-submit-2-seconds.html: Added.
        * http/tests/history/redirect-js-form-submit-before-load-expected.txt: Added.
        * http/tests/history/redirect-js-form-submit-before-load.html: Added.

        Updated these tests to dump their back/forward lists, to check for
        back/forward regressions, and to use # instead of ? to communicate between
        URLs, since, to my surprise, form submissions can't use query strings.

        * http/tests/history/redirect-200-refresh-0-seconds-expected.txt:
        * http/tests/history/redirect-200-refresh-0-seconds.pl:
        * http/tests/history/redirect-200-refresh-2-seconds-expected.txt:
        * http/tests/history/redirect-200-refresh-2-seconds.pl:
        * http/tests/history/redirect-301-expected.txt:
        * http/tests/history/redirect-301.pl:
        * http/tests/history/redirect-302-expected.txt:
        * http/tests/history/redirect-302.pl:
        * http/tests/history/redirect-303-expected.txt:
        * http/tests/history/redirect-303.pl:
        * http/tests/history/redirect-307-expected.txt:
        * http/tests/history/redirect-307.pl:
        * http/tests/history/redirect-js-document-location-0-seconds-expected.txt:
        * http/tests/history/redirect-js-document-location-0-seconds.html:
        * http/tests/history/redirect-js-document-location-2-seconds-expected.txt:
        * http/tests/history/redirect-js-document-location-2-seconds.html:
        * http/tests/history/redirect-js-document-location-before-load-expected.txt:
        * http/tests/history/redirect-js-document-location-before-load.html:
        * http/tests/history/redirect-js-location-0-seconds-expected.txt:
        * http/tests/history/redirect-js-location-0-seconds.html:
        * http/tests/history/redirect-js-location-2-seconds-expected.txt:
        * http/tests/history/redirect-js-location-2-seconds.html:
        * http/tests/history/redirect-js-location-assign-0-seconds-expected.txt:
        * http/tests/history/redirect-js-location-assign-0-seconds.html:
        * http/tests/history/redirect-js-location-assign-2-seconds-expected.txt:
        * http/tests/history/redirect-js-location-assign-2-seconds.html:
        * http/tests/history/redirect-js-location-assign-before-load-expected.txt:
        * http/tests/history/redirect-js-location-assign-before-load.html:
        * http/tests/history/redirect-js-location-before-load-expected.txt:
        * http/tests/history/redirect-js-location-before-load.html:
        * http/tests/history/redirect-js-location-href-0-seconds-expected.txt:
        * http/tests/history/redirect-js-location-href-0-seconds.html:
        * http/tests/history/redirect-js-location-href-2-seconds-expected.txt:
        * http/tests/history/redirect-js-location-href-2-seconds.html:
        * http/tests/history/redirect-js-location-href-before-load-expected.txt:
        * http/tests/history/redirect-js-location-href-before-load.html:
        * http/tests/history/redirect-js-location-replace-0-seconds-expected.txt:
        * http/tests/history/redirect-js-location-replace-0-seconds.html:
        * http/tests/history/redirect-js-location-replace-2-seconds-expected.txt:
        * http/tests/history/redirect-js-location-replace-2-seconds.html:
        * http/tests/history/redirect-js-location-replace-before-load-expected.txt:
        * http/tests/history/redirect-js-location-replace-before-load.html:
        * http/tests/history/redirect-meta-refresh-0-seconds-expected.txt:
        * http/tests/history/redirect-meta-refresh-0-seconds.html:
        * http/tests/history/redirect-meta-refresh-2-seconds-expected.txt:
        * http/tests/history/redirect-meta-refresh-2-seconds.html:
        * http/tests/history/resources/redirect-target.html:

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

12 years ago2009-01-30 Pierre-Olivier Latour <pol@apple.com>
pol@apple.com [Fri, 30 Jan 2009 23:00:59 +0000 (23:00 +0000)]
2009-01-30  Pierre-Olivier Latour  <pol@apple.com>

        Updated the references images for the media layout tests on Tiger since they now differ from Leopard after installing QuickTime 7.6.

        * platform/mac-tiger/media: Added.
        * platform/mac-tiger/media/video-aspect-ratio-expected.checksum: Added.
        * platform/mac-tiger/media/video-aspect-ratio-expected.png: Added.
        * platform/mac-tiger/media/video-controls-rendering-expected.checksum: Added.
        * platform/mac-tiger/media/video-controls-rendering-expected.png: Added.
        * platform/mac-tiger/media/video-display-toggle-expected.checksum: Added.
        * platform/mac-tiger/media/video-display-toggle-expected.png: Added.
        * platform/mac-tiger/media/video-layer-crash-expected.checksum: Added.
        * platform/mac-tiger/media/video-layer-crash-expected.png: Added.
        * platform/mac-tiger/media/video-transformed-expected.checksum: Added.
        * platform/mac-tiger/media/video-transformed-expected.png: Added.
        * platform/mac-tiger/media/video-zoom-expected.checksum: Added.
        * platform/mac-tiger/media/video-zoom-expected.png: Added.

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

12 years ago2009-01-30 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Fri, 30 Jan 2009 22:57:07 +0000 (22:57 +0000)]
2009-01-30  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Fix <rdar://problem/6490778>.

        Change the NPRuntime related functions to use IdentifierRep directly, and make sure to always
        validate IdentifierReps before dereferencing them.

        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WKPCEvaluate):
        (WKPCGetStringIdentifier):
        (WKPCGetIntIdentifier):
        (identifierFromIdentifierRep):
        (WKPCInvoke):
        (WKPCGetProperty):
        (WKPCSetProperty):
        (WKPCRemoveProperty):
        (WKPCHasProperty):
        (WKPCHasMethod):
        (WKPCIdentifierInfo):

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

12 years ago2009-01-30 Dimitri Glazkov <dglazkov@chromium.org>
dglazkov@chromium.org [Fri, 30 Jan 2009 22:42:27 +0000 (22:42 +0000)]
2009-01-30  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        Correct mis-applied http://trac.webkit.org/changeset/40413 by actually
        removing the test file.

        * fast/dom/Window/timeout-released-on-close.html: Removed.

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

12 years agoBuild fix for Gtk+
zecke@webkit.org [Fri, 30 Jan 2009 22:19:37 +0000 (22:19 +0000)]
Build fix for Gtk+

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

12 years agoFinally fix load() to propagate exceptions correctly.
oliver@apple.com [Fri, 30 Jan 2009 22:16:33 +0000 (22:16 +0000)]
Finally fix load() to propagate exceptions correctly.

Reviewed by Mark Rowe and Sam Weinig.

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

12 years ago2009-01-30 David Levin <levin@chromium.org>
dglazkov@chromium.org [Fri, 30 Jan 2009 22:02:04 +0000 (22:02 +0000)]
2009-01-30  David Levin  <levin@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=23618
        Templated worker tasks should be more error proof to use.
        Fix Chromium build.

        * wtf/TypeTraits.h:
        (WTF::IsConvertibleToInteger::IsConvertibleToDouble):
        Avoid "possible loss of data" warning when using Microsoft's C++ compiler
        by avoiding an implicit conversion of int types to doubles.

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

12 years ago2009-01-30 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 30 Jan 2009 21:57:37 +0000 (21:57 +0000)]
2009-01-30  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Add toRenderView methods for casting RenderObjects to RenderViews.  The methods will assert if the object
        is not a RenderView.

        * dom/Document.cpp:
        (WebCore::Document::renderView):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::nodeWillBeRemoved):
        (WebCore::SelectionController::recomputeCaretRect):
        (WebCore::SelectionController::invalidateCaretRect):
        (WebCore::SelectionController::focusedOrActiveStateChanged):
        * editing/mac/SelectionControllerMac.mm:
        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::styleDidChange):
        (WebCore::RenderBox::repaintLayerRectsForImage):
        (WebCore::RenderBox::availableHeightUsing):
        * rendering/RenderView.h:
        (WebCore::toRenderView):

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

12 years ago2009-01-30 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Fri, 30 Jan 2009 21:48:23 +0000 (21:48 +0000)]
2009-01-30  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

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

        Really use the container-relative repaint rect methods
        for repaint during layout

        * rendering/RenderObject.h:
        (WebCore::RenderObject::LayoutRepainter::LayoutRepainter):

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

12 years ago2009-01-30 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Fri, 30 Jan 2009 21:47:29 +0000 (21:47 +0000)]
2009-01-30  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Get rid of PrivateIdentifier and use IdentifierRep instead.

        * bridge/NP_jsobject.cpp:
        (_NPN_Invoke):
        (_NPN_GetProperty):
        (_NPN_SetProperty):
        (_NPN_RemoveProperty):
        (_NPN_HasProperty):
        (_NPN_HasMethod):
        * bridge/c/c_instance.cpp:
        (JSC::Bindings::CInstance::getPropertyNames):
        * bridge/c/c_utility.cpp:
        (JSC::Bindings::convertNPStringToUTF16):
        * bridge/c/c_utility.h:
        * bridge/npruntime.cpp:
        (_NPN_GetStringIdentifier):
        (_NPN_GetStringIdentifiers):
        (_NPN_GetIntIdentifier):
        (_NPN_IdentifierIsString):
        (_NPN_UTF8FromIdentifier):
        (_NPN_IntFromIdentifier):

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

12 years ago2009-01-30 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Fri, 30 Jan 2009 21:25:27 +0000 (21:25 +0000)]
2009-01-30  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig and Darin Adler.

        Make IdentifierRep a real class, add necessary class methods.

        * bridge/IdentifierRep.cpp:
        (WebCore::identifierSet):
        Returns a set of all identifiers.

        (WebCore::IdentifierRep::isValid):
        Return whether an identifier is valid, meaning that it's present in the
        set of identifiers.

        * bridge/IdentifierRep.h:
        (WebCore::IdentifierRep::isString):
        (WebCore::IdentifierRep::number):
        (WebCore::IdentifierRep::string):
        (WebCore::IdentifierRep::IdentifierRep):
        (WebCore::IdentifierRep::):

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

12 years ago2009-01-30 Dmitry Titov <dimich@chromium.org>
treat@webkit.org [Fri, 30 Jan 2009 20:17:34 +0000 (20:17 +0000)]
2009-01-30  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=23650
        LayoutTests/fast/dom/Window/timeout-released-on-close.html fails intermittently.
        Disable this test to keep buildbots green. Need more time to investigate the cause.

        * fast/dom/Window/timeout-released-on-close.html: Removed.
        * fast/dom/Window/timeout-released-on-close.html-disabled: Copied from LayoutTests/fast/dom/Window/timeout-released-on-close.html.

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

12 years ago2009-01-30 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Fri, 30 Jan 2009 19:57:33 +0000 (19:57 +0000)]
2009-01-30  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add IdentifierRep which will be used by both plug-in implementations.

        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/IdentifierRep.cpp: Added.
        (WebCore::IdentifierRep::IdentifierRep):
        (WebCore::IdentifierRep::):
        (WebCore::intIdentifierMap):
        (WebCore::identifierRep):
        (WebCore::stringIdentifierMap):
        * bridge/IdentifierRep.h: Added.
        * bridge/c/c_utility.h:
        * platform/text/PlatformString.h:
        * platform/text/String.cpp:
        (WebCore::String::fromUTF8WithLatin1Fallback):

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

12 years ago2009-01-30 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 30 Jan 2009 19:55:45 +0000 (19:55 +0000)]
2009-01-30  Sam Weinig  <sam@webkit.org>

        Reviewed by David Hyatt.

        Add toRenderInline methods for casting RenderObjects to RenderInlines.  The methods will assert if the object
        is not a RenderInline.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::removeLineBoxFromRenderObject):
        (WebCore::InlineFlowBox::extractLineBoxFromRenderObject):
        (WebCore::InlineFlowBox::attachLineBoxToRenderObject):
        (WebCore::InlineFlowBox::rendererLineBoxes):
        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
        (WebCore::InlineFlowBox::paint):
        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintObject):
        (WebCore::RenderBlock::addFocusRingRects):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::offsetFromContainer):
        (WebCore::RenderBox::computeRectForRepaint):
        (WebCore::RenderBox::containingBlockWidthForPositioned):
        (WebCore::RenderBox::containingBlockHeightForPositioned):
        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::inlineContinuation):
        (WebCore::nextContinuation):
        (WebCore::RenderInline::splitInlines):
        * rendering/RenderInline.h:
        (WebCore::toRenderInline):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPosition):
        (WebCore::RenderLayer::boundingBox):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
        * rendering/RenderText.h:
        * rendering/RenderTreeAsText.cpp:
        (WebCore::operator<<):
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::createLineBoxes):
        (WebCore::RenderBlock::layoutInlineChildren):

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

12 years ago2009-01-30 Darin Fisher <darin@chromium.org>
darin@chromium.org [Fri, 30 Jan 2009 18:20:38 +0000 (18:20 +0000)]
2009-01-30  Darin Fisher  <darin@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=23647
        Fix PLATFORM(SKIA)'s ImageSource::clear method to match other ports

        * platform/graphics/skia/ImageSourceSkia.cpp:
        (WebCore::ImageSource::clear):

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

12 years ago2009-01-30 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Fri, 30 Jan 2009 18:16:03 +0000 (18:16 +0000)]
2009-01-30  David Hyatt  <hyatt@apple.com>

        Add toRenderBlock methods for casting RenderObjects to RenderBlocks.  The methods will assert if the object
        is not a RenderBlock.  Also add a toRenderBlock method that takes a RenderBlock but returns void and that
        is unimplemented.  This method will catch anyone trying to do a cast when the object is already a RenderBlock.

        Making this change caught a bad cast in RenderBlock::layoutBlockChildren, so that is also fixed by this
        patch with a containsFloats() check.

        Reviewed by Darin Adler

        * dom/PositionIterator.cpp:
        (WebCore::PositionIterator::isCandidate):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
        * editing/Editor.cpp:
        (WebCore::Editor::hasBidiSelection):
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::anchorElement):
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::styleWillChange):
        (WebCore::RenderBlock::removeChild):
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::collapseMargins):
        (WebCore::RenderBlock::clearFloatsIfNeeded):
        (WebCore::RenderBlock::layoutBlockChildren):
        (WebCore::RenderBlock::fillBlockSelectionGaps):
        (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
        (WebCore::RenderBlock::firstLineBlock):
        (WebCore::getLineAtIndex):
        (WebCore::getHeightForLineCount):
        (WebCore::RenderBlock::lineCount):
        (WebCore::RenderBlock::adjustForBorderFit):
        (WebCore::RenderBlock::clearTruncation):
        * rendering/RenderBlock.h:
        (WebCore::toRenderBlock):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::offsetFromContainer):
        (WebCore::RenderBox::computeRectForRepaint):
        (WebCore::RenderBox::calcReplacedHeightUsing):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderFlexibleBox::layoutVerticalBox):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::inlineContinuation):
        (WebCore::nextContinuation):
        (WebCore::RenderInline::positionForCoordinates):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        * rendering/RenderListItem.cpp:
        (WebCore::getParentOfFirstLineBox):
        (WebCore::RenderListItem::positionListMarker):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::containingBlock):
        (WebCore::RenderObject::computeRectForRepaint):
        (WebCore::RenderObject::removeFromObjectLists):
        (WebCore::RenderObject::getTextDecorationColors):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild):
        (WebCore::RenderTable::recalcSections):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::styleDidChange):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::block):
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::createLineBoxes):

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

12 years agoWebCore:
beidson@apple.com [Fri, 30 Jan 2009 17:30:47 +0000 (17:30 +0000)]
WebCore:

2009-01-30  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig

        - Let CachedFrame handle the suspending/resuming of active DOM objects itself instead of
          relying on some outside force.
        - Clear the previous history item inside FrameLoader instead of relying on multiple
          FrameLoaderClients to do it.

        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame): Suspend active DOM objects here.
        (WebCore::CachedFrame::restore): Resume those DOM objects here.
        * history/CachedFrame.h:
        (WebCore::CachedFrame::domWindow):

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::commitProvisionalLoad): Let CachedFrame  creation handle the
          suspending of active DOM objects.
        (WebCore::FrameLoader::open): Let CachedFrame::restore() handle resuming those DOM objects.
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Call frameLoadCompleted() instead
          of performing a client call by itself.
        (WebCore::FrameLoader::frameLoadCompleted):

WebKit/mac:

2009-01-30  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig

        Remove FrameLoaderClient code that is now handled by FrameLoader itself

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::frameLoadCompleted):

WebKit/qt:

2009-01-30  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig

        Remove FrameLoaderClient code that is now handled by FrameLoader itself

        * WebCoreSupport/FrameLoaderClientQt.cpp:
        (WebCore::FrameLoaderClientQt::frameLoadCompleted):

WebKit/win:

2009-01-30  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig

        Remove FrameLoaderClient code that is now handled by FrameLoader itself

        * WebFrame.cpp:
        (WebFrame::frameLoadCompleted):

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

12 years ago Reviewed by Darin Adler.
ap@webkit.org [Fri, 30 Jan 2009 17:13:29 +0000 (17:13 +0000)]
    Reviewed by Darin Adler.

        Test that documents loaded from application cache cannot load local resources.

        * http/tests/appcache/local-content-expected.txt: Added.
        * http/tests/appcache/local-content.html: Added.
        * http/tests/appcache/resources/local-content.manifest: Added.

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

12 years ago Reviewed by Darin Adler.
ap@webkit.org [Fri, 30 Jan 2009 17:11:38 +0000 (17:11 +0000)]
    Reviewed by Darin Adler.

        <rdar://problem/6448823> Application Cache is kept after a private browsing session

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::selectCache):
        (WebCore::ApplicationCacheGroup::update):
        Cache update will not be started if private browsing is enabled. Existing cache version
        from disk database will be used.

        * loader/appcache/ApplicationCacheGroup.h: Made postListenerTask() static, in order to call
        it when refusing to update from selectCache().

        * loader/appcache/ApplicationCache.cpp:
        (WebCore::ApplicationCache::addDynamicEntry):
        (WebCore::ApplicationCache::removeDynamicEntry):
        Added reminders about private browsing to unimplemented methods.

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

12 years ago2009-01-30 Dmitry Titov <dimich@chromium.org>
darin@chromium.org [Fri, 30 Jan 2009 17:06:44 +0000 (17:06 +0000)]
2009-01-30  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=23615
        Try to make this test reliable on buildbots.

        * fast/dom/Window/resources/long_timeout.html:
        Allocate more objects to make detection more reliable.

        * fast/dom/Window/timeout-released-on-close.html:
        Use threshold to account for objects allocated by the running scripts.
        Add debug output in case of failure to help understand possible failures.

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

12 years ago2009-01-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>
hausmann@webkit.org [Fri, 30 Jan 2009 15:17:35 +0000 (15:17 +0000)]
2009-01-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Simon Hausmann.

        Bug 23580: GNU mode RVCT compilation support
        <https://bugs.webkit.org/show_bug.cgi?id=23580>

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

12 years ago2009-01-30 Simon Hausmann <simon.hausmann@nokia.com>
hausmann@webkit.org [Fri, 30 Jan 2009 15:17:08 +0000 (15:17 +0000)]
2009-01-30  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        Hide the Offline Web Application Cache path API from the public API
        for now.

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

12 years ago Reviewed by Mark Rowe.
ap@webkit.org [Fri, 30 Jan 2009 13:15:12 +0000 (13:15 +0000)]
    Reviewed by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=23639
        Test that appcache ignores Cache-Control: no-store

        * http/tests/resources/network-simulator.php: Send no-store with all responses.

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

12 years ago Reviewed by Mark Rowe.
ap@webkit.org [Fri, 30 Jan 2009 13:13:28 +0000 (13:13 +0000)]
    Reviewed by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=23640
        Test that non-HTML main resources work with application cache correctly

        * http/tests/appcache/non-html-expected.txt: Added.
        * http/tests/appcache/non-html.xhtml: Added.
        * http/tests/appcache/resources/abe.png: Added.
        * http/tests/appcache/resources/non-html.manifest: Added.

        * http/tests/resources/network-simulator.php: Support more file extensions.

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

12 years ago2009-01-30 David Levin <levin@chromium.org>
ap@webkit.org [Fri, 30 Jan 2009 08:38:19 +0000 (08:38 +0000)]
2009-01-30  David Levin  <levin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Bug 23618: Templated worker tasks should be more error proof to use
        <https://bugs.webkit.org/show_bug.cgi?id=23618>

        Add the type traits needed for the generic worker tasks
        and compile asserts for them.

        Add a summary header to the TypeTraits.h file to explain what is in there.

        Add a note to explain IsPod's deficiencies.

        * wtf/TypeTraits.h:

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

12 years ago2009-01-30 David Levin <levin@chromium.org>
ap@webkit.org [Fri, 30 Jan 2009 08:34:14 +0000 (08:34 +0000)]
2009-01-30  David Levin  <levin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Bug 23616: Various "template helpers" should be consolidated from isolated files in JavaScriptCore.
        <https://bugs.webkit.org/show_bug.cgi?id=23616>

        * wtf/TypeTraits.h: Moved RemovePointer, IsPod, IsInteger to this file.

        * wtf/OwnPtr.h: Use RemovePointer from TypeTraits.h.
        * wtf/RetainPtr.h:  Ditto.

        * wtf/HashTraits.h: Use IsInteger from TypeTraits.h.

        * wtf/VectorTraits.h: Use IsPod from TypeTraits.h.

        * GNUmakefile.am:
        * JavaScriptCore.vcproj/WTF/WTF.vcproj:
        * JavaScriptCore.xcodeproj/project.pbxproj:
        Added TypeTraits.h.

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

12 years ago2009-01-30 David Levin <levin@chromium.org>
ap@webkit.org [Fri, 30 Jan 2009 08:18:56 +0000 (08:18 +0000)]
2009-01-30  David Levin  <levin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Bug 23599: ResourceError needs to be copyable for use in another thread.
        <https://bugs.webkit.org/show_bug.cgi?id=23599>

        Add ResourceErrorBase::copy method.  (Not yet used.)

        * platform/network/ResourceErrorBase.cpp:
        (WebCore::ResourceErrorBase::copy):
        * platform/network/ResourceErrorBase.h:

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

12 years ago2009-01-29 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Fri, 30 Jan 2009 06:40:54 +0000 (06:40 +0000)]
2009-01-29  Stephanie Lewis <slewis@apple.com>

        RS by Oliver Hunt.

        Update the order files.

        * JavaScriptCore.order:

        * WebCore.order:
        * WebKit.order:

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

12 years ago2009-01-29 Cameron Zwarich <cwzwarich@uwaterloo.ca>
cwzwarich@webkit.org [Fri, 30 Jan 2009 03:09:35 +0000 (03:09 +0000)]
2009-01-29  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Oliver Hunt.

        Bug 23551: Crash on page load with profiler enabled and running
        <https://bugs.webkit.org/show_bug.cgi?id=23551>
        <rdar://problem/6529521>

        Interpreter::execute(FunctionBodyNode*, ...) calls Profiler::didExecute()
        with a stale CallFrame. If some part of the scope chain has already been
        freed, Profiler::didExecute() will crash when attempting to get the lexical
        global object. The fix is to make the didExecute() call use the caller's
        CallFrame, not the one made for the function call. In this case, the
        willExecute() call should also be changed to match.

        Since this occurs in the actual inspector JS, it is difficult to reduce.
        I couldn't make a layout test.

        * interpreter/Interpreter.cpp:
        (JSC::Interpreter::execute):

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

12 years agoFix mac bustage.
hyatt@apple.com [Fri, 30 Jan 2009 02:54:24 +0000 (02:54 +0000)]
Fix mac bustage.

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

12 years agoWindows build fix
alice.liu@apple.com [Fri, 30 Jan 2009 02:35:00 +0000 (02:35 +0000)]
Windows build fix

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

12 years ago2009-01-29 Dmitry Titov <dimich@chromium.org>
eric@webkit.org [Fri, 30 Jan 2009 02:01:50 +0000 (02:01 +0000)]
2009-01-29  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Darin Adler.

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

        Make TimerBase thread-aware (for Workers).
        Added new class ThreadTimers - it keeps a heap of all timers for a thread (previously kept in a static global).
        Pointer to instance of ThreadTimers is stored in GlobalThreadData.
        Most static methods of TimerBase went to ThreadTimers.

        The TimerBase functionality did not change (it maintains the timer heap which computes the nearest firing).

        Added new abstract class SharedTimer, so worker threads can provide their own implementation (will be implemented on WorkerRunLoop).

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.scons:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        Added new ThreadTimers.cpp to build files.

        * platform/SharedTimer.h:
        (WebCore::SharedTimer::~SharedTimer):
        (WebCore::MainThreadSharedTimer::setFiredFunction):
        (WebCore::MainThreadSharedTimer::setFireTime):
        (WebCore::MainThreadSharedTimer::stop):
        Added abstract SharedTimer and MainThreadSharedTimer which redirects to the existing port-supplied functions.

        * platform/ThreadGlobalData.cpp:
        (WebCore::ThreadGlobalData::ThreadGlobalData):
        (WebCore::ThreadGlobalData::~ThreadGlobalData):
        * platform/ThreadGlobalData.h:
        (WebCore::ThreadGlobalData::threadTimers):
        Added ThreadTimers to ThreadGlobalData.

        * platform/ThreadTimers.cpp: Added.
        (WebCore::mainThreadSharedTimer):
        Static getter for a MainThreadSharedTimer singleton.

        (WebCore::ThreadTimers::ThreadTimers):
        (WebCore::ThreadTimers::setSharedTimer):
        (WebCore::ThreadTimers::updateSharedTimer):
        (WebCore::ThreadTimers::collectFiringTimers):
        (WebCore::ThreadTimers::fireTimers):
        (WebCore::ThreadTimers::sharedTimerFired):
        (WebCore::ThreadTimers::sharedTimerFiredInternal):
        (WebCore::ThreadTimers::fireTimersInNestedEventLoop):
        ThreadTimers implementation. Most of the code is moved from previous static functions on TimerBase.
        Need a new class so each thread may get ts own copy of the timer heap.

        * platform/ThreadTimers.h: Added.
        (WebCore::ThreadTimers::timerHeap):
        (WebCore::ThreadTimers::timersReadyToFire):

        * platform/Timer.cpp:
        (WebCore::timerHeap):
        (WebCore::timersReadyToFire):
        (WebCore::TimerHeapElement::TimerHeapElement):
        (WebCore::TimerHeapElement::checkConsistency):
        (WebCore::TimerHeapElement::operator=):
        (WebCore::TimerHeapIterator::checkConsistency):
        (WebCore::TimerBase::TimerBase):
        (WebCore::TimerBase::~TimerBase):
        (WebCore::TimerBase::isActive):
        (WebCore::TimerBase::checkHeapIndex):
        (WebCore::TimerBase::heapDelete):
        (WebCore::TimerBase::heapDeleteMin):
        (WebCore::TimerBase::heapInsert):
        (WebCore::TimerBase::heapPopMin):
        (WebCore::TimerBase::setNextFireTime):
        (WebCore::TimerBase::fireTimersInNestedEventLoop):
        Now instead of static timer heap these use accessor functions that pull thread-specific heap instance.

        * platform/Timer.h:
        static methods moved to ThreadTimers.

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

12 years ago2009-01-29 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 30 Jan 2009 01:56:02 +0000 (01:56 +0000)]
2009-01-29  Sam Weinig  <sam@webkit.org>

        Fix Windows build

        * WebHistoryItem.cpp:
        (WebHistoryItem::initFromDictionaryRepresentation):

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

12 years ago2009-01-29 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Fri, 30 Jan 2009 01:42:56 +0000 (01:42 +0000)]
2009-01-29  David Hyatt  <hyatt@apple.com>

        Beginning of work to eliminate RenderContainer and make containership "pluggable" into any spot in the render tree.  The first step is to create
        the new object that will handle children: RenderObjectChildList and move RenderContainer's member variables into it.  Subsequent patches will begin
        moving RenderContainer's functionality into RenderObjectChildList.

        Reviewed by Eric Seidel

        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::RenderContainer):
        (WebCore::RenderContainer::destroyLeftoverChildren):
        (WebCore::RenderContainer::addChild):
        (WebCore::RenderContainer::removeChildNode):
        (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
        (WebCore::RenderContainer::appendChildNode):
        (WebCore::RenderContainer::insertChildNode):
        (WebCore::RenderContainer::layout):
        (WebCore::RenderContainer::removeLeftoverAnonymousBlock):
        (WebCore::RenderContainer::positionForCoordinates):
        (WebCore::RenderContainer::addLineBoxRects):
        (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
        * rendering/RenderContainer.h:
        (WebCore::RenderContainer::firstChild):
        (WebCore::RenderContainer::lastChild):
        (WebCore::RenderContainer::firstChildBox):
        (WebCore::RenderContainer::lastChildBox):
        * rendering/RenderObjectChildList.h: Added.
        (WebCore::RenderObjectChildList::RenderObjectChildList):
        (WebCore::RenderObjectChildList::firstChild):
        (WebCore::RenderObjectChildList::lastChild):
        (WebCore::RenderObjectChildList::setFirstChild):
        (WebCore::RenderObjectChildList::setLastChild):

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

12 years agoFix windows build bustage.
hyatt@apple.com [Fri, 30 Jan 2009 01:37:30 +0000 (01:37 +0000)]
Fix windows build bustage.

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

12 years agoFix windows build bustage.
hyatt@apple.com [Fri, 30 Jan 2009 01:14:14 +0000 (01:14 +0000)]
Fix windows build bustage.

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

12 years ago2009-01-29 Tony Chang <tony@chromium.org>
darin@chromium.org [Fri, 30 Jan 2009 00:48:20 +0000 (00:48 +0000)]
2009-01-29  Tony Chang  <tony@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22894
        Fix typo in fill-stroke-clip-reset-path.html where
        layoutTestController.setUseDashboardCompatiblityMode is called instead of
        layoutTestController.setUseDashboardCompatibilityMode.

        * fast/canvas/fill-stroke-clip-reset-path.html:
        * platform/mac/fast/canvas/fill-stroke-clip-reset-path-expected.checksum:
        * platform/mac/fast/canvas/fill-stroke-clip-reset-path-expected.png:

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

12 years ago2009-01-29 Jungshik Shin <jshin@chromium.org>
darin@chromium.org [Fri, 30 Jan 2009 00:45:27 +0000 (00:45 +0000)]
2009-01-29  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        http://bugs.webkit.org/show_bug.cgi?id=23598
        Replace smart-quotes in UTF-8 with ASCII double-quotes to avoid
        the compilation error on CJK Windows

        * wml/WMLTableElement.cpp:
        (WebCore::WMLTableElement::parseMappedAttribute):

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

12 years ago2009-01-29 Hironori Bono <hbono@chromium.org>
darin@chromium.org [Fri, 30 Jan 2009 00:42:35 +0000 (00:42 +0000)]
2009-01-29  Hironori Bono  <hbono@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=18835
        Rebaseline a layout test that verifies the InsertLineBreakCommand() function
        doesn't delete existing markers.

        * platform/mac/editing/spelling/spelling-linebreak-expected.checksum:
        * platform/mac/editing/spelling/spelling-linebreak-expected.png:

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

12 years ago2009-01-29 Darin Fisher <darin@chromium.org>
darin@chromium.org [Fri, 30 Jan 2009 00:39:43 +0000 (00:39 +0000)]
2009-01-29  Darin Fisher  <darin@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=23627
        Fix the PLATFORM(SKIA) build.

        * svg/graphics/SVGPaintServer.cpp:
        (WebCore::SVGPaintServer::teardown):

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

12 years ago Reviewed by Darin Adler.
eric@webkit.org [Fri, 30 Jan 2009 00:34:38 +0000 (00:34 +0000)]
    Reviewed by Darin Adler.

        Remove <strong>/<em> tags when toggling bold/italic since IE inserts them instead of <b>/<i>
        https://bugs.webkit.org/show_bug.cgi?id=23486

        Test: editing/execCommand/toggle-styles.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::isHTMLStyleNode):

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

12 years ago2009-01-29 Scott Violet <sky@google.com>
darin@chromium.org [Fri, 30 Jan 2009 00:23:49 +0000 (00:23 +0000)]
2009-01-29  Scott Violet  <sky@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=23625
        Skia platform doesn't render text to a canvas or support clipping to an image buffer

        Fixes two bugs in Skia rendering to a canvas:
        . Text was not rendered at all. This is because we never properly
          fixed up the alpha values. The fix is to create a layer when
          rendering text to a layer.
        . We were not honoring clipping to an image buffer.

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::clipToImageBuffer):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::PlatformContextSkia):
        (PlatformContextSkia::setDrawingToImageBuffer):
        (PlatformContextSkia::isDrawingToImageBuffer):
        (PlatformContextSkia::beginLayerClippedToImage):
        (PlatformContextSkia::restore):
        (PlatformContextSkia::applyClipFromImage):
        * platform/graphics/skia/PlatformContextSkia.h:

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

12 years agoWebKit/mac:
weinig@apple.com [Fri, 30 Jan 2009 00:19:11 +0000 (00:19 +0000)]
WebKit/mac:

2009-01-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Second step in tracking the urls a HistoryItem was redirected through
        Add SPI to access the array of redirect urls associated with a HistoryItem.

        * History/WebHistoryItem.mm:
        (-[WebHistoryItem dictionaryRepresentation]):
        (-[WebHistoryItem _redirectURLs]):
        * History/WebHistoryItemPrivate.h:

WebKit/win:

2009-01-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Second step in tracking the urls a HistoryItem was redirected through
        Add SPI to access the array of redirect urls associated with a HistoryItem.

        * Interfaces/IWebHistoryItemPrivate.idl:
        * WebHistoryItem.cpp:
        (WebHistoryItem::dictionaryRepresentation):
        (WebHistoryItem::redirectURLs):
        * WebHistoryItem.h:

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

12 years ago2009-01-29 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Thu, 29 Jan 2009 23:52:02 +0000 (23:52 +0000)]
2009-01-29  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Always activate the plug-in host process if we're in "modal mode" and are being told to activate.

        * Plugins/Hosted/NetscapePluginHostProxy.h:
        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WebKit::NetscapePluginHostProxy::pluginHostDied):
        Call endModal here.

        (WebKit::NetscapePluginHostProxy::applicationDidBecomeActive):
        If we're modal, we should always bring the plug-in host process to the front.

        (WebKit::NetscapePluginHostProxy::beginModal):
        Add an observer for the NSApplicationWillBecomeActiveNotification callback.

        (WebKit::NetscapePluginHostProxy::endModal):
        Remove the observer.

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

12 years agoWebCore:
weinig@apple.com [Thu, 29 Jan 2009 23:48:04 +0000 (23:48 +0000)]
WebCore:

2009-01-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        First step in tracking the urls a HistoryItem was redirected through.

        * WebCore.base.exp:
        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::HistoryItem):
        (WebCore::HistoryItem::addRedirectURL):
        (WebCore::HistoryItem::redirectURLs):
        (WebCore::HistoryItem::setRedirectURLs):
        * history/HistoryItem.h:

WebKit/mac:

2009-01-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        First step in tracking the urls a HistoryItem was redirected through.

        * History/WebHistoryItem.mm:
        (-[WebHistoryItem initFromDictionaryRepresentation:]):
        (-[WebHistoryItem dictionaryRepresentation]):
        * Misc/WebNSDictionaryExtras.h:
        * Misc/WebNSDictionaryExtras.m:
        (-[NSDictionary _webkit_arrayForKey:]): Add helper.

WebKit/win:

2009-01-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        First step in tracking the urls a HistoryItem was redirected through.

        * WebHistoryItem.cpp:
        (WebHistoryItem::initFromDictionaryRepresentation):
        (WebHistoryItem::dictionaryRepresentation):

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

12 years ago2009-01-29 Dirk Schulze <krit@webkit.org>
krit@webkit.org [Thu, 29 Jan 2009 23:43:32 +0000 (23:43 +0000)]
2009-01-29  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann, Eric Seidel.

        Just transform the pattern directly instead of transforming the context fixes this
        problem. Texts or strokes are no longer affected by transformations.

        SVG pattern transformation/BoundingBox can cause ugly stroke thickness or text positions
        https://bugs.webkit.org/show_bug.cgi?id=23472

        Test: svg/custom/pattern-with-transformation.svg

        * platform/graphics/Pattern.h:
        (WebCore::Pattern::setPatternSpaceTransform):
        * platform/graphics/cairo/PatternCairo.cpp:
        (WebCore::Pattern::createPlatformPattern):
        * platform/graphics/cg/PatternCG.cpp:
        (WebCore::Pattern::createPlatformPattern):
        * platform/graphics/qt/PatternQt.cpp:
        (WebCore::Pattern::createPlatformPattern):
        * svg/graphics/SVGPaintServerPattern.cpp:
        (WebCore::SVGPaintServerPattern::setup):

LayoutTest

        Transformations on SVG patterns caused ugly drawings. The pattern is transformed
        directly now. Texts or strokes are no longer affected by transformations.

        * platform/mac/svg/custom/pattern-with-transformation-expected.checksum: Added.
        * platform/mac/svg/custom/pattern-with-transformation-expected.png: Added.
        * platform/mac/svg/custom/pattern-with-transformation-expected.txt: Added.
        * svg/custom/pattern-with-transformation.svg: Added.

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

12 years ago2009-01-29 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 29 Jan 2009 22:49:13 +0000 (22:49 +0000)]
2009-01-29  David Hyatt  <hyatt@apple.com>

        Move the line box list member out of RenderFlow and down into RenderBlock and RenderInline.  Eliminate RenderFlow from the tree.

        Reviewed by Sam Weinig

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * html/HTMLAnchorElement.cpp:
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::rendererLineBoxes):
        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
        * rendering/InlineFlowBox.h:
        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::RenderBlock):
        (WebCore::RenderBlock::destroy):
        (WebCore::RenderBlock::styleWillChange):
        (WebCore::RenderBlock::styleDidChange):
        (WebCore::RenderBlock::dirtyLineBoxes):
        (WebCore::RenderBlock::removeChild):
        (WebCore::RenderBlock::setSelectionState):
        (WebCore::RenderBlock::avoidsFloats):
        (WebCore::RenderBlock::positionForCoordinates):
        (WebCore::RenderBlock::calcInlinePrefWidths):
        (WebCore::RenderBlock::baselinePosition):
        (WebCore::RenderBlock::getBaselineOfFirstLineBox):
        (WebCore::RenderBlock::getBaselineOfLastLineBox):
        (WebCore::RenderBlock::rectWithOutlineForRepaint):
        (WebCore::RenderBlock::hoverAncestor):
        (WebCore::RenderBlock::updateDragState):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::lineBoxes):
        (WebCore::RenderBlock::firstLineBox):
        (WebCore::RenderBlock::lastLineBox):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::offsetFromContainer):
        (WebCore::RenderBox::computeRectForRepaint):
        (WebCore::RenderBox::containingBlockWidthForPositioned):
        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
        * rendering/RenderBox.h:
        * rendering/RenderFlow.cpp: Removed.
        * rendering/RenderFlow.h: Removed.
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::RenderInline):
        (WebCore::RenderInline::destroy):
        (WebCore::RenderInline::styleDidChange):
        (WebCore::RenderInline::addChildIgnoringContinuation):
        (WebCore::RenderInline::cloneInline):
        (WebCore::RenderInline::splitInlines):
        (WebCore::RenderInline::offsetLeft):
        (WebCore::RenderInline::offsetTop):
        (WebCore::RenderInline::positionForCoordinates):
        (WebCore::RenderInline::rectWithOutlineForRepaint):
        (WebCore::RenderInline::updateDragState):
        (WebCore::RenderInline::relativePositionedInlineOffset):
        * rendering/RenderInline.h:
        (WebCore::RenderInline::lineBoxes):
        (WebCore::RenderInline::firstLineBox):
        (WebCore::RenderInline::lastLineBox):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPosition):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::rendererLineBoxes):
        * rendering/RootInlineBox.h:
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::createLineBoxes):
        * wml/WMLAElement.cpp:

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

12 years ago2009-01-29 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Thu, 29 Jan 2009 22:38:32 +0000 (22:38 +0000)]
2009-01-29  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Pass the PSN of the client to the host, and get the PSN of the host back when checking in.

        * Plugins/Hosted/NetscapePluginHostManager.h:
        * Plugins/Hosted/NetscapePluginHostManager.mm:
        (WebKit::NetscapePluginHostManager::hostForPackage):
        Get the current PSN and pass it to spawnPluginHost.

        (WebKit::NetscapePluginHostManager::spawnPluginHost):
        Pass the PSN to the "check in" function.

        * Plugins/Hosted/NetscapePluginHostProxy.h:
        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):

        (WebKit::NetscapePluginHostProxy::pluginHostDied):
        Fix a bug noticed by Julien Chaffraix. Call endModal if necessary.

        (WebKit::NetscapePluginHostProxy::beginModal):
        (WebKit::NetscapePluginHostProxy::endModal):
        (WebKit::NetscapePluginHostProxy::setModal):
        Split out the code that does all of the work into beginModal and endModal methods.

        * Plugins/Hosted/WebKitPluginHost.defs:
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView loadStream]):

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

12 years ago2009-01-29 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Thu, 29 Jan 2009 22:05:43 +0000 (22:05 +0000)]
2009-01-29  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Cleaned up some naming in ScheduledRedirection.

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

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

12 years ago2009-01-29 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Thu, 29 Jan 2009 22:03:06 +0000 (22:03 +0000)]
2009-01-29  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Update to use new API.

        * platform/graphics/mac/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
        (WebCore::createFontCustomPlatformData):

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

12 years ago Reviewed by Nikolas Zimmermann.
ap@webkit.org [Thu, 29 Jan 2009 21:53:43 +0000 (21:53 +0000)]
    Reviewed by Nikolas Zimmermann.

        https://bugs.webkit.org/show_bug.cgi?id=23619
        ASSERT(!error.isNull()) in DocumentLoader::mainReceivedError() when an SVG image load
        is cancelled

        Covered by existing tests (as a random crash).

        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::cancelledError):
        (WebCore::EmptyFrameLoaderClient::blockedError):
        (WebCore::EmptyFrameLoaderClient::cannotShowURLError):
        (WebCore::EmptyFrameLoaderClient::interruptForPolicyChangeError):
        (WebCore::EmptyFrameLoaderClient::cannotShowMIMETypeError):
        (WebCore::EmptyFrameLoaderClient::fileDoesNotExistError):
        (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
        Create non-null errors.

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

12 years ago2009-01-29 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Thu, 29 Jan 2009 21:48:44 +0000 (21:48 +0000)]
2009-01-29  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Removed an unused case of "lockHistory" to help make the other cases
        clearer.

        * page/FrameLoadRequest.h:
        (WebCore::FrameLoadRequest::FrameLoadRequest):

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

12 years ago2009-01-29 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 29 Jan 2009 21:39:21 +0000 (21:39 +0000)]
2009-01-29  David Hyatt  <hyatt@apple.com>

        Move all of the contination insertion code from RenderFlow to RenderInline.  addChildToFlow is renamed to addChildIgnoringContinuation, and it has been moved to
        RenderContainer so that it can still be called on either blocks or inlines.  The base class implementation in RenderContainer is what RenderBlock uses.  RenderInline
        subclasses it to do all the work it used to do in addChildToFlow.

        RenderBlock's old addChildToFlow can just become addChild.  This simplification is possible because addChild was actually never being called on anonymous
        block continuations.

        The code dealing with anonymous table parts in the old addChildWithContinuation method can now be removed as a result with no harmful side effects.  Falling through to the
        base class and ignoring a block continuation makes the right thing happen.

        addChildWithContinuation moved to RenderInline and has been renamed to addChildToContinuation.

        Reviewed by Eric Seidel

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addChild):
        * rendering/RenderBlock.h:
        * rendering/RenderContainer.h:
        (WebCore::RenderContainer::addChildIgnoringContinuation):
        * rendering/RenderFlow.cpp:
        * rendering/RenderFlow.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::styleDidChange):
        (WebCore::RenderInline::addChild):
        (WebCore::nextContinuation):
        (WebCore::RenderInline::continuationBefore):
        (WebCore::RenderInline::addChildIgnoringContinuation):
        (WebCore::RenderInline::splitInlines):
        (WebCore::RenderInline::splitFlow):
        (WebCore::RenderInline::addChildToContinuation):
        (WebCore::RenderInline::childBecameNonInline):
        * rendering/RenderInline.h:
        (WebCore::RenderInline::continuation):
        (WebCore::RenderInline::setContinuation):

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

12 years agoWebCore:
beidson@apple.com [Thu, 29 Jan 2009 21:37:18 +0000 (21:37 +0000)]
WebCore:

2009-01-29  Brady Eidson  <beidson@apple.com>

        Reviewed by Oliver Hunt

        <rdar://problem/6337157> hyundaiusa.com closes window or tab during load

        Test: fast/loader/subframe-self-close.html

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::close): Only allow mainframes to close the window.

LayoutTests:

2009-01-29  Brady Eidson  <beidson@apple.com>

        Reviewed by Oliver Hunt

        <rdar://problem/6337157> hyundaiusa.com closes window or tab during load

        * fast/loader/resources/subframe-self-close.html: Added.
        * fast/loader/subframe-self-close-expected.txt: Added.
        * fast/loader/subframe-self-close.html: Added.

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

12 years agoReviewed by David Hyatt.
zimmermann@webkit.org [Thu, 29 Jan 2009 21:23:07 +0000 (21:23 +0000)]
Reviewed by David Hyatt.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=23539
Remove several virtual functions from Node & Element related to form control / input elements,
that shouldn't reside there, but move to approriate locations, in the new form control /
input element abstract base classes.

Remove the isControl() method from Node, as it's redundant - isFormControlElement() provides the same information.
Move isEnabled( / isReadOnlyControl() / isTextControl() from Node to FormControlElement.
Move isAutofilled() / isChecked() / isIndeterminate() from Node to InputElement.
Move isInputTypeHidden() / isPasswordField() from Element to InputElement.

Querying these methods requires using the toInputElement/toFormControlElement casting helper functions
to cast Element pointers to InputElement/FormControlElement pointers.

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

12 years agoNot reviewed. Fix WML build - apply same fix as HTMLAnchorElement received.
zimmermann@webkit.org [Thu, 29 Jan 2009 21:19:42 +0000 (21:19 +0000)]
Not reviewed. Fix WML build - apply same fix as HTMLAnchorElement received.

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

12 years ago Reviewed by Anders Carlsson.
ap@webkit.org [Thu, 29 Jan 2009 20:40:00 +0000 (20:40 +0000)]
    Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=23620
        Crash in appcache/resource-redirect.html on Tiger

        There was a bug in the test case - it didn't send a Location header, and on Tiger, this
        resulted in a failure callback being sent. It turned out that proper redirects weren't
        caught at all.

        Tests: http/tests/appcache/manifest-redirect-2.html
               http/tests/appcache/resource-redirect-2.html

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didFail): Fixed this function to not crash if
        didReceiveResponse() wasn't called for this request.
        (WebCore::ApplicationCacheGroup::didReceiveResponse): Fixed to check for redirects correctly.
        (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Ditto.

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

12 years ago2009-01-29 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 29 Jan 2009 19:36:13 +0000 (19:36 +0000)]
2009-01-29  David Hyatt  <hyatt@apple.com>

        Move dirtyLinesFromChangedChild into RenderLineBoxList so that it can be shared by RenderBlock and RenderInline.

        Reviewed by Sam Weinig

        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::dirtyLinesFromChangedChild):
        * rendering/RenderFlow.cpp:
        * rendering/RenderFlow.h:
        * rendering/RenderInline.h:
        (WebCore::RenderInline::dirtyLinesFromChangedChild):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
        * rendering/RenderLineBoxList.h:

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

12 years agoFix Bug 23623: Windowed Flash instances aren't captured when a WebView receives a...
aroben@apple.com [Thu, 29 Jan 2009 19:21:07 +0000 (19:21 +0000)]
Fix Bug 23623: Windowed Flash instances aren't captured when a WebView receives a WM_PRINTCLIENT message

WebCore:

        Fix Bug 23623: Windowed Flash instances aren't captured when a WebView
        receives a WM_PRINTCLIENT message

        <https://bugs.webkit.org/show_bug.cgi?id=23623>
        <rdar://problem/6513921>
        <rdar://problem/6536874>

        Flash doesn't seem to respond to WM_PRINTCLIENT, so we change
        WM_PRINTCLIENT messages into WM_PAINT messages and hook into the
        BeginPaint/EndPaint APIs to return the HDC we received from
        WM_PRINTCLIENT. This causes the plugin to paint into the
        WM_PRINTCLIENT HDC via its normal WM_PAINT handler. This technique
        came from <http://www.fengyuan.com/article/wmprint.html>.

        No test possible.

        Reviewed by Darin Adler.

        * platform/graphics/GraphicsContext.h: Added
        [set]ShouldIncludeChildWindows on Windows.

        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: Added
        m_shouldIncludeChildWindows.
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        Initialize the new member.

        * platform/graphics/win/GraphicsContextCGWin.cpp:
        (WebCore::GraphicsContext::setShouldIncludeChildWindows):
        (WebCore::GraphicsContext::shouldIncludeChildWindows):
        Added simple setter and getter.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::PluginView): Initialize the new member.

        * plugins/PluginView.h: Added m_wmPrintHDC and various functions
        required for making WM_PRINTCLIENT work.

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::hookedBeginPaint):
        (WebCore::PluginView::hookedEndPaint):
        (WebCore::hook):
        (WebCore::setUpOffscreenPaintingHooks):
        Added. Code was modified from code available on fengyuan.com.

        (WebCore::PluginView::wndProc): Turn WM_PRINTCLIENT messages into
        WM_PAINT messages and save off the HDC that we're supposed to paint
        into.

        (WebCore::PluginView::paintWindowedPluginIntoContext): Added. Gets an
        HDC from the GraphicsContext, translates it into client coordinates,
        gets the plugin to draw into the HDC by sending a WM_PRINTCLIENT
        message, and returns the HDC to the GraphicsContext.

        (WebCore::PluginView::paint): If we're trying to paint a windowed
        plugin into the GraphicsContext, call paintWindowedPluginIntoContext.

        (WebCore::PluginView::init): Call setUpOffscreenPaintingHooks to make
        our WM_PRINTCLIENT trick work.

WebKit/win:

        Fix Bug 23623: Windowed Flash instances aren't captured when a WebView
        receives a WM_PRINTCLIENT message

        <https://bugs.webkit.org/show_bug.cgi?id=23623>
        <rdar://problem/6513921>
        <rdar://problem/6536874>

        Reviewed by Darin Adler.

        * WebFrame.cpp:
        (WebFrame::paintDocumentRectToContext):
        (WebFrame::spoolPages):
        Call GraphicsContext::setShouldIncludeChildWindows so that child
        windows will be painted into the GraphicsContext rather than painted
        directly to the screen.

        * WebView.cpp:
        (WebView::updateBackingStore): Added a windowsToPaint parameter, which
        we pass along to paintIntoBackingStore.

        (WebView::paint): Tell updateBackingStore to paint child windows if
        we're not painting to the screen.

        (WebView::paintIntoBackingStore): Added a windowsToPaint paramter,
        which we use to tell our GraphicsContext whether or not to include
        child windows.

        * WebView.h: Added windowsToPaint parameters to paintIntoBackingStore
        and updateBackingStore (which I also made private).

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

12 years ago Build fix after r40353
aroben@apple.com [Thu, 29 Jan 2009 19:20:48 +0000 (19:20 +0000)]
    Build fix after r40353

        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::loadURLIntoChild): Removed the check for
        FrameLoadTypeReloadAllowingStaleData.

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

12 years ago2009-01-29 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 29 Jan 2009 18:00:39 +0000 (18:00 +0000)]
2009-01-29  David Hyatt  <hyatt@apple.com>

        Move RenderFlow::destroy down into RenderBlock and RenderInline.

        Reviewed by Anders Carlsson

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::destroy):
        * rendering/RenderFlow.cpp:
        * rendering/RenderFlow.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::destroy):

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

12 years ago Remove semi-colons from the end of ObjC method implementations
ddkilzer@apple.com [Thu, 29 Jan 2009 15:46:09 +0000 (15:46 +0000)]
    Remove semi-colons from the end of ObjC method implementations

        Rubber-stamped by Adam Roben.

WebCore:

        $ find WebCore -name \*.m -o -name \*.mm -exec perl -e 'undef $/; $s = <>; while ($s =~ m/[\n\r][-+].*;[\s\r\n]+\{/g) { print "$ARGV: $&\n"; }' {} \;

        * bridge/testbindings.mm:

WebKit/mac:

        $ find WebKit -name \*.m -o -name \*.mm -exec perl -e 'undef $/; $s = <>; while ($s =~ m/[\n\r][-+].*;[\s\r\n]+\{/g) { print "$ARGV: $&\n"; }' {} \;

        * DefaultDelegates/WebDefaultUIDelegate.m:
        (-[WebDefaultUIDelegate webView:setResizable:]):
        (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]):
        (-[WebDefaultUIDelegate webView:dragSourceActionMaskForPoint:]):
        (-[WebDefaultUIDelegate webView:willPerformDragSourceAction:fromPoint:withPasteboard:]):
        * History/WebBackForwardList.mm:
        (-[WebBackForwardList addItem:]):
        (-[WebBackForwardList backListWithLimit:]):
        (-[WebBackForwardList forwardListWithLimit:]):
        * History/WebHistoryItem.mm:
        (-[WebHistoryItem alternateTitle]):
        (-[WebHistoryItem setViewState:]):
        * Misc/WebCoreStatistics.mm:
        (+[WebCoreStatistics garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging:]):
        * Misc/WebKitNSStringExtras.m:
        (-[NSString _web_drawAtPoint:font:textColor:]):
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView setAttributeKeys:andValues:]):
        * WebCoreSupport/WebEditorClient.mm:
        (-[WebEditCommand command]):
        * WebView/WebFrame.mm:
        (-[WebFrame _getVisibleRect:]):
        * WebView/WebHTMLRepresentation.mm:
        (-[WebHTMLRepresentation _redirectDataToManualLoader:forPluginView:]):
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView elementAtPoint:allowShadowContent:]):
        * WebView/WebPreferences.mm:
        (-[WebPreferences setAllowsAnimatedImages:]):
        (-[WebPreferences setAutosaves:]):
        (-[WebPreferences PDFDisplayMode]):
        * WebView/WebView.mm:
        (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
        (-[WebView _viewClass:andRepresentationClass:forMIMEType:]):
        (+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]):
        (+[WebView _registerViewClass:representationClass:forURLScheme:]):
        (-[WebView _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
        (-[WebView _insertNewlineInQuotedContent]):

WebKitTools:

        $ find WebKitTools -name \*.m -o -name \*.mm -exec perl -e 'undef $/; $s = <>; while ($s =~ m/[\n\r][-+].*;[\s\r\n]+\{/g) { print "$ARGV: $&\n"; }' {} \;

        * DumpRenderTree/mac/FrameLoadDelegate.mm:
        (-[FrameLoadDelegate webView:didFailLoadWithError:forFrame:]):
        (-[FrameLoadDelegate webView:windowScriptObjectAvailable:]):
        (-[FrameLoadDelegate webView:didFinishDocumentLoadForFrame:]):
        (-[FrameLoadDelegate webView:didHandleOnloadEventsForFrame:]):
        * DumpRenderTree/mac/UIDelegate.mm:
        (-[UIDelegate webViewFrame:]):

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

12 years ago2009-01-29 Adam Treat <adam.treat@torchmobile.com>
treat@webkit.org [Thu, 29 Jan 2009 14:35:56 +0000 (14:35 +0000)]
2009-01-29  Adam Treat  <adam.treat@torchmobile.com>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=23609
        Use the two-arg constructor for implicit QUrl->KURL conversion as the
        single argument ctors assume that KURL::parse has already been called
        and assert if the parse results in a different string.  This was causing
        an assert for QUrl's with no path and without a trailing slash.

        * platform/qt/KURLQt.cpp:
        (WebCore::KURL::KURL):

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

12 years ago Build fix for Wx: Finish de-RefCount-ing FrameLoaderClientWx
ddkilzer@apple.com [Thu, 29 Jan 2009 13:09:45 +0000 (13:09 +0000)]
    Build fix for Wx: Finish de-RefCount-ing FrameLoaderClientWx

        * WebKitSupport/FrameLoaderClientWx.cpp:
        (WebCore::FrameLoaderClientWx::ref): Removed.
        (WebCore::FrameLoaderClientWx::deref): Removed.
        * WebKitSupport/FrameLoaderClientWx.h: Ditto.

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

12 years ago Rubber-stamped by Darin Adler.
ap@webkit.org [Thu, 29 Jan 2009 12:48:39 +0000 (12:48 +0000)]
    Rubber-stamped by Darin Adler.

        Renamed ApplicationCacheResource::Implicit to Master, because that's the word HTML5 uses,
        and it describes the meaning better.

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

12 years ago Not reviewed (this was just a merge problem).
ap@webkit.org [Thu, 29 Jan 2009 09:58:44 +0000 (09:58 +0000)]
    Not reviewed (this was just a merge problem).

        https://bugs.webkit.org/show_bug.cgi?id=23476
        HTTP redirect should make application cache updating fail

        * http/tests/appcache/manifest-redirect.html:
        * http/tests/appcache/resource-redirect.html:
        Updated the tests to work with the new appcache event sending behavior.

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

12 years ago Release build fix.
ap@webkit.org [Thu, 29 Jan 2009 09:27:15 +0000 (09:27 +0000)]
    Release build fix.

        * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache):
        Got rid of a variable that wasn't used in release builds.

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

12 years ago2009-01-29 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 29 Jan 2009 08:50:28 +0000 (08:50 +0000)]
2009-01-29  David Hyatt  <hyatt@apple.com>

        Get rid of createAnonymousFlow.  It was only called in one spot, so just inline the code.

        Reviewed by Oliver Hunt

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateFirstLetter):
        * rendering/RenderFlow.cpp:
        * rendering/RenderFlow.h:

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

12 years ago Reviewed by Anders Carlsson.
ap@webkit.org [Thu, 29 Jan 2009 08:35:53 +0000 (08:35 +0000)]
    Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=23476
        HTTP redirect should make application cache updating fail

        Tests: http/tests/appcache/manifest-redirect.html
               http/tests/appcache/resource-redirect.html

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didReceiveResponse):
        (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
        Fail if response code isn't 2xx.

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

12 years ago Reviewed by Anders Carlsson.
ap@webkit.org [Thu, 29 Jan 2009 08:32:27 +0000 (08:32 +0000)]
    Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=23592
        Update appcache manifest signature parsing

        Test: http/tests/appcache/wrong-signature-2.html

WebCore:
        * loader/appcache/ManifestParser.cpp: (WebCore::parseManifest): Allow comments on signature
        line. Removed code that replaced nulls with 0xFFFD characters, because there is no such
        requirement in the spec.

LayoutTests:
        * http/tests/appcache/manifest-parsing.html: Fixed to point to a correct manifest (oops).

        * http/tests/appcache/resources/manifest-parsing.manifest: Added a comment at the end of
        signature line.

        * http/tests/appcache/resources/wrong-signature-2.manifest: Added.
        * http/tests/appcache/wrong-signature-2-expected.txt: Added.
        * http/tests/appcache/wrong-signature-2.html: Added.
        * http/tests/appcache/wrong-signature.html:
        Test that there must be whitespace before the comment.

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

12 years ago Reviewed by Anders Carlsson.
ap@webkit.org [Thu, 29 Jan 2009 08:26:24 +0000 (08:26 +0000)]
    Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=23584
        Update application cache code for the latest round of spec changes

        The changes mostly affect the update process - events are sent at a different
        time, and caches are associated with documents earlier.

WebCore:
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::mainReceivedError): Changed an always passing test to an assertion.
        (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache): Caches are now associated
        with DocumentLoader before being complete, but they only affect loading after being completed.
        (WebCore::DocumentLoader::getApplicationCacheFallbackResource): Ditto.

        * loader/appcache/ApplicationCache.cpp:
        (WebCore::ApplicationCache::setGroup): Allow setting the group to the same one, to simplify
        ApplicationCacheGroup code.
        (WebCore::ApplicationCache::isComplete): A new method that tells whether the cache is
        complete, as defined in HTML5.
        * loader/appcache/ApplicationCache.h: Added isComplete().

        * loader/appcache/ApplicationCacheGroup.h:
        (WebCore::ApplicationCacheUpdateOption): Per HTML5, cache updating should work differently
        when invoked with or without a browsing context (Frame). A Frame is currently always needed
        for updating in WebKit, so a new argument to update() tells whether we should pretend that
        there isn't one.
        (WebCore::ApplicationCacheGroup::cacheIsBeingUpdated): A helper for ApplicationCache::isComplete().
        (WebCore::ApplicationCacheGroup::CompletionType): Cache update algorithm now waits for
        ne main resources to finish loading in more cases. A member variable of this type is used to
        distinguish between different cases when waiting.
        (WebCore::ApplicationCacheGroup::m_cacheCandidates): The new algorithm doesn't track cache
        candidates. Caches are associated with documents much earlier, but the ones whose main resources
        have not been loaded from a cache are being tracked in a pending master entry list.

        * loader/appcache/DOMApplicationCache.cpp: (WebCore::DOMApplicationCache::update):
        An explicit call to update() invokes the algorithm without a browsing context.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
        (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
        (WebCore::ApplicationCacheGroup::selectCache):
        (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
        (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
        (WebCore::ApplicationCacheGroup::stopLoading):
        (WebCore::ApplicationCacheGroup::disassociateDocumentLoader):
        (WebCore::ApplicationCacheGroup::cacheDestroyed):
        (WebCore::ApplicationCacheGroup::setNewestCache):
        (WebCore::ApplicationCacheGroup::update):
        (WebCore::ApplicationCacheGroup::didReceiveResponse):
        (WebCore::ApplicationCacheGroup::didFinishLoading):
        (WebCore::ApplicationCacheGroup::didFail):
        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
        (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
        (WebCore::ApplicationCacheGroup::manifestNotFound):
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
        (WebCore::ApplicationCacheGroup::startLoadingEntry):
        (WebCore::ApplicationCacheGroup::deliverDelayedMainResources):
        (WebCore::ApplicationCacheGroup::addEntry):
        (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache):
        (WebCore::CallCacheListenerTask::create):
        (WebCore::CallCacheListenerTask::performTask):
        (WebCore::CallCacheListenerTask::CallCacheListenerTask):
        (WebCore::ApplicationCacheGroup::postListenerTask):
        Rewrote the update algorithm.

LayoutTests:
        * http/tests/appcache/404-manifest.html:
        * http/tests/appcache/404-resource.html:
        When initial cache attempt fails, the applicationCache singleton now gets an error event.

        * http/tests/appcache/foreign-iframe-main-expected.txt: Checking, downloading and progress
        events are now dispatched during initial cache attempt.

        * http/tests/appcache/idempotent-update-expected.txt:
        * http/tests/appcache/idempotent-update.html:
        Events are now posted asynchronously, so we cannot assume any status when handling an event.
        Rewrote the test to no longer rely on synchronous event dispatch.

        * http/tests/appcache/manifest-containing-itself.html: Changed the test to pass on reload,
        to simplify testing in browser (not related to any behavior changes).

        * http/tests/appcache/navigating-away-while-cache-attempt-in-progress.html: Fixed the test
        to not fail in browser due to missing layoutTestController.

        * http/tests/appcache/offline-access-expected.txt:
        * http/tests/appcache/offline-access.html:
        Removed a warning saying that output is timing dependent - I think this is not true now.

        * http/tests/appcache/remove-cache-expected.txt:
        * http/tests/appcache/remove-cache.html:
        * http/tests/appcache/resources/remove-cache-frame-2.html:
        * http/tests/appcache/resources/remove-cache-frame.html:
        An obsolete event is only dispatched if the document's main resource was already in cache,
        otherwise, an error event is dispatched. Changed the test to add the main resource to cache
        first. Also, updated it to make use of additional events that are now being posted.

        * http/tests/appcache/resources/offline-access-frame.html: Updated to dump frame events more
        completely.

        * http/tests/appcache/wrong-content-type.html:
        * http/tests/appcache/wrong-signature.html:
        Changed to expect and to make use of error event that is now being posted.

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

12 years agoWebCore:
ggaren@apple.com [Thu, 29 Jan 2009 07:38:54 +0000 (07:38 +0000)]
WebCore:

2009-01-28  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Merged FrameLoadTypeReloadAllowingStaleData with FrameLoadTypeReload.

        Technically, selecting View->Text Encoding->[Non-Default Encoding] on
        a page with frames may now be slightly slower than it used to be. Oh well.

        * loader/FrameLoader.cpp:
        (WebCore::isBackForwardLoadType):
        (WebCore::FrameLoader::restoreDocumentState): Subbed in FrameLoadTypeReload.

        (WebCore::FrameLoader::loadURLIntoChildFrame): No need to account for
        non-back-forward navigations anymore.

        (WebCore::FrameLoader::canCachePage):
        (WebCore::FrameLoader::logCanCachePageDecision):
        (WebCore::FrameLoader::reloadWithOverrideEncoding):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::loadItem): Subbed in FrameLoadTypeReload.

        * loader/FrameLoader.h: Renamed reloadAllowingStaleData => reloadWithOverrideEncoding,
        since that's what it actually does.

WebKit/mac:

2009-01-28  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Updated for WebCore rename.

        * WebView/WebView.mm:
        (-[WebView setCustomTextEncodingName:]):

WebKit/win:

2009-01-28  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Updated for WebCore rename.

        * WebView.cpp:
        (WebView::setCustomTextEncodingName):

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

12 years ago2009-01-28 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 29 Jan 2009 06:55:11 +0000 (06:55 +0000)]
2009-01-28  David Hyatt  <hyatt@apple.com>

        Move hit testing and painting of lines from RenderFlow into RenderLineBoxList.

        Reviewed by Oliver Hunt

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintContents):
        (WebCore::RenderBlock::hitTestContents):
        * rendering/RenderFlow.cpp:
        * rendering/RenderFlow.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::paint):
        (WebCore::RenderInline::nodeAtPoint):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::paint):
        (WebCore::RenderLineBoxList::hitTest):
        * rendering/RenderLineBoxList.h:

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

12 years agoVersioning.
mrowe@apple.com [Thu, 29 Jan 2009 06:38:10 +0000 (06:38 +0000)]
Versioning.

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