WebKit-https.git
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
  initialisation.

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_random_init().

        * wtf/Threading.h:
        * wtf/ThreadingGtk.cpp:
        (WTF::initializeThreading):
        * wtf/ThreadingNone.cpp:
        (WTF::initializeThreading):
        * wtf/ThreadingPthreads.cpp:
        (WTF::initializeThreading):
        * wtf/ThreadingWin.cpp:
        (WTF::initializeThreading):
        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)]
WebKit/win:
        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::initWithNode):
        (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.

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

        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)]
WebCore:
        Reviewed by Adam Roben

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

        * WebCore.vcproj/WebCore.vcproj:

WebKit/win:
        Reviewed by Adam Roben

        Add empty implementations of WebArchive for future work

        * WebArchive.cpp: Added.
        (WebArchive::createInstance):
        (WebArchive::WebArchive):
        (WebArchive::~WebArchive):
        (WebArchive::QueryInterface):
        (WebArchive::AddRef):
        (WebArchive::Release):
        (WebArchive::initWithMainResource):
        (WebArchive::initWithData):
        (WebArchive::mainResource):
        (WebArchive::subResources):
        (WebArchive::subframeArchives):
        (WebArchive::data):
        * 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)]
WebCore:
        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.
        (WebCore::):
        * 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
