diff options
author | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-26 00:15:20 +0000 |
---|---|---|
committer | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-26 00:15:20 +0000 |
commit | c62ce3e9f74a7b55b2d50c227555a3c198fd9cf3 (patch) | |
tree | 53fc0d34109ac909a7ba8f603835da8468abcd10 /chrome | |
parent | bb095ea448d990cf3ab9ae3af4c9fc11d6348f90 (diff) | |
download | chromium_src-c62ce3e9f74a7b55b2d50c227555a3c198fd9cf3.zip chromium_src-c62ce3e9f74a7b55b2d50c227555a3c198fd9cf3.tar.gz chromium_src-c62ce3e9f74a7b55b2d50c227555a3c198fd9cf3.tar.bz2 |
Chromium changes to use new WebKit, WebKitClient, and WebClipboard interfaces.
A new WebKitClientImpl class is added to webkit/glue that consumers can use to
help implement WebKitClient. In the future, consumers will likely subclass
WebKitClientImpl. For now, that is not necessary.
Since a WebImage may not hold a SkBitmap, I needed to modify
ScopedClipboardWriterGlue to not deal in SkBitmaps. So, I just added a
WriteBitmapFromPixels method in place of the WriteBitmap method. That method
is actually named the same as the one from the base class, which is perhaps
kind of nice since the purpose of ScopedClipboardWriterGlue is to override the
default way of sending an image to the clipboard!
R=dglazkov
Review URL: http://codereview.chromium.org/28119
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10416 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/chrome.sln | 4 | ||||
-rw-r--r-- | chrome/chrome.xcodeproj/project.pbxproj | 87 | ||||
-rw-r--r-- | chrome/renderer/render_thread.cc | 5 | ||||
-rw-r--r-- | chrome/renderer/render_thread.h | 6 | ||||
-rw-r--r-- | chrome/renderer/renderer.scons | 4 | ||||
-rw-r--r-- | chrome/renderer/renderer.vcproj | 4 | ||||
-rw-r--r-- | chrome/renderer/renderer_glue.cc | 15 |
7 files changed, 114 insertions, 11 deletions
diff --git a/chrome/chrome.sln b/chrome/chrome.sln index 760ede8..321b175 100644 --- a/chrome/chrome.sln +++ b/chrome/chrome.sln @@ -240,6 +240,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "perf_tests", "test\perf\per {57823D8C-A317-4713-9125-2C91FDFD12D6} = {57823D8C-A317-4713-9125-2C91FDFD12D6} {5916D37D-8C97-424F-A904-74E52594C2D6} = {5916D37D-8C97-424F-A904-74E52594C2D6} {5BF908A7-68FB-4A4B-99E3-8C749F1FE4EA} = {5BF908A7-68FB-4A4B-99E3-8C749F1FE4EA} + {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65} = {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65} {625A8F11-2B4E-45B4-BD99-C6D629C606C0} = {625A8F11-2B4E-45B4-BD99-C6D629C606C0} {6EAD4A4B-2BBC-4974-8E45-BB5C16CC2AC9} = {6EAD4A4B-2BBC-4974-8E45-BB5C16CC2AC9} {6F9258E5-294F-47B2-919D-17FFE7A8B751} = {6F9258E5-294F-47B2-919D-17FFE7A8B751} @@ -431,10 +432,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "generate_profile", "tools\p {2A70CBF0-847E-4E3A-B926-542A656DC7FE} = {2A70CBF0-847E-4E3A-B926-542A656DC7FE} {326E9795-E760-410A-B69A-3F79DB3F5243} = {326E9795-E760-410A-B69A-3F79DB3F5243} {49909552-0B0C-4C14-8CF6-DB8A2ADE0934} = {49909552-0B0C-4C14-8CF6-DB8A2ADE0934} - {5597AD47-3494-4750-A235-4F9C2F864700} = {5597AD47-3494-4750-A235-4F9C2F864700} {57823D8C-A317-4713-9125-2C91FDFD12D6} = {57823D8C-A317-4713-9125-2C91FDFD12D6} {5916D37D-8C97-424F-A904-74E52594C2D6} = {5916D37D-8C97-424F-A904-74E52594C2D6} {5BF908A7-68FB-4A4B-99E3-8C749F1FE4EA} = {5BF908A7-68FB-4A4B-99E3-8C749F1FE4EA} + {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65} = {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65} {625A8F11-2B4E-45B4-BD99-C6D629C606C0} = {625A8F11-2B4E-45B4-BD99-C6D629C606C0} {6EAD4A4B-2BBC-4974-8E45-BB5C16CC2AC9} = {6EAD4A4B-2BBC-4974-8E45-BB5C16CC2AC9} {6F9258E5-294F-47B2-919D-17FFE7A8B751} = {6F9258E5-294F-47B2-919D-17FFE7A8B751} @@ -641,6 +642,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "interactive_ui_tests", "tes {57823D8C-A317-4713-9125-2C91FDFD12D6} = {57823D8C-A317-4713-9125-2C91FDFD12D6} {5916D37D-8C97-424F-A904-74E52594C2D6} = {5916D37D-8C97-424F-A904-74E52594C2D6} {5BF908A7-68FB-4A4B-99E3-8C749F1FE4EA} = {5BF908A7-68FB-4A4B-99E3-8C749F1FE4EA} + {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65} = {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65} {625A8F11-2B4E-45B4-BD99-C6D629C606C0} = {625A8F11-2B4E-45B4-BD99-C6D629C606C0} {6EAD4A4B-2BBC-4974-8E45-BB5C16CC2AC9} = {6EAD4A4B-2BBC-4974-8E45-BB5C16CC2AC9} {6F9258E5-294F-47B2-919D-17FFE7A8B751} = {6F9258E5-294F-47B2-919D-17FFE7A8B751} diff --git a/chrome/chrome.xcodeproj/project.pbxproj b/chrome/chrome.xcodeproj/project.pbxproj index 47d42a7..0cc3587 100644 --- a/chrome/chrome.xcodeproj/project.pbxproj +++ b/chrome/chrome.xcodeproj/project.pbxproj @@ -314,6 +314,42 @@ 8F51B73AAAF1772ECF9BD180 /* url_fetcher.cc in Sources */ = {isa = PBXBuildFile; fileRef = 778D7927798B7E3FAA498D3D /* url_fetcher.cc */; }; 9084D27A4F8690E6FD31083B /* session_backend.cc in Sources */ = {isa = PBXBuildFile; fileRef = 35AC9D9A03545594C102C5C1 /* session_backend.cc */; }; 928300674E414B42615BA4F0 /* download_manager.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D7BF9CE0E9D48CE009A6919 /* download_manager.cc */; }; + 93FB3ECE0F55E38400AA1185 /* libwebkit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4BD53D90F54AB4300591DFA /* libwebkit.a */; }; + 93FB3ED10F55E38900AA1185 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45065DD0EEEC6FF003BE099 /* AppKit.framework */; }; + 93FB3ED20F55E38900AA1185 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4DCDB9C0F4091BF0084059A /* ApplicationServices.framework */; }; + 93FB3ED30F55E38900AA1185 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 331B93AB0F3BF2DA008B1C46 /* Carbon.framework */; }; + 93FB3ED40F55E38900AA1185 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45065DF0EEEC709003BE099 /* Foundation.framework */; }; + 93FB3ED50F55E38900AA1185 /* libbrowser.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D7BF3060E9D477E009A6919 /* libbrowser.a */; }; + 93FB3ED60F55E38900AA1185 /* libcommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D7BFC1A0E9D4CB9009A6919 /* libcommon.a */; }; + 93FB3ED70F55E38900AA1185 /* librenderer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D640CEB0EAE86BD00EBCFC0 /* librenderer.a */; }; + 93FB3ED80F55E38900AA1185 /* libWebKitSystemInterfaceLeopard.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4DCDC8E0F4091F30084059A /* libWebKitSystemInterfaceLeopard.a */; }; + 93FB3ED90F55E38900AA1185 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 331B93A90F3BF2B9008B1C46 /* QuartzCore.framework */; }; + 93FB3EDA0F55E38900AA1185 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82684C5F0F2FAE68009F6555 /* Security.framework */; }; + 93FB3EDB0F55E38900AA1185 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82684CCF0F2FAEC2009F6555 /* SystemConfiguration.framework */; }; + 93FB42060F55E39F00AA1185 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45065DD0EEEC6FF003BE099 /* AppKit.framework */; }; + 93FB42070F55E39F00AA1185 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45065DD0EEEC6FF003BE099 /* AppKit.framework */; }; + 93FB42080F55E39F00AA1185 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4DCDB9C0F4091BF0084059A /* ApplicationServices.framework */; }; + 93FB42090F55E39F00AA1185 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4DCDB9C0F4091BF0084059A /* ApplicationServices.framework */; }; + 93FB420A0F55E39F00AA1185 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 331B93AB0F3BF2DA008B1C46 /* Carbon.framework */; }; + 93FB420B0F55E39F00AA1185 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 331B93AB0F3BF2DA008B1C46 /* Carbon.framework */; }; + 93FB420C0F55E39F00AA1185 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45065DF0EEEC709003BE099 /* Foundation.framework */; }; + 93FB420D0F55E39F00AA1185 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45065DF0EEEC709003BE099 /* Foundation.framework */; }; + 93FB420E0F55E39F00AA1185 /* libbrowser.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D7BF3060E9D477E009A6919 /* libbrowser.a */; }; + 93FB420F0F55E39F00AA1185 /* libbrowser.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D7BF3060E9D477E009A6919 /* libbrowser.a */; }; + 93FB42100F55E39F00AA1185 /* libcommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D7BFC1A0E9D4CB9009A6919 /* libcommon.a */; }; + 93FB42110F55E39F00AA1185 /* libcommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D7BFC1A0E9D4CB9009A6919 /* libcommon.a */; }; + 93FB42120F55E39F00AA1185 /* librenderer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D640CEB0EAE86BD00EBCFC0 /* librenderer.a */; }; + 93FB42130F55E39F00AA1185 /* librenderer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D640CEB0EAE86BD00EBCFC0 /* librenderer.a */; }; + 93FB42140F55E39F00AA1185 /* libWebKitSystemInterfaceLeopard.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4DCDC8E0F4091F30084059A /* libWebKitSystemInterfaceLeopard.a */; }; + 93FB42150F55E39F00AA1185 /* libWebKitSystemInterfaceLeopard.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4DCDC8E0F4091F30084059A /* libWebKitSystemInterfaceLeopard.a */; }; + 93FB42160F55E39F00AA1185 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 331B93A90F3BF2B9008B1C46 /* QuartzCore.framework */; }; + 93FB42170F55E39F00AA1185 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 331B93A90F3BF2B9008B1C46 /* QuartzCore.framework */; }; + 93FB42180F55E39F00AA1185 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82684C5F0F2FAE68009F6555 /* Security.framework */; }; + 93FB42190F55E39F00AA1185 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82684C5F0F2FAE68009F6555 /* Security.framework */; }; + 93FB421A0F55E39F00AA1185 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82684CCF0F2FAEC2009F6555 /* SystemConfiguration.framework */; }; + 93FB421B0F55E39F00AA1185 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82684CCF0F2FAEC2009F6555 /* SystemConfiguration.framework */; }; + 93FB423B0F55E84600AA1185 /* libwebkit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4BD53D90F54AB4300591DFA /* libwebkit.a */; }; + 93FB42450F55E88500AA1185 /* libwebkit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4BD53D90F54AB4300591DFA /* libwebkit.a */; }; 94542322A5E5A8F4FDDAB7F0 /* render_view_host_manager.cc in Sources */ = {isa = PBXBuildFile; fileRef = A76E42AD0F28EDB5009A7E88 /* render_view_host_manager.cc */; }; 96DF109FEE9B09B11690F1FA /* infobar_delegate.cc in Sources */ = {isa = PBXBuildFile; fileRef = B6CCB9CF0F1EC32700106F0D /* infobar_delegate.cc */; }; 970EF19CD8A79CF3D0DF4B61 /* download_file.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D7BF9CA0E9D48CE009A6919 /* download_file.cc */; }; @@ -1657,6 +1693,13 @@ remoteGlobalIDString = 7BA361A60E8C36E50023C8B9; remoteInfo = sdch; }; + 93FB3ECC0F55E34700AA1185 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 826850040F2FC82D009F6555 /* webkit.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 937A15B60F53326C003E8D2D; + remoteInfo = webkit; + }; ABFA33870F424EC5008FCF5D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = ABFA33790F424EC5008FCF5D /* media.xcodeproj */; @@ -2929,6 +2972,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 93FB42450F55E88500AA1185 /* libwebkit.a in Frameworks */, E45066CE0EEF1AA7003BE099 /* AppKit.framework in Frameworks */, E477F6B50F4095660044ABEB /* ApplicationServices.framework in Frameworks */, 331218230F3BFF36006CB2B0 /* Carbon.framework in Frameworks */, @@ -2984,6 +3028,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 93FB423B0F55E84600AA1185 /* libwebkit.a in Frameworks */, 4D7FA6940F13CC01004F1B19 /* AppKit.framework in Frameworks */, E4DCDC9C0F40938D0084059A /* ApplicationServices.framework in Frameworks */, 33121A390F3C0339006CB2B0 /* Carbon.framework in Frameworks */, @@ -3054,6 +3099,40 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 93FB42060F55E39F00AA1185 /* AppKit.framework in Frameworks */, + 93FB42070F55E39F00AA1185 /* AppKit.framework in Frameworks */, + 93FB42080F55E39F00AA1185 /* ApplicationServices.framework in Frameworks */, + 93FB42090F55E39F00AA1185 /* ApplicationServices.framework in Frameworks */, + 93FB420A0F55E39F00AA1185 /* Carbon.framework in Frameworks */, + 93FB420B0F55E39F00AA1185 /* Carbon.framework in Frameworks */, + 93FB420C0F55E39F00AA1185 /* Foundation.framework in Frameworks */, + 93FB420D0F55E39F00AA1185 /* Foundation.framework in Frameworks */, + 93FB420E0F55E39F00AA1185 /* libbrowser.a in Frameworks */, + 93FB420F0F55E39F00AA1185 /* libbrowser.a in Frameworks */, + 93FB42100F55E39F00AA1185 /* libcommon.a in Frameworks */, + 93FB42110F55E39F00AA1185 /* libcommon.a in Frameworks */, + 93FB42120F55E39F00AA1185 /* librenderer.a in Frameworks */, + 93FB42130F55E39F00AA1185 /* librenderer.a in Frameworks */, + 93FB42140F55E39F00AA1185 /* libWebKitSystemInterfaceLeopard.a in Frameworks */, + 93FB42150F55E39F00AA1185 /* libWebKitSystemInterfaceLeopard.a in Frameworks */, + 93FB42160F55E39F00AA1185 /* QuartzCore.framework in Frameworks */, + 93FB42170F55E39F00AA1185 /* QuartzCore.framework in Frameworks */, + 93FB42180F55E39F00AA1185 /* Security.framework in Frameworks */, + 93FB42190F55E39F00AA1185 /* Security.framework in Frameworks */, + 93FB421A0F55E39F00AA1185 /* SystemConfiguration.framework in Frameworks */, + 93FB421B0F55E39F00AA1185 /* SystemConfiguration.framework in Frameworks */, + 93FB3ED10F55E38900AA1185 /* AppKit.framework in Frameworks */, + 93FB3ED20F55E38900AA1185 /* ApplicationServices.framework in Frameworks */, + 93FB3ED30F55E38900AA1185 /* Carbon.framework in Frameworks */, + 93FB3ED40F55E38900AA1185 /* Foundation.framework in Frameworks */, + 93FB3ED50F55E38900AA1185 /* libbrowser.a in Frameworks */, + 93FB3ED60F55E38900AA1185 /* libcommon.a in Frameworks */, + 93FB3ED70F55E38900AA1185 /* librenderer.a in Frameworks */, + 93FB3ED80F55E38900AA1185 /* libWebKitSystemInterfaceLeopard.a in Frameworks */, + 93FB3ED90F55E38900AA1185 /* QuartzCore.framework in Frameworks */, + 93FB3EDA0F55E38900AA1185 /* Security.framework in Frameworks */, + 93FB3EDB0F55E38900AA1185 /* SystemConfiguration.framework in Frameworks */, + 93FB3ECE0F55E38400AA1185 /* libwebkit.a in Frameworks */, E45065DE0EEEC6FF003BE099 /* AppKit.framework in Frameworks */, E4DCDB9D0F4091C00084059A /* ApplicationServices.framework in Frameworks */, 331B93AC0F3BF2DA008B1C46 /* Carbon.framework in Frameworks */, @@ -4905,6 +4984,7 @@ 33121EF30F3CF45B006CB2B0 /* PBXTargetDependency */, 33121EF50F3CF45B006CB2B0 /* PBXTargetDependency */, 33121EF70F3CF45B006CB2B0 /* PBXTargetDependency */, + 93FB3ECD0F55E34700AA1185 /* PBXTargetDependency */, ); name = app; productName = app; @@ -6467,6 +6547,11 @@ name = sdch; targetProxy = 8268521A0F2FD197009F6555 /* PBXContainerItemProxy */; }; + 93FB3ECD0F55E34700AA1185 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = webkit; + targetProxy = 93FB3ECC0F55E34700AA1185 /* PBXContainerItemProxy */; + }; ABFA338E0F424F39008FCF5D /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = media; @@ -6731,6 +6816,7 @@ ../third_party/libjpeg, ../third_party/libxml/include, ../third_party/npapi, + ../third_party/WebKit/WebKit/chromium/public, "$(SYMROOT)/libxml.build/$(CONFIGURATION)/generated/include", ); XCODEPROJ_DEPTH = ..; @@ -6758,6 +6844,7 @@ ../third_party/libjpeg, ../third_party/libxml/include, ../third_party/npapi, + ../third_party/WebKit/WebKit/chromium/public, "$(SYMROOT)/libxml.build/$(CONFIGURATION)/generated/include", ); XCODEPROJ_DEPTH = ..; diff --git a/chrome/renderer/render_thread.cc b/chrome/renderer/render_thread.cc index 6e8e7b0..dacbd8a 100644 --- a/chrome/renderer/render_thread.cc +++ b/chrome/renderer/render_thread.cc @@ -32,7 +32,9 @@ #include "chrome/renderer/user_script_slave.h" #include "chrome/renderer/visitedlink_slave.h" #include "webkit/glue/cache_manager.h" +#include "webkit/glue/webkit_client_impl.h" +#include "WebKit.h" static const unsigned int kCacheStatsDelayMS = 2000 /* milliseconds */; @@ -99,6 +101,9 @@ void RenderThread::Init() { CoInitialize(0); #endif + webkit_client_impl_.reset(new webkit_glue::WebKitClientImpl); + WebKit::initialize(webkit_client_impl_.get()); + visited_link_slave_ = new VisitedLinkSlave(); user_script_slave_ = new UserScriptSlave(); render_dns_master_.reset(new RenderDnsMaster()); diff --git a/chrome/renderer/render_thread.h b/chrome/renderer/render_thread.h index a23776e..cfc3d9a 100644 --- a/chrome/renderer/render_thread.h +++ b/chrome/renderer/render_thread.h @@ -24,6 +24,10 @@ class VisitedLinkSlave; struct ModalDialogEvent; struct WebPreferences; +namespace webkit_glue { +class WebKitClientImpl; +} + // The RenderThreadBase is the minimal interface that a RenderView/Widget // expects from a render thread. The interface basically abstracts a way to send // and receive messages. @@ -138,6 +142,8 @@ class RenderThread : public RenderThreadBase, scoped_ptr<NotificationService> notification_service_; + scoped_ptr<webkit_glue::WebKitClientImpl> webkit_client_impl_; + DISALLOW_COPY_AND_ASSIGN(RenderThread); }; diff --git a/chrome/renderer/renderer.scons b/chrome/renderer/renderer.scons index 3bb0d17..2522959 100644 --- a/chrome/renderer/renderer.scons +++ b/chrome/renderer/renderer.scons @@ -16,8 +16,12 @@ env.SConscript([ ], {'env':env}) env.Prepend( + CPPDEFINES = [ + 'WEBKIT_USING_SKIA' + ], CPPPATH = [ '$CHROME_SRC_DIR', + '$THIRD_PARTY_WEBKIT_DIR/WebKit/chromium/public', ], ) diff --git a/chrome/renderer/renderer.vcproj b/chrome/renderer/renderer.vcproj index 684ec52..caa5e20 100644 --- a/chrome/renderer/renderer.vcproj +++ b/chrome/renderer/renderer.vcproj @@ -18,7 +18,7 @@ <Configuration Name="Debug|Win32" ConfigurationType="4" - InheritedPropertySheets=".\renderer.vsprops;$(SolutionDir)..\build\debug.vsprops;..\tools\build\win\precompiled_wtl.vsprops" + InheritedPropertySheets=".\renderer.vsprops;$(SolutionDir)..\build\debug.vsprops;..\tools\build\win\precompiled_wtl.vsprops;..\..\webkit\build\WebKit\using_WebKit.vsprops" > <Tool Name="VCPreBuildEventTool" @@ -69,7 +69,7 @@ <Configuration Name="Release|Win32" ConfigurationType="4" - InheritedPropertySheets=".\renderer.vsprops;$(SolutionDir)..\build\release.vsprops" + InheritedPropertySheets=".\renderer.vsprops;$(SolutionDir)..\build\release.vsprops;..\..\webkit\build\WebKit\using_WebKit.vsprops" > <Tool Name="VCPreBuildEventTool" diff --git a/chrome/renderer/renderer_glue.cc b/chrome/renderer/renderer_glue.cc index 7ccf018..055f342 100644 --- a/chrome/renderer/renderer_glue.cc +++ b/chrome/renderer/renderer_glue.cc @@ -84,15 +84,15 @@ class ResizableStackArray { }; #if defined(OS_WIN) -// This definition of WriteBitmap uses shared memory to communicate across -// processes. -void ScopedClipboardWriterGlue::WriteBitmap(const SkBitmap& bitmap) { - // do not try to write a bitmap more than once +// This definition of WriteBitmapFromPixels uses shared memory to communicate +// across processes. +void ScopedClipboardWriterGlue::WriteBitmapFromPixels(const void* pixels, + const gfx::Size& size) { + // Do not try to write a bitmap more than once if (shared_buf_) return; - size_t buf_size = bitmap.getSize(); - gfx::Size size(bitmap.width(), bitmap.height()); + size_t buf_size = 4 * size.width() * size.height(); // Allocate a shared memory buffer to hold the bitmap bits shared_buf_ = new base::SharedMemory; @@ -104,8 +104,7 @@ void ScopedClipboardWriterGlue::WriteBitmap(const SkBitmap& bitmap) { } // Copy the bits into shared memory - SkAutoLockPixels bitmap_lock(bitmap); - memcpy(shared_buf_->memory(), bitmap.getPixels(), buf_size); + memcpy(shared_buf_->memory(), pixels, buf_size); shared_buf_->Unmap(); Clipboard::ObjectMapParam param1, param2; |