JavaScriptCore:
authordarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 2 Oct 2007 20:49:13 +0000 (20:49 +0000)
committerdarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 2 Oct 2007 20:49:13 +0000 (20:49 +0000)
commit4e605cc34f3d5f276677cea5fbaaa3898c72a6d0
treee3ceb8550901fc28accf5828ec20eb6b0c88096f
parent5baadff5d8432ae4ff6649b4ba8ba2e192661109
JavaScriptCore:

        Reviewed by Adam.

        - add support for GDI objects to OwnPtr; I plan to use this
          to fix some GDI handle leaks

        * kjs/grammar.y: Change parser to avoid macros that conflict
        with macros defined in Windows system headers: THIS, DELETE,
        VOID, IN, and CONST. This is needed because OwnPtr.h will now
        include <windows.h>.
        * kjs/keywords.table: Ditto.

        * wtf/OwnPtr.h: For PLATFORM(WIN), add support so that OwnPtr can be
        a GDI handle, and it will call DeleteObject. Also change to use the
        RemovePointer technique used by RetainPtr, so you can say OwnPtr<HBITMAP>
        rather than having to pass in the type pointed to by HBITMAP.

        * wtf/OwnPtrWin.cpp: Added.
        (WebCore::deleteOwnedPtr): Put this in a separate file so that we
        don't have to include <windows.h> in OwnPtr.h.

        * JavaScriptCore.vcproj/WTF/WTF.vcproj: Added OwnPtrWin.cpp.

WebCore:

        Reviewed by Adam.

        - add support for GDI objects to OwnPtr; I plan to use this
          to fix some GDI handle leaks

        * css/CSSGrammar.y: Change parser to avoid macro that conflicts
        with macro defined in Windows system headers: FLOAT. This is needed
        because OwnPtr.h will now include <windows.h>.
        * css/CSSParser.cpp: (WebCore::CSSParser::lex): Ditto.
        * css/tokenizer.flex: Ditto.

        * platform/win/CursorWin.cpp: (WebCore::Cursor::Cursor):
        Use OwnPtr for a few HBITMAP objects as a test case.

        * platform/win/COMPtr.h: (COMPtr::COMPtr): Fix so that we can use
        Query with other COMPtr. Before this would not compile if it was
        ever instantiated.

win:

        Reviewed by Adam.

        - started using the new OwnPtr everywhere we do DeleteObject

        * WebNodeHighlight.cpp:
        (WebNodeHighlight::updateWindow):
        * WebView.cpp:
        (WebView::WebView):
        (WebView::deleteBackingStore):
        (WebView::ensureBackingStore):
        (WebView::addToDirtyRegion):
        (WebView::scrollBackingStore):
        (WebView::updateBackingStore):
        (WebView::paint):
        (WebView::paintIntoBackingStore):
        (WebView::paintIntoWindow):
        * WebView.h:

Also set svn:eol-style on all .vcproj to CRLF.

Also added svn:ignore of *.user for WebKitInitializer.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25934 268f45cc-cd09-0410-ab3c-d52691b4dbfc
27 files changed:
JavaScriptCore/ChangeLog
JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj
JavaScriptCore/JavaScriptCore.vcproj/WTF/WTF.vcproj
JavaScriptCore/JavaScriptCore.vcproj/dftables/dftables.vcproj
JavaScriptCore/JavaScriptCore.vcproj/testkjs/testkjs.vcproj
JavaScriptCore/kjs/grammar.y
JavaScriptCore/kjs/keywords.table
JavaScriptCore/wtf/OwnPtr.h
JavaScriptCore/wtf/OwnPtrWin.cpp [new file with mode: 0755]
WebCore/ChangeLog
WebCore/WebCore.vcproj/WebCore.vcproj
WebCore/css/CSSGrammar.y
WebCore/css/CSSParser.cpp
WebCore/css/tokenizer.flex
WebCore/platform/win/COMPtr.h
WebCore/platform/win/CursorWin.cpp
WebKit/win/ChangeLog
WebKit/win/WebKit.vcproj/Interfaces.vcproj
WebKit/win/WebKit.vcproj/WebKit.vcproj
WebKit/win/WebKit.vcproj/WebKitGUID.vcproj
WebKit/win/WebNodeHighlight.cpp
WebKit/win/WebView.cpp
WebKit/win/WebView.h
WebKitTools/CLWrapper/CLWrapper.vcproj
WebKitTools/DumpRenderTree/win/DumpRenderTree.vcproj
WebKitTools/MIDLWrapper/MIDLWrapper.vcproj
WebKitTools/WebKitInitializer/WebKitInitializer.vcproj