run-webkit-tests.

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)]
WebCore:

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:
        (WebCore::AXObjectCache::get):
        (WebCore::AXObjectCache::removeAXID):
        * page/AccessibilityObject.cpp: Added.
        (WebCore::AccessibilityObject::AccessibilityObject):
        (WebCore::AccessibilityObject::~AccessibilityObject):
        (WebCore::AccessibilityObject::create):
        (WebCore::AccessibilityObject::detach):
        (WebCore::AccessibilityObject::firstChild):
        (WebCore::AccessibilityObject::lastChild):
        (WebCore::AccessibilityObject::previousSibling):
        (WebCore::AccessibilityObject::nextSibling):
        (WebCore::AccessibilityObject::parentObject):
        (WebCore::AccessibilityObject::parentObjectUnignored):
        (WebCore::AccessibilityObject::isWebArea):
        (WebCore::AccessibilityObject::isImageButton):
        (WebCore::AccessibilityObject::isAnchor):
        (WebCore::AccessibilityObject::isTextControl):
        (WebCore::AccessibilityObject::isImage):
        (WebCore::AccessibilityObject::isAttachment):
        (WebCore::isPasswordFieldElement):
        (WebCore::AccessibilityObject::isPasswordField):
        (WebCore::AccessibilityObject::headingLevel):
        (WebCore::AccessibilityObject::isHeading):
        (WebCore::AccessibilityObject::anchorElement):
        (WebCore::isCheckboxOrRadio):
        (WebCore::AccessibilityObject::actionElement):
        (WebCore::AccessibilityObject::mouseButtonListener):
        (WebCore::AccessibilityObject::helpText):
        (WebCore::AccessibilityObject::textUnderElement):
        (WebCore::AccessibilityObject::hasIntValue):
        (WebCore::AccessibilityObject::intValue):
        (WebCore::AccessibilityObject::stringValue):
        (WebCore::labelForElement):
        (WebCore::AccessibilityObject::title):
        (WebCore::AccessibilityObject::accessibilityDescription):
        (WebCore::AccessibilityObject::boundingBoxRect):
        (WebCore::AccessibilityObject::size):
        (WebCore::AccessibilityObject::linkedUIElement):
        (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId):
        (WebCore::AccessibilityObject::accessibilityIsIgnored):
        (WebCore::AccessibilityObject::loaded):
        (WebCore::AccessibilityObject::layoutCount):
        (WebCore::AccessibilityObject::textLength):
        (WebCore::AccessibilityObject::selectedText):
        (WebCore::AccessibilityObject::selection):
        (WebCore::AccessibilityObject::selectedTextRange):
        (WebCore::AccessibilityObject::setSelectedText):
        (WebCore::AccessibilityObject::setSelectedTextRange):
        (WebCore::AccessibilityObject::makeRangeVisible):
        (WebCore::AccessibilityObject::url):
        (WebCore::AccessibilityObject::isVisited):
        (WebCore::AccessibilityObject::isFocused):
        (WebCore::AccessibilityObject::setFocused):
        (WebCore::AccessibilityObject::setValue):
        (WebCore::AccessibilityObject::isEnabled):
        (WebCore::AccessibilityObject::press):
        (WebCore::AccessibilityObject::topRenderer):
        (WebCore::AccessibilityObject::textControl):
        (WebCore::AccessibilityObject::widget):
        (WebCore::AccessibilityObject::axObjectCache):
        (WebCore::AccessibilityObject::documentLinks):
        (WebCore::AccessibilityObject::documentFrameView):
        (WebCore::AccessibilityObject::frameViewIfRenderView):
        (WebCore::AccessibilityObject::visiblePositionRange):
        (WebCore::AccessibilityObject::doAXTextMarkerRangeForLine):
        (WebCore::AccessibilityObject::doAXTextMarkerRangeForUnorderedTextMarkers):
        (WebCore::AccessibilityObject::doAXLeftWordTextMarkerRangeForTextMarker):
        (WebCore::AccessibilityObject::doAXRightWordTextMarkerRangeForTextMarker):
        (WebCore::updateAXLineStartForVisiblePosition):
        (WebCore::AccessibilityObject::doAXLeftLineTextMarkerRangeForTextMarker):
        (WebCore::AccessibilityObject::doAXRightLineTextMarkerRangeForTextMarker):
        (WebCore::AccessibilityObject::doAXSentenceTextMarkerRangeForTextMarker):
        (WebCore::AccessibilityObject::doAXParagraphTextMarkerRangeForTextMarker):
        (WebCore::startOfStyleRange):
        (WebCore::endOfStyleRange):
        (WebCore::AccessibilityObject::doAXStyleTextMarkerRangeForTextMarker):
        (WebCore::AccessibilityObject::textMarkerRangeForRange):
        (WebCore::AccessibilityObject::stringForReplacedNode):
        (WebCore::AccessibilityObject::doAXStringForTextMarkerRange):
        (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange):
        (WebCore::AccessibilityObject::doAXLengthForTextMarkerRange):
        (WebCore::AccessibilityObject::doSetAXSelectedTextMarkerRange):
        (WebCore::AccessibilityObject::doAXTextMarkerForPosition):
        (WebCore::AccessibilityObject::doAXNextTextMarkerForTextMarker):
        (WebCore::AccessibilityObject::doAXPreviousTextMarkerForTextMarker):
        (WebCore::AccessibilityObject::doAXNextWordEndTextMarkerForTextMarker):
        (WebCore::AccessibilityObject::doAXPreviousWordStartTextMarkerForTextMarker):
        (WebCore::AccessibilityObject::doAXNextLineEndTextMarkerForTextMarker):
        (WebCore::AccessibilityObject::doAXPreviousLineStartTextMarkerForTextMarker):
        (WebCore::AccessibilityObject::doAXNextSentenceEndTextMarkerForTextMarker):
        (WebCore::AccessibilityObject::doAXPreviousSentenceStartTextMarkerForTextMarker):
        (WebCore::AccessibilityObject::doAXNextParagraphEndTextMarkerForTextMarker):
        (WebCore::AccessibilityObject::doAXPreviousParagraphStartTextMarkerForTextMarker):
        (WebCore::AccessibilityObject::textMarkerForIndex):
        (WebCore::AccessibilityObject::doAXUIElementForTextMarker):
        (WebCore::AccessibilityObject::doAXLineForTextMarker):
        (WebCore::AccessibilityObject::rangeForTextMarkerRange):
        (WebCore::AccessibilityObject::indexForTextMarker):
        (WebCore::AccessibilityObject::doAXRangeForLine):
        (WebCore::AccessibilityObject::doAXRangeForPosition):
        (WebCore::AccessibilityObject::doAXRangeForIndex):
        (WebCore::AccessibilityObject::doAXStyleRangeForIndex):
        (WebCore::AccessibilityObject::doAXStringForRange):
        (WebCore::AccessibilityObject::doAXBoundsForRange):
        (WebCore::AccessibilityObject::doAXLineForIndex):
        (WebCore::AccessibilityObject::doAccessibilityHitTest):
        (WebCore::AccessibilityObject::focusedUIElement):
        (WebCore::AccessibilityObject::observableObject):
        (WebCore::AccessibilityObject::roleValue):
        (WebCore::AccessibilityObject::canSetFocusAttribute):
        (WebCore::AccessibilityObject::canSetValueAttribute):
        (WebCore::AccessibilityObject::canSetTextRangeAttributes):
        (WebCore::AccessibilityObject::childrenChanged):
        (WebCore::AccessibilityObject::clearChildren):
        (WebCore::AccessibilityObject::hasChildren):
        (WebCore::AccessibilityObject::addChildren):
        (WebCore::AccessibilityObject::axObjectID):
        (WebCore::AccessibilityObject::setAXObjectID):
        (WebCore::AccessibilityObject::removeAXObjectID):
        * page/AccessibilityObject.h: Added.
        (WebCore::):
        (WebCore::VisiblePositionRange::VisiblePositionRange):
        (WebCore::VisiblePositionRange::isNull):
        (WebCore::AccessibilityObject::detached):
        (WebCore::AccessibilityObject::PlainTextRange::PlainTextRange):
        (WebCore::AccessibilityObject::PlainTextRange::isNull):
        (WebCore::AccessibilityObject::renderer):
        (WebCore::AccessibilityObject::children):
        (WebCore::AccessibilityObject::wrapper):
        (WebCore::AccessibilityObject::setWrapper):
        * page/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::~AXObjectCache):
        (WebCore::AXObjectCache::get):
        (WebCore::AXObjectCache::remove):
        (WebCore::AXObjectCache::getAXID):
        (WebCore::AXObjectCache::removeAXID):
        (WebCore::AXObjectCache::textMarkerForVisiblePosition):
        (WebCore::AXObjectCache::childrenChanged):
        (WebCore::AXObjectCache::postNotification):
        (WebCore::AXObjectCache::postNotificationToElement):
        * page/mac/AccessibilityObjectMac.mm: Added.
        (createAccessibilityRoleMap):
        (RoleEntry::):
        (roleValueToNSString):
        (AccessibilityObject::attachmentView):
        (AccessibilityObject::performPressActionForAttachment):
        (AccessibilityObject::textMarkerRange):
        (AccessibilityObject::textMarkerForVisiblePosition):
        (AccessibilityObject::startTextMarker):
        (AccessibilityObject::visiblePositionForTextMarker):
        (AccessibilityObject::visiblePositionForStartOfTextMarkerRange):
        (AccessibilityObject::visiblePositionForEndOfTextMarkerRange):
        (AccessibilityObject::textMarkerRangeFromVisiblePositions):
        (AccessibilityObject::textMarkerRangeForSelection):
        (AccessibilityObject::textMarkerRangeFromMarkers):
        (AccessibilityObject::convertViewRectToScreenCoords):
        (AccessibilityObject::convertAbsolutePointToViewCoords):
        (AccessibilityObject::convertWidgetChildrenToNSArray):
        (AccessibilityObject::position):
        (AccessibilityObject::role):
        (AccessibilityObject::subrole):
        (AccessibilityObject::roleDescription):
        (blockquoteLevel):
        (AccessibilityObject::AXAttributeStringSetElement):
        (AXAttributeStringSetBlockquoteLevel):
        (CreateCGColorIfDifferent):
        (AXAttributeStringSetColor):
        (AXAttributeStringSetNumber):
        (AXAttributeStringSetFont):
        (AXAttributeStringSetStyle):
        (AccessibilityObject::AXAttributeStringSetHeadingLevel):
        (AccessibilityObject::AXLinkElementForNode):
        (AXAttributeStringSetSpelling):
        (AccessibilityObject::AXAttributedStringAppendText):
        (nsStringForReplacedNode):
        (AccessibilityObject::doAXAttributedStringForTextMarkerRange):
        (AccessibilityObject::doAXAttributedStringForRange):
        (AccessibilityObject::doAXRTFForRange):
        * 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]):
        (convertToNSArray):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
        (-[AccessibilityObjectWrapper accessibilityHitTest:]):
        (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
        (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
        (rendererForView):
        (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]):
        (-[AccessibilityObjectWrapper accessibilityActionDescription:]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
        (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]):
        * page/mac/WebCoreAXObject.h: Removed.
        * page/mac/WebCoreAXObject.mm: Removed.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::selectElement):
        * rendering/RenderMenuList.h:

