[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
simon.fraser at apple.com
simon.fraser at apple.com
Wed Dec 22 13:15:22 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit e239426ea04f02d1ebd09852a001883f322d3cbf
Author: simon.fraser at apple.com <simon.fraser at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Sep 9 23:30:06 2010 +0000
2010-09-09 Simon Fraser <simon.fraser at apple.com>
Reviewed by Adam Roben.
Scrollbars fail to render in composited iframes.
https://bugs.webkit.org/show_bug.cgi?id=45335
Add a stack-based class, LocalWindowsContext, which does a getWindowsContext/
releaseWindowsContext automatically.
Also fix getWindowsContext to create a bitmap context if mayCreateBitmap
is true, and if the context's HDC is null. This fixes scrollbar rendering
in compositing layers.
Use LocalWindowsContext in places where we had bare getWindowsContext() calls.
* platform/graphics/win/LocalWindowsContext.h
(WebCore::LocalWindowsContext::LocalWindowsContext):
(WebCore::LocalWindowsContext::~LocalWindowsContext):
(WebCore::LocalWindowsContext::hdc):
* platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::GraphicsContext::releaseWindowsContext):
* platform/graphics/win/GraphicsContextWin.cpp:
(WebCore::GraphicsContext::getWindowsContext):
* platform/graphics/win/IconWin.cpp:
(WebCore::Icon::paint):
* platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
(WebCore::MediaPlayerPrivate::paint):
* platform/win/ScrollbarThemeWin.cpp:
(WebCore::ScrollbarThemeWin::paintTrackPiece):
(WebCore::ScrollbarThemeWin::paintButton):
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginView::paintWindowedPluginIntoContext):
(WebCore::PluginView::paint):
* rendering/RenderThemeWin.cpp:
(WebCore::drawControl):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67125 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 644af26..78d98c4 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,40 @@
+2010-09-09 Simon Fraser <simon.fraser at apple.com>
+
+ Reviewed by Adam Roben.
+
+ Scrollbars fail to render in composited iframes.
+ https://bugs.webkit.org/show_bug.cgi?id=45335
+
+ Add a stack-based class, LocalWindowsContext, which does a getWindowsContext/
+ releaseWindowsContext automatically.
+
+ Also fix getWindowsContext to create a bitmap context if mayCreateBitmap
+ is true, and if the context's HDC is null. This fixes scrollbar rendering
+ in compositing layers.
+
+ Use LocalWindowsContext in places where we had bare getWindowsContext() calls.
+
+ * platform/graphics/win/LocalWindowsContext.h
+ (WebCore::LocalWindowsContext::LocalWindowsContext):
+ (WebCore::LocalWindowsContext::~LocalWindowsContext):
+ (WebCore::LocalWindowsContext::hdc):
+ * platform/graphics/win/GraphicsContextCGWin.cpp:
+ (WebCore::GraphicsContext::releaseWindowsContext):
+ * platform/graphics/win/GraphicsContextWin.cpp:
+ (WebCore::GraphicsContext::getWindowsContext):
+ * platform/graphics/win/IconWin.cpp:
+ (WebCore::Icon::paint):
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
+ (WebCore::MediaPlayerPrivate::paint):
+ * platform/win/ScrollbarThemeWin.cpp:
+ (WebCore::ScrollbarThemeWin::paintTrackPiece):
+ (WebCore::ScrollbarThemeWin::paintButton):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::paintWindowedPluginIntoContext):
+ (WebCore::PluginView::paint):
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::drawControl):
+
2010-09-09 Vincent Scheib <scheib at chromium.org>
Reviewed by James Robinson.
diff --git a/WebCore/WebCore.vcproj/WebCore.vcproj b/WebCore/WebCore.vcproj/WebCore.vcproj
index 47b6f4b..b6cd2c5 100644
--- a/WebCore/WebCore.vcproj/WebCore.vcproj
+++ b/WebCore/WebCore.vcproj/WebCore.vcproj
@@ -23461,6 +23461,14 @@
>
</File>
<File
+ RelativePath="..\loader\CachedResourceLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\CachedResourceLoader.h"
+ >
+ </File>
+ <File
RelativePath="..\loader\CachedScript.cpp"
>
</File>
@@ -23497,14 +23505,6 @@
>
</File>
<File
- RelativePath="..\loader\CachedResourceLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\CachedResourceLoader.h"
- >
- </File>
- <File
RelativePath="..\loader\DocumentLoader.cpp"
>
</File>
@@ -25611,6 +25611,10 @@
>
</File>
<File
+ RelativePath="..\platform\graphics\win\LocalWindowsContext.h"
+ >
+ </File>
+ <File
RelativePath="..\platform\graphics\win\MediaPlayerPrivateFullscreenWindow.cpp"
>
</File>
@@ -37129,327 +37133,311 @@
>
</File>
<File
- RelativePath="..\fileapi\Blob.cpp"
- >
- </File>
- <File
- RelativePath="..\fileapi\Blob.h"
- >
- </File>
- <File
- RelativePath="..\fileapi\BlobBuilder.cpp"
- >
- </File>
- <File
- RelativePath="..\fileapi\BlobBuilder.h"
- >
- </File>
- <File
- RelativePath="..\fileapi\BlobURL.cpp"
+ RelativePath="..\html\AsyncImageResizer.cpp"
>
</File>
<File
- RelativePath="..\fileapi\BlobURL.h"
+ RelativePath="..\html\AsyncImageResizer.h"
>
</File>
<File
- RelativePath="..\fileapi\DirectoryEntry.cpp"
+ RelativePath="..\fileapi\Blob.cpp"
>
</File>
<File
- RelativePath="..\fileapi\DirectoryEntry.h"
+ RelativePath="..\fileapi\Blob.h"
>
</File>
<File
- RelativePath="..\fileapi\DirectoryReader.cpp"
+ RelativePath="..\fileapi\BlobBuilder.cpp"
>
</File>
<File
- RelativePath="..\fileapi\DirectoryReader.h"
+ RelativePath="..\fileapi\BlobBuilder.h"
>
</File>
<File
- RelativePath="..\fileapi\DOMFilePath.cpp"
+ RelativePath="..\fileapi\BlobURL.cpp"
>
</File>
<File
- RelativePath="..\fileapi\DOMFilePath.h"
+ RelativePath="..\fileapi\BlobURL.h"
>
</File>
<File
- RelativePath="..\fileapi\DOMFileSystem.cpp"
+ RelativePath="..\html\canvas\CanvasGradient.cpp"
>
</File>
<File
- RelativePath="..\fileapi\DOMFileSystem.h"
+ RelativePath="..\html\canvas\CanvasGradient.h"
>
</File>
<File
- RelativePath="..\fileapi\EntriesCallback.h"
+ RelativePath="..\html\canvas\CanvasPattern.cpp"
>
</File>
<File
- RelativePath="..\fileapi\Entry.cpp"
+ RelativePath="..\html\canvas\CanvasPattern.h"
>
</File>
<File
- RelativePath="..\fileapi\Entry.h"
+ RelativePath="..\html\canvas\CanvasPixelArray.cpp"
>
</File>
<File
- RelativePath="..\fileapi\EntryArray.cpp"
+ RelativePath="..\html\canvas\CanvasPixelArray.h"
>
</File>
<File
- RelativePath="..\fileapi\EntryArray.h"
+ RelativePath="..\html\canvas\CanvasRenderingContext.cpp"
>
</File>
<File
- RelativePath="..\fileapi\EntryCallback.h"
+ RelativePath="..\html\canvas\CanvasRenderingContext.h"
>
</File>
<File
- RelativePath="..\fileapi\ErrorCallback.h"
+ RelativePath="..\html\canvas\CanvasRenderingContext2D.cpp"
>
</File>
<File
- RelativePath="..\fileapi\File.cpp"
+ RelativePath="..\html\canvas\CanvasRenderingContext2D.h"
>
</File>
<File
- RelativePath="..\fileapi\File.h"
+ RelativePath="..\html\canvas\CanvasStyle.cpp"
>
</File>
<File
- RelativePath="..\fileapi\FileEntry.cpp"
+ RelativePath="..\html\canvas\CanvasStyle.h"
>
</File>
<File
- RelativePath="..\fileapi\FileEntry.h"
+ RelativePath="..\html\CollectionCache.cpp"
>
+ <FileConfiguration
+ Name="Release_PGO|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ WholeProgramOptimization="true"
+ />
+ </FileConfiguration>
</File>
<File
- RelativePath="..\fileapi\FileError.h"
+ RelativePath="..\html\CollectionCache.h"
>
</File>
<File
- RelativePath="..\fileapi\FileException.h"
+ RelativePath="..\html\CollectionType.h"
>
</File>
<File
- RelativePath="..\fileapi\FileList.cpp"
+ RelativePath="..\html\DataGridColumn.cpp"
>
</File>
<File
- RelativePath="..\fileapi\FileList.h"
+ RelativePath="..\html\DataGridColumn.h"
>
</File>
<File
- RelativePath="..\fileapi\FileReader.cpp"
+ RelativePath="..\html\DataGridColumnList.cpp"
>
</File>
<File
- RelativePath="..\fileapi\FileReader.h"
+ RelativePath="..\html\DataGridColumnList.h"
>
</File>
<File
- RelativePath="..\fileapi\FileReaderSync.cpp"
+ RelativePath="..\html\DataGridDataSource.h"
>
</File>
<File
- RelativePath="..\fileapi\FileReaderSync.h"
+ RelativePath="..\html\DateComponents.cpp"
>
</File>
<File
- RelativePath="..\fileapi\FileStreamProxy.cpp"
+ RelativePath="..\html\DateComponents.h"
>
</File>
<File
- RelativePath="..\fileapi\FileStreamProxy.h"
+ RelativePath="..\fileapi\DirectoryEntry.cpp"
>
</File>
<File
- RelativePath="..\fileapi\FileSystemCallback.h"
+ RelativePath="..\fileapi\DirectoryEntry.h"
>
</File>
<File
- RelativePath="..\fileapi\FileSystemCallbacks.cpp"
+ RelativePath="..\fileapi\DirectoryReader.cpp"
>
</File>
<File
- RelativePath="..\fileapi\FileSystemCallbacks.h"
+ RelativePath="..\fileapi\DirectoryReader.h"
>
</File>
<File
- RelativePath="..\fileapi\FileThread.cpp"
+ RelativePath="..\html\DOMDataGridDataSource.cpp"
>
</File>
<File
- RelativePath="..\fileapi\FileThread.h"
+ RelativePath="..\html\DOMDataGridDataSource.h"
>
</File>
<File
- RelativePath="..\fileapi\FileThreadTask.h"
+ RelativePath="..\fileapi\DOMFilePath.cpp"
>
</File>
<File
- RelativePath="..\fileapi\FileWriter.cpp"
+ RelativePath="..\fileapi\DOMFilePath.h"
>
</File>
<File
- RelativePath="..\fileapi\FileWriter.h"
+ RelativePath="..\fileapi\DOMFileSystem.cpp"
>
</File>
<File
- RelativePath="..\fileapi\FileWriterClient.h"
+ RelativePath="..\fileapi\DOMFileSystem.h"
>
</File>
<File
- RelativePath="..\fileapi\Flags.h"
+ RelativePath="..\html\DOMFormData.cpp"
>
</File>
<File
- RelativePath="..\fileapi\LocalFileSystem.cpp"
+ RelativePath="..\html\DOMFormData.h"
>
</File>
<File
- RelativePath="..\fileapi\LocalFileSystem.h"
+ RelativePath="..\fileapi\EntriesCallback.h"
>
</File>
<File
- RelativePath="..\fileapi\Metadata.h"
+ RelativePath="..\fileapi\Entry.cpp"
>
</File>
<File
- RelativePath="..\fileapi\MetadataCallback.h"
+ RelativePath="..\fileapi\Entry.h"
>
</File>
<File
- RelativePath="..\fileapi\ThreadableBlobRegistry.cpp"
+ RelativePath="..\fileapi\EntryArray.cpp"
>
</File>
<File
- RelativePath="..\fileapi\ThreadableBlobRegistry.h"
+ RelativePath="..\fileapi\EntryArray.h"
>
</File>
<File
- RelativePath="..\html\AsyncImageResizer.cpp"
+ RelativePath="..\fileapi\EntryCallback.h"
>
</File>
<File
- RelativePath="..\html\AsyncImageResizer.h"
+ RelativePath="..\fileapi\ErrorCallback.h"
>
</File>
<File
- RelativePath="..\html\canvas\CanvasGradient.cpp"
+ RelativePath="..\fileapi\File.cpp"
>
</File>
<File
- RelativePath="..\html\canvas\CanvasGradient.h"
+ RelativePath="..\fileapi\File.h"
>
</File>
<File
- RelativePath="..\html\canvas\CanvasPattern.cpp"
+ RelativePath="..\fileapi\FileEntry.cpp"
>
</File>
<File
- RelativePath="..\html\canvas\CanvasPattern.h"
+ RelativePath="..\fileapi\FileEntry.h"
>
</File>
<File
- RelativePath="..\html\canvas\CanvasPixelArray.cpp"
+ RelativePath="..\fileapi\FileError.h"
>
</File>
<File
- RelativePath="..\html\canvas\CanvasPixelArray.h"
+ RelativePath="..\fileapi\FileException.h"
>
</File>
<File
- RelativePath="..\html\canvas\CanvasRenderingContext.cpp"
+ RelativePath="..\fileapi\FileList.cpp"
>
</File>
<File
- RelativePath="..\html\canvas\CanvasRenderingContext.h"
+ RelativePath="..\fileapi\FileList.h"
>
</File>
<File
- RelativePath="..\html\canvas\CanvasRenderingContext2D.cpp"
+ RelativePath="..\fileapi\FileReader.cpp"
>
</File>
<File
- RelativePath="..\html\canvas\CanvasRenderingContext2D.h"
+ RelativePath="..\fileapi\FileReader.h"
>
</File>
<File
- RelativePath="..\html\canvas\CanvasStyle.cpp"
+ RelativePath="..\fileapi\FileReaderSync.cpp"
>
</File>
<File
- RelativePath="..\html\canvas\CanvasStyle.h"
+ RelativePath="..\fileapi\FileReaderSync.h"
>
</File>
<File
- RelativePath="..\html\CollectionCache.cpp"
+ RelativePath="..\fileapi\FileStreamProxy.cpp"
>
- <FileConfiguration
- Name="Release_PGO|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- WholeProgramOptimization="true"
- />
- </FileConfiguration>
</File>
<File
- RelativePath="..\html\CollectionCache.h"
+ RelativePath="..\fileapi\FileStreamProxy.h"
>
</File>
<File
- RelativePath="..\html\CollectionType.h"
+ RelativePath="..\fileapi\FileSystemCallback.h"
>
</File>
<File
- RelativePath="..\html\DataGridColumn.cpp"
+ RelativePath="..\fileapi\FileSystemCallbacks.cpp"
>
</File>
<File
- RelativePath="..\html\DataGridColumn.h"
+ RelativePath="..\fileapi\FileSystemCallbacks.h"
>
</File>
<File
- RelativePath="..\html\DataGridColumnList.cpp"
+ RelativePath="..\fileapi\FileThread.cpp"
>
</File>
<File
- RelativePath="..\html\DataGridColumnList.h"
+ RelativePath="..\fileapi\FileThread.h"
>
</File>
<File
- RelativePath="..\html\DataGridDataSource.h"
+ RelativePath="..\fileapi\FileThreadTask.h"
>
</File>
<File
- RelativePath="..\html\DateComponents.cpp"
+ RelativePath="..\fileapi\FileWriter.cpp"
>
</File>
<File
- RelativePath="..\html\DateComponents.h"
+ RelativePath="..\fileapi\FileWriter.h"
>
</File>
<File
- RelativePath="..\html\DOMDataGridDataSource.cpp"
+ RelativePath="..\fileapi\FileWriterClient.h"
>
</File>
<File
- RelativePath="..\html\DOMDataGridDataSource.h"
+ RelativePath="..\fileapi\Flags.h"
>
</File>
<File
- RelativePath="..\html\DOMFormData.cpp"
+ RelativePath="..\html\FormDataList.cpp"
>
</File>
<File
- RelativePath="..\html\DOMFormData.h"
+ RelativePath="..\html\FormDataList.h"
>
</File>
<File
@@ -37461,14 +37449,6 @@
>
</File>
<File
- RelativePath="..\html\FormDataList.cpp"
- >
- </File>
- <File
- RelativePath="..\html\FormDataList.h"
- >
- </File>
- <File
RelativePath="..\html\HTMLAllCollection.cpp"
>
</File>
@@ -41849,6 +41829,14 @@
>
</File>
<File
+ RelativePath="..\fileapi\LocalFileSystem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\LocalFileSystem.h"
+ >
+ </File>
+ <File
RelativePath="..\html\MediaDocument.cpp"
>
</File>
@@ -41861,6 +41849,14 @@
>
</File>
<File
+ RelativePath="..\fileapi\Metadata.h"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\MetadataCallback.h"
+ >
+ </File>
+ <File
RelativePath="..\html\PluginDocument.cpp"
>
</File>
@@ -41868,142 +41864,6 @@
RelativePath="..\html\PluginDocument.h"
>
</File>
- <Filter
- Name="parser"
- >
- <File
- RelativePath="..\html\parser\CSSPreloadScanner.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\CSSPreloadScanner.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLConstructionSite.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLConstructionSite.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLDocumentParser.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLDocumentParser.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLEntityParser.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLEntityParser.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLElementStack.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLElementStack.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLEntitySearch.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLEntitySearch.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLFormattingElementList.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLFormattingElementList.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLInputStream.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLParserScheduler.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLParserScheduler.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLPreloadScanner.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLPreloadScanner.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLScriptRunner.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLScriptRunner.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLScriptRunnerHost.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLToken.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLTokenizer.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLTokenizer.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLTreeBuilder.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLTreeBuilder.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLViewSourceParser.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLViewSourceParser.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\TextDocumentParser.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\TextDocumentParser.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\TextViewSourceParser.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\TextViewSourceParser.h"
- >
- </File>
- </Filter>
<File
RelativePath="..\html\StepRange.cpp"
>
@@ -42017,6 +41877,14 @@
>
</File>
<File
+ RelativePath="..\fileapi\ThreadableBlobRegistry.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\ThreadableBlobRegistry.h"
+ >
+ </File>
+ <File
RelativePath="..\html\TimeRanges.cpp"
>
</File>
@@ -42036,6 +41904,142 @@
RelativePath="..\html\VoidCallback.h"
>
</File>
+ <Filter
+ Name="parser"
+ >
+ <File
+ RelativePath="..\html\parser\CSSPreloadScanner.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\CSSPreloadScanner.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLConstructionSite.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLConstructionSite.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLDocumentParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLDocumentParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLElementStack.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLElementStack.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLEntityParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLEntityParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLEntitySearch.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLEntitySearch.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLFormattingElementList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLFormattingElementList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLInputStream.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLParserScheduler.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLParserScheduler.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLPreloadScanner.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLPreloadScanner.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLScriptRunner.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLScriptRunner.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLScriptRunnerHost.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLToken.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLTokenizer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLTokenizer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLTreeBuilder.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLTreeBuilder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLViewSourceParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLViewSourceParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\TextDocumentParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\TextDocumentParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\TextViewSourceParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\TextViewSourceParser.h"
+ >
+ </File>
+ </Filter>
</Filter>
<Filter
Name="bindings"
@@ -52308,6 +52312,14 @@
>
</File>
<File
+ RelativePath="..\inspector\front-end\heapProfiler.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\HeapSnapshotView.js"
+ >
+ </File>
+ <File
RelativePath="..\inspector\front-end\helpScreen.css"
>
</File>
@@ -52348,14 +52360,6 @@
>
</File>
<File
- RelativePath="..\inspector\front-end\heapProfiler.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\HeapSnapshotView.js"
- >
- </File>
- <File
RelativePath="..\inspector\front-end\MetricsSidebarPane.js"
>
</File>
diff --git a/WebCore/platform/graphics/win/GraphicsContextCGWin.cpp b/WebCore/platform/graphics/win/GraphicsContextCGWin.cpp
index 7b65e96..0203d42 100644
--- a/WebCore/platform/graphics/win/GraphicsContextCGWin.cpp
+++ b/WebCore/platform/graphics/win/GraphicsContextCGWin.cpp
@@ -79,37 +79,37 @@ GraphicsContext::GraphicsContext(HDC hdc, bool hasAlpha)
// suitable for all clients?
void GraphicsContext::releaseWindowsContext(HDC hdc, const IntRect& dstRect, bool supportAlphaBlend, bool mayCreateBitmap)
{
- if (mayCreateBitmap && hdc && inTransparencyLayer()) {
- if (dstRect.isEmpty())
- return;
-
- HBITMAP bitmap = static_cast<HBITMAP>(GetCurrentObject(hdc, OBJ_BITMAP));
-
- // Need to make a CGImage out of the bitmap's pixel buffer and then draw
- // it into our context.
- BITMAP info;
- GetObject(bitmap, sizeof(info), &info);
- ASSERT(info.bmBitsPixel == 32);
-
- CGColorSpaceRef deviceRGB = CGColorSpaceCreateDeviceRGB();
- CGContextRef bitmapContext = CGBitmapContextCreate(info.bmBits, info.bmWidth, info.bmHeight, 8,
- info.bmWidthBytes, deviceRGB, kCGBitmapByteOrder32Little |
- (supportAlphaBlend ? kCGImageAlphaPremultipliedFirst : kCGImageAlphaNoneSkipFirst));
- CGColorSpaceRelease(deviceRGB);
-
- CGImageRef image = CGBitmapContextCreateImage(bitmapContext);
- CGContextDrawImage(m_data->m_cgContext.get(), dstRect, image);
-
- // Delete all our junk.
- CGImageRelease(image);
- CGContextRelease(bitmapContext);
- ::DeleteDC(hdc);
- ::DeleteObject(bitmap);
-
+ bool createdBitmap = mayCreateBitmap && (!m_data->m_hdc || inTransparencyLayer());
+ if (!createdBitmap) {
+ m_data->restore();
return;
}
- m_data->restore();
+ if (dstRect.isEmpty())
+ return;
+
+ HBITMAP bitmap = static_cast<HBITMAP>(GetCurrentObject(hdc, OBJ_BITMAP));
+
+ // Need to make a CGImage out of the bitmap's pixel buffer and then draw
+ // it into our context.
+ BITMAP info;
+ GetObject(bitmap, sizeof(info), &info);
+ ASSERT(info.bmBitsPixel == 32);
+
+ CGColorSpaceRef deviceRGB = CGColorSpaceCreateDeviceRGB();
+ CGContextRef bitmapContext = CGBitmapContextCreate(info.bmBits, info.bmWidth, info.bmHeight, 8,
+ info.bmWidthBytes, deviceRGB, kCGBitmapByteOrder32Little |
+ (supportAlphaBlend ? kCGImageAlphaPremultipliedFirst : kCGImageAlphaNoneSkipFirst));
+ CGColorSpaceRelease(deviceRGB);
+
+ CGImageRef image = CGBitmapContextCreateImage(bitmapContext);
+ CGContextDrawImage(m_data->m_cgContext.get(), dstRect, image);
+
+ // Delete all our junk.
+ CGImageRelease(image);
+ CGContextRelease(bitmapContext);
+ ::DeleteDC(hdc);
+ ::DeleteObject(bitmap);
}
void GraphicsContext::drawWindowsBitmap(WindowsBitmap* image, const IntPoint& point)
diff --git a/WebCore/platform/graphics/win/GraphicsContextCairoWin.cpp b/WebCore/platform/graphics/win/GraphicsContextCairoWin.cpp
index 94df6ae..a989c24 100644
--- a/WebCore/platform/graphics/win/GraphicsContextCairoWin.cpp
+++ b/WebCore/platform/graphics/win/GraphicsContextCairoWin.cpp
@@ -92,7 +92,8 @@ static void setRGBABitmapAlpha(unsigned char* bytes, size_t length, unsigned cha
void GraphicsContext::releaseWindowsContext(HDC hdc, const IntRect& dstRect, bool supportAlphaBlend, bool mayCreateBitmap)
{
- if (!mayCreateBitmap || !hdc || !inTransparencyLayer()) {
+ bool createdBitmap = mayCreateBitmap && (!m_data->m_hdc || inTransparencyLayer());
+ if (!hdc || !createdBitmap) {
m_data->restore();
return;
}
diff --git a/WebCore/platform/graphics/win/GraphicsContextWin.cpp b/WebCore/platform/graphics/win/GraphicsContextWin.cpp
index 161b9c6..f1953e4 100644
--- a/WebCore/platform/graphics/win/GraphicsContextWin.cpp
+++ b/WebCore/platform/graphics/win/GraphicsContextWin.cpp
@@ -101,7 +101,7 @@ GraphicsContext::WindowsBitmap* GraphicsContext::createWindowsBitmap(IntSize siz
HDC GraphicsContext::getWindowsContext(const IntRect& dstRect, bool supportAlphaBlend, bool mayCreateBitmap)
{
// FIXME: Should a bitmap be created also when a shadow is set?
- if (mayCreateBitmap && inTransparencyLayer()) {
+ if (mayCreateBitmap && (!m_data->m_hdc || inTransparencyLayer())) {
if (dstRect.isEmpty())
return 0;
diff --git a/WebCore/platform/graphics/win/IconWin.cpp b/WebCore/platform/graphics/win/IconWin.cpp
index cc9343a..05959e0 100644
--- a/WebCore/platform/graphics/win/IconWin.cpp
+++ b/WebCore/platform/graphics/win/IconWin.cpp
@@ -23,6 +23,7 @@
#include "Icon.h"
#include "GraphicsContext.h"
+#include "LocalWindowsContext.h"
#include "PlatformString.h"
#include <tchar.h>
#include <windows.h>
@@ -90,11 +91,8 @@ void Icon::paint(GraphicsContext* context, const IntRect& r)
#if OS(WINCE)
context->drawIcon(m_hIcon, r, DI_NORMAL);
#else
- HDC hdc = context->getWindowsContext(r);
-
- DrawIconEx(hdc, r.x(), r.y(), m_hIcon, r.width(), r.height(), 0, 0, DI_NORMAL);
-
- context->releaseWindowsContext(hdc, r);
+ LocalWindowsContext windowContext(context, r);
+ DrawIconEx(windowContext.hdc(), r.x(), r.y(), m_hIcon, r.width(), r.height(), 0, 0, DI_NORMAL);
#endif
}
diff --git a/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp b/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp
index 34f1135..c37f5d5 100644
--- a/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp
+++ b/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp
@@ -600,6 +600,7 @@ void MediaPlayerPrivate::paint(GraphicsContext* p, const IntRect& r)
bool usingTempBitmap = false;
OwnPtr<GraphicsContext::WindowsBitmap> bitmap;
+ // FIXME: use LocalWindowsContext.
HDC hdc = p->getWindowsContext(r);
if (!hdc) {
// The graphics context doesn't have an associated HDC so create a temporary
diff --git a/WebCore/platform/win/ScrollbarThemeWin.cpp b/WebCore/platform/win/ScrollbarThemeWin.cpp
index a8d374a..ff3aaa4 100644
--- a/WebCore/platform/win/ScrollbarThemeWin.cpp
+++ b/WebCore/platform/win/ScrollbarThemeWin.cpp
@@ -27,6 +27,7 @@
#include "ScrollbarThemeWin.h"
#include "GraphicsContext.h"
+#include "LocalWindowsContext.h"
#include "PlatformMouseEvent.h"
#include "Scrollbar.h"
#include "SoftLinking.h"
@@ -240,14 +241,17 @@ void ScrollbarThemeWin::paintTrackPiece(GraphicsContext* context, Scrollbar* scr
bool alphaBlend = false;
if (scrollbarTheme)
alphaBlend = IsThemeBackgroundPartiallyTransparent(scrollbarTheme, part, state);
- HDC hdc = context->getWindowsContext(rect, alphaBlend);
+
+ LocalWindowsContext windowsContext(context, rect, alphaBlend);
RECT themeRect(rect);
+
if (scrollbarTheme)
- DrawThemeBackground(scrollbarTheme, hdc, part, state, &themeRect, 0);
+ DrawThemeBackground(scrollbarTheme, windowsContext.hdc(), part, state, &themeRect, 0);
else {
DWORD color3DFace = ::GetSysColor(COLOR_3DFACE);
DWORD colorScrollbar = ::GetSysColor(COLOR_SCROLLBAR);
DWORD colorWindow = ::GetSysColor(COLOR_WINDOW);
+ HDC hdc = windowsContext.hdc();
if ((color3DFace != colorScrollbar) && (colorWindow != colorScrollbar))
::FillRect(hdc, &themeRect, HBRUSH(COLOR_SCROLLBAR+1));
else {
@@ -265,7 +269,6 @@ void ScrollbarThemeWin::paintTrackPiece(GraphicsContext* context, Scrollbar* scr
::DeleteObject(patternBitmap);
}
}
- context->releaseWindowsContext(hdc, rect, alphaBlend);
}
void ScrollbarThemeWin::paintButton(GraphicsContext* context, Scrollbar* scrollbar, const IntRect& rect, ScrollbarPart part)
@@ -308,14 +311,13 @@ void ScrollbarThemeWin::paintButton(GraphicsContext* context, Scrollbar* scrollb
bool alphaBlend = false;
if (scrollbarTheme)
alphaBlend = IsThemeBackgroundPartiallyTransparent(scrollbarTheme, SP_BUTTON, xpState);
- HDC hdc = context->getWindowsContext(rect, alphaBlend);
+ LocalWindowsContext windowsContext(context, rect, alphaBlend);
RECT themeRect(rect);
if (scrollbarTheme)
- DrawThemeBackground(scrollbarTheme, hdc, SP_BUTTON, xpState, &themeRect, 0);
+ DrawThemeBackground(scrollbarTheme, windowsContext.hdc(), SP_BUTTON, xpState, &themeRect, 0);
else
- ::DrawFrameControl(hdc, &themeRect, DFC_SCROLL, classicState);
- context->releaseWindowsContext(hdc, rect, alphaBlend);
+ ::DrawFrameControl(windowsContext.hdc(), &themeRect, DFC_SCROLL, classicState);
}
static IntRect gripperRect(int thickness, const IntRect& thumbRect)
diff --git a/WebCore/plugins/win/PluginViewWin.cpp b/WebCore/plugins/win/PluginViewWin.cpp
index 8dbb04b..84d2984 100644
--- a/WebCore/plugins/win/PluginViewWin.cpp
+++ b/WebCore/plugins/win/PluginViewWin.cpp
@@ -50,6 +50,7 @@
#include "JSDOMBinding.h"
#include "JSDOMWindow.h"
#include "KeyboardEvent.h"
+#include "LocalWindowsContext.h"
#include "MIMETypeRegistry.h"
#include "MouseEvent.h"
#include "Page.h"
@@ -563,7 +564,7 @@ void PluginView::paintWindowedPluginIntoContext(GraphicsContext* context, const
ASSERT(parent()->isFrameView());
IntPoint locationInWindow = static_cast<FrameView*>(parent())->contentsToWindow(frameRect().location());
- HDC hdc = context->getWindowsContext(frameRect(), false);
+ LocalWindowsContext windowsContext(context, frameRect(), false);
#if PLATFORM(CAIRO)
// Must flush drawings up to this point to the backing metafile, otherwise the
@@ -573,6 +574,7 @@ void PluginView::paintWindowedPluginIntoContext(GraphicsContext* context, const
cairo_show_page(ctx);
#endif
+ HDC hdc = windowsContext.hdc();
XFORM originalTransform;
GetWorldTransform(hdc, &originalTransform);
@@ -587,8 +589,6 @@ void PluginView::paintWindowedPluginIntoContext(GraphicsContext* context, const
paintIntoTransformedContext(hdc);
SetWorldTransform(hdc, &originalTransform);
-
- context->releaseWindowsContext(hdc, frameRect(), false);
#endif
}
@@ -617,7 +617,7 @@ void PluginView::paint(GraphicsContext* context, const IntRect& rect)
ASSERT(parent()->isFrameView());
IntRect rectInWindow = static_cast<FrameView*>(parent())->contentsToWindow(frameRect());
- HDC hdc = context->getWindowsContext(rectInWindow, m_isTransparent);
+ LocalWindowsContext windowsContext(context, rectInWindow, m_isTransparent);
// On Safari/Windows without transparency layers the GraphicsContext returns the HDC
// of the window and the plugin expects that the passed in DC has window coordinates.
@@ -626,16 +626,14 @@ void PluginView::paint(GraphicsContext* context, const IntRect& rect)
#if !PLATFORM(QT) && !OS(WINCE)
if (!context->inTransparencyLayer()) {
XFORM transform;
- GetWorldTransform(hdc, &transform);
+ GetWorldTransform(windowsContext.hdc(), &transform);
transform.eDx = 0;
transform.eDy = 0;
- SetWorldTransform(hdc, &transform);
+ SetWorldTransform(windowsContext.hdc(), &transform);
}
#endif
- paintIntoTransformedContext(hdc);
-
- context->releaseWindowsContext(hdc, frameRect(), m_isTransparent);
+ paintIntoTransformedContext(windowsContext.hdc());
}
void PluginView::handleKeyboardEvent(KeyboardEvent* event)
diff --git a/WebCore/rendering/RenderThemeWin.cpp b/WebCore/rendering/RenderThemeWin.cpp
index 45965e6..8a33173 100644
--- a/WebCore/rendering/RenderThemeWin.cpp
+++ b/WebCore/rendering/RenderThemeWin.cpp
@@ -26,6 +26,7 @@
#include "Element.h"
#include "Frame.h"
#include "GraphicsContext.h"
+#include "LocalWindowsContext.h"
#include "RenderSlider.h"
#include "Settings.h"
#include "SoftLinking.h"
@@ -558,11 +559,12 @@ static void drawControl(GraphicsContext* context, RenderObject* o, HANDLE theme,
bool alphaBlend = false;
if (theme)
alphaBlend = IsThemeBackgroundPartiallyTransparent(theme, themeData.m_part, themeData.m_state);
- HDC hdc = context->getWindowsContext(r, alphaBlend);
+ LocalWindowsContext windowsContext(context, r, alphaBlend);
RECT widgetRect = r;
if (theme)
- DrawThemeBackground(theme, hdc, themeData.m_part, themeData.m_state, &widgetRect, NULL);
+ DrawThemeBackground(theme, windowsContext.hdc(), themeData.m_part, themeData.m_state, &widgetRect, 0);
else {
+ HDC hdc = windowsContext.hdc();
if (themeData.m_part == TFP_TEXTFIELD) {
::DrawEdge(hdc, &widgetRect, EDGE_SUNKEN, BF_RECT | BF_ADJUST);
if (themeData.m_state == TS_DISABLED || themeData.m_state == TFS_READONLY)
@@ -608,7 +610,6 @@ static void drawControl(GraphicsContext* context, RenderObject* o, HANDLE theme,
::DrawFrameControl(hdc, &widgetRect, themeData.m_part, themeData.m_state);
}
}
- context->releaseWindowsContext(hdc, r, alphaBlend);
}
bool RenderThemeWin::paintButton(RenderObject* o, const PaintInfo& i, const IntRect& r)
diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog
index 23c5df5..b7e49cf 100644
--- a/WebKit/win/ChangeLog
+++ b/WebKit/win/ChangeLog
@@ -1,3 +1,16 @@
+2010-09-09 Simon Fraser <simon.fraser at apple.com>
+
+ Reviewed by Adam Roben.
+
+ Scrollbars fail to render in composited iframes.
+ https://bugs.webkit.org/show_bug.cgi?id=45335
+
+ Use LocalWindowsContext when painting scrollbars.
+
+ * WebCoreSupport/WebChromeClient.cpp:
+ (WebChromeClient::paintCustomScrollbar):
+ (WebChromeClient::paintCustomScrollCorner):
+
2010-09-08 Darin Adler <darin at apple.com>
Reviewed by Adam Barth.
diff --git a/WebKit/win/WebCoreSupport/WebChromeClient.cpp b/WebKit/win/WebCoreSupport/WebChromeClient.cpp
index d5aea25..7a025a7 100644
--- a/WebKit/win/WebCoreSupport/WebChromeClient.cpp
+++ b/WebKit/win/WebCoreSupport/WebChromeClient.cpp
@@ -53,6 +53,7 @@
#endif
#include <WebCore/HTMLNames.h>
#include <WebCore/Icon.h>
+#include <WebCore/LocalWindowsContext.h>
#include <WebCore/LocalizedStrings.h>
#include <WebCore/NotImplemented.h>
#include <WebCore/Page.h>
@@ -705,10 +706,9 @@ bool WebChromeClient::paintCustomScrollbar(GraphicsContext* context, const Float
webState |= WebPressedScrollbarState;
RECT webRect = enclosingIntRect(rect);
- HDC hDC = context->getWindowsContext(webRect);
- HRESULT hr = delegate->paintCustomScrollbar(m_webView, hDC, webRect, webSize, webState, webPressedPart,
+ LocalWindowsContext windowsContext(context, webRect);
+ HRESULT hr = delegate->paintCustomScrollbar(m_webView, windowsContext.hdc(), webRect, webSize, webState, webPressedPart,
vertical, value, proportion, webParts);
- context->releaseWindowsContext(hDC, webRect);
return SUCCEEDED(hr);
}
@@ -722,9 +722,8 @@ bool WebChromeClient::paintCustomScrollCorner(GraphicsContext* context, const Fl
return false;
RECT webRect = enclosingIntRect(rect);
- HDC hDC = context->getWindowsContext(webRect);
- HRESULT hr = delegate->paintCustomScrollCorner(m_webView, hDC, webRect);
- context->releaseWindowsContext(hDC, webRect);
+ LocalWindowsContext windowsContext(context, webRect);
+ HRESULT hr = delegate->paintCustomScrollCorner(m_webView, windowsContext.hdc(), webRect);
return SUCCEEDED(hr);
}
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 55fabd7..cd8bb79 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,15 @@
+2010-09-09 Simon Fraser <simon.fraser at apple.com>
+
+ Reviewed by Adam Roben.
+
+ Scrollbars fail to render in composited iframes.
+ https://bugs.webkit.org/show_bug.cgi?id=45335
+
+ Use LocalWindowsContext when painting the plugin.
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ (WebKit::NetscapePlugin::platformPaint):
+
2010-09-09 Sam Weinig <sam at webkit.org>
Reviewed by Anders Carlsson.
diff --git a/WebKit2/WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp b/WebKit2/WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp
index 61a34b5..6b7cc7c 100644
--- a/WebKit2/WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp
+++ b/WebKit2/WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp
@@ -28,6 +28,7 @@
#include "NotImplemented.h"
#include "WebEvent.h"
#include <WebCore/GraphicsContext.h>
+#include <WebCore/LocalWindowsContext.h>
using namespace WebCore;
@@ -49,10 +50,10 @@ void NetscapePlugin::platformPaint(GraphicsContext* context, const IntRect& dirt
}
// FIXME: Support transparent plugins.
- HDC hdc = context->getWindowsContext(dirtyRect, false);
+ LocalWindowsContext windowsContext(context, dirtyRect, false);
m_npWindow.type = NPWindowTypeDrawable;
- m_npWindow.window = hdc;
+ m_npWindow.window = windowsContext.hdc();
WINDOWPOS windowpos = { 0, 0, 0, 0, 0, 0, 0 };
@@ -73,13 +74,10 @@ void NetscapePlugin::platformPaint(GraphicsContext* context, const IntRect& dirt
RECT dirtyWinRect = dirtyRect;
npEvent.event = WM_PAINT;
- npEvent.wParam = reinterpret_cast<uintptr_t>(hdc);
+ npEvent.wParam = reinterpret_cast<uintptr_t>(windowsContext.hdc());
npEvent.lParam = reinterpret_cast<uintptr_t>(&dirtyWinRect);
NPP_HandleEvent(&npEvent);
-
- // FIXME: Support transparent plugins.
- context->releaseWindowsContext(hdc, dirtyRect, false);
}
NPEvent toNP(const WebMouseEvent& event)
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list