Modified: trunk/Source/WebCore/ChangeLog (153477 => 153478)
--- trunk/Source/WebCore/ChangeLog 2013-07-30 17:01:40 UTC (rev 153477)
+++ trunk/Source/WebCore/ChangeLog 2013-07-30 17:27:22 UTC (rev 153478)
@@ -1,3 +1,17 @@
+2013-07-30 Patrick Gansterer <par...@webkit.org>
+
+ Use OwnPtr in RenderThemeWin and ScrollbarThemeWin
+ https://bugs.webkit.org/show_bug.cgi?id=117978
+
+ Reviewed by Brent Fulgham.
+
+ Use OwnPtr to avoid manual deletion of objects.
+
+ * platform/win/ScrollbarThemeWin.cpp:
+ (WebCore::ScrollbarThemeWin::paintTrackPiece):
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::drawControl):
+
2013-07-30 Alex Christensen <achristen...@apple.com>
Added include directories to Visual Studio for WebGL.
Modified: trunk/Source/WebCore/platform/win/ScrollbarThemeWin.cpp (153477 => 153478)
--- trunk/Source/WebCore/platform/win/ScrollbarThemeWin.cpp 2013-07-30 17:01:40 UTC (rev 153477)
+++ trunk/Source/WebCore/platform/win/ScrollbarThemeWin.cpp 2013-07-30 17:27:22 UTC (rev 153478)
@@ -256,17 +256,15 @@
::FillRect(hdc, &themeRect, HBRUSH(COLOR_SCROLLBAR+1));
else {
static WORD patternBits[8] = { 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55 };
- HBITMAP patternBitmap = ::CreateBitmap(8, 8, 1, 1, patternBits);
- HBRUSH brush = ::CreatePatternBrush(patternBitmap);
+ OwnPtr<HBITMAP> patternBitmap = adoptPtr(::CreateBitmap(8, 8, 1, 1, patternBits));
+ OwnPtr<HBRUSH> brush = adoptPtr(::CreatePatternBrush(patternBitmap.get()));
SaveDC(hdc);
::SetTextColor(hdc, ::GetSysColor(COLOR_3DHILIGHT));
::SetBkColor(hdc, ::GetSysColor(COLOR_3DFACE));
::SetBrushOrgEx(hdc, rect.x(), rect.y(), NULL);
- ::SelectObject(hdc, brush);
- ::FillRect(hdc, &themeRect, brush);
+ ::SelectObject(hdc, brush.get());
+ ::FillRect(hdc, &themeRect, brush.get());
::RestoreDC(hdc, -1);
- ::DeleteObject(brush);
- ::DeleteObject(patternBitmap);
}
}
Modified: trunk/Source/WebCore/rendering/RenderThemeWin.cpp (153477 => 153478)
--- trunk/Source/WebCore/rendering/RenderThemeWin.cpp 2013-07-30 17:01:40 UTC (rev 153477)
+++ trunk/Source/WebCore/rendering/RenderThemeWin.cpp 2013-07-30 17:27:22 UTC (rev 153478)
@@ -694,23 +694,21 @@
::DrawEdge(hdc, &widgetRect, EDGE_RAISED, BF_RECT | BF_SOFT | BF_MIDDLE | BF_ADJUST);
if (themeData.m_state == TUS_DISABLED) {
static WORD patternBits[8] = {0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55};
- HBITMAP patternBmp = ::CreateBitmap(8, 8, 1, 1, patternBits);
+ OwnPtr<HBITMAP> patternBmp = adoptPtr(::CreateBitmap(8, 8, 1, 1, patternBits));
if (patternBmp) {
- HBRUSH brush = (HBRUSH) ::CreatePatternBrush(patternBmp);
+ OwnPtr<HBRUSH> brush = adoptPtr(::CreatePatternBrush(patternBmp.get()));
COLORREF oldForeColor = ::SetTextColor(hdc, ::GetSysColor(COLOR_3DFACE));
COLORREF oldBackColor = ::SetBkColor(hdc, ::GetSysColor(COLOR_3DHILIGHT));
POINT p;
::GetViewportOrgEx(hdc, &p);
::SetBrushOrgEx(hdc, p.x + widgetRect.left, p.y + widgetRect.top, NULL);
- HBRUSH oldBrush = (HBRUSH) ::SelectObject(hdc, brush);
- ::FillRect(hdc, &widgetRect, brush);
+ HGDIOBJ oldBrush = ::SelectObject(hdc, brush.get());
+ ::FillRect(hdc, &widgetRect, brush.get());
::SetTextColor(hdc, oldForeColor);
::SetBkColor(hdc, oldBackColor);
::SelectObject(hdc, oldBrush);
- ::DeleteObject(brush);
} else
::FillRect(hdc, &widgetRect, (HBRUSH)COLOR_3DHILIGHT);
- ::DeleteObject(patternBmp);
}
} else {
// Push buttons, buttons, checkboxes and radios, and the dropdown arrow in menulists.