WebKit/mac:

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:
        (PluginDatabase::getPluginPathsInDirectories):
        * platform/wx/TemporaryLinkStubs.cpp:
        (PluginDatabase::getPluginPathsInDirectories):

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:
        (PluginDatabase::getPluginPathsInDirectories):
        (PluginDatabase::isPreferredPluginDirectory):

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:
        (PluginDatabase::getPluginPathsInDirectories):
        (PluginDatabase::isPreferredPluginDirectory):

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:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/gtk/FontCustomPlatformData.h:
        * platform/graphics/qt/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * 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:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * 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
        FontCustomPlatformData::fontPlatformData().

        * 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::hfont):
        (WebCore::FontPlatformData::cgFont):
        (WebCore::FontPlatformData::hash):
        (WebCore::FontPlatformData::RefCountedHFONT::RefCountedHFONT): Added.
        (WebCore::FontPlatformData::RefCountedHFONT::~RefCountedHFONT):
        (WebCore::FontPlatformData::RefCountedHFONT::hfont):
        (WebCore::FontPlatformData::RefCountedHFONT::hash):

        * 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::appendBigEndianStringToEOTHeader):
        (WebCore::getEOTHeader): Added. Creates an Embedded OpenType (.eot)
        header for the given font data, making it suitable as input for
        TTLoadEmbeddedFont.

        * 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
        http://bugs.webkit.org/show_bug.cgi?id=18177

        - 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
        webkitprivate.h

        * 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:
        (WebCore::getResourceDocumentNode):
        (WebCore::InspectorController::focusNode):
        (WebCore::InspectorController::addDatabaseScriptResource):

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
        functions.

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)]
WebCore:

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

