12 years agoHolger Hans Peter Freyther <holger.freyther@trolltech.com>
hausmann@webkit.org [Thu, 3 Apr 2008 11:40:09 +0000 (11:40 +0000)]
Holger Hans Peter Freyther <holger.freyther@trolltech.com>

* Fix http/tests/loading/simple-subframe.html by adding a test result. The result is
  quite similar to the one of the mac port.

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

12 years ago2008-04-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
hausmann@webkit.org [Thu, 3 Apr 2008 10:31:31 +0000 (10:31 +0000)]
2008-04-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>

        Reviewed by Simon.

        * Enable running http tests for Qt again. Failing tests can be put into the skipped list.
        * Running these tests on windows and other platforms might need some work.

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

12 years agoHolger Hans Peter Freyther <holger.freyther@trolltech.com>
hausmann@webkit.org [Thu, 3 Apr 2008 10:31:18 +0000 (10:31 +0000)]
Holger Hans Peter Freyther <holger.freyther@trolltech.com>

* For the http tests we need the output of the FrameLoaderClient. The QtWebKit API
  is not exporting enough to create the output in DRT itself. Settle with the approach
  Lars has taken for the Editing support and add branches to our FrameLoaderClient code.
* run-webkit-tests http/tests(/loading) can now be executed.
* For tests in loading/ directories we are going to throw away the dirty
  QWebPage to start with something clean.

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

12 years agoHolger Hans Peter Freyther <holger.freyther@trolltech.com>
hausmann@webkit.org [Thu, 3 Apr 2008 10:30:59 +0000 (10:30 +0000)]
Holger Hans Peter Freyther <holger.freyther@trolltech.com>

* Treat http and https as special URLs as well. Change the main.cpp and
  DumpRenderTree.cpp to handle http and https URIs as input.
* I'm not doing the clean up and merging of these two checks now.

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

12 years agoHolger Hans Peter Freyther <holger.freyther@trolltech.com>
hausmann@webkit.org [Thu, 3 Apr 2008 10:30:44 +0000 (10:30 +0000)]
Holger Hans Peter Freyther <holger.freyther@trolltech.com>

* Remove dumpFrameLoadCallbacks from simple-subframe.html because it is
  located in a directory with the name "loading". And this will autoamtically
  enable dumping.
* Remove this method from the LayoutTestController as it is unused now and this
  avoids adding it to the DRT of the Qt port.

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

12 years agoWebCore:
beidson@apple.com [Thu, 3 Apr 2008 05:56:21 +0000 (05:56 +0000)]

2008-04-02  Brady Eidson  <beidson@apple.com>

        Reviewed by Mitz Pettel

        <rdar://problem/5838347> and http://bugs.webkit.org/show_bug.cgi?id=11839
        Webarchive fails to save CSS files in @import statements

        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::addSubresourceURLStrings): Recursively add the URL each @import rule under the current style sheet.
        * css/CSSStyleSheet.h:
        * css/StyleSheet.h:

        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::getSubresourceAttributeStrings): Add the linked URL as well as all @import
          rules rooted at the linked stylesheet.

        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::getSubresourceAttributeStrings): Walk all @import rules rooted at this
          stylesheet to add to the list.
        * html/HTMLStyleElement.h:


2008-04-02  Brady Eidson  <beidson@apple.com>

        Written by David Kilzer, tweaked by Brady, Reviewed by Mitz Pettel

        - test for http://bugs.webkit.org/show_bug.cgi?id=11839
          Webarchive fails to save CSS files in @import statements

        The idea is to <link> to a CSS file which @imports another CSS file,
        and also @import a CSS file inside a <style> element, which also @imports another CSS file

        Then make sure all 4 of the css files are in the resulting webarchive

        * webarchive/resources/test-css-import-recurse.css: Added.
        * webarchive/resources/test-css-import.css: Added.
        * webarchive/resources/test-css-link-recurse.css: Added.
        * webarchive/resources/test-css-link.css: Added.
        * webarchive/test-css-import-expected.txt: Added.
        * webarchive/test-css-import.html: Added.

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

12 years agoEnsure that debug symbols are generated for x86_64 and ppc64 builds.
mrowe@apple.com [Thu, 3 Apr 2008 05:11:00 +0000 (05:11 +0000)]
Ensure that debug symbols are generated for x86_64 and ppc64 builds.

Reviewed by Oliver Hunt.

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

12 years agoBuild fix for GCC 4.3.
christian@webkit.org [Thu, 3 Apr 2008 00:24:26 +0000 (00:24 +0000)]
Build fix for GCC 4.3.

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

12 years ago2008-04-02 Christian Persch <chpe@gnome.org>
alp@webkit.org [Wed, 2 Apr 2008 22:49:55 +0000 (22:49 +0000)]
2008-04-02  Christian Persch  <chpe@gnome.org>

        Reviewed by Alp Toker.

        GTK+/Pango font backend build fix.

        * platform/graphics/gtk/FontCustomPlatformDataPango.cpp:

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

12 years agoNot reviewed. Speculative fix for hanging tests on buildbot (Tiger). Click events...
zimmermann@webkit.org [Wed, 2 Apr 2008 21:48:16 +0000 (21:48 +0000)]
Not reviewed. Speculative fix for hanging tests on buildbot (Tiger). Click events may have wrong origins.

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

12 years ago No review, build fix only.
eric@webkit.org [Wed, 2 Apr 2008 18:41:54 +0000 (18:41 +0000)]
    No review, build fix only.

        Speculative build fix for no-svg build.
        Use #if ENABLE(SVG) instead of #if ENABLE_SVG

        * css/CSSMutableStyleDeclaration.cpp:

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

12 years ago Rename instances of ExecState from "state" to "exec" in JavaScriptDebugServer
aroben@apple.com [Wed, 2 Apr 2008 18:12:28 +0000 (18:12 +0000)]
    Rename instances of ExecState from "state" to "exec" in JavaScriptDebugServer

        Rename requested by Darin Adler.

        * page/JavaScriptDebugServer.cpp:

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

12 years ago Make it possible for JavaScriptDebugListeners to listen to specific Pages
aroben@apple.com [Wed, 2 Apr 2008 17:59:44 +0000 (17:59 +0000)]
    Make it possible for JavaScriptDebugListeners to listen to specific Pages

        JavaScriptDebugServer now has overloads of its
        addListener/removeListener methods that take a Page* to indicate for
        which Page the JavaScriptDebugListener wishes to receive messages.

        Reviewed by Darin.

        * page/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): Delete all
        ListenerSets being held in m_pageListenersMap.
        (WebCore::JavaScriptDebugServer::addListener): Changed to call
        (WebCore::JavaScriptDebugServer::removeListener): Ditto.
        (WebCore::JavaScriptDebugServer::addListener): Added. This overload
        takes a Page* and puts the listener in the appropriate ListenerSet
        within m_pageListenersMap. The ListenerSet is allocated and added to
        m_pageListenersMap when its first listener is added.
        (WebCore::JavaScriptDebugServer::removeListener): Added. This overload
        takes a Page* and removes the listener from the appropriate
        ListenerSet in m_pageListenersMap. The ListenerSet is deleted and
        removed from m_pageListenersMap when its last listener is removed.
        (WebCore::toPage): Added. Retrieves the parent Page from an ExecState.
        (WebCore::JavaScriptDebugServer::sourceParsed): Changed to call
        dispatchDidParseSource/dispatchDidFailToParseSource for both the
        global listeners and the Page listeners.
        (WebCore::dispatchFunctionToListeners): Added. This code was extracted
        from the JavaScriptDebugServer method of the same name.
        (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Call
        dispatchFunctionToListeners for both the global listeners and the Page
        * page/JavaScriptDebugServer.h:
          - Added declarations for new methods.
          - Made JavaScriptExecutionCallback typedef public so that it could
            be used by a helper method.
          - Added new m_pageListenersMap member.

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

12 years agoHolger Hans Peter Freyther <holger.freyther@trolltech.com>
hausmann@webkit.org [Wed, 2 Apr 2008 13:50:35 +0000 (13:50 +0000)]
Holger Hans Peter Freyther <holger.freyther@trolltech.com>

* Export the PageCache and Cache capacity call one to one. This is only there
  to allow the QtLauncher to play with caching.
* TODO: make API decisions and consider following the windows Api to set a WebCacheModel
  and determine certain values automatically.

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

12 years agoHolger Hans Peter Freyther <holger.freyther@trolltech.com>
hausmann@webkit.org [Wed, 2 Apr 2008 13:50:19 +0000 (13:50 +0000)]
Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Prepapre everything for enabling the PageCache for the Qt Platform:
    * Claim that we can cache pages
    * Create the FrameView FrameLoaderClientQt::transitionToCommittedForNewPage using
      the initial size of the viewport and stop creating it in the QWebFramePrivate::init

Differences to the Windows port:
    * attachToWindow/detachFromWindow is not called and is not (yet) part
      of Widget/ScrollView of the Qt platform. We might need that for plugin
      support in the future.
    * We store the margin's and scrolling flag inside QWebFrame and use it when
      creating the FrameView.

What is missing:
    * API to call pageCache()->setCapacity(XYZ);

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

12 years agoFix compilation on case-sensitive file systems.
hausmann@webkit.org [Wed, 2 Apr 2008 13:49:12 +0000 (13:49 +0000)]
Fix compilation on case-sensitive file systems.

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

12 years agoReviewed by Oliver.
zimmermann@webkit.org [Wed, 2 Apr 2008 12:55:03 +0000 (12:55 +0000)]
Reviewed by Oliver.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)