WebKit/mac:

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

        <http://bugs.webkit.org/show_bug.cgi?id=18208>

        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
        called.

        Reviewed by Darin Adler and Anders Carlsson.

        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::refresh):
          - 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
        <http://bugs.webkit.org/show_bug.cgi?id=18208>

        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
        collections.

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

        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
        added).
        (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:
        (WebCore::PluginDatabase::refresh):
        * plugins/PluginDatabase.h:
        * plugins/gtk/PluginDatabaseGtk.cpp:
        (WebCore::PluginDatabase::getPluginsInDirectories):
        * plugins/win/PluginDatabaseWin.cpp:
        (WebCore::PluginDatabase::getPluginsInDirectories):

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"

WebCore:

        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
        "Directory".

        Reviewed by Mitz Pettel.

        * platform/qt/TemporaryLinkStubs.cpp:
        * platform/wx/TemporaryLinkStubs.cpp:
        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::installedPlugins):
        (WebCore::PluginDatabase::refresh):
        * plugins/PluginDatabase.h:
        (WebCore::PluginDatabase::setPluginDirectories):
        * plugins/gtk/PluginDatabaseGtk.cpp:
        (WebCore::PluginDatabase::getPluginsInDirectories):
        * plugins/win/PluginDatabaseWin.cpp:
        (WebCore::PluginDatabase::getPluginsInDirectories):
        (WebCore::safariPluginsDirectory):
        (WebCore::PluginDatabase::defaultPluginDirectories):
        (WebCore::PluginDatabase::isPreferredPluginDirectory):
        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackage::compare):

WebKit/win:

        Rename IWebViewPrivate::addAdditionalPluginPath to
        addAdditionalPluginDirectory

        Reviewed by Mitz Pettel.

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

WebKitTools:

        Update for rename of an IWebViewPrivate method

        Reviewed by Mitz Pettel.

        * DumpRenderTree/win/DumpRenderTree.cpp:
        (createWebViewAndOffscreenWindow):

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
        typedef.

        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
        altogether.

        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
        time_t.
        (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
        PassRefPtr.
        * 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

        <http://bugs.webkit.org/show_bug.cgi?id=18214>

        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
        nsPluginTag::Equals).

        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
ResourceHandle.h.

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
        http://bugs.webkit.org/show_bug.cgi?id=18086

        * pcre/pcre_compile.cpp:
        (compileBranch):
        (branchNeedsLineStart):
        * pcre/pcre_exec.cpp:
        (match):
        (jsRegExpExecute):
        * 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.

        http://bugs.webkit.org/show_bug.cgi?id=15595
        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:
        (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
        * svg/SVGFEDiffuseLightingElement.cpp:
        * svg/SVGFEGaussianBlurElement.cpp:
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::SVGFEImageElement):
        * 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)]
WebCore:

        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.

LayoutTests:

        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)]
WebCore:

        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
        equalIgnoringCase().

LayoutTests:

        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.

        http://bugs.webkit.org/show_bug.cgi?id=18036
        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.

        http://bugs.webkit.org/show_bug.cgi?id=17633
        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:
        (WebCore::JSElement::setAttribute):
        (WebCore::JSElement::setAttributeNS):
        * dom/Document.cpp:
        (WebCore::Document::createElement):
        * dom/Document.h:
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::createElement):
        * 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:
        (WebCore::FrameLoader::cannotShowURLError):
        * loader/FrameLoader.h:
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::cannotShowURLError):
        (WebCore::ResourceLoader::wasBlocked):
        (WebCore::ResourceLoader::cannotShowURL):
        * loader/ResourceLoader.h:
        * platform/KURL.h:
        (WebCore::KURL::isValid):
        * platform/network/ResourceHandle.cpp:
        (WebCore::ResourceHandle::create):
        (WebCore::ResourceHandle::scheduleFailure):
        (WebCore::ResourceHandle::fireFailure):
        (WebCore::portAllowed):
        * platform/network/ResourceHandle.h:
        (WebCore::ResourceHandle::):
        * platform/network/ResourceHandleClient.h:
        (WebCore::ResourceHandleClient::cannotShowURL):
        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):

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
        StyledElement.
        (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)]
WebCore:

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:
        (WebCore::ResourceHandle::scheduleBlockedFailure):
        (WebCore::ResourceHandle::fireBlockedFailure):
        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
        Make the Timer a member variable of ResourceHandleInternal so
        that it can be canceled if the ResourceHandle is destroyed.

LayoutTests:

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|
<http://bugs.webkit.org/show_bug.cgi?id=17924>
<rdar://problem/5806933>

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:
        (WebCore::createResourceResponseFromMacArchivedData):

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)]
WebCore:

        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.

LayoutTests:

        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:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/win/SimpleFontDataCGWin.cpp:
        (WebCore::SimpleFontData::platformInit):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::positionNewFloats):

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)]
WebKit:

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

        Rubberstamped by Darin Adler

        Remove WebArchiver.h/mm

        * WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

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

12 years ago2008-03-28 Brady Eidson <beidson@apple.com>
beidson@apple.com [Sat, 29 Mar 2008 00:40:15 +0000 (00:40 +0000)]
2008-03-28  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler

        Now that WebCore can create archives from a frame selection directly, we don't need it in WebArchiver anymore

        * WebCoreSupport/WebEditorClient.mm:
        (WebEditorClient::dataForArchivedSelection):

        * WebView/WebArchiver.h: Nuke archiveSelectionInFrame, as there are no remaining users
        * WebView/WebArchiver.mm: Ditto

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):

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

12 years agoVersioning.
sfalken@apple.com [Sat, 29 Mar 2008 00:35:45 +0000 (00:35 +0000)]
Versioning.

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

12 years agoWebCore:
beidson@apple.com [Sat, 29 Mar 2008 00:18:05 +0000 (00:18 +0000)]
WebCore:

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

        Reviewed by Darin Adler

        More Kit->Core WebArchive changes.

        Create an archive from the current selection in a frame

        * WebCore.base.exp:

        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::createFromSelection):
        * loader/archive/cf/LegacyWebArchive.h:

WebKit/mac:

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

        Reviewed by Darin Adler

        More Kit->Core WebArchive changes.

        Create an archive from the current selection in a frame

        * WebView/WebArchiver.mm: Remove one more *undeclared* method, the last method will drop off
          easily in a followup

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

12 years ago2008-03-28 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Sat, 29 Mar 2008 00:14:29 +0000 (00:14 +0000)]
2008-03-28  Kevin McCullough  <kmccullough@apple.com>

        - Somehow managed to duplicate code :(

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::didFinishLoading):

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