SVG Errata states: "All SVG DOM objects that directly correspond to an
attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
means that any changes made to the attribute are immediately reflected in the
corresponding SVG DOM object." (see linked URL on bug report)

Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).

Add a new synchronization layer to handle SVG DOM -> XML changes.

Added Test: svg/custom/svg-xml-dom-sync.html

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

12 years agoHolger Hans Peter Freyther <holger.freyther@trolltech.com>
hausmann@webkit.org [Wed, 2 Apr 2008 12:00:58 +0000 (12:00 +0000)]
Holger Hans Peter Freyther <holger.freyther@trolltech.com>

* For the PageCache support we do not want to create a FrameView in the constructor
  of QWebFrame. In QWegPage::viewportSize() we currently call mainFrame() and that will
  create a QWebFrame if no mainFrame is present and this gets called when we try to
  create a FrameView...
* Keep a copy of the initial viewportSize around and use it if we do not have a Frame
  or FrameView.

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

12 years ago2008-04-02 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
hausmann@webkit.org [Wed, 2 Apr 2008 12:00:45 +0000 (12:00 +0000)]
2008-04-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>

        Reviewed by Simon.

        * Always return true in FrameLoaderClientQt::shouldGoToHistoryItem, like the windows port

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

12 years agoHolger Hans Peter Freyther <holger.freyther@trolltech.com>
hausmann@webkit.org [Wed, 2 Apr 2008 12:00:31 +0000 (12:00 +0000)]
Holger Hans Peter Freyther <holger.freyther@trolltech.com>

* Attempt to make the m_webFrame null pointer checking consistent. Always check for
  m_webFrame. It should get set by the QWebFrame with the FramerLoaderClientQt::setFrame
  call and should stay valid until the destruction of the QWebFrame.
* Currently the same checking is not needed for m_frame as it will only set to 0 in
  FrameLoaderClientQt::frameLoaderDestroyed and should be not 0 because of the setFrame

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

12 years ago2008-04-02 Darin Adler <darin@apple.com>
darin@apple.com [Wed, 2 Apr 2008 11:54:02 +0000 (11:54 +0000)]
2008-04-02  Darin Adler  <darin@apple.com>

        Reviewed by Alexey.

        - fix storage leak seen on buildbot

        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::utiFromMIMEType): Put the result of createCFString() into a RetainPtr. Changed
        result to be a RetainPtr.
        (WebCore::ImageBuffer::toDataURL): Tweak a little bit, removing one local variable and
        some unneeded explicit conversions.

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

12 years ago Rubber-stamped by Darin.
ap@webkit.org [Wed, 2 Apr 2008 06:50:41 +0000 (06:50 +0000)]
    Rubber-stamped by Darin.

        Turn off using 64-bit arithmetic on 32-bit hardware, as dtoa own code is faster than
        compiler-provided emulation.

        1% speedup on Acid3 test 26.

        * kjs/dtoa.cpp:

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

12 years ago Reviewed by Darin.
ap@webkit.org [Wed, 2 Apr 2008 06:38:32 +0000 (06:38 +0000)]
    Reviewed by Darin.

        Make MathExtras.h thread safe.

        * kjs/math_object.cpp:
        (KJS::mathProtoFuncRandom): If threading is enabled, rely on initializeThreading to call

        * wtf/Threading.h:
        * wtf/ThreadingGtk.cpp:
        * wtf/ThreadingNone.cpp:
        * wtf/ThreadingPthreads.cpp:
        * wtf/ThreadingWin.cpp:
        Call wtf_random_init(); made the function non-inline to avoid having to include too many
        headers in Threading.h.

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

12 years ago2008-04-01 Darin Adler <darin@apple.com>
darin@apple.com [Wed, 2 Apr 2008 00:30:34 +0000 (00:30 +0000)]
2008-04-01  Darin Adler  <darin@apple.com>

        * WebCore.vcproj/WebCore.vcproj: Added RangeBoundaryPoint.h -- not required, but convenient.

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

12 years ago2008-04-01 Darin Adler <darin@apple.com>
darin@apple.com [Wed, 2 Apr 2008 00:28:29 +0000 (00:28 +0000)]
2008-04-01  Darin Adler  <darin@apple.com>

        Reviewed by Sam and Antti.

        - fix <rdar://problem/5829565> paste performance slowed down with the Range Acid3 changes

        Added a new class, RangeBoundaryPoint, to use for range boundary points. The "truth" of
        the offset is now stored as a node pointer, and the offset is computed as and when needed.
        This allows us to efficiently update when the DOM tree is changed -- computation of the
        node offsets is deferred until the Range is used later.

        * WebCore.base.exp: Export nodeIndex().

        * WebCore.xcodeproj/project.pbxproj: Added RangeBoundaryPoint.h, removed NodeWithIndexBefore.h
        and NodeWIthIndexAfter.h. Also let Xcode tweak the file formatting.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::childrenChanged): Pass fewer arguments to Document.

        * dom/Document.cpp:
        (WebCore::Document::nodeChildrenChanged): Pass fewer arguments to Range.
        (WebCore::Document::nodeWillBeRemoved): Pass node to range as a raw node pointer; no need for
        the index.
        * dom/Document.h: Take fewer arguments.

        * dom/NodeWithIndexAfter.h: Removed.
        * dom/NodeWithIndexBefore.h: Removed.

        * dom/Range.cpp:
        (WebCore::Range::Range): Changed to use the new RangeBoundaryPoint constructor.
        (WebCore::Range::create): Updated to use RangeBoundaryPoint instead of Position.
        (WebCore::Range::~Range): Ditto.
        (WebCore::Range::startContainer): Ditto.
        (WebCore::Range::startOffset): Ditto.
        (WebCore::Range::endContainer): Ditto.
        (WebCore::Range::endOffset): Ditto.
        (WebCore::Range::commonAncestorContainer): Ditto.
        (WebCore::Range::collapsed): Ditto.
        (WebCore::Range::setStart): Ditto.
        (WebCore::Range::setEnd): Ditto.
        (WebCore::Range::collapse): Ditto.
        (WebCore::Range::isPointInRange): Ditto.
        (WebCore::Range::comparePoint): Ditto.
        (WebCore::Range::compareNode): Ditto.
        (WebCore::Range::compareBoundaryPoints): Ditto.
        (WebCore::Range::boundaryPointsValid): Ditto.
        (WebCore::Range::intersectsNode): Ditto.
        (WebCore::Range::processContents): Ditto.
        (WebCore::Range::cloneContents): Ditto.
        (WebCore::Range::insertNode): Updated to use RangeBoundaryPoint. Also simplified the code
        at the end that updates the range -- not all of it is needed now since most of the fixup
        is done automatically by the range document mutation machinery. The one bit that remains
        is arguably a bug, but we need to keep it to keep passing Acid3 until we get clarification
        that it is indeed a bug (and then Acid3 will probably have to change).
        (WebCore::Range::toString): Update to use RangeBoundaryPoint instead of Position.
        (WebCore::Range::text): Ditto.
        (WebCore::Range::createContextualFragment): Ditto.
        (WebCore::Range::detach): Ditto.
        (WebCore::Range::checkNodeWOffset): Changed case where the offset is a node offset to
        be more efficient by using childNode instead of childNodeCount, and also return the node
        before which is needed to set the value of a RangeBoundaryPoint.
        (WebCore::Range::cloneRange): Ditto.
        (WebCore::Range::setStartAfter): Ditto.
        (WebCore::Range::setEndBefore): Ditto.
        (WebCore::Range::setEndAfter): Ditto.
        (WebCore::Range::selectNode): Ditto.
        (WebCore::Range::selectNodeContents): Ditto.
        (WebCore::Range::surroundContents): Ditto.
        (WebCore::Range::setStartBefore): Ditto.
        (WebCore::Range::checkDeleteExtract): Ditto.
        (WebCore::Range::containedByReadOnly): Ditto.
        (WebCore::Range::firstNode): Ditto.
        (WebCore::Range::editingStartPosition): Ditto.
        (WebCore::Range::pastLastNode): Ditto.
        (WebCore::Range::addLineBoxRects): Ditto.
        (WebCore::Range::formatForDebugger): Ditto.
        (WebCore::Range::maxStartOffset): Ditto.
        (WebCore::Range::maxEndOffset): Ditto.
        (WebCore::boundaryNodeChildrenChanged): Updated to use RangeBoundaryPoint instead of
        Position. Also changed name and changed to just call invalidateOffset.
        (WebCore::Range::nodeChildrenChanged): Changed to take just a container node.
        (WebCore::boundaryNodeWillBeRemoved): Updated to use RangeBoundaryPoint instead of
        Position. Also changed name and changed to update childBefore.
        (WebCore::Range::nodeWillBeRemoved): Changed to just take a Node*.
        (WebCore::boundaryTextInserted): Updated to use RangeBoundaryPoint instead of
        Position. Also changed name.
        (WebCore::Range::textInserted): Ditto.
        (WebCore::boundaryTextRemoved): Ditto.
        (WebCore::Range::textRemoved): Ditto.
        (WebCore::boundaryTextNodesMerged): Ditto.
        (WebCore::Range::textNodesMerged): Ditto.
        (WebCore::boundaryTextNodesSplit): Ditto.
        (WebCore::Range::textNodeSplit): Ditto.

        * dom/Range.h: Updated to use RangeBoundaryPoint instead of Position.

        * dom/RangeBoundaryPoint.h: Added.

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

12 years ago2008-04-01 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Wed, 2 Apr 2008 00:22:30 +0000 (00:22 +0000)]
2008-04-01  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam.

        Get rid of old "bindings" forwarding headers.

        * ForwardingHeaders/bindings: Removed.
        * ForwardingHeaders/bindings/NP_jsobject.h: Removed.
        * ForwardingHeaders/bindings/npruntime.h: Removed.
        * ForwardingHeaders/bindings/npruntime_impl.h: Removed.
        * ForwardingHeaders/bindings/npruntime_internal.h: Removed.
        * ForwardingHeaders/bindings/runtime.h: Removed.
        * ForwardingHeaders/bindings/runtime_object.h: Removed.
        * ForwardingHeaders/bindings/runtime_root.h: Removed.

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

12 years agoWebKit/win:
beidson@apple.com [Tue, 1 Apr 2008 23:11:00 +0000 (23:11 +0000)]
        Reviewed by Jon Honeycutt and Cake

        Hookup WebArchive API enough to be able to save the archive of a DOMNode

        * DOMCoreClasses.h: Add a GUID for DOMNode

        * Interfaces/IWebArchive.idl: Add initWithNode()

        * WebArchive.cpp:
        (WebArchive::data): Actually return LegacyWebArchive-style data
        * WebArchive.h:

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

12 years ago2008-04-01 Timothy Hatcher <timothy@apple.com>
timothy@apple.com [Tue, 1 Apr 2008 22:44:17 +0000 (22:44 +0000)]
2008-04-01  Timothy Hatcher  <timothy@apple.com>

        Rename DatabasePanel.js to DatabasesPanel.js to facilitate the up-coming UI refresh changes.


        Rubber-stamped by Brady Eidson.

        * WebCore.vcproj/WebCore.vcproj: Reference DatabasesPanel.js.
        * page/inspector/DatabasePanel.js: Removed.
        * page/inspector/DatabasesPanel.js: Copied from page/inspector/DatabasePanel.js.
        * page/inspector/WebKit.qrc: Reference DatabasesPanel.js.
        * page/inspector/inspector.html: Reference DatabasesPanel.js.

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

12 years ago2008-04-01 Brady Eidson <beidson@apple.com>
beidson@apple.com [Tue, 1 Apr 2008 22:31:11 +0000 (22:31 +0000)]
2008-04-01  Brady Eidson  <beidson@apple.com>

        Touch a file to get Windows to rebuild WebCore

        * platform/ContextMenu.cpp: Alphabetize headers

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

12 years agoWebCore:
beidson@apple.com [Tue, 1 Apr 2008 20:26:27 +0000 (20:26 +0000)]
        Reviewed by Adam Roben

        Export loader/archive and loader/archive/cf headers for WebKitWin to use

        * WebCore.vcproj/WebCore.vcproj:

        Reviewed by Adam Roben

        Add empty implementations of WebArchive for future work

        * WebArchive.cpp: Added.
        * WebArchive.h: Added.

        * WebKit.vcproj/WebKit.vcproj:

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

12 years agoWebCore:
beidson@apple.com [Tue, 1 Apr 2008 19:45:50 +0000 (19:45 +0000)]
        Reviewed by Darin

        WebArchives need to load on Windows the same way as on Mac, and this change in the
        finished-loading code path was a big part of that

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::finishedLoadingDocument): Only call the client's finishedLoading()
          for non-archive loads

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

12 years ago - Mac build fix
mitz@apple.com [Tue, 1 Apr 2008 17:47:06 +0000 (17:47 +0000)]
    - Mac build fix

        * WebCore.xcodeproj/project.pbxproj: Made FontRenderingMode.h private.

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

12 years ago Reviewed by Darin Adler.
mitz@apple.com [Tue, 1 Apr 2008 16:41:33 +0000 (16:41 +0000)]
    Reviewed by Darin Adler.

        - move the FontRenderingMode enumeration into its own header file

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/CachedFont.h:
        * platform/graphics/FontDescription.h:
        * platform/graphics/FontRenderingMode.h: Added.
        * platform/graphics/gtk/FontCustomPlatformData.h:
        * platform/graphics/mac/FontCustomPlatformData.h:
        * platform/graphics/qt/FontCustomPlatformData.h:
        * platform/graphics/win/FontCustomPlatformData.h:

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

12 years ago2008-04-01 Darin Adler <darin@apple.com>
darin@apple.com [Tue, 1 Apr 2008 16:36:52 +0000 (16:36 +0000)]
2008-04-01  Darin Adler  <darin@apple.com>

        Reviewed by Mitz.

        - fix <rdar://problem/5833351> REGRESSION: Leak in JSCustomXPathNSResolver::create
        - fix <rdar://problem/5833216> REGRESSION: Leak in CSSStyleSelector::addViewportDependentMediaQueryResult

        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::create): Added a missing adoptRef.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::~CSSStyleSelector): Added a missing call to deleteAllValues.

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

12 years agoClear stray executable bit.
darin@apple.com [Tue, 1 Apr 2008 16:19:21 +0000 (16:19 +0000)]
Clear stray executable bit.

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

12 years agotiger build fix
alice.liu@apple.com [Tue, 1 Apr 2008 16:04:17 +0000 (16:04 +0000)]
tiger build fix

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

12 years ago2008-04-01 Darin Adler <darin@apple.com>
darin@apple.com [Tue, 1 Apr 2008 15:44:24 +0000 (15:44 +0000)]
2008-04-01  Darin Adler  <darin@apple.com>

        Reviewed by Sam.

        - speed up hasChildNodes, which does not need to be virtual

        * dom/ContainerNode.cpp: Removed hasChildNodes.
        * dom/ContainerNode.h: Added non-virtual inline hasChildNodes.
        * dom/Node.cpp: Removed hasChildNodes.
        * dom/Node.h: Added non-vritual inline hasChildNodes.

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

12 years agoFix Qt DRT run by also printing EOF on stderr, as expected by
hausmann@webkit.org [Tue, 1 Apr 2008 15:08:47 +0000 (15:08 +0000)]
Fix Qt DRT run by also printing EOF on stderr, as expected by

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

12 years agoFix the non-mac build.
hausmann@webkit.org [Tue, 1 Apr 2008 10:27:52 +0000 (10:27 +0000)]
Fix the non-mac build.

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

12 years agoHolger Hans Peter Freyther <holger.freyther@trolltech.com>
hausmann@webkit.org [Tue, 1 Apr 2008 08:47:04 +0000 (08:47 +0000)]
Holger Hans Peter Freyther <holger.freyther@trolltech.com>

* Get the RefCounting of WebCore::Frame right and make sure that both QWebFrame
  and WebCore::Frame get destroyed if we leave site with subframes and on the
  end of the application.
* Use adoptRef in FrameLoaderClientQt::createFrame to get the refs right for subframes. We
  do not want to add an extra reference. Without this we are leaking subframes.