12 years ago2008-03-28 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Fri, 28 Mar 2008 23:50:47 +0000 (23:50 +0000)]
2008-03-28  Kevin McCullough  <kmccullough@apple.com>

        - Missed some changes in previous checkin.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::send): Get identifier from synchronous loader.
        (WebCore::XMLHttpRequest::didFinishLoading):

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

12 years ago2008-03-28 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Fri, 28 Mar 2008 23:28:56 +0000 (23:28 +0000)]
2008-03-28  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Adam.

        -<rdar://problem/5712804> XMLHttpRequests do not show response contents, preview images (14313)
        -<rdar://problem/5712931> XMLHttpRequests should be shown separately and grouped (14315)
        -<rdar://problem/5732836> XMLHttpRequest: Inspector should show network activity/XHR in Console (17233)
        - Send the XMLHttpRequest data to the Inspector Controller.

        * loader/FrameLoader.cpp: Return the identifier for this resource since we need it in the XHR case.
        (WebCore::FrameLoader::loadResourceSynchronously):
        * loader/FrameLoader.h: Ditto.
        * page/InspectorController.cpp:
        (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): We only need the data since the type will
        be XHR and the encoding is not used (we decoded earlier).
        (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource): Locking is necessary when setting and clearing
        the KJS::UString::Rep.
        (WebCore::InspectorResource::setXMLHttpRequestProperties):
        (WebCore::InspectorResource::sourceString): Return the decoded source.
        (WebCore::addSourceToFrame): No longer do the decoding here, it has been encapsulated in the InspectorResource.
        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
        * page/InspectorController.h: Pass a UString instead of copying to a WebCore::String.  In case we
        never ask for the string's contents this will save us an extra copy.
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::send): In the synchronous load case we normally do not keep the identifier
        but we need it to find the InspectorResource in order to tell it that it was loaded via XHR.
        (WebCore::XMLHttpRequest::didFinishLoading): Tell the InspectorController that its resource was loaded
        via XHR.
        * xml/XMLHttpRequest.h: Ditto.

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

12 years ago2008-03-28 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Fri, 28 Mar 2008 23:28:11 +0000 (23:28 +0000)]
2008-03-28  Stephanie Lewis  <slewis@apple.com>

        Update Windows Skipped list.  Bugs filed.

        * platform/win/Skipped:

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

12 years agoWebCore:
beidson@apple.com [Fri, 28 Mar 2008 23:11:32 +0000 (23:11 +0000)]
WebCore:

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

        Reviewed by Sam Weinig

        WebArchive saga continues - Can now make archives from ranges in WebCore

        Again, previous layout test coverage exercised this code

        * WebCore.base.exp:

        * editing/markup.cpp:
        (WebCore::createFullMarkup): Added a "markup from range" variant that copies the previous WebKit implementation
        * editing/markup.h:

        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::create):
        * loader/archive/cf/LegacyWebArchive.h:

WebKit/mac:

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

        Reviewed by Sam Weinig

        WebArchive saga continues - Can now make archives from ranges in WebCore

        * DOM/WebDOMOperations.mm:
        (-[DOMRange webArchive]):
        (-[DOMRange markupString]):

        * WebView/WebArchiver.h: Remove newly obsolete [WebArchiver archiveRange:]
        * WebView/WebArchiver.mm:

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

12 years ago 2008-03-28 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Fri, 28 Mar 2008 22:09:41 +0000 (22:09 +0000)]
 2008-03-28  Stephanie Lewis  <slewis@apple.com>

         windows build fix.

         * platform/win/MainThreadWin.cpp:
         (WebCore::initializeThreadingAndMainThread):

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

12 years agoWebCore:
beidson@apple.com [Fri, 28 Mar 2008 21:29:56 +0000 (21:29 +0000)]
WebCore:

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

        Reviewed by Sam Weinig

        More Kit->Core webarchive code movement

        * WebCore.base.exp:
        * editing/markup.cpp:
        (WebCore::createFullMarkup): Replacement for [DOMNode markupString], creating full markup at this node including
          the document type string, which the WebKit implementation did indirectly
        * editing/markup.h:

WebKit/mac:

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

        Reviewed by Sam Weinig

        More Kit->Core webarchive code movement

        * DOM/WebDOMOperations.mm:
        (-[DOMNode markupString]): Call createFullMarkup() instead

        * WebView/WebFrame.mm: Remove obsolete _markupStringFromNode
        * WebView/WebFrameInternal.h: Ditto

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