* Assume that the lifetime of a Frame and FrameLoader are the same, when the Frame is gone
  we want to destroy the QWebFrame (e.g. on a page with subframes). Add delete m_webFrame
  in the frameLoaderDestroyed method to do that.
* If we happen to delete the QWebFrame before the FrameLoaderClientQt we set m_webFrame to
  zero in the FrameLoaderClientQt to avoid bad things.

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

12 years ago2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
hausmann@webkit.org [Tue, 1 Apr 2008 08:46:48 +0000 (08:46 +0000)]
2008-04-01  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>

        Reviewed by Simon.

        * Do not save a RefPtr to the frame. The FrameLoaderClient, Frame and
        QWebFrame should have the same lifetime everything else is a leak
        or issue.

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

12 years ago2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
hausmann@webkit.org [Tue, 1 Apr 2008 08:46:30 +0000 (08:46 +0000)]
2008-04-01  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>

        Reviewed by Simon.

        * Do not store the QWebFrame associated with a ScrollView/FrameView
        in the WebCore::Widget.
        * Instead of asking the Widget for the QWebFrame use the QWebFramePrivate::core
        and QWebFramePrivate::kit function to convert from and to QWebFrame.

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

12 years agoHolger Hans Peter Freyther <holger.freyther@trolltech.com>
hausmann@webkit.org [Tue, 1 Apr 2008 08:44:34 +0000 (08:44 +0000)]
Holger Hans Peter Freyther <holger.freyther@trolltech.com>

* Do not store the FrameView in the QWebFrame and cope with the situation when
  a WebCore::Frame has no WebCore::FrameView.

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

12 years agoWebCore:
alice.liu@apple.com [Tue, 1 Apr 2008 08:40:10 +0000 (08:40 +0000)]

2008-04-01  Alice Liu  <alice.liu@apple.com>
        Patch by Beth Dakin <bdakin@apple.com> and Alice Liu

        Reviewed by Darin.

        Refactored WebCore Accessibility code.  Prior to this patch, WebCore
        accessibility was implemented in an ObjC class named WebCoreAXObject,
        with much of the "guts" in C++.  This patch the next natural step of
        factoring out the C++ code into a class named AccessibilityObject, and
        in order to maintain the required ObjC object ties, also implements an
        ObjC class named AccessibilityObjectWrapper as a thin wrapper around the
        C++ object.  Internally within WebCore we operate on the C++ object as
        much as possible, and the ObjC object gets used mostly when we need to
        return something to AppKit or call something implemented on NSObject.
        The AXObjectCache still keeps one HashMap, now of RenderObjects to
        AccessibilityObjects instead of WebCoreAXObjects, and the
        AccessibilityObject keeps track of its ObjC wrapper.

        * WebCore.xcodeproj/project.pbxproj:
        * page/AXObjectCache.h:
        * page/AccessibilityObject.cpp: Added.
        * page/AccessibilityObject.h: Added.
        * page/mac/AXObjectCacheMac.mm:
        * page/mac/AccessibilityObjectMac.mm: Added.
        * page/mac/AccessibilityObjectWrapper.h: Added.
        * page/mac/AccessibilityObjectWrapper.mm: Added.
        (-[AccessibilityObjectWrapper initWithAccessibilityObject:]):
        (-[AccessibilityObjectWrapper unregisterUniqueIdForUIElement]):
        (-[AccessibilityObjectWrapper detach]):
        (-[AccessibilityObjectWrapper accessibilityObject]):
        (-[AccessibilityObjectWrapper accessibilityActionNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
        (-[AccessibilityObjectWrapper renderWidgetChildren]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
        (-[AccessibilityObjectWrapper accessibilityHitTest:]):
        (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
        (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
        (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]):
        (-[AccessibilityObjectWrapper accessibilityActionDescription:]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
        (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]):
        * page/mac/WebCoreAXObject.h: Removed.
        * page/mac/WebCoreAXObject.mm: Removed.
        * rendering/RenderMenuList.cpp:
        * rendering/RenderMenuList.h:


2008-03-31  Alice Liu  <alice.liu@apple.com>

        Reviewed by Darin.

        * WebView/WebFrame.mm:
        (-[WebFrame _accessibilityTree]):
        The syntax for fetching an object from the AXObjectCache changed slightly

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

12 years ago2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
hausmann@webkit.org [Tue, 1 Apr 2008 08:24:16 +0000 (08:24 +0000)]
2008-04-01  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>

        Reviewed by Simon.

        * Change the order of the methods to match with the FrameLoaderClient.h to ease
        removing methods in the future.

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

12 years ago2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
hausmann@webkit.org [Tue, 1 Apr 2008 08:24:04 +0000 (08:24 +0000)]
2008-04-01  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>

        Reviewed by Simon.

        * Remove virtuals in the FrameLoaderClientQt that don't exist in the base class.

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

12 years ago - fix previous attempted fixes
mitz@apple.com [Tue, 1 Apr 2008 06:54:09 +0000 (06:54 +0000)]
    - fix previous attempted fixes

        * platform/qt/TemporaryLinkStubs.cpp:
        * platform/wx/TemporaryLinkStubs.cpp:

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

12 years ago - fix Qt link stubs
mitz@apple.com [Tue, 1 Apr 2008 06:40:40 +0000 (06:40 +0000)]
    - fix Qt link stubs

        * platform/qt/TemporaryLinkStubs.cpp:

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

12 years ago - try to fix the Wx build
mitz@apple.com [Tue, 1 Apr 2008 06:31:41 +0000 (06:31 +0000)]
    - try to fix the Wx build

        * platform/wx/TemporaryLinkStubs.cpp:

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

12 years ago - Gtk and Qt build fixes
mitz@apple.com [Tue, 1 Apr 2008 06:26:11 +0000 (06:26 +0000)]
    - Gtk and Qt build fixes

        * platform/graphics/gtk/FontCustomPlatformData.cpp:
        * platform/graphics/gtk/FontCustomPlatformData.h:
        * platform/graphics/qt/FontCustomPlatformData.cpp:
        * platform/graphics/qt/FontCustomPlatformData.h:

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

12 years ago - Mac build fix
mitz@apple.com [Tue, 1 Apr 2008 06:04:05 +0000 (06:04 +0000)]
    - Mac build fix

        * platform/graphics/mac/FontCustomPlatformData.cpp:
        * platform/graphics/mac/FontCustomPlatformData.h:

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

12 years ago2008-03-31 Dan Bernstein <mitz@apple.com>
mitz@apple.com [Tue, 1 Apr 2008 05:49:35 +0000 (05:49 +0000)]
2008-03-31  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix <rdar://problem/5792638> @font-face with downloadable fonts doesn't work with GDI text

        * WebCore.vcproj/WebCore.vcproj: Added GetEOTHeader.{h,cpp}

        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData): Changed to pass the rendering
        mode to CachedFont::platformDataFromCustomData().

        * loader/CachedFont.cpp:
        (WebCore::CachedFont::platformDataFromCustomData): Added a rendering
        mode parameter which is passed down to

        * loader/CachedFont.h:

        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::FontCache::fontExists): Changed the number 5 to the named
        constant CLEARTYPE_QUALITY.

        * platform/graphics/win/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added code
        to delete the embedded font reference.
        (WebCore::FontCustomPlatformData::fontPlatformData): Added code to
        create an HFONT from the embedded font reference and pass it along with
        the CGFontRef to the FontPlatformData constructor. Added a rendering
        mode parameter which is passed down to the FontPlatformData constructor.
        (WebCore::EOTStream::EOTStream): Added this helper class used to feed
        data to TTLoadEmbeddedFont().
        (WebCore::EOTStream::read): Added.
        (WebCore::readEmbedProc): Added this TTLoadEmbeddedFont() callback.
        (WebCore::createUniqueFontName): Added. Creates a unique GUID-derived
        font name.
        (WebCore::createFontCustomPlatformData): Added code to make the font
        accessible to GDI by creating an Embedded OpenType stream and
        activating it in the process under a globally-unique name.

        * platform/graphics/win/FontCustomPlatformData.h:
        Added a font reference data member which holds the embedded font.
        (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
        rendering mode parameter.

        * platform/graphics/win/FontPlatformData.h:
        (WebCore::FontPlatformData::FontPlatformData): Made this class always
        own the CGFontRef and the HFONT by turning these data members into a
        RetainPtr and a RefPtr around a RefCountedHFONT.
        Added an HFONT parameter to the CGFontRef-based constructor.
        Made platformDataInit() private.
        (WebCore::FontPlatformData::RefCountedHFONT::RefCountedHFONT): Added.

        * platform/graphics/win/FontPlatformDataCGWin.cpp:
        (WebCore::FontPlatformData::platformDataInit): Changed to take
        ownership of the CGFontRef created here.
        (WebCore::FontPlatformData::FontPlatformData): Added an HFONT parameter
        and a useGDI flag.

        * platform/graphics/win/FontPlatformDataWin.cpp:
        (WebCore::FontPlatformData::FontPlatformData): Changed to take ownership
        of the HFONT.

        * platform/graphics/win/GetEOTHeader.cpp: Added.
        (WebCore::BigEndianUShort::operator unsigned short):
        (WebCore::BigEndianULong::operator unsigned):
        (WebCore::getEOTHeader): Added. Creates an Embedded OpenType (.eot)
        header for the given font data, making it suitable as input for

        * platform/graphics/win/GetEOTHeader.h: Added.

        * platform/graphics/win/SimpleFontDataCGWin.cpp:
        (WebCore::SimpleFontData::platformDestroy): Removed code to delete parts
        of the FontPlatformData, since they are now always owned and managed
        by the FontPlatformData.

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

12 years ago2008-03-31 Darin Adler <darin@apple.com>
darin@apple.com [Tue, 1 Apr 2008 03:25:26 +0000 (03:25 +0000)]
2008-03-31  Darin Adler  <darin@apple.com>

        Reviewed by Anders.

        - fix crash seen on buildbot (regression from a recent speedup)

        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::createElement): Check validity before calling isLower, since
        that takes care of the null string case.

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

12 years ago Reviewed by John Sullivan.
mitz@apple.com [Tue, 1 Apr 2008 01:51:05 +0000 (01:51 +0000)]
    Reviewed by John Sullivan.

        - fix <rdar://problem/5741075> Google Maps: cursor and placemarks don't match up

        * platform/win/CursorWin.cpp:
        (WebCore::Cursor::Cursor): Set the 1-bit mask for full-alpha cursors
        to fully opaque. The mask is ignored and the alpha values from the
        32-bit image are used except in the case of a fully-transparent image,
        in which the fully-opaque 1-bit mask is required to get transparency.

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

12 years agoMake more WebArchive checks cross platform
beidson@apple.com [Tue, 1 Apr 2008 01:16:12 +0000 (01:16 +0000)]
Make more WebArchive checks cross platform

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

12 years agoTurn on WebArchive loading on Windows
beidson@apple.com [Mon, 31 Mar 2008 22:58:24 +0000 (22:58 +0000)]
Turn on WebArchive loading on Windows

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

12 years ago2008-03-31 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Mon, 31 Mar 2008 22:43:21 +0000 (22:43 +0000)]
2008-03-31  Mark Rowe  <mrowe@apple.com>

        Add some images that were missed in the WordPress 2.5 upgrade.

        * blog/:

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

12 years ago2008-03-31 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Mon, 31 Mar 2008 22:32:21 +0000 (22:32 +0000)]
2008-03-31  Mark Rowe  <mrowe@apple.com>

        Upgrade to WordPress 2.5

        * blog/:

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

12 years ago2008-03-31 Dan Bernstein <mitz@apple.com>
mitz@apple.com [Mon, 31 Mar 2008 22:29:48 +0000 (22:29 +0000)]
2008-03-31  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=18076
          Box disappears after CSS Transition completes

        * page/AnimationController.cpp: Changed the BLEND_MAYBE_INVALID_COLOR
        macro to not blend two invalid colors.
        * rendering/RenderStyle.cpp:
        (WebCore::StyleBackgroundData::StyleBackgroundData): Added missing
        copying of the m_color data member.

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

12 years ago2008-03-31 Julien Chaffraix <jchaffraix@webkit.org>
jchaffraix@webkit.org [Mon, 31 Mar 2008 21:58:43 +0000 (21:58 +0000)]
2008-03-31  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin.

        Bug 18177: m_encoding is used twice in XMLHttpRequest

        - Change XMLHttpRequest variable m_encoding to m_responseEncoding.

        - Change send local variable m_encoding to encoding.

        No test case (no functionnal change).

        * platform/network/ResourceResponseBase.h: Removed unused variable.
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::send): Changed local m_encoding to encoding.
        (WebCore::XMLHttpRequest::didReceiveResponse): m_encoding -> m_responseEncoding.
        (WebCore::XMLHttpRequest::didReceiveData): Ditto.
        * xml/XMLHttpRequest.h: Change m_encoding to m_responseEncoding to disambiguate
        the name as it is only used for response.

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

12 years ago2008-03-31 Jasper Bryant-Greene <jasper@unix.geek.nz>
jchaffraix@webkit.org [Mon, 31 Mar 2008 21:41:01 +0000 (21:41 +0000)]
2008-03-31  Jasper Bryant-Greene  <jasper@unix.geek.nz>

        Reviewed by Darin.

        Resolves http://bugs.webkit.org/show_bug.cgi?id=18010
        "WebKitNetworkRequestPrivate is defined in two places unnecessarily"

        Removed unnecessary definition of WebKitNetworkRequestPrivate in

        * webkit/webkitprivate.h:

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

12 years ago Pass the right ExecStates to toJS when creating JS wrappers for objects from...
aroben@apple.com [Mon, 31 Mar 2008 21:35:27 +0000 (21:35 +0000)]
    Pass the right ExecStates to toJS when creating JS wrappers for objects from the inspected page

        We now use an ExecState from the inspected page to create the JS
        wrappers for objects from the inspected page, rather than use an
        ExecState from the Inspector.

        Reviewed by Tim Hatcher.

        * page/InspectorController.cpp:

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

12 years ago Stop relying on functions added to prototypes in the Inspector being callable...
aroben@apple.com [Mon, 31 Mar 2008 21:03:05 +0000 (21:03 +0000)]
    Stop relying on functions added to prototypes in the Inspector being callable on objects from the inspected window

        Reviewed by Tim Hatcher.

        * page/inspector/Console.js:
        (WebInspector.ConsolePanel._formatnode): Use nodeTitleInfo.call(node)
        instead of node.titleInfo().
        * page/inspector/StylesSidebarPane.js: Changed uses of
        getShorthandValue, getShorthandPriority, getLonghandProperties, and
        getUniqueStyleProperties to call them as functions instead of as
        methods on the CSSStyleDeclaration objects.
        * page/inspector/utilities.js: Removed Node.prototype.titleInfo, and
        changed our CSSStyleDeclaration methods to just be standalone

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

12 years ago Fix an exception while adding a message to the console
aroben@apple.com [Mon, 31 Mar 2008 20:28:18 +0000 (20:28 +0000)]
    Fix an exception while adding a message to the console

        Reviewed by Mark Rowe.

        * page/inspector/ConsolePanel.js: Don't call addMessageToSource if the
        panel has no such method. This can happen if we get a message for,
        e.g., a Database.

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

12 years ago2008-03-31 Julien Chaffraix <julien.chaffraix@gmail.com>
jchaffraix@webkit.org [Mon, 31 Mar 2008 20:14:32 +0000 (20:14 +0000)]
2008-03-31  Julien Chaffraix  <julien.chaffraix@gmail.com>

        Reviewed by Darin.

        Bug 17665: determineSourceDir() dies if $sourceDir has a trailing backslash

        Remove trailing '/' in $sourceDir in determineSourceDir().

        Fix suggested by Dmitriy Kazachkov.

        * Scripts/webkitdirs.pm:

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

12 years agoWebCore:
beidson@apple.com [Mon, 31 Mar 2008 17:59:50 +0000 (17:59 +0000)]

2008-03-31  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin and Mitz's rubber stamp

        Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore

        * page/EditorClient.h:
        * svg/graphics/SVGImageEmptyClients.h:

        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::writeSelection): Make the archive and get the data directly


2008-03-31  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin and Mitz's rubber stamp

        Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore

        * WebCoreSupport/WebEditorClient.mm:
        * WebCoreSupport/WebEditorClient.h:

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

12 years ago2008-03-31 Brady Eidson <beidson@apple.com>
beidson@apple.com [Mon, 31 Mar 2008 17:06:04 +0000 (17:06 +0000)]
2008-03-31  Brady Eidson  <beidson@apple.com>

        Reviewed by Mitz Pettel

        Fix for http://bugs.webkit.org/show_bug.cgi?id=18183

        Despite the bug reporter's instructions, I have still not been able to actually reproduce this crash and
        therefore don't know how to make a layout test for it.

        * loader/archive/ArchiveResource.cpp:
        (WebCore::ArchiveResource::response): Fix potential null dereference

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