12 years ago2008-03-28 Darin Adler <darin@apple.com>
darin@apple.com [Fri, 28 Mar 2008 20:56:41 +0000 (20:56 +0000)]
2008-03-28  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - cut down on copying and refcount churn a little by using references a bit more for
          KURL and String

        * bindings/js/JSXMLHttpRequest.cpp:
        (WebCore::jsXMLHttpRequestPrototypeFunctionOpen): Use const KURL& instead of KURL.
        * css/StyleSheet.h:
        (WebCore::StyleSheet::href): Return const String& instead of String.
        (WebCore::StyleSheet::title): Ditto.
        * dom/Document.cpp:
        (WebCore::Document::completeURL): Use const KURL* for a local variable instead of
        KURL to avoid copying the KURL.
        * dom/Element.cpp:
        (WebCore::Element::baseURI): Use const KURL& instead of KURL.
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::hostname): Ditto.
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::isURLAllowed): Ditto.
        * html/HTMLKeygenElement.cpp: Removed unneeded include of KURL.
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected): Get rid of temporary
        KURL.
        * platform/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::createForFrame): Use const KURL& instead of KURL.

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

12 years ago Reviewed by Sam Weinig.
ap@webkit.org [Fri, 28 Mar 2008 20:21:39 +0000 (20:21 +0000)]
    Reviewed by Sam Weinig.

        Fix a dtoa thread safety issue.

        WebCore can call kjs_strtod without holding JS lock, but we didn't have thread safety
        compiled in for dtoa.

        This is a 0.5% regression on SunSpider, which Sam Weinig has volunteered to cover with
        his recent improvement.

        * kjs/dtoa.cpp:
        (Bigint::Balloc):
        (Bigint::Bfree):
        Changed to use fastMalloc/fastDelete - they are much faster than the dtoa custom version was
        in the presence of locking (but somewhat slower in single-threaded case).
        (Bigint::pow5mult): Got rid of the dreaded double-checked locking anti-pattern (had to
        restructure the code to avoid significant performance implications).
        (Bigint::lshift): Rewrote to avoid an allocation, if possible.

        (Bigint::rv_alloc):
        (Bigint::kjs_freedtoa):
        (Bigint::kjs_dtoa):
        Check for USE(MULTIPLE_THREADS), not dtoa legacy MULTIPLE_THREADS.

        * kjs/InitializeThreading.cpp: Added.
        (KJS::initializeThreading):
        * kjs/InitializeThreading.h: Added.
        Initialize threading at KJS level, if enabled.

        * kjs/dtoa.h: Expose dtoa mutex for KJS::initializeThreading.

        * kjs/testkjs.cpp: (kjsmain): Call initializeThreading.

        * JavaScriptCore.exp: Export KJS::initializeThreading.

        * GNUmakefile.am:
        * JavaScriptCore.exp:
        * JavaScriptCore.pri:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        * JavaScriptCoreSources.bkl:
        * JavaScriptCore.xcodeproj/project.pbxproj:
        Added InitializeThreading.{h,cpp}.

        * wtf/Threading.h: Removed a using directive for WTF::initializeThreading - it is only
        to be called from KJS::initializeThreading, and having it in the global namespace is useless.

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

12 years ago2008-03-28 Brent Fulgham <bfulgham@gmail.com>
beidson@apple.com [Fri, 28 Mar 2008 20:02:34 +0000 (20:02 +0000)]
2008-03-28  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Maciej, landed by Brady

        Correct build regression (http://bugs.webkit.org/show_bug.cgi?id=18148)

        * platform/graphics/win/GraphicsContextCairoWin.cpp:
        (WebCore::GraphicsContext::getWindowsContext):
        (WebCore::GraphicsContext::releaseWindowsContext):

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

12 years ago2008-03-28 Brady Eidson <beidson@apple.com>
beidson@apple.com [Fri, 28 Mar 2008 20:01:07 +0000 (20:01 +0000)]
2008-03-28  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig

        Fold [WebArchiver archiveFrame:] into WebDataSource - the last remaining caller

        * WebView/WebArchiver.h:
        * WebView/WebArchiver.mm:
        * WebView/WebDataSource.mm:
        (-[WebDataSource webArchive]):

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