12 years ago Fix Bug 18208: Acid3 test 65 takes >33ms due to plugin refreshing on Windows
aroben@apple.com [Mon, 31 Mar 2008 16:56:15 +0000 (16:56 +0000)]
    Fix Bug 18208: Acid3 test 65 takes >33ms due to plugin refreshing on Windows


        We now keep track of all the plugin paths found each time refresh() is
        called. We'll only instantiate PluginPackages if there are new paths
        or paths with changed timestamps since the last time refresh() was

        Reviewed by Darin Adler and Anders Carlsson.

        * plugins/PluginDatabase.cpp:
          - Only instantiate PluginPackages if there is a new path or a path
            with a changed timestamp since we last ran refresh().
          - Cache the set of plugin paths found and their timestamps for the
            next call to refresh().
          - Only re-register MIME types if our set of plugins changed.
        * plugins/PluginDatabase.h: Added a new member to cache plugin paths
        and their timestamps.

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

12 years ago Separate filesystem crawling from PluginPackage instantiation
aroben@apple.com [Mon, 31 Mar 2008 16:55:48 +0000 (16:55 +0000)]
    Separate filesystem crawling from PluginPackage instantiation

        Part of Bug 18208: Acid3 test 65 takes >33ms due to plugin refreshing
        on Windows

        refresh() is now the only place where PluginPackages are instantiated.
        refresh() now asks for a set of plugins that no longer exist on disk,
        and the set of all plugin files in our plugin directories. Using these
        two sets we can update our instantiated plugins without copying any
        HashSets. The code in refresh() and in the platform-specific methods
        to crawl the filesystem is now quite a bit simpler.

        PluginDatabase now stores both a PluginSet and a HashMap that maps
        plugin paths to PluginPackages. This allows us to quickly determine
        whether we already have a PluginPackage instantiated for a particular
        path. The new add/remove methods handle the modification of these two

        A nice side effect of all this is that refresh() no longer copies any

        Reviewed by Mitz Pettel.

        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::refresh): Unload any plugins that have been
        deleted from disk, and add any plugins that either weren't installed
        last time, or have changed since last time.
        (WebCore::PluginDatabase::getDeletedPlugins): Added.
        (WebCore::PluginDatabase::add): Added. Returns whether or not the
        PluginPackage was actually added to the database (duplicates won't be
        (WebCore::PluginDatabase::remove): Added.
        * plugins/PluginDatabase.h:
        * plugins/PluginPackage.h:
        (WebCore::PluginPackage::path): Added.
        (WebCore::PluginPackage::lastModified): Added.
        * plugins/gtk/PluginDatabaseGtk.cpp:
        (WebCore::PluginDatabase::getPluginPathsInDirectories): Renamed from
        getPluginsInDirectories. Now fills a HashSet of Strings instead of
        instantiated PluginPackages.
        * plugins/win/PluginDatabaseWin.cpp:
        (WebCore::addPluginPathsFromRegistry): Ditto.
        (WebCore::PluginDatabase::getPluginPathsInDirectories): Ditto.

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

12 years ago Change getPluginsInDirectories to use an out parameter
aroben@apple.com [Mon, 31 Mar 2008 16:55:18 +0000 (16:55 +0000)]
    Change getPluginsInDirectories to use an out parameter

        This avoids copying a HashSet.

        Reviewed by Mitz Pettel.

        * plugins/PluginDatabase.cpp:
        * plugins/PluginDatabase.h:
        * plugins/gtk/PluginDatabaseGtk.cpp:
        * plugins/win/PluginDatabaseWin.cpp:

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

12 years ago Make some PluginPackage methods return const String&
aroben@apple.com [Mon, 31 Mar 2008 16:54:50 +0000 (16:54 +0000)]
    Make some PluginPackage methods return const String&

        Reviewed by Mitz Pettel.

        * plugins/PluginPackage.h:

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

12 years agoRename PluginDatabase's "PluginPaths" to "PluginDirectories"
aroben@apple.com [Mon, 31 Mar 2008 16:54:22 +0000 (16:54 +0000)]
Rename PluginDatabase's "PluginPaths" to "PluginDirectories"


        Rename PluginDatabase's "PluginPaths" to "PluginDirectories"

        The code expects these paths to all be directories, so it seems good
        to refer to them as such.

        This patch just changes "Paths" to "Directories" and "Path" to

        Reviewed by Mitz Pettel.

        * platform/qt/TemporaryLinkStubs.cpp:
        * platform/wx/TemporaryLinkStubs.cpp:
        * plugins/PluginDatabase.cpp:
        * plugins/PluginDatabase.h:
        * plugins/gtk/PluginDatabaseGtk.cpp:
        * plugins/win/PluginDatabaseWin.cpp:
        * plugins/win/PluginPackageWin.cpp:


        Rename IWebViewPrivate::addAdditionalPluginPath to

        Reviewed by Mitz Pettel.

        * Interfaces/IWebViewPrivate.idl:
        * Interfaces/WebKit.idl: Touched to make sure the Interfaces project
        * WebView.cpp:
        * WebView.h:


        Update for rename of an IWebViewPrivate method

        Reviewed by Mitz Pettel.

        * DumpRenderTree/win/DumpRenderTree.cpp:

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

12 years ago Remove PlatformFileTime
aroben@apple.com [Mon, 31 Mar 2008 16:53:33 +0000 (16:53 +0000)]
    Remove PlatformFileTime

        This typedef is time_t on all platforms, so we can just get rid of the

        Reviewed by Mitz Pettel.

        * platform/FileSystem.h:
        * plugins/PluginPackage.cpp:
        * plugins/PluginPackage.h:

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

12 years ago Change PlatformFileTime on Windows to be time_t
aroben@apple.com [Mon, 31 Mar 2008 16:53:06 +0000 (16:53 +0000)]
    Change PlatformFileTime on Windows to be time_t

        This matches other platforms and our existing functions in
        FileSystem.h. It will also let us get rid of PlatformFileTime

        Reviewed by Mitz Pettel.

        * platform/FileSystem.h: Change PlatformFileTime to time_t on Windows.
        * plugins/win/PluginDatabaseWin.cpp:
        (WebCore::addPluginsFromRegistry): Use getFileModificationTime to get
        the modification time to pass to PluginPackage::create.
        (WebCore::PluginDatabase::getPluginsInPaths): Ditto.
        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackage::hash): Updated to use m_lastModified as a
        (WebCore::PluginPackage::equal): Ditto.

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

12 years ago Make PluginPackage work like our other RefCounted classes
aroben@apple.com [Mon, 31 Mar 2008 16:52:39 +0000 (16:52 +0000)]
    Make PluginPackage work like our other RefCounted classes

        PluginPackage now starts with a ref count of 1, and its createPackage
        method now returns a PassRefPtr instead of a raw pointer.

        Reviewed by Darin Adler.

        * plugins/PluginPackage.cpp:
        (WebCore::PluginPackage::PluginPackage): Removed explicit call to the
        RefCounted constructor so that we'll start with a ref count of 1.
        (WebCore::PluginPackage::createPackage): Changed to return a
        * plugins/PluginPackage.h:
        * plugins/gtk/PluginDatabaseGtk.cpp:
        (WebCore::PluginDatabase::getPluginsInPaths): Changed to store the
        newly-created PluginPackage in a RefPtr.
        * plugins/win/PluginDatabaseWin.cpp:
        (WebCore::addPluginsFromRegistry): Ditto.
        (WebCore::PluginDatabase::getPluginsInPaths): Ditto.

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

12 years ago Fix Bug 18214: WebKit will sometimes load duplicate plugins
aroben@apple.com [Mon, 31 Mar 2008 16:52:09 +0000 (16:52 +0000)]
    Fix Bug 18214: WebKit will sometimes load duplicate plugins


        We now compare 3 things to determine if two PluginPackages are equal:
          1) Name
          2) Description
          3) Supported MIME types

        This matches Gecko's equality logic for plugins (implemented in

        Reviewed by Darin Adler.

        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackage::hash): Use the above-mentioned 3 criteria to
        calculate the hash.
        (WebCore::PluginPackage::equal): Use the above-mentioned 3 criteria to
        determine equality.

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

12 years agoFix the Qt build.
hausmann@webkit.org [Mon, 31 Mar 2008 08:50:23 +0000 (08:50 +0000)]
Fix the Qt build.

ResourceHandleInternal.h references ResourceHandle::fireFailure, so include

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

12 years ago Reviewed by darin.
eric@webkit.org [Mon, 31 Mar 2008 08:01:09 +0000 (08:01 +0000)]
    Reviewed by darin.

        Make matching of regexps using ^ much faster

        * pcre/pcre_compile.cpp:
        * pcre/pcre_exec.cpp:
        * pcre/pcre_internal.h:

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

12 years ago Reviewed by Darin.
rwlbuis@webkit.org [Mon, 31 Mar 2008 06:49:17 +0000 (06:49 +0000)]
    Reviewed by Darin.

        marker property doesn't show up correctly as "shorthand" in inspector

        Make sure parsing the marker property sets the individual
        marker properties as implicit with marker as shorthand.
        Also let CSSStyleDecleration::getPropertyValue return
        the correct value for the marker property.

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

12 years ago Reviewed by Oliver.
eric@webkit.org [Mon, 31 Mar 2008 06:13:26 +0000 (06:13 +0000)]
    Reviewed by Oliver.

        Make AMatthews life easier -- fix the SVG_FILTERS build

        Build fix only, no tests.

        * svg/SVGComponentTransferFunctionElement.cpp:
        * svg/SVGFEColorMatrixElement.cpp:
        * svg/SVGFEDiffuseLightingElement.cpp:
        * svg/SVGFEGaussianBlurElement.cpp:
        * svg/SVGFEImageElement.cpp:
        * svg/SVGFESpecularLightingElement.cpp:
        * svg/SVGFETurbulenceElement.cpp:
        * svg/SVGFilterElement.cpp:
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        * svg/graphics/filters/SVGFEBlend.cpp:
        * svg/graphics/filters/SVGFEComponentTransfer.cpp:
        * svg/graphics/filters/SVGFEComposite.cpp:
        * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
        * svg/graphics/filters/SVGFEGaussianBlur.cpp:
        * svg/graphics/filters/SVGFEImage.cpp:
        * svg/graphics/filters/SVGFEMerge.cpp:
        * svg/graphics/filters/SVGFEMorphology.cpp:
        * svg/graphics/filters/SVGFEOffset.cpp:
        * svg/graphics/filters/SVGFESpecularLighting.cpp:
        * svg/graphics/filters/SVGFETurbulence.cpp:

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

12 years agoWebCore:
mitz@apple.com [Sun, 30 Mar 2008 21:52:47 +0000 (21:52 +0000)]

        Reviewed by Sam Weinig.

        - fix http://bugs.webkit.org/show_bug.cgi?id=18115
          REGRESSION (r31250): Incomplete repaint of GoogleReader sidebar while reading unread posts

        Test: fast/repaint/lines-with-layout-delta.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintRectangle): Made this method take layout
        delta into account.


        Reviewed by Sam Weinig.

        - repaint test for http://bugs.webkit.org/show_bug.cgi?id=18115
          REGRESSION (r31250): Incomplete repaint of GoogleReader sidebar while reading unread posts

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

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

12 years agoWebCore:
mitz@apple.com [Sun, 30 Mar 2008 21:29:46 +0000 (21:29 +0000)]

        Reviewed by Maciej Stachowiak.

        - fix assertion failure in CSSParser.cpp's equalIgnoringCase() when
          parsing certain transforms.

        Test: fast/css/transform-function-lowercase-assert.html

        * css/CSSParser.cpp:
        (WebCore::TransformOperationInfo::TransformOperationInfo): Changed to
        always pass a lowercase string as the second argument of


        Reviewed by Maciej Stachowiak.

        - test for an assertion failure in CSSParser.cpp's
          equalIgnoringCase() when parsing certain transforms.

        * fast/css/transform-function-lowercase-assert-expected.txt: Added.
        * fast/css/transform-function-lowercase-assert.html: Added.

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

12 years agoARM build fix.
mrowe@apple.com [Sun, 30 Mar 2008 21:11:21 +0000 (21:11 +0000)]
ARM build fix.

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

12 years ago2008-03-30 Hiroyuki Ikezoe <poincare@ikezoe.net>
alp@webkit.org [Sun, 30 Mar 2008 17:25:40 +0000 (17:25 +0000)]
2008-03-30  Hiroyuki Ikezoe  <poincare@ikezoe.net>

        Reviewed by Alp Toker.

        Rendering invalid japanese characters with pango backend.

        * platform/graphics/gtk/FontPlatformDataPango.cpp:
        (FontPlatformData::FontPlatformData): Set PangoFontDescription for
        PangoContext explicitly to use proper font.

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

12 years ago Reviewed by Oliver.
rwlbuis@webkit.org [Sun, 30 Mar 2008 17:09:12 +0000 (17:09 +0000)]
    Reviewed by Oliver.

        SVG: modifying x & y attribute of text element from JS fails

        Make SVG text relayout when x, y attribute is changed from js.

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

12 years ago Reviewed by Adam Roben.
rwlbuis@webkit.org [Sun, 30 Mar 2008 15:25:03 +0000 (15:25 +0000)]
    Reviewed by Adam Roben.

        Fix wrong id.

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

12 years ago2008-03-28 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Sun, 30 Mar 2008 04:58:08 +0000 (04:58 +0000)]
2008-03-28  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver.

        - yet still more bindings speedup

        Make AtomicString straight from UString in handcoded bindings

        * bindings/js/JSElementCustom.cpp:
        * dom/Document.cpp:
        * dom/Document.h:
        * html/HTMLDocument.cpp:
        * html/HTMLDocument.h:

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

12 years ago2008-03-29 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sun, 30 Mar 2008 02:21:05 +0000 (02:21 +0000)]
2008-03-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Fix for <rdar://problem/5828873>

        Since NSURL is allowing invalid urls to be loaded, we need to
        check the URL validity at the ResourceHandle level and fire off
        a cannotShowURL error.

        * loader/FrameLoader.cpp:
        * loader/FrameLoader.h:
        * loader/ResourceLoader.cpp:
        * loader/ResourceLoader.h:
        * platform/KURL.h:
        * platform/network/ResourceHandle.cpp:
        * platform/network/ResourceHandle.h:
        * platform/network/ResourceHandleClient.h:
        * platform/network/ResourceHandleInternal.h:

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

12 years ago2008-03-29 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 30 Mar 2008 01:47:37 +0000 (01:47 +0000)]
2008-03-29  Darin Adler  <darin@apple.com>

        Reviewed by Mitz.

        - more bindings speedup

        When I changed the temporary variables to be UString that means that the
        valueToString functions also need to return UString to avoid converting
        from UString to String twice.

        * bindings/js/kjs_binding.cpp:
        (WebCore::valueToStringWithNullCheck): Changed return value to UString.
        (WebCore::valueToStringWithUndefinedOrNullCheck): Ditto.
        * bindings/js/kjs_binding.h: Ditto.

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

12 years ago2008-03-29 Darin Adler <darin@apple.com>
darin@apple.com [Sat, 29 Mar 2008 17:52:49 +0000 (17:52 +0000)]
2008-03-29  Darin Adler  <darin@apple.com>

        Reviewed by Sam.

        * DerivedSources.make: Removed temporary remove-stray-JSRGBColor build rule.

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

12 years ago2008-03-29 Darin Adler <darin@apple.com>
darin@apple.com [Sat, 29 Mar 2008 17:51:50 +0000 (17:51 +0000)]
2008-03-29  Darin Adler  <darin@apple.com>

        Reviewed by Sam.

        - tweak handling of the class attribute to speed up code that
          sets it but never needs to parse it

        6% speedup of Acid3 test 26

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchRules): Change to use non-virtual
        classNames function since the hasClass bit can only be set for a
        (WebCore::CSSStyleSelector::checkOneSelector): Ditto. Also
        streamlined the code a bit for the tag matching as well.

        * dom/ClassNames.cpp:
        (WebCore::hasNonASCIIOrUpper): Added. This function does what other
        callers seem to want isLower() to do. We should merge this with
        isLower() in a subsequent cleanup pass.
        (WebCore::ClassNamesData::createVector): Renamed from parseClassAttribute.
        Turns the string into a vector.
        (WebCore::ClassNamesData::containsAll): Added. Used by getElementsByClassName.

        * dom/ClassNames.h: Added a separate ClassNameData class so we could hold
        the string and case folding flag as well as the vector. Changed ClassNames
        to have a set function rather than a parseClassAttribute function. Removed
        the "static" from isClassWhitespace. There's no reason to ask for internal linkage.

        * dom/ClassNodeList.cpp:
        (WebCore::ClassNodeList::ClassNodeList): Use constructor instead of the
        parseClassAttribute function.
        (WebCore::ClassNodeList::nodeMatches): Get rid of unnneeded isElementNode
        check, since hasClass will only be true for StyledElement nodes. Use the new
        containsAll function in ClassNames instead of having a loop here.

        * dom/ClassNodeList.h: Removed unneeded forward declaration.

        * dom/Document.cpp: Removed unneeded include.

        * dom/Element.cpp:
        (WebCore::Element::cloneNode): Changed code to copy attributes to use a
        function call instead of the assignment operator. This paves the way to
        making the function more efficient, using a virtual function.
        (WebCore::Element::setAttributeMap): Updated for PassRefPtr and for name change
        (element -> m_element).
        (WebCore::Element::createAttributeMap): Changed to use create function instead of
        calling the constructor directly.
        * dom/Element.h: Removed unneeded virtual getClassNames function.
        Changed the argument to setAttributeMap to be a PassRefPtr.

        * dom/NamedAttrMap.cpp:
        (WebCore::NamedAttrMap::NamedAttrMap): Updated for name change (element -> m_element).
        (WebCore::NamedAttrMap::getNamedItem): Ditto.
        (WebCore::NamedAttrMap::removeNamedItem): Ditto.
        (WebCore::NamedAttrMap::setNamedItem): Ditto.
        (WebCore::NamedAttrMap::item): Ditto.
        (WebCore::NamedAttrMap::detachFromElement): Ditto.
        (WebCore::NamedAttrMap::setAttributes): Renamed this from the assignment operator.
        (WebCore::NamedAttrMap::addAttribute): Ditto.
        (WebCore::NamedAttrMap::removeAttribute): Ditto.
        (WebCore::NamedAttrMap::isReadOnlyNode): Ditto.
        * dom/NamedAttrMap.h: Removed the copy constructor and assignment operator and added
        a new function, setAttributes, possibly to be made virtual in the future. Made
        isReadOnlyNode non-virtual. Renamed element -> m_element. Made constructor protected
        and added a create function.

        * dom/NamedMappedAttrMap.cpp:
        (WebCore::NamedMappedAttrMap::NamedMappedAttrMap): Changed constructor parameter to
        take a StyledElement.
        (WebCore::NamedMappedAttrMap::setClass): Changed to use the new set function.

        * dom/NamedMappedAttrMap.h: Made constructor private and added a create function.
        Replaced theparseClassAttribute function with clearClass and setClass functions.
        Replaced the getClassNames function with a classNames function returning a reference
        instead of a pointer.

        * dom/NamedNodeMap.h: Changed to start refcount at 1 instead of 0. Removed unneeded
        virtual function isReadOnlyNode.

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::parseMappedAttribute): Rewrote class attribute handling to
        use new function names and took out uneeded special case for null attribute.
        (WebCore::StyledElement::createAttributeMap): Changed to use create function instead
        of a direct call to new.

        * dom/StyledElement.h: Replaced the virtual getClassNames function with a non-virtual
        inline classNames function.

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::cloneNode): Changed code to copy attributes to use a
        function call instead of the assignment operator.

        * html/HTMLTokenizer.cpp:
        (WebCore::Token::addAttribute): Use create function instead of a a direct call
        to new.

        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createContainingTable): Use RefPtr and the new
        create function.
        (WebCore::HTMLViewSourceDocument::addViewSourceToken): Ditto.
        (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto.
        (WebCore::HTMLViewSourceDocument::addLine): Ditto.
        (WebCore::HTMLViewSourceDocument::addText): Ditto.
        (WebCore::HTMLViewSourceDocument::addLink): Ditto.
        * html/HTMLViewSourceDocument.h: Ditto.

        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Changed code to copy
        attributes to use a function call instead of the assignment operator.
        (WebCore::SVGUseElement::transferUseAttributesToReplacedElement): Ditto.

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

12 years agoWebCore:
weinig@apple.com [Sat, 29 Mar 2008 15:17:32 +0000 (15:17 +0000)]

2008-03-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Brady Eidson.

        Fix crash when canceling a resource load while port blocked failure
        timer is going.

        Test: fast/loader/cancel-load-during-port-block-timer.html

        * platform/network/ResourceHandle.cpp:
        * platform/network/ResourceHandleInternal.h:
        Make the Timer a member variable of ResourceHandleInternal so
        that it can be canceled if the ResourceHandle is destroyed.


2008-03-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Brady Eidson.

        Test for crash when canceling a resource load while port blocked failure
        timer is going

        * fast/loader/cancel-load-during-port-block-timer-expected.txt: Added.
        * fast/loader/cancel-load-during-port-block-timer.html: Added.

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

12 years ago Reviewed by Oliver Hunt.
ap@webkit.org [Sat, 29 Mar 2008 08:18:29 +0000 (08:18 +0000)]
    Reviewed by Oliver Hunt.

        <rdar://problem/5829556> REGRESSION: Leak in KJS::initializeThreading()

        * kjs/InitializeThreading.cpp: (KJS::initializeThreading): There is no guarantee that
        initializeThreading() is called only once; check that the mutex hasn't been already allocated.

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

12 years agoBug 17924: Crash in KJS::ConstDeclNode::evaluate with |with| and |const|
oliver@apple.com [Sat, 29 Mar 2008 07:25:34 +0000 (07:25 +0000)]
Bug 17924: Crash in KJS::ConstDeclNode::evaluate with |with| and |const|

Reviewed by Geoff.

It turns out this is trivially avoidable if we just match firefox's
semantics and ensure that an assignment in a const declaration always
writes to the variable object.

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

12 years ago2008-03-28 Stephanie <slewis@apple.com>
slewis@apple.com [Sat, 29 Mar 2008 03:38:01 +0000 (03:38 +0000)]
2008-03-28  Stephanie  <slewis@apple.com>

        Fix 64bit build

        * WebCore.LP64.exp:
        * loader/archive/cf/LegacyWebArchiveMac.mm:

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

12 years ago2008-03-28 Steve Falkenburg <sfalken@apple.com>
sfalken@apple.com [Sat, 29 Mar 2008 03:28:11 +0000 (03:28 +0000)]
2008-03-28  Steve Falkenburg  <sfalken@apple.com>

        Enabled LTCG on files within "page".

        Rubber stamped by Oliver.

        * WebCore.vcproj/WebCore.vcproj:

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

12 years agoWebCore:
mitz@apple.com [Sat, 29 Mar 2008 03:07:21 +0000 (03:07 +0000)]

        Reviewed by Dave Hyatt.

        - fix a percentage background position regression from r31389

        Test: fast/backgrounds/background-position-1.html

        * rendering/Length.h:
        (WebCore::Length::calcValue): Divide by 100.
        (WebCore::Length::calcMinValue): Ditto.


        Reviewed by Dave Hyatt.

        - pixel test for a percentage background position regression from r31389

        * fast/backgrounds/background-position-1.html: Added.
        * platform/mac/fast/backgrounds/background-position-1-expected.checksum: Added.
        * platform/mac/fast/backgrounds/background-position-1-expected.png: Added.
        * platform/mac/fast/backgrounds/background-position-1-expected.txt: Added.

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

12 years agoOops. Back out unintentional change to RenderBlock.cpp
hyatt@apple.com [Sat, 29 Mar 2008 02:21:34 +0000 (02:21 +0000)]
Oops. Back out unintentional change to RenderBlock.cpp

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

12 years ago2008-03-28 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Sat, 29 Mar 2008 02:21:00 +0000 (02:21 +0000)]
2008-03-28  David Hyatt  <hyatt@apple.com>

        Back out the Ahem font antialiasing hack, since it is now no longer required for LCD antialiased text
        to match the reference rendering on Acid 3.

        * platform/graphics/SimpleFontData.h:
        * platform/graphics/mac/FontMac.mm:
        * platform/graphics/mac/SimpleFontDataMac.mm:
        * platform/graphics/win/FontCGWin.cpp:
        * platform/graphics/win/SimpleFontDataCGWin.cpp:
        * rendering/RenderBlock.cpp:

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

12 years agoWebKit:
beidson@apple.com [Sat, 29 Mar 2008 00:51:09 +0000 (00:51 +0000)]

2008-03-28  Brady Eidson  <beidson@apple.com>

        Rubberstamped by Darin Adler

        Remove WebArchiver.h/mm

        * WebKit.xcodeproj/project.pbxproj:


2008-03-28  Brady Eidson  <beidson@apple.com>

        Rubberstamped by Darin Adler

        Remove WebArchiver.h/mm

        * WebView/WebArchiver.h: Removed.
        * WebView/WebArchiver.mm: Removed.

        * DOM/WebDOMOperations.mm:
        * WebCoreSupport/WebDragClient.mm:
        * WebCoreSupport/WebEditorClient.mm:
        * WebView/WebDataSource.mm:
        * WebView/WebHTMLView.mm:

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