diff options
author | Ben Murdoch <benm@google.com> | 2011-05-05 14:36:32 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2011-05-10 15:38:30 +0100 |
commit | f05b935882198ccf7d81675736e3aeb089c5113a (patch) | |
tree | 4ea0ca838d9ef1b15cf17ddb3928efb427c7e5a1 /WebKit | |
parent | 60fbdcc62bced8db2cb1fd233cc4d1e4ea17db1b (diff) | |
download | external_webkit-f05b935882198ccf7d81675736e3aeb089c5113a.zip external_webkit-f05b935882198ccf7d81675736e3aeb089c5113a.tar.gz external_webkit-f05b935882198ccf7d81675736e3aeb089c5113a.tar.bz2 |
Merge WebKit at r74534: Initial merge by git.
Change-Id: I6ccd1154fa1b19c2ec2a66878eb675738735f1eb
Diffstat (limited to 'WebKit')
279 files changed, 18995 insertions, 9378 deletions
diff --git a/WebKit/CMakeLists.txt b/WebKit/CMakeLists.txt index 57557e3..5de532d 100644 --- a/WebKit/CMakeLists.txt +++ b/WebKit/CMakeLists.txt @@ -73,5 +73,9 @@ IF (WebKit_LINK_FLAGS) ADD_TARGET_PROPERTIES(${WebKit_LIBRARY_NAME} LINK_FLAGS "${WebKit_LINK_FLAGS}") ENDIF () +IF (VERSION_SCRIPT) + ADD_TARGET_PROPERTIES(${WebKit_LIBRARY_NAME} LINK_FLAGS "${VERSION_SCRIPT}") +ENDIF () + SET_TARGET_PROPERTIES(${WebKit_LIBRARY_NAME} PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}) INSTALL(TARGETS ${WebKit_LIBRARY_NAME} DESTINATION lib) diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog index b6eba21..34b9b13 100644 --- a/WebKit/ChangeLog +++ b/WebKit/ChangeLog @@ -1,3 +1,30 @@ +2010-12-22 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by Mark Rowe. + + Changed WebKitTools to Tools in script build phases. + + * WebKit.xcodeproj/project.pbxproj: + +2010-12-14 Lucas De Marchi <lucas.demarchi@profusion.mobi> + + Reviewed by Eric Seidel. + + [EFL] Add linker script to export less symbols + https://bugs.webkit.org/show_bug.cgi?id=44609 + + Filter the exported symbols by using a linker script. Only symbols + starting with "ewk_" are exported. + + * CMakeLists.txt: Add link flags to webkit library when there's a + version script. + +2010-12-07 Simon Fraser <simon.fraser@apple.com> + + Update Xcode project for newer Xcode. + + * WebKit.xcodeproj/project.pbxproj: + 2010-11-18 Darin Adler <darin@apple.com> * StringsNotToBeLocalized.txt: Updated for recent changes. diff --git a/WebKit/WebKit.xcodeproj/project.pbxproj b/WebKit/WebKit.xcodeproj/project.pbxproj index 6878bb2..75254f2 100644 --- a/WebKit/WebKit.xcodeproj/project.pbxproj +++ b/WebKit/WebKit.xcodeproj/project.pbxproj @@ -1748,7 +1748,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../WebKitTools/Scripts/check-for-weak-vtables-and-externals ]; then\n ../WebKitTools/Scripts/check-for-weak-vtables-and-externals || exit $?\nfi"; + shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../Tools/Scripts/check-for-weak-vtables-and-externals ]; then\n ../Tools/Scripts/check-for-weak-vtables-and-externals || exit $?\nfi"; }; 5D2F7DB70C687A5A00B5B72B /* Update Info.plist with version information */ = { isa = PBXShellScriptBuildPhase; @@ -1778,7 +1778,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../WebKitTools/Scripts/check-for-webkit-framework-include-consistency ]; then\n ../WebKitTools/Scripts/check-for-webkit-framework-include-consistency || exit $?\nfi\n"; + shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../Tools/Scripts/check-for-webkit-framework-include-consistency ]; then\n ../Tools/Scripts/check-for-webkit-framework-include-consistency || exit $?\nfi\n"; }; 5DE6D18C0FCF231B002DE28C /* Symlink WebKitPluginHost in to place */ = { isa = PBXShellScriptBuildPhase; @@ -1808,7 +1808,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../WebKitTools/Scripts/check-for-exit-time-destructors ]; then\n ../WebKitTools/Scripts/check-for-exit-time-destructors || exit $?\nfi"; + shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../Tools/Scripts/check-for-exit-time-destructors ]; then\n ../Tools/Scripts/check-for-exit-time-destructors || exit $?\nfi"; }; 939811300824BF01008DF038 /* Make Frameworks Symbolic Link */ = { isa = PBXShellScriptBuildPhase; @@ -1839,7 +1839,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../WebKitTools/Scripts/check-for-global-initializers ]; then\n ../WebKitTools/Scripts/check-for-global-initializers || exit $?\nfi"; + shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../Tools/Scripts/check-for-global-initializers ]; then\n ../Tools/Scripts/check-for-global-initializers || exit $?\nfi"; }; /* End PBXShellScriptBuildPhase section */ diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog index 3d8a0e0..335732a 100644 --- a/WebKit/chromium/ChangeLog +++ b/WebKit/chromium/ChangeLog @@ -1,3 +1,447 @@ +2010-12-22 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74503. + http://trac.webkit.org/changeset/74503 + https://bugs.webkit.org/show_bug.cgi?id=51513 + + breaks chromium mac debug compile (Requested by tonyg-cr on + #webkit). + + * src/GraphicsContext3DChromium.cpp: + (WebCore::GraphicsContext3DInternal::paintRenderingResultsToCanvas): + +2010-12-22 W. James MacLean <wjmaclean@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Add asserts to test for contiguous-pixel Skia bitmaps. + https://bugs.webkit.org/show_bug.cgi?id=51186 + + Add asserts to detect if assumptions (about contiguous pixels in Skia bitmaps) are violated. + + * src/GraphicsContext3DChromium.cpp: + (WebCore::GraphicsContext3DInternal::paintRenderingResultsToCanvas): + +2010-12-21 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + WebGLRenderingContext needs to zero textures and renderbuffers + https://bugs.webkit.org/show_bug.cgi?id=49355 + + * src/WebGraphicsContext3DDefaultImpl.cpp: + (WebKit::WebGraphicsContext3DDefaultImpl::texImage2D): Generate an INVALID_VALUE if pixels==null is passed in. + +2010-12-20 Andrei Popescu <andreip@google.com> + + Reviewed by Jeremy Orlow. + + IDBCursor::delete is not implemented. + https://bugs.webkit.org/show_bug.cgi?id=51110 + + * public/WebIDBCursor.h: + (WebKit::WebIDBCursor::remove): + (WebKit::WebIDBCursor::deleteFunction): + * src/IDBCursorBackendProxy.cpp: + (WebCore::IDBCursorBackendProxy::deleteFunction): + * src/IDBCursorBackendProxy.h: + * src/WebIDBCursorImpl.cpp: + (WebKit::WebIDBCursorImpl::deleteFunction): + * src/WebIDBCursorImpl.h: + +2010-12-18 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Laszlo Gombos. + + [Web Timing] Rename domContentLoaded{Start,End}->domContentLoadedEvent{Start,End} + https://bugs.webkit.org/show_bug.cgi?id=50943 + + Exposes all dom* times to the chromium port. I'm particularly interested in + domContentLoadedEventEnd as it compares to the FinishDoc metric. + + * public/WebPerformance.h: + * src/WebPerformance.cpp: + (WebKit::WebPerformance::domLoading): + (WebKit::WebPerformance::domInteractive): + (WebKit::WebPerformance::domContentLoadedEventStart): + (WebKit::WebPerformance::domContentLoadedEventEnd): + (WebKit::WebPerformance::domComplete): + +2010-12-17 Tony Gentilcore <tonyg@chromium.org> + + Unreviewed, build fix. + + Add WebKitTools -> Tools rename that got missed. + + * WebKit.gyp: + +2010-12-17 Dirk Pranke <dpranke@chromium.org> + + Unreviewed, build fix. + + Add WebKitTools -> Tools rename that got missed. + + * WebKit.gyp: + +2010-12-17 John Knottenbelt <jknotten@chromium.org> + + Reviewed by Jeremy Orlow. + + Fix test failures where NULL GeolocationClient is provided + https://bugs.webkit.org/show_bug.cgi?id=51256 + + * src/GeolocationClientProxy.cpp: + (WebKit::GeolocationClientProxy::geolocationDestroyed): + +2010-12-17 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + IndexedDB: Support Date objects as keys. + https://bugs.webkit.org/show_bug.cgi?id=51193 + + Update to match the underlying WebCore IDBKey class: + add the DateType, add create() functions for each type, + deprecate the public constructors (will be removed once + Chromium side is updated). + + * public/WebIDBKey.h: + (WebKit::WebIDBKey::WebIDBKey): + * src/AssertMatchingEnums.cpp: + * src/WebIDBKey.cpp: + (WebKit::WebIDBKey::createString): + (WebKit::WebIDBKey::createDate): + (WebKit::WebIDBKey::createNumber): + (WebKit::WebIDBKey::assignNull): + (WebKit::WebIDBKey::assignString): + (WebKit::WebIDBKey::assignDate): + (WebKit::WebIDBKey::assignNumber): + (WebKit::WebIDBKey::date): + +2010-12-17 James Simonsen <simonjam@chromium.org> + + Reviewed by Darin Fisher. + + [Web Timing] Navigation type enums should begin with TYPE_ + https://bugs.webkit.org/show_bug.cgi?id=51200 + + * src/WebPerformance.cpp: + (WebKit::WebPerformance::navigationType): Added TYPE_ to navigation types. + +2010-12-16 John Knottenbelt <jknotten@chromium.org> + + Reviewed by Jeremy Orlow. + + Enable client-based geolocation in Chromium + https://bugs.webkit.org/show_bug.cgi?id=50562 + + * features.gypi: + +2010-12-16 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + IndexedDB: Fix IDBDatabaseError code offset bug + https://bugs.webkit.org/show_bug.cgi?id=51177 + + WebIDBDatabaseError must use the + IDBDatabaseError::createWithoutOffset() function. + + * src/WebIDBDatabaseError.cpp: + (WebKit::WebIDBDatabaseError::assign): + +2010-12-15 Chris Guillory <chris.guillory@google.com> + + Reviewed by Darin Fisher. + + Expose AccessibilityObject::url() to Chromium + https://bugs.webkit.org/show_bug.cgi?id=51046 + + * public/WebAccessibilityObject.h: + * src/WebAccessibilityObject.cpp: + (WebKit::WebAccessibilityObject::url): + +2010-12-14 Darin Fisher <darin@chromium.org> + + Reviewed by Dimitri Glazkov. + + [chromium] AssociatedURLLoader leaks m_realLoader to its WebURLLoaderClient. + https://bugs.webkit.org/show_bug.cgi?id=51062 + + * src/AssociatedURLLoader.cpp: Intercept WebURLLoaderClient methods and + forward |this| as the WebURLLoader parameter. + (WebKit::AssociatedURLLoader::AssociatedURLLoader): + (WebKit::AssociatedURLLoader::loadSynchronously): + (WebKit::AssociatedURLLoader::loadAsynchronously): + (WebKit::AssociatedURLLoader::willSendRequest): + (WebKit::AssociatedURLLoader::didSendData): + (WebKit::AssociatedURLLoader::didReceiveResponse): + (WebKit::AssociatedURLLoader::didDownloadData): + (WebKit::AssociatedURLLoader::didReceiveData): + (WebKit::AssociatedURLLoader::didReceiveCachedMetadata): + (WebKit::AssociatedURLLoader::didFinishLoading): + (WebKit::AssociatedURLLoader::didFail): + * src/AssociatedURLLoader.h: + +2010-12-14 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Dimitri Glazkov. + + Move asynchronous event dispatching out of Document + https://bugs.webkit.org/show_bug.cgi?id=49785 + + Change enqueueEvent callsite. + + * src/StorageAreaProxy.cpp: + (WebCore::StorageAreaProxy::storageEvent): + +2010-12-13 Mike Lawther <mikelawther@chromium.org> + + Reviewed by James Robinson. + + Update chromium DEPS to pull in latest Skia + https://bugs.webkit.org/show_bug.cgi?id=50984 + + Roll to revision that pulled in Skia r632 (http://src.chromium.org/viewvc/chrome?view=rev&revision=68558) + + * DEPS: + +2010-12-13 David Holloway <dhollowa@chromium.org> + + Reviewed by Eric Seidel. + + [chromium] Removes deprecated logic following the consolidation of AutoFill and + Autocomplete popup menu handling (https://bugs.webkit.org/show_bug.cgi?id=41236). + Filling of the form fields is now handled completely on the Chromium side, for + both AutoFill and Autocomplete. + + https://bugs.webkit.org/show_bug.cgi?id=41822 + + * public/WebView.h: + * src/AutoFillPopupMenuClient.cpp: + (WebKit::AutoFillPopupMenuClient::AutoFillPopupMenuClient): + (WebKit::AutoFillPopupMenuClient::valueChanged): + * src/AutoFillPopupMenuClient.h: + * src/WebViewImpl.cpp: + (WebKit::WebViewImpl::applyAutoFillSuggestions): + * src/WebViewImpl.h: + +2010-12-13 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Rollout 73914, 73915, 73917, 73920 and 73921. + + REGRESSION(r73914): "Chromium page_cycler_morejs fails" (Requested by yurys on #webkit). + https://bugs.webkit.org/show_bug.cgi?id=50950 + + * src/WebWorkerClientImpl.cpp: + (WebKit::WebWorkerClientImpl::postExceptionToWorkerObject): + (WebKit::WebWorkerClientImpl::postConsoleMessageToWorkerObject): + (WebKit::WebWorkerClientImpl::postExceptionToWorkerObjectTask): + (WebKit::WebWorkerClientImpl::postConsoleMessageToWorkerObjectTask): + +2010-12-13 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions. + + Debugger and Resources related notification functions of Inspector.idl were + marked as such with help of "domain" attribute. The other changes in js files + are reflecting this change. Some wrappers in WebInspector namespace were dropped, + the others were moved to DebuggerModel class. + + https://bugs.webkit.org/show_bug.cgi?id=50906 + + * src/js/Tests.js: + (.TestSuite.prototype._waitForScriptPause): + (.TestSuite.prototype._waitUntilScriptsAreParsed.waitForAllScripts): + (.TestSuite.prototype._waitUntilScriptsAreParsed): + +2010-12-13 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Adam Barth. + + WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown + https://bugs.webkit.org/show_bug.cgi?id=8519 + + Uncaught exceptions are propagated to window.onerror hander if one is present. + The handler is expected to be a function accepting three arguments: error message, + resource url and line number where the exception occured. + + * src/WebWorkerClientImpl.cpp: + (WebKit::WebWorkerClientImpl::postExceptionToWorkerObject): + (WebKit::WebWorkerClientImpl::postExceptionToWorkerObjectTask): + +2010-12-13 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r73898. + http://trac.webkit.org/changeset/73898 + https://bugs.webkit.org/show_bug.cgi?id=50919 + + FileSystem and Database API's were broken (Requested by loislo + on #webkit). + + * src/js/Tests.js: + (.TestSuite.prototype._waitForScriptPause): + +2010-12-13 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions. + + Debugger and Resources related notification functions of Inspector.idl were + marked as such with help of "domain" attribute. The other changes in js files + are reflecting this change. Some wrappers in WebInspector namespace were dropped, + the others were moved to DebuggerModel class. + + https://bugs.webkit.org/show_bug.cgi?id=50906 + + * src/js/Tests.js: + (.TestSuite.prototype._waitForScriptPause): + +2010-10-28 MORITA Hajime <morrita@google.com> + + Reviewed by Ojan Vafai. + + spellcheck does not check pasted text + https://bugs.webkit.org/show_bug.cgi?id=40092 + + Added a stub implememntation. + + * src/EditorClientImpl.h: + (WebKit::EditorClientImpl::requestCheckingOfString): + +2010-12-10 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + AX: refactor AccessibilityRenderObject::doAccessibilityHitTest + https://bugs.webkit.org/show_bug.cgi?id=50574 + + * src/WebAccessibilityObject.cpp: + (WebKit::WebAccessibilityObject::hitTest): + +2010-12-10 Zhenyao Mo <zmo@google.com> + + Reviewed by Adam Barth. + + Use enums instead of booleans in ImageSource/ImageDecoder constructors + https://bugs.webkit.org/show_bug.cgi?id=50818 + + * src/WebImageDecoder.cpp: + (WebKit::WebImageDecoder::init): Use enums instead of boolean in ImageDecoder constructor. + +2010-12-10 Kenneth Russell <kbr@google.com> + + Reviewed by James Robinson. + + Implement extension entry points and remove EXTENSIONS enum + https://bugs.webkit.org/show_bug.cgi?id=40316 + + Added support for ensuring that a particular OpenGL extension is + enabled. + + * public/WebGraphicsContext3D.h: + * src/Extensions3DChromium.cpp: + (WebCore::Extensions3DChromium::ensureEnabled): + * src/GraphicsContext3DChromium.cpp: + (WebCore::GraphicsContext3DInternal::initializeExtensions): + (WebCore::GraphicsContext3DInternal::supportsExtension): + (WebCore::GraphicsContext3DInternal::ensureExtensionEnabled): + * src/GraphicsContext3DInternal.h: + * src/WebGraphicsContext3DDefaultImpl.cpp: + (WebKit::WebGraphicsContext3DDefaultImpl::getRequestableExtensionsCHROMIUM): + (WebKit::WebGraphicsContext3DDefaultImpl::requestExtensionCHROMIUM): + * src/WebGraphicsContext3DDefaultImpl.h: + +2010-12-10 John Knottenbelt <jknotten@chromium.org> + + Reviewed by Steve Block. + + [Chromium] Implement mocks for client-based geolocation + https://bugs.webkit.org/show_bug.cgi?id=46895 + + * WebKit.gyp: + * public/WebGeolocationClientMock.h: Added. + (WebKit::WebGeolocationClientMock::~WebGeolocationClientMock): + (WebKit::WebGeolocationClientMock::WebGeolocationClientMock): + * src/WebGeolocationClientMock.cpp: Added. + (WebKit::WebGeolocationClientMock::create): + (WebKit::WebGeolocationClientMock::initialize): + (WebKit::WebGeolocationClientMock::reset): + (WebKit::WebGeolocationClientMock::setMockGeolocationPosition): + (WebKit::WebGeolocationClientMock::setMockGeolocationError): + (WebKit::WebGeolocationClientMock::setMockGeolocationPermission): + (WebKit::WebGeolocationClientMock::resetMock): + (WebKit::WebGeolocationClientMock::startUpdating): + (WebKit::WebGeolocationClientMock::stopUpdating): + (WebKit::WebGeolocationClientMock::setEnableHighAccuracy): + (WebKit::WebGeolocationClientMock::geolocationDestroyed): + (WebKit::WebGeolocationClientMock::setController): + (WebKit::WebGeolocationClientMock::lastPosition): + (WebKit::WebGeolocationClientMock::requestPermission): + (WebKit::WebGeolocationClientMock::cancelPermissionRequest): + * src/WebGeolocationServiceMock.cpp: + +2010-12-10 John Knottenbelt <jknotten@chromium.org> + + Reviewed by Steve Block. + + [chromium] Implement client based geolocation bindings + https://bugs.webkit.org/show_bug.cgi?id=45752 + + Implements the necessary plumbing to expose client-based geolocation in Chromium + webkit. The plan is to remove the non-client-based geolocation code (GeolocationService*) + in the future. + + * WebKit.gyp: + * public/WebGeolocationClient.h: Added. + (WebKit::WebGeolocationClient::~WebGeolocationClient): + * public/WebGeolocationController.h: Added. + (WebKit::WebGeolocationController::WebGeolocationController): + (WebKit::WebGeolocationController::reset): + * public/WebGeolocationError.h: + * public/WebGeolocationPermissionRequest.h: Added. + (WebKit::WebGeolocationPermissionRequest::WebGeolocationPermissionRequest): + (WebKit::WebGeolocationPermissionRequest::geolocation): + * public/WebGeolocationPermissionRequestManager.h: Added. + (WebKit::WebGeolocationPermissionRequestManager::WebGeolocationPermissionRequestManager): + (WebKit::WebGeolocationPermissionRequestManager::~WebGeolocationPermissionRequestManager): + * public/WebGeolocationPosition.h: + * public/WebViewClient.h: + (WebKit::WebViewClient::geolocationClient): + * src/ChromeClientImpl.cpp: + (WebKit::ChromeClientImpl::requestGeolocationPermissionForFrame): + (WebKit::ChromeClientImpl::cancelGeolocationPermissionRequestForFrame): + * src/GeolocationClientProxy.cpp: Added. + (WebKit::GeolocationClientProxy::GeolocationClientProxy): + (WebKit::GeolocationClientProxy::~GeolocationClientProxy): + (WebKit::GeolocationClientProxy::setController): + (WebKit::GeolocationClientProxy::geolocationDestroyed): + (WebKit::GeolocationClientProxy::startUpdating): + (WebKit::GeolocationClientProxy::stopUpdating): + (WebKit::GeolocationClientProxy::setEnableHighAccuracy): + (WebKit::GeolocationClientProxy::lastPosition): + (WebKit::GeolocationClientProxy::requestPermission): + (WebKit::GeolocationClientProxy::cancelPermissionRequest): + * src/GeolocationClientProxy.h: Added. + * src/WebGeolocationController.cpp: Added. + (WebKit::WebGeolocationController::positionChanged): + (WebKit::WebGeolocationController::errorOccurred): + (WebKit::WebGeolocationController::controller): + * src/WebGeolocationPermissionRequest.cpp: Added. + (WebKit::WebGeolocationPermissionRequest::securityOrigin): + (WebKit::WebGeolocationPermissionRequest::setIsAllowed): + * src/WebGeolocationPermissionRequestManager.cpp: Added. + (WebGeolocationPermissionRequestManager::add): + (WebGeolocationPermissionRequestManager::remove): + (WebGeolocationPermissionRequestManager::init): + (WebGeolocationPermissionRequestManager::reset): + * src/WebViewImpl.cpp: + (WebKit::WebViewImpl::WebViewImpl): + * src/WebViewImpl.h: + 2010-12-10 Hans Wennborg <hans@chromium.org> Reviewed by Jeremy Orlow. diff --git a/WebKit/chromium/DEPS b/WebKit/chromium/DEPS index 32c01f0..0992f31 100644 --- a/WebKit/chromium/DEPS +++ b/WebKit/chromium/DEPS @@ -32,7 +32,7 @@ vars = { 'chromium_svn': 'http://src.chromium.org/svn/trunk/src', - 'chromium_rev': '67532' + 'chromium_rev': '68558' } deps = { @@ -109,20 +109,20 @@ deps = { Var('chromium_svn')+'/tools/generate_stubs@'+Var('chromium_rev'), # other third party - 'third_party': - Var('chromium_svn')+'/third_party@'+Var('chromium_rev'), 'third_party/icu': From('chromium_deps', 'src/third_party/icu'), 'third_party/ots': From('chromium_deps', 'src/third_party/ots'), + 'third_party/yasm/source/patched-yasm': + From('chromium_deps', 'src/third_party/yasm/source/patched-yasm'), + 'third_party': + Var('chromium_svn')+'/third_party@'+Var('chromium_rev'), } deps_os = { 'win': { 'third_party/cygwin': From('chromium_deps', 'src/third_party/cygwin'), - 'third_party/python_24': - From('chromium_deps', 'src/third_party/python_24'), 'third_party/ffmpeg/binaries/chromium/win/ia32': From('chromium_deps', 'src/third_party/ffmpeg/binaries/chromium/win/ia32'), 'third_party/lighttpd': @@ -131,9 +131,6 @@ deps_os = { From('chromium_deps', 'src/third_party/nss'), }, 'mac': { - # needed by ffmpeg - 'third_party/yasm/source/patched-yasm': - From('chromium_deps', 'src/third_party/yasm/source/patched-yasm'), 'third_party/nss': From('chromium_deps', 'src/third_party/nss'), }, @@ -141,8 +138,6 @@ deps_os = { # Linux, actually. 'tools/xdisplaycheck': Var('chromium_svn')+'/tools/xdisplaycheck@'+Var('chromium_rev'), - 'third_party/yasm/source/patched-yasm': - From('chromium_deps', 'src/third_party/yasm/source/patched-yasm'), 'third_party/openssl': From('chromium_deps', 'src/third_party/openssl'), }, diff --git a/WebKit/chromium/WebKit.gyp b/WebKit/chromium/WebKit.gyp index 01bb092..3612a08 100644 --- a/WebKit/chromium/WebKit.gyp +++ b/WebKit/chromium/WebKit.gyp @@ -31,7 +31,7 @@ { 'includes': [ '../../WebCore/WebCore.gypi', - '../../WebKitTools/DumpRenderTree/DumpRenderTree.gypi', + '../../Tools/DumpRenderTree/DumpRenderTree.gypi', 'WebKit.gypi', 'features.gypi', ], @@ -62,7 +62,7 @@ ], }], ], - 'ahem_path': '../../WebKitTools/DumpRenderTree/qt/fonts/AHEM____.TTF', + 'ahem_path': '../../Tools/DumpRenderTree/qt/fonts/AHEM____.TTF', # If debug_devtools is set to 1, JavaScript files for DevTools are # stored as is. Otherwise, a concatenated file is stored. @@ -173,7 +173,12 @@ 'public/WebFontCache.h', 'public/WebFormControlElement.h', 'public/WebFormElement.h', + 'public/WebGeolocationClient.h', + 'public/WebGeolocationClientMock.h', + 'public/WebGeolocationController.h', 'public/WebGeolocationError.h', + 'public/WebGeolocationPermissionRequest.h', + 'public/WebGeolocationPermissionRequestManager.h', 'public/WebGeolocationPosition.h', 'public/WebGeolocationService.h', 'public/WebGeolocationServiceBridge.h', @@ -339,6 +344,8 @@ 'src/FrameLoaderClientImpl.cpp', 'src/FrameLoaderClientImpl.h', 'src/FrameNetworkingContextImpl.h', + 'src/GeolocationClientProxy.cpp', + 'src/GeolocationClientProxy.h', 'src/GraphicsContext3DChromium.cpp', 'src/GraphicsContext3DInternal.h', 'src/gtk/WebFontInfo.cpp', @@ -444,7 +451,11 @@ 'src/WebFormElement.cpp', 'src/WebFrameImpl.cpp', 'src/WebFrameImpl.h', + 'src/WebGeolocationController.cpp', + 'src/WebGeolocationClientMock.cpp', 'src/WebGeolocationError.cpp', + 'src/WebGeolocationPermissionRequest.cpp', + 'src/WebGeolocationPermissionRequestManager.cpp', 'src/WebGeolocationPosition.cpp', 'src/WebGeolocationServiceBridgeImpl.cpp', 'src/WebGeolocationServiceBridgeImpl.h', @@ -667,11 +678,14 @@ ['"ENABLE_CLIENT_BASED_GEOLOCATION=1" in feature_defines', { 'sources/': [ ['exclude', 'WebGeolocationService.*$'], - ['include', 'WebGeolocationServiceMock.*'], ], }, { 'sources/': [ + ['exclude', 'GeolocationClientProxy.*'], + ['exclude', 'WebGeolocationClient.*'], + ['exclude', 'WebGeolocationController.*'], ['exclude', 'WebGeolocationError.*'], + ['exclude', 'WebGeolocationPermissionRequest.*'], ['exclude', 'WebGeolocationPosition.*'], ], }] @@ -853,6 +867,11 @@ }, }, }], + ['"ENABLE_CLIENT_BASED_GEOLOCATION=1" in feature_defines', { + 'sources/': [ + ['exclude', 'WebGeolocationService.*$'], + ], + }] ], }, { @@ -868,7 +887,7 @@ '<(DEPTH)', ], 'sources': [ - '../../WebKitTools/DumpRenderTree/chromium/ImageDiff.cpp', + '../../Tools/DumpRenderTree/chromium/ImageDiff.cpp', ], }, { @@ -976,15 +995,15 @@ ], 'mac_bundle_resources': [ '<(ahem_path)', - '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher100.ttf', - '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher200.ttf', - '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher300.ttf', - '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher400.ttf', - '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher500.ttf', - '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher600.ttf', - '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher700.ttf', - '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher800.ttf', - '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher900.ttf', + '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher100.ttf', + '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher200.ttf', + '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher300.ttf', + '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher400.ttf', + '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher500.ttf', + '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher600.ttf', + '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher700.ttf', + '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher800.ttf', + '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher900.ttf', '<(SHARED_INTERMEDIATE_DIR)/webkit/textAreaResizeCorner.png', ], },{ # OS!="mac" @@ -1005,7 +1024,7 @@ 'destination': '<(PRODUCT_DIR)', 'files': [ '<(ahem_path)', - '../../WebKitTools/DumpRenderTree/chromium/fonts.conf', + '../../Tools/DumpRenderTree/chromium/fonts.conf', '<(INTERMEDIATE_DIR)/repack/DumpRenderTree.pak', ] }], @@ -1034,8 +1053,8 @@ ], 'include_dirs': [ '<(chromium_src_dir)', - '../../WebKitTools/DumpRenderTree/TestNetscapePlugIn', - '../../WebKitTools/DumpRenderTree/chromium/TestNetscapePlugIn/ForwardingHeaders', + '../../Tools/DumpRenderTree/TestNetscapePlugIn', + '../../Tools/DumpRenderTree/chromium/TestNetscapePlugIn/ForwardingHeaders', ], 'conditions': [ ['OS=="mac"', { @@ -1059,7 +1078,7 @@ # we get rid of our forked plugin in the # chromium repo, we can share the same # Info.plist. - 'INFOPLIST_FILE': '../../WebKitTools/DumpRenderTree/chromium/TestNetscapePlugIn/Info.plist', + 'INFOPLIST_FILE': '../../Tools/DumpRenderTree/chromium/TestNetscapePlugIn/Info.plist', }, }], ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', { @@ -1073,8 +1092,8 @@ 'snprintf=_snprintf', ], 'sources': [ - '../../WebKitTools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.def', - '../../WebKitTools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.rc', + '../../Tools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.def', + '../../Tools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.rc', ], # The .rc file requires that the name of the dll is npTestNetscapePlugin.dll. # This adds the 'np' to the dll name. @@ -1115,7 +1134,7 @@ 'targets': [{ 'target_name': 'LayoutTestHelper', 'type': 'executable', - 'sources': ['../../WebKitTools/DumpRenderTree/chromium/LayoutTestHelperWin.cpp'], + 'sources': ['../../Tools/DumpRenderTree/chromium/LayoutTestHelperWin.cpp'], }], }], ['OS=="mac"', { @@ -1123,7 +1142,7 @@ { 'target_name': 'LayoutTestHelper', 'type': 'executable', - 'sources': ['../../WebKitTools/DumpRenderTree/chromium/LayoutTestHelper.mm'], + 'sources': ['../../Tools/DumpRenderTree/chromium/LayoutTestHelper.mm'], 'link_settings': { 'libraries': [ '$(SDKROOT)/System/Library/Frameworks/AppKit.framework', diff --git a/WebKit/chromium/features.gypi b/WebKit/chromium/features.gypi index 03e6ce4..372cc5c 100644 --- a/WebKit/chromium/features.gypi +++ b/WebKit/chromium/features.gypi @@ -45,6 +45,7 @@ 'ENABLE_BLOB=1', 'ENABLE_BLOB_SLICE=1', 'ENABLE_CHANNEL_MESSAGING=1', + 'ENABLE_CLIENT_BASED_GEOLOCATION=1', 'ENABLE_DASHBOARD_SUPPORT=0', 'ENABLE_DATABASE=1', 'ENABLE_DATAGRID=0', diff --git a/WebKit/chromium/public/WebAccessibilityObject.h b/WebKit/chromium/public/WebAccessibilityObject.h index f7c93f2..182d124 100644 --- a/WebKit/chromium/public/WebAccessibilityObject.h +++ b/WebKit/chromium/public/WebAccessibilityObject.h @@ -45,6 +45,7 @@ class WebAccessibilityObjectPrivate; class WebNode; class WebDocument; class WebString; +class WebURL; struct WebPoint; struct WebRect; @@ -110,6 +111,7 @@ public: WEBKIT_API void setFocused(bool) const; WEBKIT_API WebString stringValue() const; WEBKIT_API WebString title() const; + WEBKIT_API WebURL url() const; WEBKIT_API WebNode node() const; WEBKIT_API WebDocument document() const; diff --git a/WebKit/chromium/public/WebAudioBus.h b/WebKit/chromium/public/WebAudioBus.h index 94ef74d..b7f8d74 100644 --- a/WebKit/chromium/public/WebAudioBus.h +++ b/WebKit/chromium/public/WebAudioBus.h @@ -27,8 +27,9 @@ #include "WebCommon.h" -#if WEBKIT_IMPLEMENTATION namespace WebCore { class AudioBus; } + +#if WEBKIT_IMPLEMENTATION namespace WTF { template <typename T> class PassOwnPtr; } #endif @@ -43,11 +44,14 @@ class WebAudioBusPrivate; class WebAudioBus { public: WebAudioBus() : m_private(0) { } - ~WebAudioBus(); + ~WebAudioBus() { reset(); } // initialize() allocates memory of the given length for the given number of channels. - void initialize(unsigned numberOfChannels, size_t length, double sampleRate); + WEBKIT_API void initialize(unsigned numberOfChannels, size_t length, double sampleRate); + // reset() releases the memory allocated from initialize(). + WEBKIT_API void reset(); + WEBKIT_API unsigned numberOfChannels() const; WEBKIT_API size_t length() const; WEBKIT_API double sampleRate() const; @@ -59,9 +63,11 @@ public: #endif private: - // Noncopyable - WebAudioBus(const WebAudioBus& d) : m_private(0) { } - WebAudioBusPrivate* m_private; + // Disallow copy and assign. + WebAudioBus(const WebAudioBus&); + void operator=(const WebAudioBus&); + + WebCore::AudioBus* m_private; }; } // namespace WebKit diff --git a/WebKit/chromium/public/WebDevToolsAgent.h b/WebKit/chromium/public/WebDevToolsAgent.h index 6b4d237..d6a7bcd 100644 --- a/WebKit/chromium/public/WebDevToolsAgent.h +++ b/WebKit/chromium/public/WebDevToolsAgent.h @@ -33,6 +33,13 @@ #include "WebCommon.h" +#if WEBKIT_USING_V8 +namespace v8 { +class Value; +template <class T> class Handle; +} +#endif + namespace WebKit { class WebDevToolsAgentClient; class WebDevToolsMessageTransport; @@ -58,7 +65,9 @@ public: virtual void dispatchOnInspectorBackend(const WebString& message) = 0; virtual void inspectElementAt(const WebPoint&) = 0; - +#if WEBKIT_USING_V8 + virtual void inspectNode(v8::Handle<v8::Value>) = 0; +#endif virtual void setRuntimeProperty(const WebString& name, const WebString& value) = 0; // Exposed for LayoutTestController. diff --git a/WebKit/chromium/public/WebFormControlElement.h b/WebKit/chromium/public/WebFormControlElement.h index ee0783d..56a02dd 100644 --- a/WebKit/chromium/public/WebFormControlElement.h +++ b/WebKit/chromium/public/WebFormControlElement.h @@ -51,7 +51,7 @@ public: WebElement::assign(e); return *this; } - WEBKIT_API void assign(const WebFormControlElement& e) { WebElement::assign(e); } + void assign(const WebFormControlElement& e) { WebElement::assign(e); } WEBKIT_API bool isEnabled() const; WEBKIT_API WebString formControlName() const; diff --git a/WebKit/chromium/public/WebFrameClient.h b/WebKit/chromium/public/WebFrameClient.h index 9063350..1c6fd04 100644 --- a/WebKit/chromium/public/WebFrameClient.h +++ b/WebKit/chromium/public/WebFrameClient.h @@ -86,7 +86,7 @@ public: // A frame specific cookie jar. May return null, in which case // WebKitClient::cookieJar() will be called to access cookies. - virtual WebCookieJar* cookieJar() { return 0; } + virtual WebCookieJar* cookieJar(WebFrame*) { return 0; } // General notifications ----------------------------------------------- diff --git a/WebKit/chromium/public/WebGeolocationClient.h b/WebKit/chromium/public/WebGeolocationClient.h new file mode 100644 index 0000000..1dfb0cd --- /dev/null +++ b/WebKit/chromium/public/WebGeolocationClient.h @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2010 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef WebGeolocationClient_h +#define WebGeolocationClient_h + +namespace WebKit { +class WebGeolocationController; +class WebGeolocationPermissionRequest; +class WebGeolocationPosition; + +class WebGeolocationClient { +public: + virtual ~WebGeolocationClient() {} + + virtual void startUpdating() = 0; + virtual void stopUpdating() = 0; + virtual void setEnableHighAccuracy(bool) = 0; + virtual void geolocationDestroyed() = 0; + virtual bool lastPosition(WebGeolocationPosition&) = 0; + + virtual void requestPermission(const WebGeolocationPermissionRequest&) = 0; + virtual void cancelPermissionRequest(const WebGeolocationPermissionRequest&) = 0; + + // The controller is valid until geolocationDestroyed() is invoked. + // Ownership of the WebGeolocationController is transferred to the client. + virtual void setController(WebGeolocationController*) = 0; +}; + +} // namespace WebKit + +#endif // WebGeolocationClient_h diff --git a/WebKit/gtk/webkit/webkitworkers.cpp b/WebKit/chromium/public/WebGeolocationClientMock.h index 255863c..08a85e2 100644 --- a/WebKit/gtk/webkit/webkitworkers.cpp +++ b/WebKit/chromium/public/WebGeolocationClientMock.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Google Inc. All rights reserved. + * Copyright (c) 2010, Google Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -28,18 +28,49 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "config.h" -#include "webkitprivate.h" +#ifndef WebGeolocationClientMock_h +#define WebGeolocationClientMock_h -#include "WorkerThread.h" +#include "WebCommon.h" +#include "WebGeolocationClient.h" +#include "WebPrivateOwnPtr.h" -unsigned int webkit_worker_thread_count(void) -{ -#if ENABLE(WORKERS) - return WebCore::WorkerThread::workerThreadCount(); -#else - return 0; -#endif +namespace WebCore { +class GeolocationClientMock; } +namespace WebKit { +class WebGeolocationPosition; +class WebString; +class WebGeolocationClientMock : public WebGeolocationClient { +public: + WEBKIT_API static WebGeolocationClientMock* create(); + ~WebGeolocationClientMock() { reset(); } + + WEBKIT_API void setPosition(double latitude, double longitude, double accuracy); + WEBKIT_API void setError(int errorCode, const WebString& message); + WEBKIT_API void setPermission(bool); + WEBKIT_API void resetMock(); + + virtual void startUpdating(); + virtual void stopUpdating(); + virtual void setEnableHighAccuracy(bool); + + virtual void geolocationDestroyed(); + virtual void setController(WebGeolocationController*); + + virtual void requestPermission(const WebGeolocationPermissionRequest&); + virtual void cancelPermissionRequest(const WebGeolocationPermissionRequest&); + + virtual bool lastPosition(WebGeolocationPosition& webPosition); + +private: + WebGeolocationClientMock(); + WEBKIT_API void reset(); + + WebPrivateOwnPtr<WebCore::GeolocationClientMock> m_clientMock; +}; +} + +#endif // WebGeolocationClientMock_h diff --git a/WebKit/chromium/public/WebGeolocationController.h b/WebKit/chromium/public/WebGeolocationController.h new file mode 100644 index 0000000..3cddd0f --- /dev/null +++ b/WebKit/chromium/public/WebGeolocationController.h @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2010 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef WebGeolocationController_h +#define WebGeolocationController_h + +#include "WebCommon.h" +#include "WebNonCopyable.h" + +namespace WebCore { class GeolocationController; } + +namespace WebKit { + +class WebGeolocationPosition; +class WebGeolocationError; + +// Note that the WebGeolocationController is invalid after the +// WebGeolocationClient::geolocationDestroyed() has been received. +class WebGeolocationController : public WebNonCopyable { +public: + WEBKIT_API void positionChanged(const WebGeolocationPosition&); + WEBKIT_API void errorOccurred(const WebGeolocationError&); + +#if WEBKIT_IMPLEMENTATION + WebGeolocationController(WebCore::GeolocationController* c) + : m_private(c) + { + } + + WebCore::GeolocationController* controller() const { return m_private; } +#endif + +private: + // No implementation for the default constructor. Declared private to ensure that no instances + // can be created by the consumers of Chromium WebKit. + WebGeolocationController(); + + WebCore::GeolocationController* m_private; +}; + +} // namespace WebKit + +#endif // WebGeolocationController_h diff --git a/WebKit/chromium/public/WebGeolocationError.h b/WebKit/chromium/public/WebGeolocationError.h index e9354d3..ecb758c 100644 --- a/WebKit/chromium/public/WebGeolocationError.h +++ b/WebKit/chromium/public/WebGeolocationError.h @@ -31,9 +31,10 @@ #if WEBKIT_IMPLEMENTATION #include <wtf/PassRefPtr.h> -namespace WebCore { class GeolocationError; } #endif +namespace WebCore { class GeolocationError; } + namespace WebKit { class WebString; diff --git a/WebKit/chromium/public/WebGeolocationPermissionRequest.h b/WebKit/chromium/public/WebGeolocationPermissionRequest.h new file mode 100644 index 0000000..8b2f69e --- /dev/null +++ b/WebKit/chromium/public/WebGeolocationPermissionRequest.h @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2010 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef WebGeolocationPermissionRequest_h +#define WebGeolocationPermissionRequest_h + +#include "WebCommon.h" +#include "WebPrivatePtr.h" + +namespace WebCore { +class Geolocation; +} + +namespace WebKit { +class WebSecurityOrigin; + +// WebGeolocationPermissionRequest encapsulates a WebCore Geolocation object and represents +// a request from WebCore for permission to be determined for that Geolocation object. +// The underlying Geolocation object is guaranteed to be valid until the invocation of +// either WebGeolocationPermissionRequest::setIsAllowed (request complete) or +// WebGeolocationClient::cancelPermissionRequest (request cancelled). +class WebGeolocationPermissionRequest { +public: + WEBKIT_API WebSecurityOrigin securityOrigin() const; + WEBKIT_API void setIsAllowed(bool); + +#if WEBKIT_IMPLEMENTATION + WebGeolocationPermissionRequest(WebCore::Geolocation* geolocation) + : m_private(geolocation) + { + } + + WebCore::Geolocation* geolocation() const { return m_private; } +#endif + +private: + WebCore::Geolocation* m_private; +}; +} + +#endif // WebGeolocationPermissionRequest_h diff --git a/WebKit/chromium/public/WebGeolocationPermissionRequestManager.h b/WebKit/chromium/public/WebGeolocationPermissionRequestManager.h new file mode 100644 index 0000000..dfa1642 --- /dev/null +++ b/WebKit/chromium/public/WebGeolocationPermissionRequestManager.h @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2010 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef WebGeolocationPermissionRequestManager_h +#define WebGeolocationPermissionRequestManager_h + +#include "WebNonCopyable.h" +#include "WebPrivateOwnPtr.h" + +namespace WebKit { + +class WebGeolocationPermissionRequest; +class WebGeolocationPermissionRequestManagerPrivate; + +// This class is used to map between integer identifiers and WebGeolocationPermissionRequest +// instances. The intended usage is that on WebGeolocationClient::requestPermission(), +// the implementer can call add() to associate an id with the WebGeolocationPermissionRequest object. +// Once the permission request has been decided, the second remove() method can be used to +// find the request. On WebGeolocationClient::cancelPermissionRequest, the first remove() method will +// remove the association with the id. +class WebGeolocationPermissionRequestManager : public WebNonCopyable { +public: + WebGeolocationPermissionRequestManager() { init(); } + ~WebGeolocationPermissionRequestManager() { reset(); } + + WEBKIT_API int add(const WebKit::WebGeolocationPermissionRequest&); + WEBKIT_API bool remove(const WebKit::WebGeolocationPermissionRequest&, int&); + WEBKIT_API bool remove(int, WebKit::WebGeolocationPermissionRequest&); + +private: + WEBKIT_API void init(); + WEBKIT_API void reset(); + + WebPrivateOwnPtr<WebGeolocationPermissionRequestManagerPrivate> m_private; + int m_lastId; +}; + +} + +#endif // WebGeolocationPermissionRequestManager_h + diff --git a/WebKit/chromium/public/WebGeolocationPosition.h b/WebKit/chromium/public/WebGeolocationPosition.h index de73431..57ba314 100644 --- a/WebKit/chromium/public/WebGeolocationPosition.h +++ b/WebKit/chromium/public/WebGeolocationPosition.h @@ -31,9 +31,10 @@ #if WEBKIT_IMPLEMENTATION #include <wtf/PassRefPtr.h> -namespace WebCore { class GeolocationPosition; } #endif +namespace WebCore { class GeolocationPosition; } + namespace WebKit { class WebGeolocationPosition { diff --git a/WebKit/chromium/public/WebGraphicsContext3D.h b/WebKit/chromium/public/WebGraphicsContext3D.h index 05c164a..035b140 100644 --- a/WebKit/chromium/public/WebGraphicsContext3D.h +++ b/WebKit/chromium/public/WebGraphicsContext3D.h @@ -140,6 +140,10 @@ public: // GL_CHROMIUM_copy_texture_to_parent_texture virtual void copyTextureToParentTextureCHROMIUM(unsigned texture, unsigned parentTexture) = 0; + // GL_CHROMIUM_request_extension + virtual WebString getRequestableExtensionsCHROMIUM() = 0; + virtual void requestExtensionCHROMIUM(const char*) = 0; + // The entry points below map directly to the OpenGL ES 2.0 API. // See: http://www.khronos.org/registry/gles/ // and: http://www.khronos.org/opengles/sdk/docs/man/ diff --git a/WebKit/chromium/public/WebIDBCursor.h b/WebKit/chromium/public/WebIDBCursor.h index 88b8b22..98b2b97 100644 --- a/WebKit/chromium/public/WebIDBCursor.h +++ b/WebKit/chromium/public/WebIDBCursor.h @@ -55,7 +55,9 @@ public: virtual void update(const WebSerializedScriptValue&, WebIDBCallbacks*, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); } virtual void continueFunction(const WebIDBKey&, WebIDBCallbacks*, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); } - virtual void remove(WebIDBCallbacks*, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); } + // FIXME: Remove after WK roll. + virtual void remove(WebIDBCallbacks* callbacks, WebExceptionCode& ec) { deleteFunction(callbacks, ec); } + virtual void deleteFunction(WebIDBCallbacks* callbacks, WebExceptionCode& ec) { remove(callbacks, ec); } protected: WebIDBCursor() { } diff --git a/WebKit/chromium/public/WebIDBDatabase.h b/WebKit/chromium/public/WebIDBDatabase.h index 1588e23..5ed8052 100644 --- a/WebKit/chromium/public/WebIDBDatabase.h +++ b/WebKit/chromium/public/WebIDBDatabase.h @@ -47,26 +47,22 @@ public: WEBKIT_ASSERT_NOT_REACHED(); return WebString(); } - // FIXME: remove after roll. - virtual WebString description() const + virtual WebString version() const { + WEBKIT_ASSERT_NOT_REACHED(); return WebString(); } - virtual WebString version() const + virtual WebDOMStringList objectStoreNames() const { WEBKIT_ASSERT_NOT_REACHED(); - return WebString(); + return WebDOMStringList(); } - virtual WebDOMStringList objectStores() const { return objectStoreNames(); } // FIXME: Remove after roll. - virtual WebDOMStringList objectStoreNames() const { return objectStores(); } // FIXME: Assert not reached after roll. virtual WebIDBObjectStore* createObjectStore(const WebString& name, const WebString& keyPath, bool autoIncrement, const WebIDBTransaction&, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); return 0; } - virtual void deleteObjectStore(const WebString& name, const WebIDBTransaction& transaction, WebExceptionCode& ec) { removeObjectStore(name, transaction, ec); } - // FIXME: remove after roll. - virtual void removeObjectStore(const WebString& name, const WebIDBTransaction& transaction, WebExceptionCode& ec) { deleteObjectStore(name, transaction, ec); } + virtual void deleteObjectStore(const WebString& name, const WebIDBTransaction& transaction, WebExceptionCode& ec) { WEBKIT_ASSERT_NOT_REACHED(); } virtual void setVersion(const WebString& version, WebIDBCallbacks* callbacks, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); } // Transfers ownership of the WebIDBTransaction to the caller. virtual WebIDBTransaction* transaction(const WebDOMStringList& names, unsigned short mode, unsigned long timeout, WebExceptionCode&) diff --git a/WebKit/chromium/public/WebIDBFactory.h b/WebKit/chromium/public/WebIDBFactory.h index 5e3337e..10a134a 100755 --- a/WebKit/chromium/public/WebIDBFactory.h +++ b/WebKit/chromium/public/WebIDBFactory.h @@ -51,17 +51,10 @@ public: virtual ~WebIDBFactory() { } - // FIXME: Remove after roll. - virtual void open(const WebString& name, const WebString& description, WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame* webFrame, const WebString& dataDir, unsigned long long maximumSize) - { - open(name, callbacks, origin, webFrame, dataDir, maximumSize); - } - // The WebKit implementation of open ignores the WebFrame* parameter. virtual void open(const WebString& name, WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame* webFrame, const WebString& dataDir, unsigned long long maximumSize) { - // WEBKIT_ASSERT_NOT_REACHED(); - open(name, "", callbacks, origin, webFrame, dataDir, maximumSize); + WEBKIT_ASSERT_NOT_REACHED(); } }; diff --git a/WebKit/chromium/public/WebIDBKey.h b/WebKit/chromium/public/WebIDBKey.h index c77a5b7..561af2f 100644 --- a/WebKit/chromium/public/WebIDBKey.h +++ b/WebKit/chromium/public/WebIDBKey.h @@ -44,11 +44,16 @@ public: ~WebIDBKey() { reset(); } WEBKIT_API static WebIDBKey createNull(); + WEBKIT_API static WebIDBKey createString(const WebString&); + WEBKIT_API static WebIDBKey createDate(double); + WEBKIT_API static WebIDBKey createNumber(double); WEBKIT_API static WebIDBKey createInvalid(); WEBKIT_API static WebIDBKey createFromValueAndKeyPath(const WebSerializedScriptValue&, const WebIDBKeyPath&); - WebIDBKey(const WebString& string) { assign(string); } - WebIDBKey(double number) { assign(number); } + // FIXME: Remove these two constructors after Chromium side is done. + WebIDBKey(const WebString& string) { assignString(string); } + WebIDBKey(double number) { assignNumber(number); } + WebIDBKey(const WebIDBKey& e) { assign(e); } WebIDBKey& operator=(const WebIDBKey& e) { @@ -58,14 +63,16 @@ public: WEBKIT_API void assign(const WebIDBKey&); WEBKIT_API void assignNull(); - WEBKIT_API void assign(const WebString&); - WEBKIT_API void assign(double); + WEBKIT_API void assignString(const WebString&); + WEBKIT_API void assignDate(double); + WEBKIT_API void assignNumber(double); WEBKIT_API void assignInvalid(); WEBKIT_API void reset(); enum Type { NullType = 0, StringType, + DateType, NumberType, // Types not in WebCore::IDBKey: InvalidType @@ -73,7 +80,8 @@ public: WEBKIT_API Type type() const; WEBKIT_API WebString string() const; // Only valid for StringType. - WEBKIT_API double number() const; // Only valid for numberType. + WEBKIT_API double date() const; // Only valid for DateType. + WEBKIT_API double number() const; // Only valid for NumberType. #if WEBKIT_IMPLEMENTATION WebIDBKey(const WTF::PassRefPtr<WebCore::IDBKey>&); diff --git a/WebKit/chromium/public/WebIDBKeyRange.h b/WebKit/chromium/public/WebIDBKeyRange.h index 6a9c6da..922d4ed 100644 --- a/WebKit/chromium/public/WebIDBKeyRange.h +++ b/WebKit/chromium/public/WebIDBKeyRange.h @@ -43,13 +43,6 @@ public: WebIDBKeyRange(const WebIDBKeyRange& keyRange) { assign(keyRange); } WebIDBKeyRange(const WebIDBKey& lower, const WebIDBKey& upper, bool lowerOpen, bool upperOpen) { assign(lower, upper, lowerOpen, upperOpen); } - // FIXME: Remove next 3 methods after next roll. - WebIDBKeyRange(const WebIDBKey& lower, const WebIDBKey& upper, unsigned short flags) { assign(lower, upper, flags); } - WEBKIT_API void assign(const WebIDBKey& lower, const WebIDBKey& upper, unsigned short flags); - WEBKIT_API unsigned short flags() const; - WEBKIT_API WebIDBKey left() const; - WEBKIT_API WebIDBKey right() const; - WEBKIT_API WebIDBKey lower() const; WEBKIT_API WebIDBKey upper() const; WEBKIT_API bool lowerOpen() const; diff --git a/WebKit/chromium/public/WebIDBObjectStore.h b/WebKit/chromium/public/WebIDBObjectStore.h index 17562ca..8f2247f 100755 --- a/WebKit/chromium/public/WebIDBObjectStore.h +++ b/WebKit/chromium/public/WebIDBObjectStore.h @@ -61,9 +61,7 @@ public: virtual void get(const WebIDBKey&, WebIDBCallbacks*, const WebIDBTransaction&, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); } virtual void put(const WebSerializedScriptValue&, const WebIDBKey&, bool addOnly, WebIDBCallbacks*, const WebIDBTransaction&, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); } - // FIXME: Remove after roll. - virtual void remove(const WebIDBKey& key, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction, WebExceptionCode& ec) { deleteFunction(key, callbacks, transaction, ec); } - virtual void deleteFunction(const WebIDBKey& key, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction, WebExceptionCode& ec) { remove(key, callbacks, transaction, ec); } + virtual void deleteFunction(const WebIDBKey& key, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction, WebExceptionCode& ec) { WEBKIT_ASSERT_NOT_REACHED(); } virtual WebIDBIndex* createIndex(const WebString& name, const WebString& keyPath, bool unique, const WebIDBTransaction&, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); diff --git a/WebKit/chromium/public/WebKitClient.h b/WebKit/chromium/public/WebKitClient.h index de801f5..bf9a97b 100644 --- a/WebKit/chromium/public/WebKitClient.h +++ b/WebKit/chromium/public/WebKitClient.h @@ -225,12 +225,12 @@ public: // Decodes the in-memory audio file data and returns the linear PCM audio data in the destinationBus. // A sample-rate conversion to sampleRate will occur if the file data is at a different sample-rate. // Returns true on success. - virtual bool decodeAudioFileData(WebAudioBus* destinationBus, const char* audioFileData, size_t dataSize, double sampleRate) { return false; } + virtual bool loadAudioResource(WebAudioBus* destinationBus, const char* audioFileData, size_t dataSize, double sampleRate) { return false; } - // Returns a localized string resource (with an optional numeric - // parameter value). + // Returns a localized string resource (with substitution parameters). virtual WebString queryLocalizedString(WebLocalizedString::Name) { return WebString(); } - virtual WebString queryLocalizedString(WebLocalizedString::Name, int numericValue) { return WebString(); } + virtual WebString queryLocalizedString(WebLocalizedString::Name, const WebString& parameter) { return WebString(); } + virtual WebString queryLocalizedString(WebLocalizedString::Name, const WebString& parameter1, const WebString& parameter2) { return WebString(); } // Sandbox ------------------------------------------------------------ diff --git a/WebKit/chromium/public/WebPerformance.h b/WebKit/chromium/public/WebPerformance.h index f096ac6..c7a728e 100644 --- a/WebKit/chromium/public/WebPerformance.h +++ b/WebKit/chromium/public/WebPerformance.h @@ -73,6 +73,11 @@ public: WEBKIT_API double requestStart() const; WEBKIT_API double responseStart() const; WEBKIT_API double responseEnd() const; + WEBKIT_API double domLoading() const; + WEBKIT_API double domInteractive() const; + WEBKIT_API double domContentLoadedEventStart() const; + WEBKIT_API double domContentLoadedEventEnd() const; + WEBKIT_API double domComplete() const; WEBKIT_API double loadEventStart() const; WEBKIT_API double loadEventEnd() const; diff --git a/WebKit/chromium/public/WebView.h b/WebKit/chromium/public/WebView.h index d9d72c7..a18a64e 100644 --- a/WebKit/chromium/public/WebView.h +++ b/WebKit/chromium/public/WebView.h @@ -279,14 +279,6 @@ public: // AutoFill ----------------------------------------------------------- - // DEPRECATED. - virtual void applyAutoFillSuggestions( - const WebNode&, - const WebVector<WebString>& names, - const WebVector<WebString>& labels, - const WebVector<int>& uniqueIDs, - int separatorIndex) = 0; - // Notifies the WebView that AutoFill suggestions are available for a node. // |uniqueIDs| is a vector of IDs that represent the unique ID of each // AutoFill profile in the suggestions popup. If a unique ID is 0, then the @@ -302,14 +294,6 @@ public: const WebVector<int>& uniqueIDs, int separatorIndex) = 0; - // Notifies the WebView that Autocomplete suggestions are available for a - // node. - // DEPRECATED: merging with applyAutoFillSuggestions. - virtual void applyAutocompleteSuggestions( - const WebNode&, - const WebVector<WebString>& suggestions, - int defaultSuggestionIndex) = 0; - // Hides any popup (suggestions, selects...) that might be showing. virtual void hidePopups() = 0; diff --git a/WebKit/chromium/public/WebViewClient.h b/WebKit/chromium/public/WebViewClient.h index 7ce1483..033e120 100644 --- a/WebKit/chromium/public/WebViewClient.h +++ b/WebKit/chromium/public/WebViewClient.h @@ -52,6 +52,7 @@ class WebExternalPopupMenu; class WebExternalPopupMenuClient; class WebFileChooserCompletion; class WebFrame; +class WebGeolocationClient; class WebGeolocationService; class WebImage; class WebInputElement; @@ -340,7 +341,9 @@ public: // Geolocation --------------------------------------------------------- - // Access the embedder API for geolocation services. + // Access the embedder API for (client-based) geolocation client . + virtual WebGeolocationClient* geolocationClient() { return 0; } + // Access the embedder API for (non-client-based) geolocation services. virtual WebGeolocationService* geolocationService() { return 0; } // Speech -------------------------------------------------------------- diff --git a/WebKit/chromium/src/ApplicationCacheHost.cpp b/WebKit/chromium/src/ApplicationCacheHost.cpp index a6e66c6..85dfd20 100644 --- a/WebKit/chromium/src/ApplicationCacheHost.cpp +++ b/WebKit/chromium/src/ApplicationCacheHost.cpp @@ -106,9 +106,9 @@ void ApplicationCacheHost::selectCacheWithManifest(const KURL& manifestURL) // same resource being loaded, because "foreign" entries are never picked // during navigation. // see WebCore::ApplicationCacheGroup::selectCache() - const KURL& docURL = m_documentLoader->frame()->document()->url(); - String referrer = m_documentLoader->frameLoader()->referrer(); - m_documentLoader->frame()->navigationScheduler()->scheduleLocationChange(docURL, referrer); + Frame* frame = m_documentLoader->frame(); + frame->navigationScheduler()->scheduleLocationChange(frame->document()->securityOrigin(), + frame->document()->url(), frame->loader()->referrer()); } } } diff --git a/WebKit/chromium/src/AssertMatchingEnums.cpp b/WebKit/chromium/src/AssertMatchingEnums.cpp index ceeed8d..ba9b4e7 100644 --- a/WebKit/chromium/src/AssertMatchingEnums.cpp +++ b/WebKit/chromium/src/AssertMatchingEnums.cpp @@ -365,6 +365,7 @@ COMPILE_ASSERT_MATCHING_ENUM(WebView::UserStyleInjectInSubsequentDocuments, Inje COMPILE_ASSERT_MATCHING_ENUM(WebIDBKey::NullType, IDBKey::NullType); COMPILE_ASSERT_MATCHING_ENUM(WebIDBKey::StringType, IDBKey::StringType); +COMPILE_ASSERT_MATCHING_ENUM(WebIDBKey::DateType, IDBKey::DateType); COMPILE_ASSERT_MATCHING_ENUM(WebIDBKey::NumberType, IDBKey::NumberType); #if ENABLE(FILE_SYSTEM) diff --git a/WebKit/chromium/src/AssociatedURLLoader.cpp b/WebKit/chromium/src/AssociatedURLLoader.cpp index f494a0e..34a4055 100644 --- a/WebKit/chromium/src/AssociatedURLLoader.cpp +++ b/WebKit/chromium/src/AssociatedURLLoader.cpp @@ -42,7 +42,8 @@ namespace WebKit { AssociatedURLLoader::AssociatedURLLoader(PassRefPtr<WebFrameImpl> frameImpl) : m_frameImpl(frameImpl), - m_realLoader(webKitClient()->createURLLoader()) + m_realLoader(webKitClient()->createURLLoader()), + m_realClient(0) { } @@ -52,6 +53,8 @@ AssociatedURLLoader::~AssociatedURLLoader() void AssociatedURLLoader::loadSynchronously(const WebURLRequest& request, WebURLResponse& response, WebURLError& error, WebData& data) { + ASSERT(!m_realClient); + WebURLRequest requestCopy(request); prepareRequest(requestCopy); @@ -60,10 +63,13 @@ void AssociatedURLLoader::loadSynchronously(const WebURLRequest& request, WebURL void AssociatedURLLoader::loadAsynchronously(const WebURLRequest& request, WebURLLoaderClient* client) { + ASSERT(!m_realClient); + WebURLRequest requestCopy(request); prepareRequest(requestCopy); - m_realLoader->loadAsynchronously(requestCopy, client); + m_realClient = client; + m_realLoader->loadAsynchronously(requestCopy, this); } void AssociatedURLLoader::cancel() @@ -84,4 +90,44 @@ void AssociatedURLLoader::prepareRequest(WebURLRequest& request) m_frameImpl->dispatchWillSendRequest(request); } +void AssociatedURLLoader::willSendRequest(WebURLLoader*, WebURLRequest& newRequest, const WebURLResponse& redirectResponse) +{ + m_realClient->willSendRequest(this, newRequest, redirectResponse); +} + +void AssociatedURLLoader::didSendData(WebURLLoader*, unsigned long long bytesSent, unsigned long long totalBytesToBeSent) +{ + m_realClient->didSendData(this, bytesSent, totalBytesToBeSent); +} + +void AssociatedURLLoader::didReceiveResponse(WebURLLoader*, const WebURLResponse& response) +{ + m_realClient->didReceiveResponse(this, response); +} + +void AssociatedURLLoader::didDownloadData(WebURLLoader*, int dataLength) +{ + m_realClient->didDownloadData(this, dataLength); +} + +void AssociatedURLLoader::didReceiveData(WebURLLoader*, const char* data, int dataLength) +{ + m_realClient->didReceiveData(this, data, dataLength); +} + +void AssociatedURLLoader::didReceiveCachedMetadata(WebURLLoader*, const char* data, int dataLength) +{ + m_realClient->didReceiveCachedMetadata(this, data, dataLength); +} + +void AssociatedURLLoader::didFinishLoading(WebURLLoader*, double finishTime) +{ + m_realClient->didFinishLoading(this, finishTime); +} + +void AssociatedURLLoader::didFail(WebURLLoader*, const WebURLError& error) +{ + m_realClient->didFail(this, error); +} + } // namespace WebKit diff --git a/WebKit/chromium/src/AssociatedURLLoader.h b/WebKit/chromium/src/AssociatedURLLoader.h index 4c9f54e..91cb0bf 100644 --- a/WebKit/chromium/src/AssociatedURLLoader.h +++ b/WebKit/chromium/src/AssociatedURLLoader.h @@ -32,6 +32,7 @@ #define AssociatedURLLoader_h #include "WebURLLoader.h" +#include "WebURLLoaderClient.h" #include <wtf/OwnPtr.h> #include <wtf/RefPtr.h> @@ -41,7 +42,8 @@ class WebFrameImpl; // This class is used to implement WebFrame::createAssociatedURLLoader. // FIXME: Implement in terms of WebCore::SubresourceLoader. -class AssociatedURLLoader : public WebURLLoader { +class AssociatedURLLoader : public WebURLLoader, + public WebURLLoaderClient { public: AssociatedURLLoader(PassRefPtr<WebFrameImpl>); ~AssociatedURLLoader(); @@ -52,11 +54,22 @@ public: virtual void cancel(); virtual void setDefersLoading(bool); + // WebURLLoaderClient methods: + virtual void willSendRequest(WebURLLoader*, WebURLRequest& newRequest, const WebURLResponse& redirectResponse); + virtual void didSendData(WebURLLoader*, unsigned long long bytesSent, unsigned long long totalBytesToBeSent); + virtual void didReceiveResponse(WebURLLoader*, const WebURLResponse&); + virtual void didDownloadData(WebURLLoader*, int dataLength); + virtual void didReceiveData(WebURLLoader*, const char* data, int dataLength); + virtual void didReceiveCachedMetadata(WebURLLoader*, const char* data, int dataLength); + virtual void didFinishLoading(WebURLLoader*, double finishTime); + virtual void didFail(WebURLLoader*, const WebURLError&); + private: void prepareRequest(WebURLRequest&); RefPtr<WebFrameImpl> m_frameImpl; OwnPtr<WebURLLoader> m_realLoader; + WebURLLoaderClient* m_realClient; }; } // namespace WebKit diff --git a/WebKit/chromium/src/AutoFillPopupMenuClient.cpp b/WebKit/chromium/src/AutoFillPopupMenuClient.cpp index 32abd6f..704ba69 100644 --- a/WebKit/chromium/src/AutoFillPopupMenuClient.cpp +++ b/WebKit/chromium/src/AutoFillPopupMenuClient.cpp @@ -51,7 +51,6 @@ AutoFillPopupMenuClient::AutoFillPopupMenuClient() : m_separatorIndex(-1) , m_selectedIndex(-1) , m_textField(0) - , m_AutocompleteModeEnabled(false) { } @@ -123,36 +122,20 @@ bool AutoFillPopupMenuClient::canRemoveSuggestionAtIndex(unsigned listIndex) void AutoFillPopupMenuClient::valueChanged(unsigned listIndex, bool fireEvents) { - // DEPRECATED: Will be removed once AutoFill and Autocomplete merge is - // completed. - if (m_AutocompleteModeEnabled) { - m_textField->setValue(getSuggestion(listIndex)); - - WebViewImpl* webView = getWebView(); - if (!webView) - return; - - EditorClientImpl* editor = - static_cast<EditorClientImpl*>(webView->page()->editorClient()); - ASSERT(editor); - editor->onAutocompleteSuggestionAccepted( - static_cast<HTMLInputElement*>(m_textField.get())); - } else { - WebViewImpl* webView = getWebView(); - if (!webView) - return; - - if (m_separatorIndex != -1 && listIndex > static_cast<unsigned>(m_separatorIndex)) - --listIndex; - - ASSERT(listIndex < m_names.size()); - - webView->client()->didAcceptAutoFillSuggestion(WebNode(getTextField()), - m_names[listIndex], - m_labels[listIndex], - m_uniqueIDs[listIndex], - listIndex); - } + WebViewImpl* webView = getWebView(); + if (!webView) + return; + + if (m_separatorIndex != -1 && listIndex > static_cast<unsigned>(m_separatorIndex)) + --listIndex; + + ASSERT(listIndex < m_names.size()); + + webView->client()->didAcceptAutoFillSuggestion(WebNode(getTextField()), + m_names[listIndex], + m_labels[listIndex], + m_uniqueIDs[listIndex], + listIndex); } void AutoFillPopupMenuClient::selectionChanged(unsigned listIndex, bool fireEvents) diff --git a/WebKit/chromium/src/AutoFillPopupMenuClient.h b/WebKit/chromium/src/AutoFillPopupMenuClient.h index e3edfd3..0129a81 100644 --- a/WebKit/chromium/src/AutoFillPopupMenuClient.h +++ b/WebKit/chromium/src/AutoFillPopupMenuClient.h @@ -114,10 +114,6 @@ public: const WebVector<int>& uniqueIDs, int separatorIndex); - // DEPRECATED: Will be removed once Autocomplete and AutoFill merge is - // complete. - void setAutocompleteMode(bool enabled) { m_AutocompleteModeEnabled = enabled; } - private: // Convert the specified index from an index into the visible list (which might // include a separator entry) to an index to |m_names| and |m_labels|. @@ -147,10 +143,6 @@ private: RefPtr<WebCore::HTMLInputElement> m_textField; OwnPtr<WebCore::PopupMenuStyle> m_regularStyle; OwnPtr<WebCore::PopupMenuStyle> m_warningStyle; - - // DEPRECATED: Will be removed once Autocomplete and AutoFill merge is - // complete. - bool m_AutocompleteModeEnabled; }; } // namespace WebKit diff --git a/WebKit/chromium/src/ChromeClientImpl.cpp b/WebKit/chromium/src/ChromeClientImpl.cpp index 7b67ede..28d78d0 100644 --- a/WebKit/chromium/src/ChromeClientImpl.cpp +++ b/WebKit/chromium/src/ChromeClientImpl.cpp @@ -776,11 +776,13 @@ NotificationPresenter* ChromeClientImpl::notificationPresenter() const } #endif +// FIXME: Remove ChromeClientImpl::requestGeolocationPermissionForFrame and ChromeClientImpl::cancelGeolocationPermissionRequestForFrame +// once all ports have moved to client-based geolocation (see https://bugs.webkit.org/show_bug.cgi?id=40373 ). +// For client-based geolocation, these methods are now implemented as WebGeolocationClient::requestPermission and WebGeolocationClient::cancelPermissionRequest. +// (see https://bugs.webkit.org/show_bug.cgi?id=50061 ). void ChromeClientImpl::requestGeolocationPermissionForFrame(Frame* frame, Geolocation* geolocation) { -#if ENABLE(CLIENT_BASED_GEOLOCATION) - // FIXME: Implement Client-based Geolocation Permissions -#else +#if !ENABLE(CLIENT_BASED_GEOLOCATION) GeolocationServiceChromium* geolocationService = static_cast<GeolocationServiceChromium*>(geolocation->getGeolocationService()); geolocationService->geolocationServiceBridge()->attachBridgeIfNeeded(); m_webView->client()->geolocationService()->requestPermissionForFrame(geolocationService->geolocationServiceBridge()->getBridgeId(), frame->document()->url()); @@ -789,9 +791,7 @@ void ChromeClientImpl::requestGeolocationPermissionForFrame(Frame* frame, Geoloc void ChromeClientImpl::cancelGeolocationPermissionRequestForFrame(Frame* frame, Geolocation* geolocation) { -#if ENABLE(CLIENT_BASED_GEOLOCATION) - // FIXME: Implement Client-based Geolocation Permissions -#else +#if !ENABLE(CLIENT_BASED_GEOLOCATION) GeolocationServiceChromium* geolocationService = static_cast<GeolocationServiceChromium*>(geolocation->getGeolocationService()); m_webView->client()->geolocationService()->cancelPermissionRequestForFrame(geolocationService->geolocationServiceBridge()->getBridgeId(), frame->document()->url()); #endif diff --git a/WebKit/chromium/src/ChromiumBridge.cpp b/WebKit/chromium/src/ChromiumBridge.cpp index e9d1da6..e94a04f 100644 --- a/WebKit/chromium/src/ChromiumBridge.cpp +++ b/WebKit/chromium/src/ChromiumBridge.cpp @@ -134,7 +134,7 @@ static WebCookieJar* getCookieJar(const Document* document) WebFrameImpl* frameImpl = WebFrameImpl::fromFrame(document->frame()); if (!frameImpl || !frameImpl->client()) return 0; - WebCookieJar* cookieJar = frameImpl->client()->cookieJar(); + WebCookieJar* cookieJar = frameImpl->client()->cookieJar(frameImpl); if (!cookieJar) cookieJar = webKitClient()->cookieJar(); return cookieJar; @@ -636,7 +636,7 @@ PassOwnPtr<AudioBus> ChromiumBridge::loadPlatformAudioResource(const char* name, PassOwnPtr<AudioBus> ChromiumBridge::decodeAudioFileData(const char* data, size_t size, double sampleRate) { WebAudioBus webAudioBus; - if (webKitClient()->decodeAudioFileData(&webAudioBus, data, size, sampleRate)) + if (webKitClient()->loadAudioResource(&webAudioBus, data, size, sampleRate)) return webAudioBus.release(); return 0; } diff --git a/WebKit/chromium/src/ContextMenuClientImpl.cpp b/WebKit/chromium/src/ContextMenuClientImpl.cpp index d33a06b..7bd1a2b 100644 --- a/WebKit/chromium/src/ContextMenuClientImpl.cpp +++ b/WebKit/chromium/src/ContextMenuClientImpl.cpp @@ -34,6 +34,7 @@ #include "CSSPropertyNames.h" #include "CSSStyleDeclaration.h" #include "ContextMenu.h" +#include "ContextMenuController.h" #include "Document.h" #include "DocumentLoader.h" #include "Editor.h" @@ -45,6 +46,7 @@ #include "HTMLNames.h" #include "KURL.h" #include "MediaError.h" +#include "Page.h" #include "PlatformString.h" #include "RenderWidget.h" #include "TextBreakIterator.h" @@ -110,7 +112,7 @@ static String selectMisspelledWord(const ContextMenu* defaultMenu, Frame* select // Selection is empty, so change the selection to the word under the cursor. HitTestResult hitTestResult = selectedFrame->eventHandler()-> - hitTestResultAtPoint(defaultMenu->hitTestResult().point(), true); + hitTestResultAtPoint(selectedFrame->page()->contextMenuController()->hitTestResult().point(), true); Node* innerNode = hitTestResult.innerNode(); VisiblePosition pos(innerNode->renderer()->positionForPoint( hitTestResult.localPoint())); @@ -144,7 +146,7 @@ PlatformMenuDescription ContextMenuClientImpl::getCustomMenuFromDefaultItems( if (!m_webView->contextMenuAllowed()) return 0; - HitTestResult r = defaultMenu->hitTestResult(); + HitTestResult r = m_webView->page()->contextMenuController()->hitTestResult(); Frame* selectedFrame = r.innerNonSharedNode()->document()->frame(); WebContextMenuData data; diff --git a/WebKit/chromium/src/EditorClientImpl.cpp b/WebKit/chromium/src/EditorClientImpl.cpp index bc1d206..6f1739f 100644 --- a/WebKit/chromium/src/EditorClientImpl.cpp +++ b/WebKit/chromium/src/EditorClientImpl.cpp @@ -929,7 +929,8 @@ bool EditorClientImpl::spellingUIIsShowing() return false; } -void EditorClientImpl::getGuessesForWord(const String&, +void EditorClientImpl::getGuessesForWord(const String& word, + const String& context, WTF::Vector<String>& guesses) { notImplemented(); diff --git a/WebKit/chromium/src/EditorClientImpl.h b/WebKit/chromium/src/EditorClientImpl.h index b05a592..9dbd6af 100644 --- a/WebKit/chromium/src/EditorClientImpl.h +++ b/WebKit/chromium/src/EditorClientImpl.h @@ -107,9 +107,11 @@ public: virtual void showSpellingUI(bool show); virtual bool spellingUIIsShowing(); virtual void getGuessesForWord(const WTF::String& word, + const WTF::String& context, WTF::Vector<WTF::String>& guesses); virtual void willSetInputMethodState(); virtual void setInputMethodState(bool enabled); + virtual void requestCheckingOfString(WebCore::SpellChecker*, int, const WTF::String&) {} // Shows the form autofill popup for |node| if it is an HTMLInputElement and // it is empty. This is called when you press the up or down arrow in a diff --git a/WebKit/chromium/src/Extensions3DChromium.cpp b/WebKit/chromium/src/Extensions3DChromium.cpp index fe04986..ca2215e 100644 --- a/WebKit/chromium/src/Extensions3DChromium.cpp +++ b/WebKit/chromium/src/Extensions3DChromium.cpp @@ -48,6 +48,15 @@ bool Extensions3DChromium::supports(const String& name) return m_internal->supportsExtension(name); } +void Extensions3DChromium::ensureEnabled(const String& name) +{ +#ifndef NDEBUG + bool result = +#endif + m_internal->ensureExtensionEnabled(name); + ASSERT(result); +} + int Extensions3DChromium::getGraphicsResetStatusARB() { return m_internal->isContextLost() ? static_cast<int>(Extensions3D::UNKNOWN_CONTEXT_RESET_ARB) : static_cast<int>(GraphicsContext3D::NO_ERROR); diff --git a/WebKit/chromium/src/FrameLoaderClientImpl.cpp b/WebKit/chromium/src/FrameLoaderClientImpl.cpp index 9d79599..9beef26 100644 --- a/WebKit/chromium/src/FrameLoaderClientImpl.cpp +++ b/WebKit/chromium/src/FrameLoaderClientImpl.cpp @@ -817,7 +817,8 @@ Frame* FrameLoaderClientImpl::dispatchCreatePage(const NavigationAction& action) { struct WindowFeatures features; Page* newPage = m_webFrame->frame()->page()->chrome()->createWindow( - m_webFrame->frame(), FrameLoadRequest(), features, action); + m_webFrame->frame(), FrameLoadRequest(m_webFrame->frame()->document()->securityOrigin()), + features, action); // Make sure that we have a valid disposition. This should have been set in // the preceeding call to dispatchDecidePolicyForNewWindowAction. @@ -1378,7 +1379,8 @@ PassRefPtr<Frame> FrameLoaderClientImpl::createFrame( int marginWidth, int marginHeight) { - FrameLoadRequest frameRequest(ResourceRequest(url, referrer), name); + FrameLoadRequest frameRequest(m_webFrame->frame()->document()->securityOrigin(), + ResourceRequest(url, referrer), name); return m_webFrame->createChildFrame(frameRequest, ownerElement); } diff --git a/WebKit/chromium/src/GeolocationClientProxy.cpp b/WebKit/chromium/src/GeolocationClientProxy.cpp new file mode 100644 index 0000000..b2536dd --- /dev/null +++ b/WebKit/chromium/src/GeolocationClientProxy.cpp @@ -0,0 +1,98 @@ +/* + * Copyright (C) 2010 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" +#include "GeolocationClientProxy.h" + +#include "Geolocation.h" +#include "GeolocationPosition.h" +#include "WebGeolocationClient.h" +#include "WebGeolocationController.h" +#include "WebGeolocationPermissionRequest.h" +#include "WebGeolocationPosition.h" + +namespace WebKit { + +GeolocationClientProxy::GeolocationClientProxy(WebGeolocationClient* client) + : m_client(client) +{ +} + +GeolocationClientProxy::~GeolocationClientProxy() +{ +} + +void GeolocationClientProxy::setController(WebCore::GeolocationController* controller) +{ + // We support there not being a client, provided we don't do any Geolocation. + if (m_client) { + // Ownership of the WebGeolocationController is transferred to the client. + m_client->setController(new WebGeolocationController(controller)); + } +} + +void GeolocationClientProxy::geolocationDestroyed() +{ + if (m_client) + m_client->geolocationDestroyed(); +} + +void GeolocationClientProxy::startUpdating() +{ + m_client->startUpdating(); +} + +void GeolocationClientProxy::stopUpdating() +{ + m_client->stopUpdating(); +} + +void GeolocationClientProxy::setEnableHighAccuracy(bool highAccuracy) +{ + m_client->setEnableHighAccuracy(highAccuracy); +} + +WebCore::GeolocationPosition* GeolocationClientProxy::lastPosition() +{ + WebGeolocationPosition webPosition; + if (m_client->lastPosition(webPosition)) + m_lastPosition = webPosition; + else + m_lastPosition.clear(); + + return m_lastPosition.get(); +} + +void GeolocationClientProxy::requestPermission(WebCore::Geolocation* geolocation) +{ + m_client->requestPermission(WebGeolocationPermissionRequest(geolocation)); +} + +void GeolocationClientProxy::cancelPermissionRequest(WebCore::Geolocation* geolocation) +{ + m_client->cancelPermissionRequest(WebGeolocationPermissionRequest(geolocation)); +} + +} diff --git a/WebKit/chromium/src/GeolocationClientProxy.h b/WebKit/chromium/src/GeolocationClientProxy.h new file mode 100644 index 0000000..ee175dc --- /dev/null +++ b/WebKit/chromium/src/GeolocationClientProxy.h @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2010 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef GeolocationClientProxy_h +#define GeolocationClientProxy_h + +#include "GeolocationClient.h" +#include "WebGeolocationController.h" +#include <wtf/RefPtr.h> + +namespace WebCore { +class GeolocationPosition; +} + +namespace WebKit { +class WebGeolocationClient; + +class GeolocationClientProxy : public WebCore::GeolocationClient { +public: + GeolocationClientProxy(WebGeolocationClient* client); + ~GeolocationClientProxy(); + void setController(WebCore::GeolocationController *controller); + virtual void geolocationDestroyed(); + virtual void startUpdating(); + virtual void stopUpdating(); + virtual void setEnableHighAccuracy(bool); + virtual WebCore::GeolocationPosition* lastPosition(); + + virtual void requestPermission(WebCore::Geolocation*); + virtual void cancelPermissionRequest(WebCore::Geolocation*); + +private: + WebGeolocationClient* m_client; + RefPtr<WebCore::GeolocationPosition> m_lastPosition; +}; + +} // namespace WebKit + +#endif // GeolocationClientProxy_h diff --git a/WebKit/chromium/src/GraphicsContext3DChromium.cpp b/WebKit/chromium/src/GraphicsContext3DChromium.cpp index cc0c5bc..2dff52b 100644 --- a/WebKit/chromium/src/GraphicsContext3DChromium.cpp +++ b/WebKit/chromium/src/GraphicsContext3DChromium.cpp @@ -681,17 +681,54 @@ Extensions3D* GraphicsContext3DInternal::getExtensions() return m_extensions.get(); } -bool GraphicsContext3DInternal::supportsExtension(const String& name) +namespace { + +void splitStringHelper(const String& str, HashSet<String>& set) +{ + Vector<String> substrings; + str.split(" ", substrings); + for (size_t i = 0; i < substrings.size(); ++i) + set.add(substrings[i]); +} + +} // anonymous namespace + +void GraphicsContext3DInternal::initializeExtensions() { if (!m_initializedAvailableExtensions) { String extensionsString = getString(GraphicsContext3D::EXTENSIONS); - Vector<String> availableExtensions; - extensionsString.split(" ", availableExtensions); - for (size_t i = 0; i < availableExtensions.size(); ++i) - m_availableExtensions.add(availableExtensions[i]); + splitStringHelper(extensionsString, m_enabledExtensions); + + String requestableExtensionsString = m_impl->getRequestableExtensionsCHROMIUM(); + splitStringHelper(requestableExtensionsString, m_requestableExtensions); + m_initializedAvailableExtensions = true; } - return m_availableExtensions.contains(name); +} + + +bool GraphicsContext3DInternal::supportsExtension(const String& name) +{ + initializeExtensions(); + return m_enabledExtensions.contains(name) || m_requestableExtensions.contains(name); +} + +bool GraphicsContext3DInternal::ensureExtensionEnabled(const String& name) +{ + initializeExtensions(); + + if (m_enabledExtensions.contains(name)) + return true; + + if (m_requestableExtensions.contains(name)) { + m_impl->requestExtensionCHROMIUM(name.ascii().data()); + m_enabledExtensions.clear(); + m_requestableExtensions.clear(); + m_initializedAvailableExtensions = false; + } + + initializeExtensions(); + return m_enabledExtensions.contains(name); } DELEGATE_TO_IMPL_4R(mapBufferSubDataCHROMIUM, unsigned, int, int, unsigned, void*) diff --git a/WebKit/chromium/src/GraphicsContext3DInternal.h b/WebKit/chromium/src/GraphicsContext3DInternal.h index 220cbb8..ad54a4f 100644 --- a/WebKit/chromium/src/GraphicsContext3DInternal.h +++ b/WebKit/chromium/src/GraphicsContext3DInternal.h @@ -265,6 +265,7 @@ public: // Extensions3D support. Extensions3D* getExtensions(); bool supportsExtension(const String& name); + bool ensureExtensionEnabled(const String& name); // EXT_texture_format_BGRA8888 bool supportsBGRA(); @@ -285,7 +286,8 @@ private: OwnPtr<Extensions3DChromium> m_extensions; WebKit::WebViewImpl* m_webViewImpl; bool m_initializedAvailableExtensions; - HashSet<String> m_availableExtensions; + HashSet<String> m_enabledExtensions; + HashSet<String> m_requestableExtensions; #if USE(ACCELERATED_COMPOSITING) RefPtr<WebGLLayerChromium> m_compositingLayer; #endif @@ -301,6 +303,8 @@ private: #if PLATFORM(CG) unsigned char* m_renderOutput; #endif + + void initializeExtensions(); }; } // namespace WebCore diff --git a/WebKit/chromium/src/IDBCursorBackendProxy.cpp b/WebKit/chromium/src/IDBCursorBackendProxy.cpp index 94491f9..ec7bf63 100644 --- a/WebKit/chromium/src/IDBCursorBackendProxy.cpp +++ b/WebKit/chromium/src/IDBCursorBackendProxy.cpp @@ -85,9 +85,9 @@ void IDBCursorBackendProxy::continueFunction(PassRefPtr<IDBKey> key, PassRefPtr< m_idbCursor->continueFunction(key, new WebIDBCallbacksImpl(callbacks), ec); } -void IDBCursorBackendProxy::remove(PassRefPtr<IDBCallbacks> callbacks, ExceptionCode& ec) +void IDBCursorBackendProxy::deleteFunction(PassRefPtr<IDBCallbacks> callbacks, ExceptionCode& ec) { - m_idbCursor->remove(new WebIDBCallbacksImpl(callbacks), ec); + m_idbCursor->deleteFunction(new WebIDBCallbacksImpl(callbacks), ec); } } // namespace WebCore diff --git a/WebKit/chromium/src/IDBCursorBackendProxy.h b/WebKit/chromium/src/IDBCursorBackendProxy.h index 0a7a288..650dded 100644 --- a/WebKit/chromium/src/IDBCursorBackendProxy.h +++ b/WebKit/chromium/src/IDBCursorBackendProxy.h @@ -47,7 +47,7 @@ public: virtual PassRefPtr<IDBAny> value() const; virtual void update(PassRefPtr<SerializedScriptValue>, PassRefPtr<IDBCallbacks>, ExceptionCode&); virtual void continueFunction(PassRefPtr<IDBKey>, PassRefPtr<IDBCallbacks>, ExceptionCode&); - virtual void remove(PassRefPtr<IDBCallbacks>, ExceptionCode&); + virtual void deleteFunction(PassRefPtr<IDBCallbacks>, ExceptionCode&); private: IDBCursorBackendProxy(PassOwnPtr<WebKit::WebIDBCursor>); diff --git a/WebKit/chromium/src/IDBDatabaseProxy.cpp b/WebKit/chromium/src/IDBDatabaseProxy.cpp index 685f53c..f070d64 100644 --- a/WebKit/chromium/src/IDBDatabaseProxy.cpp +++ b/WebKit/chromium/src/IDBDatabaseProxy.cpp @@ -61,11 +61,6 @@ String IDBDatabaseProxy::name() const return m_webIDBDatabase->name(); } -String IDBDatabaseProxy::description() const -{ - return m_webIDBDatabase->description(); -} - String IDBDatabaseProxy::version() const { return m_webIDBDatabase->version(); diff --git a/WebKit/chromium/src/IDBDatabaseProxy.h b/WebKit/chromium/src/IDBDatabaseProxy.h index 84693f2..c51a604 100644 --- a/WebKit/chromium/src/IDBDatabaseProxy.h +++ b/WebKit/chromium/src/IDBDatabaseProxy.h @@ -43,7 +43,6 @@ public: virtual ~IDBDatabaseProxy(); virtual String name() const; - virtual String description() const; virtual String version() const; virtual PassRefPtr<DOMStringList> objectStoreNames() const; diff --git a/WebKit/chromium/src/LocalizedStrings.cpp b/WebKit/chromium/src/LocalizedStrings.cpp index e7b39d5..ab14009 100644 --- a/WebKit/chromium/src/LocalizedStrings.cpp +++ b/WebKit/chromium/src/LocalizedStrings.cpp @@ -43,6 +43,7 @@ #include <wtf/text/WTFString.h> using WebKit::WebLocalizedString; +using WebKit::WebString; namespace WebCore { @@ -51,9 +52,14 @@ static String query(WebLocalizedString::Name name) return WebKit::webKitClient()->queryLocalizedString(name); } -static String query(WebLocalizedString::Name name, int numericValue) +static String query(WebLocalizedString::Name name, const WebString& parameter) { - return WebKit::webKitClient()->queryLocalizedString(name, numericValue); + return WebKit::webKitClient()->queryLocalizedString(name, parameter); +} + +static String query(WebLocalizedString::Name name, const WebString& parameter1, const WebString& parameter2) +{ + return WebKit::webKitClient()->queryLocalizedString(name, parameter1, parameter2); } String searchableIndexIntroduction() @@ -191,7 +197,7 @@ String crashedPluginText() String multipleFileUploadText(unsigned numberOfFiles) { - return query(WebLocalizedString::MultipleFileUploadText, numberOfFiles); + return query(WebLocalizedString::MultipleFileUploadText, String::number(numberOfFiles)); } // Used in FTPDirectoryDocument.cpp @@ -350,28 +356,24 @@ String validationMessagePatternMismatchText() return query(WebLocalizedString::ValidationPatternMismatch); } -String validationMessageTooLongText(int, int) +String validationMessageTooLongText(int valueLength, int maxLength) { - // FIXME: pass the arguments. - return query(WebLocalizedString::ValidationTooLong); + return query(WebLocalizedString::ValidationTooLong, String::number(valueLength), String::number(maxLength)); } -String validationMessageRangeUnderflowText(const String&) +String validationMessageRangeUnderflowText(const String& minimum) { - // FIXME: pass the arguments. - return query(WebLocalizedString::ValidationRangeUnderflow); + return query(WebLocalizedString::ValidationRangeUnderflow, minimum); } -String validationMessageRangeOverflowText(const String&) +String validationMessageRangeOverflowText(const String& maximum) { - // FIXME: pass the arguments. - return query(WebLocalizedString::ValidationRangeOverflow); + return query(WebLocalizedString::ValidationRangeOverflow, maximum); } -String validationMessageStepMismatchText(const String&, const String&) +String validationMessageStepMismatchText(const String& base, const String& step) { - // FIXME: pass the arguments. - return query(WebLocalizedString::ValidationStepMismatch); + return query(WebLocalizedString::ValidationStepMismatch, base, step); } } // namespace WebCore diff --git a/WebKit/chromium/src/StorageAreaProxy.cpp b/WebKit/chromium/src/StorageAreaProxy.cpp index 5311b65..ed89b2c 100644 --- a/WebKit/chromium/src/StorageAreaProxy.cpp +++ b/WebKit/chromium/src/StorageAreaProxy.cpp @@ -129,7 +129,7 @@ void StorageAreaProxy::storageEvent(const String& key, const String& oldValue, c ExceptionCode ec = 0; Storage* storage = frames[i]->domWindow()->sessionStorage(ec); if (!ec) - frames[i]->document()->enqueueEvent(StorageEvent::create(eventNames().storageEvent, key, oldValue, newValue, sourceFrame->document()->url(), storage)); + frames[i]->document()->enqueueWindowEvent(StorageEvent::create(eventNames().storageEvent, key, oldValue, newValue, sourceFrame->document()->url(), storage)); } } else { // Send events to every page. @@ -146,7 +146,7 @@ void StorageAreaProxy::storageEvent(const String& key, const String& oldValue, c ExceptionCode ec = 0; Storage* storage = frames[i]->domWindow()->localStorage(ec); if (!ec) - frames[i]->document()->enqueueEvent(StorageEvent::create(eventNames().storageEvent, key, oldValue, newValue, sourceFrame->document()->url(), storage)); + frames[i]->document()->enqueueWindowEvent(StorageEvent::create(eventNames().storageEvent, key, oldValue, newValue, sourceFrame->document()->url(), storage)); } } } diff --git a/WebKit/chromium/src/WebAccessibilityObject.cpp b/WebKit/chromium/src/WebAccessibilityObject.cpp index 9df69cf..50baa27 100644 --- a/WebKit/chromium/src/WebAccessibilityObject.cpp +++ b/WebKit/chromium/src/WebAccessibilityObject.cpp @@ -44,6 +44,7 @@ #include "WebPoint.h" #include "WebRect.h" #include "WebString.h" +#include "WebURL.h" using namespace WebCore; @@ -379,7 +380,7 @@ WebAccessibilityObject WebAccessibilityObject::hitTest(const WebPoint& point) co m_private->updateBackingStore(); IntPoint contentsPoint = m_private->documentFrameView()->windowToContents(point); - RefPtr<AccessibilityObject> hit = m_private->doAccessibilityHitTest(contentsPoint); + RefPtr<AccessibilityObject> hit = m_private->accessibilityHitTest(contentsPoint); if (hit.get()) return WebAccessibilityObject(hit); @@ -461,6 +462,14 @@ WebString WebAccessibilityObject::title() const return m_private->title(); } +WebURL WebAccessibilityObject::url() const +{ + if (!m_private) + return WebURL(); + + m_private->updateBackingStore(); + return m_private->url(); +} WebNode WebAccessibilityObject::node() const { diff --git a/WebKit/chromium/src/WebAudioBus.cpp b/WebKit/chromium/src/WebAudioBus.cpp index ceccafc..9d4590e 100644 --- a/WebKit/chromium/src/WebAudioBus.cpp +++ b/WebKit/chromium/src/WebAudioBus.cpp @@ -44,14 +44,6 @@ namespace WebKit { class WebAudioBusPrivate : public AudioBus { }; -WebAudioBus::~WebAudioBus() -{ -#if ENABLE(WEB_AUDIO) - delete m_private; - m_private = 0; -#endif -} - void WebAudioBus::initialize(unsigned numberOfChannels, size_t length, double sampleRate) { #if ENABLE(WEB_AUDIO) @@ -66,6 +58,16 @@ void WebAudioBus::initialize(unsigned numberOfChannels, size_t length, double sa #endif } +void WebAudioBus::reset() +{ +#if ENABLE(WEB_AUDIO) + delete m_private; + m_private = 0; +#else + ASSERT_NOT_REACHED(); +#endif +} + unsigned WebAudioBus::numberOfChannels() const { #if ENABLE(WEB_AUDIO) diff --git a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp index 880adb4..9f4ce87 100644 --- a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp +++ b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp @@ -33,6 +33,7 @@ #include "DebuggerAgentImpl.h" #include "DebuggerAgentManager.h" +#include "ExceptionCode.h" #include "InjectedScriptHost.h" #include "InspectorBackendDispatcher.h" #include "InspectorController.h" @@ -44,6 +45,7 @@ #include "ResourceResponse.h" #include "ScriptDebugServer.h" #include "V8Binding.h" +#include "V8Node.h" #include "V8Proxy.h" #include "V8Utilities.h" #include "WebDataSource.h" @@ -74,6 +76,7 @@ using WebCore::ResourceRequest; using WebCore::ResourceResponse; using WTF::String; using WebCore::V8DOMWrapper; +using WebCore::V8Node; using WebCore::V8Proxy; namespace WebKit { @@ -243,6 +246,14 @@ void WebDevToolsAgentImpl::inspectElementAt(const WebPoint& point) m_webViewImpl->inspectElementAt(point); } +void WebDevToolsAgentImpl::inspectNode(v8::Handle<v8::Value> node) +{ + if (!V8Node::HasInstance(node)) + V8Proxy::setDOMException(WebCore::TYPE_MISMATCH_ERR); + else + inspectorController()->inspect(V8Node::toNative(v8::Handle<v8::Object>::Cast(node))); +} + void WebDevToolsAgentImpl::setRuntimeProperty(const WebString& name, const WebString& value) { if (name == kApuAgentFeatureName) diff --git a/WebKit/chromium/src/WebDevToolsAgentImpl.h b/WebKit/chromium/src/WebDevToolsAgentImpl.h index feb4bdd..487cf0c 100644 --- a/WebKit/chromium/src/WebDevToolsAgentImpl.h +++ b/WebKit/chromium/src/WebDevToolsAgentImpl.h @@ -75,6 +75,7 @@ public: virtual void didNavigate(); virtual void dispatchOnInspectorBackend(const WebString& message); virtual void inspectElementAt(const WebPoint& point); + virtual void inspectNode(v8::Handle<v8::Value> node); virtual void evaluateInWebInspector(long callId, const WebString& script); virtual void setRuntimeProperty(const WebString& name, const WebString& value); virtual void setTimelineProfilingEnabled(bool enable); diff --git a/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp b/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp index ea59ab6..345e43e 100644 --- a/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp +++ b/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp @@ -111,7 +111,11 @@ void WebDevToolsFrontendImpl::dispatchOnInspectorFrontend(const WebString& messa v8::HandleScope scope; v8::Handle<v8::Context> frameContext = V8Proxy::context(frame->frame()); v8::Context::Scope contextScope(frameContext); - v8::Handle<v8::Value> dispatchFunction = frameContext->Global()->Get(v8::String::New("WebInspector_syncDispatch")); + v8::Handle<v8::Value> inspectorBackendValue = frameContext->Global()->Get(v8::String::New("InspectorBackend")); + if (!inspectorBackendValue->IsObject()) + return; + v8::Handle<v8::Object> inspectorBackend = v8::Handle<v8::Object>::Cast(inspectorBackendValue); + v8::Handle<v8::Value> dispatchFunction = inspectorBackend->Get(v8::String::New("dispatch")); // The frame might have navigated away from the front-end page (which is still weird). if (!dispatchFunction->IsFunction()) return; @@ -120,7 +124,7 @@ void WebDevToolsFrontendImpl::dispatchOnInspectorFrontend(const WebString& messa args.append(ToV8String(message)); v8::TryCatch tryCatch; tryCatch.SetVerbose(true); - function->Call(frameContext->Global(), args.size(), args.data()); + function->Call(inspectorBackend, args.size(), args.data()); } void WebDevToolsFrontendImpl::frontendLoaded() diff --git a/WebKit/chromium/src/WebFormElement.cpp b/WebKit/chromium/src/WebFormElement.cpp index 7a01053..6b6e9be 100644 --- a/WebKit/chromium/src/WebFormElement.cpp +++ b/WebKit/chromium/src/WebFormElement.cpp @@ -92,9 +92,12 @@ void WebFormElement::getFormControlElements(WebVector<WebFormControlElement>& re // re-evaluating size each time. Also, consider refactoring this code so that // we don't call form->associatedElements() multiple times. for (size_t i = 0; i < form->associatedElements().size(); i++) { - if (form->associatedElements()[i]->hasLocalName(HTMLNames::inputTag) - || form->associatedElements()[i]->hasLocalName(HTMLNames::selectTag)) - tempVector.append(form->associatedElements()[i]); + if (!form->associatedElements()[i]->isFormControlElement()) + continue; + HTMLFormControlElement* element = static_cast<HTMLFormControlElement*>(form->associatedElements()[i]); + if (element->hasLocalName(HTMLNames::inputTag) + || element->hasLocalName(HTMLNames::selectTag)) + tempVector.append(element); } result.assign(tempVector); } diff --git a/WebKit/chromium/src/WebGeolocationClientMock.cpp b/WebKit/chromium/src/WebGeolocationClientMock.cpp new file mode 100644 index 0000000..1ec3dd1 --- /dev/null +++ b/WebKit/chromium/src/WebGeolocationClientMock.cpp @@ -0,0 +1,146 @@ +/* + * Copyright (c) 2010, Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" +#include "WebGeolocationClientMock.h" + +#include "CurrentTime.h" +#include "Geolocation.h" +#include "GeolocationClientMock.h" +#include "GeolocationError.h" +#include "GeolocationPosition.h" +#include "PositionError.h" +#include "WebGeolocationController.h" +#include "WebGeolocationError.h" +#include "WebGeolocationPermissionRequest.h" +#include "WebGeolocationPosition.h" + +using namespace WebCore; + +namespace WebKit { + +WebGeolocationClientMock* WebGeolocationClientMock::create() +{ + return new WebGeolocationClientMock(); +} + +void WebGeolocationClientMock::setPosition(double latitude, double longitude, double accuracy) +{ + WebGeolocationPosition webPosition(currentTime(), latitude, longitude, accuracy, + false, 0, false, 0, false, 0, false, 0); + m_clientMock->setPosition(webPosition); +} + +void WebGeolocationClientMock::setError(int errorCode, const WebString& message) +{ + WebGeolocationError::Error code; + switch (errorCode) { + case PositionError::PERMISSION_DENIED: + code = WebGeolocationError::ErrorPermissionDenied; + break; + case PositionError::POSITION_UNAVAILABLE: + code = WebGeolocationError::ErrorPositionUnavailable; + break; + default: + ASSERT_NOT_REACHED(); + return; + } + + WebGeolocationError webError(code, message); + m_clientMock->setError(webError); +} + +void WebGeolocationClientMock::setPermission(bool allowed) +{ + m_clientMock->setPermission(allowed); +} + +void WebGeolocationClientMock::resetMock() +{ + m_clientMock->reset(); +} + +void WebGeolocationClientMock::startUpdating() +{ + m_clientMock->startUpdating(); +} + +void WebGeolocationClientMock::stopUpdating() +{ + m_clientMock->stopUpdating(); +} + +void WebGeolocationClientMock::setEnableHighAccuracy(bool accuracy) +{ + m_clientMock->setEnableHighAccuracy(accuracy); +} + +void WebGeolocationClientMock::geolocationDestroyed() +{ + m_clientMock->geolocationDestroyed(); +} + +void WebGeolocationClientMock::setController(WebGeolocationController* controller) +{ + m_clientMock->setController(controller->controller()); + delete controller; +} + +void WebGeolocationClientMock::requestPermission(const WebGeolocationPermissionRequest& request) +{ + m_clientMock->requestPermission(request.geolocation()); +} + +void WebGeolocationClientMock::cancelPermissionRequest(const WebGeolocationPermissionRequest& request) +{ + m_clientMock->cancelPermissionRequest(request.geolocation()); +} + +bool WebGeolocationClientMock::lastPosition(WebGeolocationPosition& webPosition) +{ + RefPtr<GeolocationPosition> position = m_clientMock->lastPosition(); + if (!position) + return false; + + webPosition = position.release(); + return true; +} + +WebGeolocationClientMock::WebGeolocationClientMock() +{ + m_clientMock.reset(new GeolocationClientMock()); +} + +void WebGeolocationClientMock::reset() +{ + m_clientMock.reset(0); +} + +} // WebKit diff --git a/WebKit/chromium/src/WebGeolocationController.cpp b/WebKit/chromium/src/WebGeolocationController.cpp new file mode 100644 index 0000000..12cbaa0 --- /dev/null +++ b/WebKit/chromium/src/WebGeolocationController.cpp @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2010 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" +#include "WebGeolocationController.h" + +#include "GeolocationController.h" +#include "GeolocationError.h" +#include "GeolocationPosition.h" +#include "WebGeolocationError.h" +#include "WebGeolocationPosition.h" + +#include <wtf/PassRefPtr.h> +#include <wtf/RefPtr.h> + +using namespace WebCore; + +namespace WebKit { + +void WebGeolocationController::positionChanged(const WebGeolocationPosition& webPosition) +{ + m_private->positionChanged(PassRefPtr<GeolocationPosition>(webPosition).get()); +} + +void WebGeolocationController::errorOccurred(const WebGeolocationError& webError) +{ + m_private->errorOccurred(PassRefPtr<GeolocationError>(webError).get()); +} + +} // namespace WebKit diff --git a/WebKit/chromium/src/WebGeolocationPermissionRequest.cpp b/WebKit/chromium/src/WebGeolocationPermissionRequest.cpp new file mode 100644 index 0000000..8d8c53e --- /dev/null +++ b/WebKit/chromium/src/WebGeolocationPermissionRequest.cpp @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2010 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" +#include "WebGeolocationPermissionRequest.h" + +#include "Document.h" +#include "Frame.h" +#include "Geolocation.h" +#include "WebSecurityOrigin.h" +#include "WebURL.h" + +using namespace WebCore; + +namespace WebKit { + +WebSecurityOrigin WebGeolocationPermissionRequest::securityOrigin() const +{ + return WebSecurityOrigin::create(m_private->frame()->document()->url()); +} + +void WebGeolocationPermissionRequest::setIsAllowed(bool allowed) +{ + m_private->setIsAllowed(allowed); +} + +} diff --git a/WebKit/chromium/src/WebGeolocationPermissionRequestManager.cpp b/WebKit/chromium/src/WebGeolocationPermissionRequestManager.cpp new file mode 100644 index 0000000..4c0ed9c --- /dev/null +++ b/WebKit/chromium/src/WebGeolocationPermissionRequestManager.cpp @@ -0,0 +1,95 @@ +/* + * Copyright (C) 2010 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" +#include "WebGeolocationPermissionRequestManager.h" + +#include "WebGeolocationPermissionRequest.h" +#include <wtf/HashMap.h> + +namespace WebCore { +class Geolocation; +} + +using namespace WebCore; + +typedef HashMap<Geolocation*, int> GeolocationIdMap; +typedef HashMap<int, Geolocation*> IdGeolocationMap; + +namespace WebKit { +class WebGeolocationPermissionRequestManagerPrivate { +public: + GeolocationIdMap m_geolocationIdMap; + IdGeolocationMap m_idGeolocationMap; +}; +} + +using namespace WebKit; + +int WebGeolocationPermissionRequestManager::add(const WebKit::WebGeolocationPermissionRequest& permissionRequest) +{ + Geolocation* geolocation = permissionRequest.geolocation(); + ASSERT(!m_private->m_geolocationIdMap.contains(geolocation)); + int id = ++m_lastId; + m_private->m_geolocationIdMap.add(geolocation, id); + m_private->m_idGeolocationMap.add(id, geolocation); + return id; +} + +bool WebGeolocationPermissionRequestManager::remove(const WebKit::WebGeolocationPermissionRequest& permissionRequest, int& id) +{ + Geolocation* geolocation = permissionRequest.geolocation(); + GeolocationIdMap::iterator it = m_private->m_geolocationIdMap.find(geolocation); + if (it == m_private->m_geolocationIdMap.end()) + return false; + id = it->second; + m_private->m_geolocationIdMap.remove(it); + m_private->m_idGeolocationMap.remove(id); + return true; +} + +bool WebGeolocationPermissionRequestManager::remove(int id, WebKit::WebGeolocationPermissionRequest& permissionRequest) +{ + IdGeolocationMap::iterator it = m_private->m_idGeolocationMap.find(id); + if (it == m_private->m_idGeolocationMap.end()) + return false; + Geolocation* geolocation = it->second; + permissionRequest = WebGeolocationPermissionRequest(geolocation); + m_private->m_idGeolocationMap.remove(it); + m_private->m_geolocationIdMap.remove(geolocation); + return true; +} + +void WebGeolocationPermissionRequestManager::init() +{ + m_lastId = 0; + m_private.reset(new WebGeolocationPermissionRequestManagerPrivate); +} + +void WebGeolocationPermissionRequestManager::reset() +{ + m_private.reset(0); +} + diff --git a/WebKit/chromium/src/WebGeolocationServiceMock.cpp b/WebKit/chromium/src/WebGeolocationServiceMock.cpp index 07d3f44..667b8b1 100644 --- a/WebKit/chromium/src/WebGeolocationServiceMock.cpp +++ b/WebKit/chromium/src/WebGeolocationServiceMock.cpp @@ -41,39 +41,6 @@ #include <wtf/Vector.h> #if ENABLE(GEOLOCATION) - -#if ENABLE(CLIENT_BASED_GEOLOCATION) -// FIXME: Implement mock bindings for client-based geolocation. Ultimately -// move to another class and remove WebGeolocationService*. - -namespace WebKit { - -class WebGeolocationServiceMockClientBasedImpl : public WebGeolocationServiceMock { -}; - -WebGeolocationServiceMock* WebGeolocationServiceMock::createWebGeolocationServiceMock() -{ - return new WebGeolocationServiceMockClientBasedImpl; -} - -void WebGeolocationServiceMock::setMockGeolocationPermission(bool allowed) -{ - // FIXME: Implement mock binding -} - -void WebGeolocationServiceMock::setMockGeolocationPosition(double latitude, double longitude, double accuracy) -{ - // FIXME: Implement mock binding -} - -void WebGeolocationServiceMock::setMockGeolocationError(int errorCode, const WebString& message) -{ - // FIXME: Implement mock binding -} - -} // namespace WebKit - -#else using WebCore::Coordinates; using WebCore::Frame; using WebCore::Geolocation; @@ -272,6 +239,4 @@ void WebGeolocationServiceMockImpl::notifyPendingPermissions() } } // namespace WebKit - -#endif // ENABLE(CLIENT_BASED_GEOLOCATION) #endif // ENABLE(GEOLOCATION) diff --git a/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp b/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp index 9a74601..9a4a362 100644 --- a/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp +++ b/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp @@ -624,6 +624,15 @@ void WebGraphicsContext3DDefaultImpl::copyTextureToParentTextureCHROMIUM(unsigne glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_boundFBO); } +WebString WebGraphicsContext3DDefaultImpl::getRequestableExtensionsCHROMIUM() +{ + return WebString(); +} + +void WebGraphicsContext3DDefaultImpl::requestExtensionCHROMIUM(const char*) +{ +} + // Helper macros to reduce the amount of code. #define DELEGATE_TO_GL(name, glname) \ @@ -1260,68 +1269,13 @@ DELEGATE_TO_GL_2(sampleCoverage, SampleCoverage, double, bool) DELEGATE_TO_GL_4(scissor, Scissor, long, long, unsigned long, unsigned long) -unsigned bytesPerComponent(unsigned type) -{ - switch (type) { - case GL_BYTE: - case GL_UNSIGNED_BYTE: - return 1; - case GL_SHORT: - case GL_UNSIGNED_SHORT: - case GL_UNSIGNED_SHORT_5_6_5: - case GL_UNSIGNED_SHORT_4_4_4_4: - case GL_UNSIGNED_SHORT_5_5_5_1: - return 2; - case GL_FLOAT: - return 4; - default: - return 4; - } -} - -unsigned componentsPerPixel(unsigned format, unsigned type) -{ - switch (type) { - case GL_UNSIGNED_SHORT_5_6_5: - case GL_UNSIGNED_SHORT_4_4_4_4: - case GL_UNSIGNED_SHORT_5_5_5_1: - return 1; - default: - break; - } - switch (format) { - case GL_LUMINANCE: - return 1; - case GL_LUMINANCE_ALPHA: - return 2; - case GL_RGB: - return 3; - case GL_RGBA: - case GL_BGRA_EXT: - return 4; - default: - return 4; - } -} - -// N.B.: This code does not protect against integer overflow (as the command -// buffer implementation does), so it should not be considered robust enough -// for use in the browser. Since this implementation is only used for layout -// tests, this should be ok for now. -size_t imageSizeInBytes(unsigned width, unsigned height, unsigned format, unsigned type) -{ - return width * height * bytesPerComponent(type) * componentsPerPixel(format, type); -} - void WebGraphicsContext3DDefaultImpl::texImage2D(unsigned target, unsigned level, unsigned internalFormat, unsigned width, unsigned height, unsigned border, unsigned format, unsigned type, const void* pixels) { - OwnArrayPtr<uint8> zero; - if (!pixels) { - size_t size = imageSizeInBytes(width, height, format, type); - zero.set(new uint8[size]); - memset(zero.get(), 0, size); - pixels = zero.get(); + if (width && height && !pixels) { + synthesizeGLError(GL_INVALID_VALUE); + return; } + makeContextCurrent(); glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels); } diff --git a/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.h b/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.h index 32e3671..b656d0c 100644 --- a/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.h +++ b/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.h @@ -85,6 +85,9 @@ public: virtual void unmapTexSubImage2DCHROMIUM(const void*); virtual void copyTextureToParentTextureCHROMIUM(unsigned texture, unsigned parentTexture); + virtual WebString getRequestableExtensionsCHROMIUM(); + virtual void requestExtensionCHROMIUM(const char*); + virtual void activeTexture(unsigned long texture); virtual void attachShader(WebGLId program, WebGLId shader); virtual void bindAttribLocation(WebGLId program, unsigned long index, const char* name); diff --git a/WebKit/chromium/src/WebIDBCursorImpl.cpp b/WebKit/chromium/src/WebIDBCursorImpl.cpp index eca5d42..5165574 100644 --- a/WebKit/chromium/src/WebIDBCursorImpl.cpp +++ b/WebKit/chromium/src/WebIDBCursorImpl.cpp @@ -80,9 +80,9 @@ void WebIDBCursorImpl::continueFunction(const WebIDBKey& key, WebIDBCallbacks* c m_idbCursorBackend->continueFunction(key, IDBCallbacksProxy::create(callbacks), ec); } -void WebIDBCursorImpl::remove(WebIDBCallbacks* callbacks, WebExceptionCode& ec) +void WebIDBCursorImpl::deleteFunction(WebIDBCallbacks* callbacks, WebExceptionCode& ec) { - m_idbCursorBackend->remove(IDBCallbacksProxy::create(callbacks), ec); + m_idbCursorBackend->deleteFunction(IDBCallbacksProxy::create(callbacks), ec); } } // namespace WebCore diff --git a/WebKit/chromium/src/WebIDBCursorImpl.h b/WebKit/chromium/src/WebIDBCursorImpl.h index 39fa44b..7f8ebd7 100644 --- a/WebKit/chromium/src/WebIDBCursorImpl.h +++ b/WebKit/chromium/src/WebIDBCursorImpl.h @@ -47,7 +47,7 @@ public: virtual void value(WebSerializedScriptValue&, WebIDBKey&) const; virtual void update(const WebSerializedScriptValue&, WebIDBCallbacks*, WebExceptionCode&); virtual void continueFunction(const WebIDBKey&, WebIDBCallbacks*, WebExceptionCode&); - virtual void remove(WebIDBCallbacks*, WebExceptionCode&); + virtual void deleteFunction(WebIDBCallbacks*, WebExceptionCode&); private: WTF::RefPtr<WebCore::IDBCursorBackendInterface> m_idbCursorBackend; diff --git a/WebKit/chromium/src/WebIDBDatabaseError.cpp b/WebKit/chromium/src/WebIDBDatabaseError.cpp index cbbe14a..7413ae6 100644 --- a/WebKit/chromium/src/WebIDBDatabaseError.cpp +++ b/WebKit/chromium/src/WebIDBDatabaseError.cpp @@ -47,7 +47,7 @@ void WebIDBDatabaseError::assign(const WebIDBDatabaseError& value) void WebIDBDatabaseError::assign(unsigned short code, const WebString& message) { - m_private = IDBDatabaseError::create(code, message); + m_private = IDBDatabaseError::createWithoutOffset(code, message); } void WebIDBDatabaseError::reset() diff --git a/WebKit/chromium/src/WebIDBKey.cpp b/WebKit/chromium/src/WebIDBKey.cpp index b7a7db8..7e84df1 100644 --- a/WebKit/chromium/src/WebIDBKey.cpp +++ b/WebKit/chromium/src/WebIDBKey.cpp @@ -48,6 +48,27 @@ WebIDBKey WebIDBKey::createNull() return key; } +WebIDBKey WebIDBKey::createString(const WebString& string) +{ + WebIDBKey key; + key.assignString(string); + return key; +} + +WebIDBKey WebIDBKey::createDate(double date) +{ + WebIDBKey key; + key.assignDate(date); + return key; +} + +WebIDBKey WebIDBKey::createNumber(double number) +{ + WebIDBKey key; + key.assignNumber(number); + return key; +} + WebIDBKey WebIDBKey::createInvalid() { WebIDBKey key; @@ -69,17 +90,22 @@ void WebIDBKey::assign(const WebIDBKey& value) void WebIDBKey::assignNull() { - m_private = IDBKey::create(); + m_private = IDBKey::createNull(); +} + +void WebIDBKey::assignString(const WebString& string) +{ + m_private = IDBKey::createString(string); } -void WebIDBKey::assign(const WebString& string) +void WebIDBKey::assignDate(double date) { - m_private = IDBKey::create(string); + m_private = IDBKey::createDate(date); } -void WebIDBKey::assign(double number) +void WebIDBKey::assignNumber(double number) { - m_private = IDBKey::create(number); + m_private = IDBKey::createNumber(number); } void WebIDBKey::assignInvalid() @@ -104,6 +130,11 @@ WebString WebIDBKey::string() const return m_private->string(); } +double WebIDBKey::date() const +{ + return m_private->date(); +} + double WebIDBKey::number() const { return m_private->number(); diff --git a/WebKit/chromium/src/WebIDBKeyRange.cpp b/WebKit/chromium/src/WebIDBKeyRange.cpp index ec5b7c2..517ff00 100644 --- a/WebKit/chromium/src/WebIDBKeyRange.cpp +++ b/WebKit/chromium/src/WebIDBKeyRange.cpp @@ -47,33 +47,11 @@ void WebIDBKeyRange::assign(const WebIDBKey& lower, const WebIDBKey& upper, bool m_private = IDBKeyRange::create(lower, upper, lowerOpen, upperOpen); } -// FIXME: Remove this after next roll. -void WebIDBKeyRange::assign(const WebIDBKey& lower, const WebIDBKey& upper, unsigned short flags) -{ - bool lowerOpen = !!(flags & 1); - bool upperOpen = !!(flags & 2); - - if (lower.type() == WebIDBKey::InvalidType && upper.type() == WebIDBKey::InvalidType) - m_private = 0; - else - m_private = IDBKeyRange::create(lower, upper, lowerOpen, upperOpen); -} - void WebIDBKeyRange::reset() { m_private.reset(); } -WebIDBKey WebIDBKeyRange::left() const -{ - return lower(); -} - -WebIDBKey WebIDBKeyRange::right() const -{ - return upper(); -} - WebIDBKey WebIDBKeyRange::lower() const { if (!m_private.get()) @@ -98,20 +76,6 @@ bool WebIDBKeyRange::upperOpen() const return m_private.get() && m_private->upperOpen(); } -// FIXME: Remove this after next roll. -unsigned short WebIDBKeyRange::flags() const -{ - if (!m_private.get()) - return 0; - - unsigned short flags = 0; - if (m_private->lowerOpen()) - flags |= 1; - if (m_private->upperOpen()) - flags |= 2; - return flags; -} - WebIDBKeyRange::WebIDBKeyRange(const PassRefPtr<IDBKeyRange>& value) : m_private(value) { diff --git a/WebKit/chromium/src/WebImageDecoder.cpp b/WebKit/chromium/src/WebImageDecoder.cpp index 0cfd458..a17897c 100644 --- a/WebKit/chromium/src/WebImageDecoder.cpp +++ b/WebKit/chromium/src/WebImageDecoder.cpp @@ -56,10 +56,10 @@ void WebImageDecoder::init(Type type) { switch (type) { case TypeBMP: - m_private = new BMPImageDecoder(true, false); + m_private = new BMPImageDecoder(ImageSource::AlphaPremultiplied, ImageSource::GammaAndColorProfileApplied); break; case TypeICO: - m_private = new ICOImageDecoder(true, false); + m_private = new ICOImageDecoder(ImageSource::AlphaPremultiplied, ImageSource::GammaAndColorProfileApplied); break; } } diff --git a/WebKit/chromium/src/WebPasswordFormUtils.cpp b/WebKit/chromium/src/WebPasswordFormUtils.cpp index b4997e5..5f8a1ec 100644 --- a/WebKit/chromium/src/WebPasswordFormUtils.cpp +++ b/WebKit/chromium/src/WebPasswordFormUtils.cpp @@ -65,9 +65,11 @@ void findPasswordFormFields(HTMLFormElement* form, PasswordFormFields* fields) int firstPasswordIndex = 0; // First, find the password fields and activated submit button - const Vector<HTMLFormControlElement*>& formElements = form->associatedElements(); + const Vector<FormAssociatedElement*>& formElements = form->associatedElements(); for (size_t i = 0; i < formElements.size(); i++) { - HTMLFormControlElement* formElement = formElements[i]; + if (!formElements[i]->isFormControlElement()) + continue; + HTMLFormControlElement* formElement = static_cast<HTMLFormControlElement*>(formElements[i]); if (formElement->isActivatedSubmit()) fields->submit = formElement; @@ -90,7 +92,9 @@ void findPasswordFormFields(HTMLFormElement* form, PasswordFormFields* fields) if (!fields->passwords.isEmpty()) { // Then, search backwards for the username field for (int i = firstPasswordIndex - 1; i >= 0; i--) { - HTMLFormControlElement* formElement = formElements[i]; + if (!formElements[i]->isFormControlElement()) + continue; + HTMLFormControlElement* formElement = static_cast<HTMLFormControlElement*>(formElements[i]); if (!formElement->hasLocalName(HTMLNames::inputTag)) continue; diff --git a/WebKit/chromium/src/WebPerformance.cpp b/WebKit/chromium/src/WebPerformance.cpp index de9c1f6..8c377db 100644 --- a/WebKit/chromium/src/WebPerformance.cpp +++ b/WebKit/chromium/src/WebPerformance.cpp @@ -55,12 +55,14 @@ void WebPerformance::assign(const WebPerformance& other) WebNavigationType WebPerformance::navigationType() const { switch (m_private->navigation()->type()) { - case PerformanceNavigation::NAVIGATE: + case PerformanceNavigation::TYPE_NAVIGATE: return WebNavigationTypeOther; - case PerformanceNavigation::RELOAD: + case PerformanceNavigation::TYPE_RELOAD: return WebNavigationTypeReload; - case PerformanceNavigation::BACK_FORWARD: + case PerformanceNavigation::TYPE_BACK_FORWARD: return WebNavigationTypeBackForward; + case PerformanceNavigation::TYPE_RESERVED: + return WebNavigationTypeOther; } ASSERT_NOT_REACHED(); return WebNavigationTypeOther; @@ -131,6 +133,31 @@ double WebPerformance::responseEnd() const return millisecondsToSeconds(m_private->timing()->responseEnd()); } +double WebPerformance::domLoading() const +{ + return millisecondsToSeconds(m_private->timing()->domLoading()); +} + +double WebPerformance::domInteractive() const +{ + return millisecondsToSeconds(m_private->timing()->domInteractive()); +} + +double WebPerformance::domContentLoadedEventStart() const +{ + return millisecondsToSeconds(m_private->timing()->domContentLoadedEventStart()); +} + +double WebPerformance::domContentLoadedEventEnd() const +{ + return millisecondsToSeconds(m_private->timing()->domContentLoadedEventEnd()); +} + +double WebPerformance::domComplete() const +{ + return millisecondsToSeconds(m_private->timing()->domComplete()); +} + double WebPerformance::loadEventStart() const { return millisecondsToSeconds(m_private->timing()->loadEventStart()); diff --git a/WebKit/chromium/src/WebPluginContainerImpl.cpp b/WebKit/chromium/src/WebPluginContainerImpl.cpp index 43d9757..90c7f65 100644 --- a/WebKit/chromium/src/WebPluginContainerImpl.cpp +++ b/WebKit/chromium/src/WebPluginContainerImpl.cpp @@ -365,8 +365,8 @@ void WebPluginContainerImpl::loadFrameRequest( WebDataSourceImpl::setNextPluginLoadObserver(observer); } - FrameLoadRequest frameRequest(request.toResourceRequest()); - frameRequest.setFrameName(target); + FrameLoadRequest frameRequest(frame->document()->securityOrigin(), + request.toResourceRequest(), target); frame->loader()->loadFrameRequest( frameRequest, diff --git a/WebKit/chromium/src/WebSearchableFormData.cpp b/WebKit/chromium/src/WebSearchableFormData.cpp index 50192eb..178e4db 100644 --- a/WebKit/chromium/src/WebSearchableFormData.cpp +++ b/WebKit/chromium/src/WebSearchableFormData.cpp @@ -78,8 +78,10 @@ HTMLFormControlElement* GetButtonToActivate(HTMLFormElement* form) { HTMLFormControlElement* firstSubmitButton = 0; // FIXME: Consider refactoring this code so that we don't call form->associatedElements() twice. - for (Vector<HTMLFormControlElement*>::const_iterator i(form->associatedElements().begin()); i != form->associatedElements().end(); ++i) { - HTMLFormControlElement* formElement = *i; + for (Vector<FormAssociatedElement*>::const_iterator i(form->associatedElements().begin()); i != form->associatedElements().end(); ++i) { + if (!(*i)->isFormControlElement()) + continue; + HTMLFormControlElement* formElement = static_cast<HTMLFormControlElement*>(*i); if (formElement->isActivatedSubmit()) // There's a button that is already activated for submit, return 0. return 0; @@ -156,8 +158,10 @@ bool HasSuitableTextElement(const HTMLFormElement* form, Vector<char>* encodedSt HTMLInputElement* textElement = 0; // FIXME: Consider refactoring this code so that we don't call form->associatedElements() twice. - for (Vector<HTMLFormControlElement*>::const_iterator i(form->associatedElements().begin()); i != form->associatedElements().end(); ++i) { - HTMLFormControlElement* formElement = *i; + for (Vector<FormAssociatedElement*>::const_iterator i(form->associatedElements().begin()); i != form->associatedElements().end(); ++i) { + if (!(*i)->isFormControlElement()) + continue; + HTMLFormControlElement* formElement = static_cast<HTMLFormControlElement*>(*i); if (formElement->disabled() || formElement->name().isNull()) continue; diff --git a/WebKit/chromium/src/WebViewImpl.cpp b/WebKit/chromium/src/WebViewImpl.cpp index 7bec254..ac05dd2 100644 --- a/WebKit/chromium/src/WebViewImpl.cpp +++ b/WebKit/chromium/src/WebViewImpl.cpp @@ -59,6 +59,7 @@ #include "FrameLoader.h" #include "FrameTree.h" #include "FrameView.h" +#include "GeolocationClientProxy.h" #include "GraphicsContext.h" #include "GraphicsContext3D.h" #include "GraphicsContext3DInternal.h" @@ -310,6 +311,9 @@ WebViewImpl::WebViewImpl(WebViewClient* client, WebDevToolsAgentClient* devTools , m_speechInputClient(SpeechInputClientImpl::create(client)) #endif , m_deviceOrientationClientProxy(new DeviceOrientationClientProxy(client ? client->deviceOrientationClient() : 0)) +#if ENABLE(CLIENT_BASED_GEOLOCATION) + , m_geolocationClientProxy(new GeolocationClientProxy(client ? client->geolocationClient() : 0)) +#endif { // WebKit/win/WebView.cpp does the same thing, except they call the // KJS specific wrapper around this method. We need to have threading @@ -333,9 +337,16 @@ WebViewImpl::WebViewImpl(WebViewClient* client, WebDevToolsAgentClient* devTools pageClients.speechInputClient = m_speechInputClient.get(); #endif pageClients.deviceOrientationClient = m_deviceOrientationClientProxy.get(); +#if ENABLE(CLIENT_BASED_GEOLOCATION) + pageClients.geolocationClient = m_geolocationClientProxy.get(); +#endif m_page.set(new Page(pageClients)); +#if ENABLE(CLIENT_BASED_GEOLOCATION) + m_geolocationClientProxy->setController(m_page->geolocationController()); +#endif + static_cast<BackForwardListImpl*>(m_page->backForwardList())->setClient(&m_backForwardListClientImpl); m_page->setGroupName(pageGroupName); @@ -1910,17 +1921,6 @@ void WebViewImpl::applyAutoFillSuggestions( const WebNode& node, const WebVector<WebString>& names, const WebVector<WebString>& labels, - const WebVector<int>& uniqueIDs, - int separatorIndex) -{ - WebVector<WebString> icons(names.size()); - applyAutoFillSuggestions(node, names, labels, icons, uniqueIDs, separatorIndex); -} - -void WebViewImpl::applyAutoFillSuggestions( - const WebNode& node, - const WebVector<WebString>& names, - const WebVector<WebString>& labels, const WebVector<WebString>& icons, const WebVector<int>& uniqueIDs, int separatorIndex) @@ -1966,30 +1966,6 @@ void WebViewImpl::applyAutoFillSuggestions( m_autoFillPopup->show(focusedNode->getRect(), focusedNode->ownerDocument()->view(), 0); m_autoFillPopupShowing = true; } - - // DEPRECATED: This special mode will go away once AutoFill and Autocomplete - // merge is complete. - if (m_autoFillPopupClient) - m_autoFillPopupClient->setAutocompleteMode(false); -} - -// DEPRECATED: replacing with applyAutoFillSuggestions. -void WebViewImpl::applyAutocompleteSuggestions( - const WebNode& node, - const WebVector<WebString>& suggestions, - int defaultSuggestionIndex) -{ - WebVector<WebString> names(suggestions.size()); - WebVector<WebString> labels(suggestions.size()); - WebVector<WebString> icons(suggestions.size()); - WebVector<int> uniqueIDs(suggestions.size()); - - for (size_t i = 0; i < suggestions.size(); ++i) - names[i] = suggestions[i]; - - applyAutoFillSuggestions(node, names, labels, icons, uniqueIDs, -1); - if (m_autoFillPopupClient) - m_autoFillPopupClient->setAutocompleteMode(true); } void WebViewImpl::hidePopups() diff --git a/WebKit/chromium/src/WebViewImpl.h b/WebKit/chromium/src/WebViewImpl.h index 0388770..6e8dcac 100644 --- a/WebKit/chromium/src/WebViewImpl.h +++ b/WebKit/chromium/src/WebViewImpl.h @@ -73,6 +73,7 @@ class AutoFillPopupMenuClient; class ContextMenuClientImpl; class DeviceOrientationClientProxy; class DragScrollTimer; +class GeolocationClientProxy; class SpeechInputClientImpl; class WebAccessibilityObject; class WebDevToolsAgentClient; @@ -179,13 +180,6 @@ public: const WebString& value); virtual WebDevToolsAgent* devToolsAgent(); virtual WebAccessibilityObject accessibilityObject(); - // DEPRECATED. - virtual void applyAutoFillSuggestions( - const WebNode&, - const WebVector<WebString>& names, - const WebVector<WebString>& labels, - const WebVector<int>& uniqueIDs, - int separatorIndex); virtual void applyAutoFillSuggestions( const WebNode&, const WebVector<WebString>& names, @@ -193,11 +187,6 @@ public: const WebVector<WebString>& icons, const WebVector<int>& uniqueIDs, int separatorIndex); - // DEPRECATED: replacing with applyAutoFillSuggestions. - virtual void applyAutocompleteSuggestions( - const WebNode&, - const WebVector<WebString>& suggestions, - int defaultSuggestionIndex); virtual void hidePopups(); virtual void setScrollbarColors(unsigned inactiveColor, unsigned activeColor, @@ -555,6 +544,10 @@ private: // early. This member holds on to the GC3D in this case. RefPtr<WebCore::GraphicsContext3D> m_temporaryOnscreenGraphicsContext3D; OwnPtr<DeviceOrientationClientProxy> m_deviceOrientationClientProxy; + +#if ENABLE(CLIENT_BASED_GEOLOCATION) + OwnPtr<GeolocationClientProxy> m_geolocationClientProxy; +#endif }; } // namespace WebKit diff --git a/WebKit/chromium/src/js/DevTools.js b/WebKit/chromium/src/js/DevTools.js index 11ebc1f..d6536bc 100644 --- a/WebKit/chromium/src/js/DevTools.js +++ b/WebKit/chromium/src/js/DevTools.js @@ -47,7 +47,9 @@ var context = {}; // Used by WebCore's inspector routines. Preferences.onlineDetectionEnabled = false; Preferences.nativeInstrumentationEnabled = true; Preferences.fileSystemEnabled = false; + Preferences.resourceExportEnabled = true; Preferences.showTimingTab = true; + Preferences.showCookiesTab = true; })(); var devtools = devtools || {}; diff --git a/WebKit/chromium/src/js/Tests.js b/WebKit/chromium/src/js/Tests.js index 2b264ee..55b24ea 100644 --- a/WebKit/chromium/src/js/Tests.js +++ b/WebKit/chromium/src/js/Tests.js @@ -730,7 +730,7 @@ TestSuite.prototype._waitForScriptPause = function(expectations, callback) var test = this; // Wait until script is paused. test.addSniffer( - WebInspector, + WebInspector.debuggerModel, "pausedScript", function(details) { var callFrames = details.callFrames; @@ -805,7 +805,7 @@ TestSuite.prototype._waitUntilScriptsAreParsed = function(expectedScripts, callb if (test._scriptsAreParsed(expectedScripts)) callback(); else - test.addSniffer(WebInspector, "parsedScriptSource", waitForAllScripts); + test.addSniffer(WebInspector.debuggerModel, "parsedScriptSource", waitForAllScripts); } waitForAllScripts(); @@ -852,7 +852,7 @@ TestSuite.prototype.testPauseInEval = function() devtools.tools.evaluateJavaScript("fib(10)"); - this.addSniffer(WebInspector, "pausedScript", + this.addSniffer(WebInspector.debuggerModel, "pausedScript", function() { test.releaseControl(); }); diff --git a/WebKit/efl/CMakeListsEfl.txt b/WebKit/efl/CMakeListsEfl.txt index fb0ccc4..7e68afd 100644 --- a/WebKit/efl/CMakeListsEfl.txt +++ b/WebKit/efl/CMakeListsEfl.txt @@ -50,7 +50,6 @@ ENDIF () LIST(APPEND WebKit_SOURCES efl/WebCoreSupport/ChromeClientEfl.cpp - efl/WebCoreSupport/ContextMenuClientEfl.cpp efl/WebCoreSupport/DragClientEfl.cpp efl/WebCoreSupport/EditorClientEfl.cpp efl/WebCoreSupport/FrameLoaderClientEfl.cpp diff --git a/WebKit/efl/ChangeLog b/WebKit/efl/ChangeLog index 7a12fd7..fde9fea 100644 --- a/WebKit/efl/ChangeLog +++ b/WebKit/efl/ChangeLog @@ -1,3 +1,155 @@ +2010-12-22 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Reviewed by Antonio Gomes. + + [EFL] Sets default user agent + https://bugs.webkit.org/show_bug.cgi?id=47903 + + If applcation(e.g EWebLauncher) doesn't set user agent, WebKit EFL doesn't + set user agent. However, we need to set user agent by default. Because, some + web sites send different pages according to user agent. + + * ewk/ewk_private.h: + * ewk/ewk_settings.cpp: + (_ewk_settings_webkit_platform): + (_ewk_settings_webkit_os_version): + (ewk_settings_default_user_agent_get): + * ewk/ewk_view.cpp: + (_ewk_view_priv_new): + +2010-12-16 Leandro Pereira <leandro@profusion.mobi> + + [EFL] Unreviewed build fix. + + Disable ContextMenu support for now while support for + CROSS_PLATFORM_MENUS is written. + + * CMakeListsEfl.txt: + * WebCoreSupport/ContextMenuClientEfl.cpp: Removed. + * WebCoreSupport/ContextMenuClientEfl.h: Removed. + * ewk/ewk_contextmenu.cpp: + (ewk_context_menu_item_append): + * ewk/ewk_view.cpp: + (_ewk_view_priv_new): + +2010-12-13 Alex Bredariol Grilo <abgrilo@profusion.mobi> + + Reviewed by Andreas Kling. + + Remove adjacent tiles rendering queue. + https://bugs.webkit.org/show_bug.cgi?id=50023 + + In the current implementation of the tiled backing store, one extra row + and column of tiles are needed to render the entire viewport. These + extra row/col proved to be expensive when being rendered, and were + postponed to a queue that would render them after rendering the other + tiles of the viewport first. This approach complicated unnecessarily + the logics with no gain for keeping the extra row and column. This + change removes this rendering queue, for later removing the extra row + and column of tiles. + + * ewk/ewk_tiled_backing_store.c: + (_ewk_tiled_backing_store_pre_render_request_add): + (_ewk_tiled_backing_store_pre_render_request_flush): + (_ewk_tiled_backing_store_pre_render_request_clear): + (_ewk_tiled_backing_store_pre_render_request_process_single): + (_ewk_tiled_backing_store_item_fill): + (_ewk_tiled_backing_store_item_add): + (_ewk_tiled_backing_store_item_del): + (_ewk_tiled_backing_store_recalc_renderers): + (ewk_tiled_backing_store_pre_render_region): + (ewk_tiled_backing_store_pre_render_relative_radius): + (ewk_tiled_backing_store_pre_render_cancel): + +2010-12-13 Alex Bredariol Grilo <abgrilo@profusion.mobi> + + Reviewed by Andreas Kling. + + Remove one row/column of renderers. + https://bugs.webkit.org/show_bug.cgi?id=50456 + + This changes the algorithm in a way that it will require one less column + and row of renderers to fill the viewport. The direct result of this is + that now less tiles need to be rendered at once when displaying the + viewport. + + * ewk/ewk_tiled_backing_store.c: + (_ewk_tiled_backing_store_smart_add): + (_ewk_tiled_backing_store_recalc_renderers): + (_ewk_tiled_backing_store_view_wrap_up): + (_ewk_tiled_backing_store_view_wrap_down): + (_ewk_tiled_backing_store_view_wrap_left): + (_ewk_tiled_backing_store_view_wrap_right): + (_ewk_tiled_backing_store_smart_calculate_offset_force): + (_ewk_tiled_backing_store_smart_calculate_offset): + (_ewk_tiled_backing_store_smart_calculate): + (_ewk_tiled_backing_store_zoom_set_internal): + (ewk_tiled_backing_store_zoom_weak_set): + (ewk_tiled_backing_store_fix_offsets): + (ewk_tiled_backing_store_flush): + +2010-10-28 MORITA Hajime <morrita@google.com> + + Reviewed by Ojan Vafai. + + spellcheck does not check pasted text + https://bugs.webkit.org/show_bug.cgi?id=40092 + + Added a stub implememntation. + + * WebCoreSupport/EditorClientEfl.h: + (WebCore::EditorClientEfl::requestCheckingOfString): + +2010-12-09 Alex Bredariol Grilo <abgrilo@profusion.mobi> + + Reviewed by Antonio Gomes. + + [EFL] Add missing function in WebKit-EFL API + + Add ewk_tiled_backing_store_zoom_weak_smooth_scale_set function in + WebKit-EFL API. This function was already implemented but missing in + header file. + + * ewk/ewk_tiled_backing_store.h: + +2010-12-09 Alex Bredariol Grilo <abgrilo@profusion.mobi> + + Reviewed by Antonio Gomes. + + [EFL] Fix scroll operation in WebKit-EFL + https://bugs.webkit.org/show_bug.cgi?id=50752 + + Add the _ewk_view_scroll_add call in WebKit-EFL scroll function. This + call was wrongly removed in previous commit and performs the scroll + operation on the page. + + * ewk/ewk_view.cpp: + (ewk_view_scroll): + +2010-12-03 Alex Bredariol Grilo <abgrilo@profusion.mobi> + + Reviewed by Andreas Kling. + + Update usage of Eina_Iterator due to EFL changes. + https://bugs.webkit.org/show_bug.cgi?id=50457 + + * ewk/ewk_tiled_model.c: + (ewk_tile_updates_process): + +2010-12-01 Jia Pu <jpu@apple.com> + + Reviewed by Darin Adler. + + Support multiple correction candidates panel for misspelled word on Mac OS X. + https://bugs.webkit.org/show_bug.cgi?id=50137 + <rdar://problem/8568059> + + Adopted new function signature defined in base class. + + * WebCoreSupport/EditorClientEfl.cpp: + (WebCore::EditorClientEfl::getGuessesForWord): + * WebCoreSupport/EditorClientEfl.h: + 2010-11-22 Alex Grilo <abgrilo@profusion.mobi> Reviewed by Kenneth Rohde Christiansen. diff --git a/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp b/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp deleted file mode 100644 index 37d7d5a..0000000 --- a/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (C) 2010 ProFUSION embedded systems - * Copyright (C) 2010 Samsung Electronics - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" - -#include "ContextMenuClientEfl.h" - -#include "ContextMenu.h" -#include "EWebKit.h" -#include "HitTestResult.h" -#include "KURL.h" -#include "NotImplemented.h" -#include "PlatformMenuDescription.h" -#include "ewk_private.h" - -using namespace WebCore; - -namespace WebCore { - -ContextMenuClientEfl::ContextMenuClientEfl(Evas_Object* view) - : m_view(view) -{ -} - -void ContextMenuClientEfl::contextMenuDestroyed() -{ - delete this; -} - -PlatformMenuDescription ContextMenuClientEfl::getCustomMenuFromDefaultItems(ContextMenu* menu) -{ - PlatformMenuDescription newmenu = ewk_context_menu_custom_get(static_cast<Ewk_Context_Menu*>(menu->releasePlatformDescription())); - - return newmenu; -} - -void ContextMenuClientEfl::contextMenuItemSelected(ContextMenuItem*, const ContextMenu*) -{ - notImplemented(); -} - -void ContextMenuClientEfl::downloadURL(const KURL& url) -{ - if (!m_view) - return; - - Ewk_Download download; - - CString downloadUrl = url.prettyURL().utf8(); - download.url = downloadUrl.data(); - ewk_view_download_request(m_view, &download); -} - -void ContextMenuClientEfl::searchWithGoogle(const Frame*) -{ - notImplemented(); -} - -void ContextMenuClientEfl::lookUpInDictionary(Frame*) -{ - notImplemented(); -} - -bool ContextMenuClientEfl::isSpeaking() -{ - notImplemented(); - return false; -} - -void ContextMenuClientEfl::speak(const String&) -{ - notImplemented(); -} - -void ContextMenuClientEfl::stopSpeaking() -{ - notImplemented(); -} - -PlatformMenuDescription ContextMenuClientEfl::createPlatformDescription(ContextMenu* menu) -{ - return (PlatformMenuDescription) ewk_context_menu_new(m_view, menu->controller()); -} - -void ContextMenuClientEfl::freePlatformDescription(PlatformMenuDescription menu) -{ - ewk_context_menu_free(static_cast<Ewk_Context_Menu*>(menu)); -} - -void ContextMenuClientEfl::appendItem(PlatformMenuDescription menu, ContextMenuItem& item) -{ - ewk_context_menu_item_append(static_cast<Ewk_Context_Menu*>(menu), item); -} - -void ContextMenuClientEfl::show(PlatformMenuDescription menu) -{ - ewk_context_menu_show(static_cast<Ewk_Context_Menu*>(menu)); -} - -} diff --git a/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h b/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h deleted file mode 100644 index 8a289a1..0000000 --- a/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (C) 2010 ProFUSION embedded systems - * Copyright (C) 2010 Samsung Electronics - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef ContextMenuClientEfl_h -#define ContextMenuClientEfl_h - -#include "ContextMenuClient.h" -#include "EWebKit.h" - -namespace WebCore { - -class ContextMenu; - -class ContextMenuClientEfl : public ContextMenuClient { - public: - explicit ContextMenuClientEfl(Evas_Object*); - - virtual void contextMenuDestroyed(); - - virtual PlatformMenuDescription getCustomMenuFromDefaultItems(ContextMenu*); - virtual void contextMenuItemSelected(ContextMenuItem*, const ContextMenu*); - - virtual void downloadURL(const KURL&); - virtual void searchWithGoogle(const Frame*); - virtual void lookUpInDictionary(Frame*); - virtual void speak(const String&); - virtual bool isSpeaking(); - virtual void stopSpeaking(); - - PlatformMenuDescription createPlatformDescription(ContextMenu*); - void freePlatformDescription(PlatformMenuDescription); - void appendItem(PlatformMenuDescription, ContextMenuItem&); - void show(PlatformMenuDescription menu); - private: - Evas_Object* m_view; -}; -} - -#endif // ContextMenuClientEfl_h diff --git a/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp b/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp index 9184812..6bb961b 100644 --- a/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp +++ b/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp @@ -488,7 +488,7 @@ bool EditorClientEfl::spellingUIIsShowing() return false; } -void EditorClientEfl::getGuessesForWord(const String&, Vector<String>&) +void EditorClientEfl::getGuessesForWord(const String& word, const String& context, Vector<String>& guesses) { notImplemented(); } diff --git a/WebKit/efl/WebCoreSupport/EditorClientEfl.h b/WebKit/efl/WebCoreSupport/EditorClientEfl.h index 9f60cfb..e25b1e6 100644 --- a/WebKit/efl/WebCoreSupport/EditorClientEfl.h +++ b/WebKit/efl/WebCoreSupport/EditorClientEfl.h @@ -110,9 +110,10 @@ public: virtual void updateSpellingUIWithMisspelledWord(const String&); virtual void showSpellingUI(bool show); virtual bool spellingUIIsShowing(); - virtual void getGuessesForWord(const String&, WTF::Vector<String>& guesses); + virtual void getGuessesForWord(const String& word, const String& context, WTF::Vector<String>& guesses); virtual void willSetInputMethodState(); virtual void setInputMethodState(bool enabled); + virtual void requestCheckingOfString(WebCore::SpellChecker*, int, const WTF::String&) {} private: Evas_Object *m_view; diff --git a/WebKit/efl/ewk/ewk_contextmenu.cpp b/WebKit/efl/ewk/ewk_contextmenu.cpp index 7461359..c0c68ba 100644 --- a/WebKit/efl/ewk/ewk_contextmenu.cpp +++ b/WebKit/efl/ewk/ewk_contextmenu.cpp @@ -236,10 +236,9 @@ void ewk_context_menu_item_append(Ewk_Context_Menu* o, WebCore::ContextMenuItem& { Ewk_Context_Menu_Item_Type type = static_cast<Ewk_Context_Menu_Item_Type>(core.type()); Ewk_Context_Menu_Action action = static_cast<Ewk_Context_Menu_Action>(core.action()); - Ewk_Context_Menu* submenu = static_cast<Ewk_Context_Menu*>(core.platformSubMenu()); Ewk_Context_Menu_Item* menu_item = ewk_context_menu_item_new - (type, action, submenu, core.title().utf8().data(), core.checked(), + (type, action, 0, core.title().utf8().data(), core.checked(), core.enabled()); EINA_SAFETY_ON_NULL_RETURN(menu_item); diff --git a/WebKit/efl/ewk/ewk_private.h b/WebKit/efl/ewk/ewk_private.h index c1599e3..7c81982 100644 --- a/WebKit/efl/ewk/ewk_private.h +++ b/WebKit/efl/ewk/ewk_private.h @@ -156,6 +156,8 @@ void ewk_view_contents_size_changed(Evas_Object *o, Evas_Coord w, Evas_Coord h); WebCore::FloatRect ewk_view_page_rect_get(Evas_Object *o); +const char* ewk_settings_default_user_agent_get(); + #ifdef __cplusplus } diff --git a/WebKit/efl/ewk/ewk_settings.cpp b/WebKit/efl/ewk/ewk_settings.cpp index f2651a1..20051ea 100644 --- a/WebKit/efl/ewk/ewk_settings.cpp +++ b/WebKit/efl/ewk/ewk_settings.cpp @@ -29,15 +29,19 @@ #include "Image.h" #include "IntSize.h" #include "KURL.h" +#include "Language.h" #include "ewk_private.h" -#include <wtf/text/CString.h> +#include <Eina.h> #include <eina_safety_checks.h> #include <errno.h> #include <string.h> #include <sys/stat.h> #include <sys/types.h> +#include <sys/utsname.h> #include <unistd.h> +#include <wtf/text/CString.h> +#include <wtf/text/StringConcatenate.h> #if USE(SOUP) #include "ResourceHandle.h" @@ -48,6 +52,30 @@ static const char* _ewk_default_web_database_path = 0; static const char* _ewk_icon_database_path = 0; static uint64_t _ewk_default_web_database_quota = 1 * 1024 * 1024; +static WTF::String _ewk_settings_webkit_platform_get() +{ + WTF::String ua_platform; +#if PLATFORM(X11) + ua_platform = "X11"; +#else + ua_platform = "Unknown"; +#endif + return ua_platform; +} + +static WTF::String _ewk_settings_webkit_os_version_get() +{ + WTF::String ua_os_version; + struct utsname name; + + if (uname(&name) != -1) + ua_os_version = WTF::String(name.sysname) + " " + WTF::String(name.machine); + else + ua_os_version = "Unknown"; + + return ua_os_version; +} + /** * Returns the default quota for Web Database databases. By default * this value is 1MB. @@ -261,3 +289,17 @@ void ewk_settings_proxy_uri_set(const char* proxy) EINA_SAFETY_ON_TRUE_RETURN(1); #endif } + +/** +* @internal +* Gets the default user agent string. +* +* @return A pointer to an eina_stringshare containing the user agent string. +*/ +const char* ewk_settings_default_user_agent_get() +{ + WTF::String ua_version = makeString(String::number(WEBKIT_USER_AGENT_MAJOR_VERSION), '.', String::number(WEBKIT_USER_AGENT_MINOR_VERSION), '+'); + WTF::String static_ua = makeString("Mozilla/5.0 (", _ewk_settings_webkit_platform_get(), "; U; ", _ewk_settings_webkit_os_version_get(), "; ", WebCore::defaultLanguage(), ") AppleWebKit/", ua_version) + makeString(" (KHTML, like Gecko) Version/5.0 Safari/", ua_version); + + return eina_stringshare_add(static_ua.utf8().data()); +} diff --git a/WebKit/efl/ewk/ewk_tiled_backing_store.c b/WebKit/efl/ewk/ewk_tiled_backing_store.c index 0e8898b..a998c5c 100644 --- a/WebKit/efl/ewk/ewk_tiled_backing_store.c +++ b/WebKit/efl/ewk/ewk_tiled_backing_store.c @@ -62,7 +62,6 @@ struct _Ewk_Tiled_Backing_Store_Item { unsigned long row, col; float zoom; } update; - Ewk_Tiled_Backing_Store_Pre_Render_Request *pre_render; Eina_Bool smooth_scale; }; @@ -70,7 +69,6 @@ struct _Ewk_Tiled_Backing_Store_Pre_Render_Request { EINA_INLIST; unsigned long col, row; float zoom; - struct _Ewk_Tiled_Backing_Store_Item *it; }; struct _Ewk_Tiled_Backing_Store_Data { @@ -266,7 +264,7 @@ static void _ewk_tiled_backing_store_tile_dissociate_all(Ewk_Tiled_Backing_Store } } -static inline Eina_Bool _ewk_tiled_backing_store_pre_render_request_add(Ewk_Tiled_Backing_Store_Data *priv, unsigned long col, unsigned long row, float zoom, Ewk_Tiled_Backing_Store_Item *it, Ewk_Tiled_Backing_Store_Pre_Render_Priority priority) +static inline Eina_Bool _ewk_tiled_backing_store_pre_render_request_add(Ewk_Tiled_Backing_Store_Data *priv, unsigned long col, unsigned long row, float zoom, Ewk_Tiled_Backing_Store_Pre_Render_Priority priority) { Ewk_Tiled_Backing_Store_Pre_Render_Request *r; @@ -282,10 +280,7 @@ static inline Eina_Bool _ewk_tiled_backing_store_pre_render_request_add(Ewk_Tile r->col = col; r->row = row; r->zoom = zoom; - r->it = it; - if (it) - it->pre_render = r; return EINA_TRUE; } @@ -309,14 +304,12 @@ static void _ewk_tiled_backing_store_pre_render_request_flush(Ewk_Tiled_Backing_ while (*pl) { Ewk_Tiled_Backing_Store_Pre_Render_Request *r; r = _ewk_tiled_backing_store_pre_render_request_first(priv); - if (r->it && r->it->pre_render) - r->it->pre_render = NULL; *pl = eina_inlist_remove(*pl, *pl); free(r); } } -static void _ewk_tiled_backing_store_pre_render_request_remove_unassociated(Ewk_Tiled_Backing_Store_Data *priv) +static void _ewk_tiled_backing_store_pre_render_request_clear(Ewk_Tiled_Backing_Store_Data *priv) { Eina_Inlist **pl = &priv->render.pre_render_requests; Eina_Inlist *iter = *pl, *tmp; @@ -324,33 +317,10 @@ static void _ewk_tiled_backing_store_pre_render_request_remove_unassociated(Ewk_ Ewk_Tiled_Backing_Store_Pre_Render_Request *r = EINA_INLIST_CONTAINER_GET( iter, Ewk_Tiled_Backing_Store_Pre_Render_Request); - if (!r->it) { - tmp = iter->next; - *pl = eina_inlist_remove(*pl, iter); - iter = tmp; - free(r); - } else - iter = iter->next; - } -} - -static void _ewk_tiled_backing_store_pre_render_request_remove_associated(Ewk_Tiled_Backing_Store_Data *priv) -{ - Eina_Inlist **pl = &priv->render.pre_render_requests; - Eina_Inlist *iter = *pl, *tmp; - while (iter) { - Ewk_Tiled_Backing_Store_Pre_Render_Request *r = - EINA_INLIST_CONTAINER_GET( - iter, Ewk_Tiled_Backing_Store_Pre_Render_Request); - if (r->it) { - if (r->it->pre_render) - r->it->pre_render = NULL; - tmp = iter->next; - *pl = eina_inlist_remove(*pl, iter); - iter = tmp; - free(r); - } else - iter = iter->next; + tmp = iter->next; + *pl = eina_inlist_remove(*pl, iter); + iter = tmp; + free(r); } } @@ -379,11 +349,6 @@ static void _ewk_tiled_backing_store_pre_render_request_process_single(Ewk_Tiled goto end; } - if (req->it && req->it->tile) { - CRITICAL("it->tile = %p (%lu, %lu), but should be NULL", req->it->tile, req->it->tile->row, req->it->tile->col); - goto end; - } - t = _ewk_tiled_backing_store_tile_new(priv, col, row, zoom); if (!t) goto end; @@ -399,12 +364,7 @@ static void _ewk_tiled_backing_store_pre_render_request_process_single(Ewk_Tiled area.x, area.y, area.w, area.h); ewk_tile_matrix_tile_updates_clear(tm, t); - if (req->it) { - _ewk_tiled_backing_store_tile_associate(priv, t, req->it); - if (req->it->pre_render) - req->it->pre_render = NULL; - } else - ewk_tile_matrix_tile_put(tm, t, last_used); + ewk_tile_matrix_tile_put(tm, t, last_used); end: _ewk_tiled_backing_store_pre_render_request_del(priv, req); @@ -610,12 +570,6 @@ static inline Eina_Bool _ewk_tiled_backing_store_item_fill(Ewk_Tiled_Backing_Sto _ewk_tiled_backing_store_item_request_del(priv, it); } - if (it->pre_render) { - _ewk_tiled_backing_store_pre_render_request_del( - priv, it->pre_render); - it->pre_render = NULL; - } - if (it->tile) { Ewk_Tile *old = it->tile; if (old->row != m_row || old->col != m_col || old->zoom != zoom) { @@ -640,19 +594,6 @@ static inline Eina_Bool _ewk_tiled_backing_store_item_fill(Ewk_Tiled_Backing_Sto /* Do not add new requests to the render queue */ if (!priv->render.suspend) { - if (!_ewk_tiled_backing_store_tile_is_inside_viewport( - priv, m_col, m_row)) { - DBG("%d,%d is not inside the viewport", m_col, m_row); - if (_ewk_tiled_backing_store_tile_is_adjacent_to_viewport( - priv, m_col, m_row)) - _ewk_tiled_backing_store_pre_render_request_add( - priv, m_col, m_row, zoom, it, - PRE_RENDER_PRIORITY_HIGH); - _ewk_tiled_backing_store_item_process_idler_start(priv); - - goto end; - } - t = _ewk_tiled_backing_store_tile_new(priv, m_col, m_row, zoom); if (!t) return EINA_FALSE; @@ -692,7 +633,6 @@ static Ewk_Tiled_Backing_Store_Item *_ewk_tiled_backing_store_item_add(Ewk_Tiled it->tile = NULL; it->update.process = NULL; it->smooth_scale = priv->view.tile.zoom_weak_smooth_scale; - it->pre_render = NULL; _ewk_tiled_backing_store_item_move(it, x, y); _ewk_tiled_backing_store_item_resize(it, tw, th); if (!_ewk_tiled_backing_store_item_fill(priv, it, col, row)) { @@ -711,11 +651,6 @@ static void _ewk_tiled_backing_store_item_del(Ewk_Tiled_Backing_Store_Data *priv } if (it->update.process) _ewk_tiled_backing_store_item_request_del(priv, it); - if (it->pre_render) { - _ewk_tiled_backing_store_pre_render_request_del( - priv, it->pre_render); - it->pre_render = NULL; - } free(it); } @@ -914,11 +849,11 @@ static void _ewk_tiled_backing_store_smart_add(Evas_Object *o) priv->view.offset.cur.y = 0; priv->view.offset.old.x = 0; priv->view.offset.old.y = 0; - priv->view.offset.base.x = -TILE_W; - priv->view.offset.base.y = -TILE_H; + priv->view.offset.base.x = 0; + priv->view.offset.base.y = 0; - priv->model.base.col = -1; - priv->model.base.row = -1; + priv->model.base.col = 0; + priv->model.base.row = 0; priv->model.cur.cols = 1; priv->model.cur.rows = 1; priv->model.old.cols = 0; @@ -1022,8 +957,8 @@ static void _ewk_tiled_backing_store_recalc_renderers(Ewk_Tiled_Backing_Store_Da long cols, rows, old_rows, old_cols; INF("o=%p, new size: %dx%d", priv->self, w, h); - cols = 2 + (int)ceil((float)w / (float)tw); - rows = 2 + (int)ceil((float)h / (float)th); + cols = 1 + (int)ceil((float)w / (float)tw); + rows = 1 + (int)ceil((float)h / (float)th); INF("o=%p new grid size cols: %ld, rows: %ld, was %ld, %ld", priv->self, cols, rows, priv->view.cols, priv->view.rows); @@ -1031,8 +966,6 @@ static void _ewk_tiled_backing_store_recalc_renderers(Ewk_Tiled_Backing_Store_Da if (priv->view.cols == cols && priv->view.rows == rows) return; - _ewk_tiled_backing_store_pre_render_request_remove_associated(priv); - old_cols = priv->view.cols; old_rows = priv->view.rows; @@ -1158,7 +1091,7 @@ static void _ewk_tiled_backing_store_view_wrap_up(Ewk_Tiled_Backing_Store_Data * unsigned int last_row = priv->view.rows - 1; Evas_Coord tw = priv->view.tile.w; Evas_Coord th = priv->view.tile.h; - Evas_Coord off_y = (priv->view.offset.base.y % th) - th; + Evas_Coord off_y = priv->view.offset.base.y + count * th; Evas_Coord oy = y + (last_row - count + 1) * th + off_y; Eina_Inlist **itr_start, **itr_end; @@ -1205,7 +1138,7 @@ static void _ewk_tiled_backing_store_view_wrap_down(Ewk_Tiled_Backing_Store_Data { Evas_Coord tw = priv->view.tile.w; Evas_Coord th = priv->view.tile.h; - Evas_Coord off_y = (priv->view.offset.base.y % th) - th; + Evas_Coord off_y = priv->view.offset.base.y - count * th; Evas_Coord oy = y + off_y + (count - 1) * th; Eina_Inlist **itr_start, **itr_end; @@ -1253,7 +1186,7 @@ static void _ewk_tiled_backing_store_view_wrap_left(Ewk_Tiled_Backing_Store_Data unsigned int r, last_col = priv->view.cols - 1; Evas_Coord tw = priv->view.tile.w; Evas_Coord th = priv->view.tile.h; - Evas_Coord off_x = (priv->view.offset.base.x % tw) - tw; + Evas_Coord off_x = priv->view.offset.base.x + count * tw; Evas_Coord oy = y + priv->view.offset.base.y; Eina_Inlist **itr; Eina_Inlist **itr_end; @@ -1300,7 +1233,7 @@ static void _ewk_tiled_backing_store_view_wrap_right(Ewk_Tiled_Backing_Store_Dat unsigned int r; Evas_Coord tw = priv->view.tile.w; Evas_Coord th = priv->view.tile.h; - Evas_Coord off_x = (priv->view.offset.base.x % tw) - tw; + Evas_Coord off_x = priv->view.offset.base.x - count * tw; Evas_Coord oy = y + priv->view.offset.base.y; Eina_Inlist **itr, **itr_end; @@ -1402,8 +1335,10 @@ static void _ewk_tiled_backing_store_smart_calculate_offset_force(Ewk_Tiled_Back tw = priv->view.tile.w; th = priv->view.tile.h; - step_x = (dx + priv->view.offset.base.x + tw) / tw; - step_y = (dy + priv->view.offset.base.y + th) / th; + long new_col = -priv->view.offset.cur.x / tw; + step_x = priv->model.base.col - new_col; + long new_row = -priv->view.offset.cur.y / th; + step_y = priv->model.base.row - new_row; priv->view.offset.old.x = priv->view.offset.cur.x; priv->view.offset.old.y = priv->view.offset.cur.y; @@ -1435,8 +1370,10 @@ static void _ewk_tiled_backing_store_smart_calculate_offset(Ewk_Tiled_Backing_St tw = priv->view.tile.w; th = priv->view.tile.h; - step_x = (dx + priv->view.offset.base.x + tw) / tw; - step_y = (dy + priv->view.offset.base.y + th) / th; + long new_col = -priv->view.offset.cur.x / tw; + step_x = priv->model.base.col - new_col; + long new_row = -priv->view.offset.cur.y / th; + step_y = priv->model.base.row - new_row; priv->view.offset.old.x = priv->view.offset.cur.x; priv->view.offset.old.y = priv->view.offset.cur.y; @@ -1569,10 +1506,10 @@ static void _ewk_tiled_backing_store_smart_calculate(Evas_Object *o) _ewk_tiled_backing_store_updates_process(priv); - if (priv->view.offset.base.x >= 0 - || priv->view.offset.base.x <= -2 * priv->view.tile.w - || priv->view.offset.base.y >= 0 - || priv->view.offset.base.y <= -2 * priv->view.tile.h) + if (priv->view.offset.base.x > 0 + || priv->view.offset.base.x <= - priv->view.tile.w + || priv->view.offset.base.y > 0 + || priv->view.offset.base.y <= - priv->view.tile.h) ERR("incorrect base offset %+4d,%+4d, tile=%dx%d, cur=%+4d,%+4d\n", priv->view.offset.base.x, priv->view.offset.base.y, priv->view.tile.w, priv->view.tile.h, @@ -1700,8 +1637,8 @@ static Eina_Bool _ewk_tiled_backing_store_zoom_set_internal(Ewk_Tiled_Backing_St priv->view.tile.h = th; if (!priv->view.w || !priv->view.h) { - priv->view.offset.base.x = -tw; - priv->view.offset.base.y = -th; + priv->view.offset.base.x = 0; + priv->view.offset.base.y = 0; return EINA_TRUE; } Eina_Inlist **itr, **itr_end; @@ -1725,10 +1662,10 @@ static Eina_Bool _ewk_tiled_backing_store_zoom_set_internal(Ewk_Tiled_Backing_St else if (-new_y + priv->view.h >= model_height) new_y = -model_height + priv->view.h; - bx = new_x % tw - tw; - priv->model.base.col = - new_x / tw - 1; - by = new_y % th - th; - priv->model.base.row = - new_y / th - 1; + bx = new_x % tw; + priv->model.base.col = - new_x / tw; + by = new_y % th; + priv->model.base.row = - new_y / th; priv->changed.size = EINA_TRUE; _ewk_tiled_backing_store_changed(priv); @@ -1804,14 +1741,14 @@ Eina_Bool ewk_tiled_backing_store_zoom_weak_set(Evas_Object *o, float zoom, Evas evas_object_resize(priv->contents_clipper, model_width, model_height); - int vrows = ceil((float)priv->view.h / (float)th) + 2; - int vcols = ceil((float)priv->view.w / (float)tw) + 2; + int vrows = ceil((float)priv->view.h / (float)th) + 1; + int vcols = ceil((float)priv->view.w / (float)tw) + 1; Evas_Coord new_x = cx + (priv->view.offset.cur.x - cx) * scale; Evas_Coord new_y = cy + (priv->view.offset.cur.y - cy) * scale; - Evas_Coord bx = new_x % tw - tw; - Evas_Coord by = new_y % th - th; - unsigned long base_row = -new_y / th - 1; - unsigned long base_col = -new_x / tw - 1; + Evas_Coord bx = new_x % tw; + Evas_Coord by = new_y % th; + unsigned long base_row = -new_y / th; + unsigned long base_col = -new_x / tw; if (base_row != priv->model.base.row || base_col != priv->model.base.col) { priv->model.base.row = base_row; @@ -1869,24 +1806,24 @@ void ewk_tiled_backing_store_fix_offsets(Evas_Object *o, Evas_Coord w, Evas_Coor if (-new_x > w) { new_x = -w; - bx = new_x % tw - tw; - priv->model.base.col = -new_x / tw - 1; + bx = new_x % tw; + priv->model.base.col = -new_x / tw; } if (-new_y > h) { new_y = -h; - by = new_y % th - th; - priv->model.base.row = -new_y / th - 1; + by = new_y % th; + priv->model.base.row = -new_y / th; } if (bx >= 0 || bx <= -2 * priv->view.tile.w) { - bx = new_x % tw - tw; - priv->model.base.col = -new_x / tw - 1; + bx = new_x % tw; + priv->model.base.col = -new_x / tw; } if (by >= 0 || by <= -2 * priv->view.tile.h) { - by = new_y % th - th; - priv->model.base.row = -new_y / th - 1; + by = new_y % th; + priv->model.base.row = -new_y / th; } priv->view.offset.cur.x = new_x; @@ -2006,10 +1943,10 @@ void ewk_tiled_backing_store_flush(Evas_Object *o) priv->view.offset.cur.y = 0; priv->view.offset.old.x = 0; priv->view.offset.old.y = 0; - priv->view.offset.base.x = -priv->view.tile.w; - priv->view.offset.base.y = -priv->view.tile.h; - priv->model.base.col = -1; - priv->model.base.row = -1; + priv->view.offset.base.x = 0; + priv->view.offset.base.y = 0; + priv->model.base.col = 0; + priv->model.base.row = 0; priv->changed.size = EINA_TRUE; #ifdef DEBUG_MEM_LEAKS @@ -2051,7 +1988,7 @@ Eina_Bool ewk_tiled_backing_store_pre_render_region(Evas_Object *o, Evas_Coord x while (eina_tile_grid_slicer_next(&slicer, &info)) { const unsigned long c = info->col; const unsigned long r = info->row; - if (!_ewk_tiled_backing_store_pre_render_request_add(priv, c, r, zoom, NULL, PRE_RENDER_PRIORITY_LOW)) + if (!_ewk_tiled_backing_store_pre_render_request_add(priv, c, r, zoom, PRE_RENDER_PRIORITY_LOW)) break; } @@ -2082,7 +2019,7 @@ Eina_Bool ewk_tiled_backing_store_pre_render_relative_radius(Evas_Object *o, uns for (i = start_row; i <= end_row; i++) for (j = start_col; j <= end_col; j++) - if (!_ewk_tiled_backing_store_pre_render_request_add(priv, j, i, zoom, NULL, PRE_RENDER_PRIORITY_LOW)) + if (!_ewk_tiled_backing_store_pre_render_request_add(priv, j, i, zoom, PRE_RENDER_PRIORITY_LOW)) goto start_processing; start_processing: @@ -2103,7 +2040,7 @@ void ewk_tiled_backing_store_pre_render_cancel(Evas_Object *o) PRIV_DATA_GET_OR_RETURN(o, priv); Ewk_Tile_Unused_Cache *tuc; - _ewk_tiled_backing_store_pre_render_request_remove_unassociated(priv); + _ewk_tiled_backing_store_pre_render_request_clear(priv); tuc = ewk_tile_matrix_unused_cache_get(priv->model.matrix); ewk_tile_unused_cache_unlock_area(tuc); diff --git a/WebKit/efl/ewk/ewk_tiled_backing_store.h b/WebKit/efl/ewk/ewk_tiled_backing_store.h index c8cdbb8..4af58c8 100644 --- a/WebKit/efl/ewk/ewk_tiled_backing_store.h +++ b/WebKit/efl/ewk/ewk_tiled_backing_store.h @@ -104,6 +104,7 @@ EAPI Eina_Bool ewk_tiled_backing_store_scroll_inner_offset_add(Evas_Object *o EAPI Eina_Bool ewk_tiled_backing_store_zoom_set(Evas_Object *o, float *zoom, Evas_Coord cx, Evas_Coord cy, Evas_Coord *offx, Evas_Coord *offy); EAPI Eina_Bool ewk_tiled_backing_store_zoom_weak_set(Evas_Object *o, float zoom, Evas_Coord cx, Evas_Coord cy); EAPI void ewk_tiled_backing_store_fix_offsets(Evas_Object *o, Evas_Coord w, Evas_Coord h); +EAPI void ewk_tiled_backing_store_zoom_weak_smooth_scale_set(Evas_Object *o, Eina_Bool smooth_scale); EAPI Eina_Bool ewk_tiled_backing_store_update(Evas_Object *o, const Eina_Rectangle *update); EAPI void ewk_tiled_backing_store_updates_process_pre_set(Evas_Object *o, void *(*cb)(void *data, Evas_Object *o), const void *data); EAPI void ewk_tiled_backing_store_updates_process_post_set(Evas_Object *o, void *(*cb)(void *data, void *pre_data, Evas_Object *o), const void *data); diff --git a/WebKit/efl/ewk/ewk_tiled_model.c b/WebKit/efl/ewk/ewk_tiled_model.c index 641b93e..4b81a15 100644 --- a/WebKit/efl/ewk/ewk_tiled_model.c +++ b/WebKit/efl/ewk/ewk_tiled_model.c @@ -447,13 +447,13 @@ void ewk_tile_updates_process(Ewk_Tile *t, void (*cb)(void *data, Ewk_Tile *t, c #endif } else if (t->updates) { Eina_Iterator *itr = eina_tiler_iterator_new(t->updates); - Eina_Rectangle r = {0, 0, 0, 0}; + Eina_Rectangle *r; if (!itr) { CRITICAL("could not create tiler iterator!"); return; } EINA_ITERATOR_FOREACH(itr, r) - cb((void *)data, t, &r); + cb((void *)data, t, r); eina_iterator_free(itr); } } diff --git a/WebKit/efl/ewk/ewk_view.cpp b/WebKit/efl/ewk/ewk_view.cpp index 5147b6d..9eee9cb 100644 --- a/WebKit/efl/ewk/ewk_view.cpp +++ b/WebKit/efl/ewk/ewk_view.cpp @@ -25,7 +25,6 @@ #include "BackForwardListImpl.h" #include "Chrome.h" #include "ChromeClientEfl.h" -#include "ContextMenuClientEfl.h" #include "ContextMenuController.h" #include "DocumentLoader.h" #include "DragClientEfl.h" @@ -548,7 +547,6 @@ static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* sd) WebCore::Page::PageClients pageClients; pageClients.chromeClient = static_cast<WebCore::ChromeClient*>(new WebCore::ChromeClientEfl(sd->self)); - pageClients.contextMenuClient = static_cast<WebCore::ContextMenuClient*>(new WebCore::ContextMenuClientEfl(sd->self)); pageClients.editorClient = static_cast<WebCore::EditorClient*>(new WebCore::EditorClientEfl(sd->self)); pageClients.dragClient = static_cast<WebCore::DragClient*>(new WebCore::DragClientEfl); pageClients.inspectorClient = static_cast<WebCore::InspectorClient*>(new WebCore::InspectorClientEfl); @@ -624,6 +622,8 @@ static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* sd) priv->settings.page_cache = priv->page_settings->usesPageCache(); priv->settings.encoding_detector = priv->page_settings->usesEncodingDetector(); + priv->settings.user_agent = ewk_settings_default_user_agent_get(); + // Since there's no scale separated from zooming in webkit-efl, this functionality of // viewport meta tag is implemented using zoom. When scale zoom is supported by webkit-efl, // this functionality will be modified by the scale zoom patch. @@ -4075,6 +4075,8 @@ void ewk_view_scroll(Evas_Object* o, Evas_Coord dx, Evas_Coord dy, Evas_Coord sx EWK_VIEW_PRIV_GET_OR_RETURN(sd, priv); EINA_SAFETY_ON_TRUE_RETURN(!dx && !dy); + _ewk_view_scroll_add(priv, dx, dy, sx, sy, sw, sh, main_frame); + _ewk_view_smart_changed(sd); } diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog index 90aeaa4..59f09af 100644 --- a/WebKit/gtk/ChangeLog +++ b/WebKit/gtk/ChangeLog @@ -1,3 +1,989 @@ +2010-12-22 Xan Lopez <xlopez@igalia.com> + + Reviewed by Gustavo Noronha. + + * NEWS: update for 1.3.9 release. + +2010-12-20 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Xan Lopez. + + Add WebPlugin, WebPluginDatabase, and ViewportAttributes to the + documentation control files, in preparation for 1.3.8. Also take + the opportunity to add descriptions to WebPlugin and + WebPluginDatabase. + + * docs/GNUmakefile.am: + * docs/webkitgtk-docs.sgml: + * docs/webkitgtk-sections.txt: + * webkit/webkitwebplugin.cpp: + * webkit/webkitwebplugindatabase.cpp: + +2010-12-20 Xan Lopez <xlopez@igalia.com> + + Reviewed by Gustavo Noronha. + + * GNUmakefile.am: add missing files. + * NEWS: update for 1.3.8 release. + +2010-12-18 Antonio Gomes <agomes@rim.com> + + Reviewed by Xan Lopez. + + [GTK+] Simplify spatial navigation handling in EditorClientGtk.cpp + https://bugs.webkit.org/show_bug.cgi?id=51302 + + Patch changes: + 1) The editor command for LEFT arrow key press without modifier + from MoveBackward to MoveLeft; + 2) And similarly changes the editor command for RIGHT arrow key + press without modifier from MoveForward to MoveRight. + + It has no implications since SelectionController::modifyMovingRight() + handles "MoveRight" equaly to how SelectionController::modifyMovingForward() + handles "MoveForward" when granularity is 'CharacterGranularity'. The former + falls back to the later in the case of other editor commands. + + Analogously, the same applies to how SelectionController::modifyMovingLeft() and + SelectionController::modifyMovingForward() handle "MoveLeft" and "MoveBackward" + editor commands, respectively. + + With this change we can remove the spatial navigation hack from moveCursorCallback(), + in EditorClientGtk.cpp. + + * WebCoreSupport/EditorClientGtk.cpp: + (WebKit::moveCursorCallback): + +2010-12-16 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [Gtk] scrolling artifacts + https://bugs.webkit.org/show_bug.cgi?id=45029 + + Call gdk_window_process_updates() right after moving the window + when scrolling. + + * WebCoreSupport/ChromeClientGtk.cpp: + (WebKit::ChromeClient::scroll): + +2010-12-15 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74117. + http://trac.webkit.org/changeset/74117 + https://bugs.webkit.org/show_bug.cgi?id=51113 + + This broke the GTK1 build. (Requested by mrobinson on + #webkit). + + * GNUmakefile.am: + +2010-12-15 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com> + + Reviewed by Martin Robinson. + + Changes to enable building WebKit2 for Gtk port. + (https://bugs.webkit.org/show_bug.cgi?id=37369) + + * GNUmakefile.am: Added WebCore/bindings/gobject to webkitgtk_sources & webkitgtk_cppflags. + They should get compiled only when WebKit/gtk/GNUmakefile.am is getting included but not + with WebKit2/GNUmakefile.am inclusion. + +2010-12-14 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Simplify context-menu handling code + https://bugs.webkit.org/show_bug.cgi?id=49658 + + Use gtk_container_foreach() so that we only iterate the list of + children once and we avoid creating/destroying the list. It also + connects the activate signal for submenu items. + + * webkit/webkitwebview.cpp: + (contextMenuConnectActivate): + (webkit_web_view_forward_context_menu_event): + +2010-12-14 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Fix several issues in r73858 + https://bugs.webkit.org/show_bug.cgi?id=51032 + + - It uses both glib private data and it allocates its own private + structure. + - It calls parent's dispose method from finalize. + - webkit_web_plugin_get_mimetypes() uses a wrong annotation for the + returned value, it should be transfer none rather than transfer + container. + - Since the mime type list is internal and we return the list and not a + copy, it should never be freed by the caller, so + webkit_web_plugin_mime_type_list_free() should be removed from the + public API. + - Mime types list is used uninitialized. + - Mention in the docs that list returned by + webkit_web_plugin_database_get_plugins() must be freed with + webkit_web_plugin_database_plugins_list_free(). + + * webkit/webkitwebplugin.cpp: + (webkit_web_plugin_finalize): + (webkit_web_plugin_class_init): + (webkit_web_plugin_init): + * webkit/webkitwebplugin.h: + * webkit/webkitwebplugindatabase.cpp: + +2010-12-14 Diego Escalante Urrelo <descalante@igalia.com> + + Reviewed by Xan Lopez. + + [gtk] misnamed gtk-doc strings for webkit_web_view_can_{c|c|p}_clipboard + https://bugs.webkit.org/show_bug.cgi?id=50571 + + * webkit/webkitwebview.cpp: + +2010-12-13 Xan Lopez <xlopez@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Add API to enable/disable plugins at runtime + https://bugs.webkit.org/show_bug.cgi?id=50891 + + * tests/testwebplugindatabase.c: + (test_webkit_web_plugin_database_get_plugins): test that disabling + a plugin works. + * webkit/webkitwebplugin.cpp: + (webkit_web_plugin_get_property): hook 'enabled' property. + (webkit_web_plugin_set_property): ditto. + (webkit_web_plugin_class_init): define 'enabled' property. + (webkit_web_plugin_set_enabled): setter for the property. + (webkit_web_plugin_get_enabled): getter for the property. + * webkit/webkitwebplugin.h: add the APIs to the header. + +2010-12-13 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Do not use GET_PRIVATE macros + https://bugs.webkit.org/show_bug.cgi?id=50915 + + GET_PRIVATE macros are slow and should only be used in the object + init() method. + + * WebCoreSupport/ContextMenuClientGtk.cpp: + (WebKit::inputMethodsMenuItem): + * WebCoreSupport/FrameLoaderClientGtk.cpp: + (WebKit::FrameLoaderClient::postProgressFinishedNotification): + (WebKit::FrameLoaderClient::setTitle): + (WebKit::FrameLoaderClient::dispatchCreatePage): + (WebKit::postCommitFrameViewSetup): + * webkit/webkitdownload.cpp: + (webkit_download_init): + * webkit/webkitgeolocationpolicydecision.cpp: + (webkit_geolocation_policy_decision_init): + * webkit/webkithittestresult.cpp: + (webkit_hit_test_result_init): + * webkit/webkitnetworkrequest.cpp: + (webkit_network_request_init): + * webkit/webkitsecurityorigin.cpp: + (webkit_security_origin_init): + * webkit/webkitsecurityoriginprivate.h: + * webkit/webkitviewportattributes.cpp: + (webkit_viewport_attributes_init): + * webkit/webkitwebbackforwardlist.cpp: + (webkit_web_back_forward_list_init): + * webkit/webkitwebdatabase.cpp: + (webkit_web_database_init): + * webkit/webkitwebdatasource.cpp: + (webkit_web_data_source_init): + * webkit/webkitwebframe.cpp: + (webkit_web_frame_init): + (webkit_web_frame_new): + * webkit/webkitwebframeprivate.h: + * webkit/webkitwebhistoryitem.cpp: + (webkit_web_history_item_init): + * webkit/webkitwebinspector.cpp: + (webkit_web_inspector_init): + * webkit/webkitwebnavigationaction.cpp: + (webkit_web_navigation_action_init): + * webkit/webkitwebplugin.cpp: + (webkit_web_plugin_init): + * webkit/webkitwebplugindatabase.cpp: + (webkit_web_plugin_database_init): + * webkit/webkitwebplugindatabaseprivate.h: + * webkit/webkitwebpluginprivate.h: + * webkit/webkitwebpolicydecision.cpp: + (webkit_web_policy_decision_init): + * webkit/webkitwebresource.cpp: + (webkit_web_resource_init): + * webkit/webkitwebresourceprivate.h: + * webkit/webkitwebsettings.cpp: + (webkit_web_settings_init): + * webkit/webkitwebview.cpp: + (PopupMenuPositionFunc): + (webkit_web_view_forward_context_menu_event): + (webkit_web_view_drag_end): + (webkit_web_view_drag_data_get): + (webkit_web_view_query_tooltip): + (webkit_web_view_init): + * webkit/webkitwebwindowfeatures.cpp: + (webkit_web_window_features_init): + +2010-10-28 MORITA Hajime <morrita@google.com> + + Reviewed by Ojan Vafai. + + spellcheck does not check pasted text + https://bugs.webkit.org/show_bug.cgi?id=40092 + + Added a stub implememntation. + + * WebCoreSupport/EditorClientGtk.h: + (WebKit::EditorClient::requestCheckingOfString): + +2010-12-12 Xan Lopez <xlopez@igalia.com> + + Rubber-stamped by Martin Robinson. + + * webkit/webkitwebplugin.h: add a note about the extension list + being a NULL-terminated array. + +2010-12-12 Xan Lopez <xlopez@igalia.com> + + Rubber-stamped by Gustavo Noronha. + + Stop checking for glib >= 2.16, we have dependend on a newer + version for a long time now. + + * tests/testatk.c: Stop checking for glib >= 2.16. + * tests/testatkroles.c: ditto. + * tests/testdomdocument.c: ditto. + * tests/testdomdomwindow.c: ditto. + * tests/testdomnode.c: ditto. + * tests/testglobals.c: ditto. + * tests/testhttpbackend.c: ditto. + * tests/testloading.c: ditto. + * tests/testmimehandling.c: ditto. + * tests/testnetworkrequest.c: ditto. + * tests/testnetworkresponse.c: ditto. + * tests/testwebbackforwardlist.c: ditto. + * tests/testwebdatasource.c: ditto. + * tests/testwebframe.c: ditto. + * tests/testwebhistoryitem.c: ditto. + * tests/testwebresource.c: ditto. + * tests/testwebsettings.c: ditto. + * tests/testwebview.c: ditto. + * tests/testwindow.c: ditto. + +2010-12-11 Xan Lopez <xlopez@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Add APIs for plugin management + https://bugs.webkit.org/show_bug.cgi?id=50827 + + Add WebKitWebPluginDatabase and WebKitWebPlugin classes for basic + plugin management at the client level. For now they provide + "read-only" access to the plugin list. + + * GNUmakefile.am: add new files to the build. + * tests/testwebplugindatabase.c: Test that the database contains + the test plugin, which should always be loaded. + * webkit/webkit.h: add new headers. + * webkit/webkitdefines.h: add new defines. + * webkit/webkitwebplugin.cpp: An new class representing a plugin object. + * webkit/webkitwebplugin.h: ditto. + * webkit/webkitwebplugindatabase.cpp: A new class that contains the list of active plugins. + * webkit/webkitwebplugindatabase.h: ditto. + * webkit/webkitwebplugindatabaseprivate.h: Private header. + * webkit/webkitwebpluginprivate.h: Private header. + * webkit/webkitwebview.cpp: + (webkit_get_web_plugin_database): returns the WebKitWebPluginDatabase for this session. + * webkit/webkitwebview.h: add method to header. + +2010-12-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Martin Robinson. + + [GTK] Split webkitprivate.{cpp,h} in more manageable chunks + https://bugs.webkit.org/show_bug.cgi?id=50698 + + Split private bits of several objects to their own private + headers, and to their implementation files. + + * GNUmakefile.am: + * WebCoreSupport/ChromeClientGtk.cpp: + * WebCoreSupport/EditorClientGtk.cpp: + * WebCoreSupport/FrameLoaderClientGtk.cpp: + (WebKit::FrameLoaderClient::dispatchWillSendRequest): + * webkit/webkitdownload.cpp: + (webkit_download_set_response): + * webkit/webkitdownloadprivate.h: Added. + * webkit/webkithittestresult.cpp: + (WebKit::kit): + * webkit/webkithittestresultprivate.h: Added. + * webkit/webkitnetworkresponse.cpp: + (WebKit::core): + (WebKit::kitNew): + * webkit/webkitnetworkresponseprivate.h: Added. + * webkit/webkitprivate.cpp: + * webkit/webkitprivate.h: + * webkit/webkitsecurityorigin.cpp: + (webkit_security_origin_get_web_database): + (WebKit::core): + (WebKit::kit): + * webkit/webkitsecurityoriginprivate.h: Added. + * webkit/webkitviewportattributes.cpp: + * webkit/webkitviewportattributesprivate.h: Added. + * webkit/webkitwebbackforwardlist.cpp: + * webkit/webkitwebbackforwardlistprivate.h: Added. + * webkit/webkitwebdatabase.cpp: + * webkit/webkitwebframe.cpp: + (webkit_web_frame_get_network_response): + * webkit/webkitwebhistoryitem.cpp: + * webkit/webkitwebhistoryitemprivate.h: Added. + * webkit/webkitwebnavigationaction.cpp: + (WebKit::kit): + (WebKit::core): + * webkit/webkitwebnavigationactionprivate.h: Added. + * webkit/webkitwebpolicydecision.cpp: + * webkit/webkitwebpolicydecisionprivate.h: Added. + * webkit/webkitwebresource.cpp: + * webkit/webkitwebresourceprivate.h: Added. + * webkit/webkitwebsettings.cpp: + * webkit/webkitwebsettingsprivate.h: Added. + * webkit/webkitwebview.cpp: + +2010-12-10 Alejandro G. Castro <alex@igalia.com> + + Unreviewed, fixed small typo in the name of a function. + + * webkit/webkitwebsettings.cpp: + (getAvailableDictionariesCallback): + (webkit_web_settings_set_property): + +2010-12-09 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Add hasSpellingMarker support to the DRT + https://bugs.webkit.org/show_bug.cgi?id=50739 + + Added a new private API function to support the spelling marker + tests in the DRT. + + * WebCoreSupport/DumpRenderTreeSupportGtk.cpp: + (DumpRenderTreeSupportGtk::webkitWebFrameSelectionHasSpellingMarker): + * WebCoreSupport/DumpRenderTreeSupportGtk.h: + +2010-12-10 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Choose a dictionary in case there is no one defined or the + env LANG does not propose one + https://bugs.webkit.org/show_bug.cgi?id=50738 + + In case no dict is set and we can not find one using the + environment just get the first dictionary installed in the list. + + * webkit/webkitwebsettings.cpp: + (getAvilableDictionariesCallback): + (webkit_web_settings_set_property): + +2010-12-10 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + Remove unnecessary variable names from DumpRenderTreeSupportGtk + https://bugs.webkit.org/show_bug.cgi?id=50815 + + There were some unnecessary variable names in DumpRenderTreeSupportGtk, + so remove them. + + * WebCoreSupport/DumpRenderTreeSupportGtk.h: Do it. + +2010-12-10 Joone Hur <joone@kldp.org> + + Reviewed by Xan Lopez. + + [GTK] Unskipping some test cases in /userscripts dependent on addUserStyleSheet + https://bugs.webkit.org/show_bug.cgi?id=50808 + + Unskipping the following test cases: + userscripts/mixed-case-stylesheet.html + userscripts/simple-stylesheet.html + userscripts/user-style-all-frames.html + + * WebCoreSupport/DumpRenderTreeSupportGtk.cpp: + (DumpRenderTreeSupportGtk::addUserStyleSheet): Added "bool allFrames" parameter. + * WebCoreSupport/DumpRenderTreeSupportGtk.h: + +2010-12-10 Joone Hur <joone@kldp.org> + + Reviewed by Eric Seidel. + + [GTK] Add DRT support for pageProperty, isPageBoxVisible, pageSizeAndMarginsInPixels, and addUserStyleSheet + https://bugs.webkit.org/show_bug.cgi?id=50783 + + This patch allows to unskip the following test cases: + printing/page-rule-selection.html + printing/page-format-data.html + + * WebCoreSupport/DumpRenderTreeSupportGtk.cpp: + (DumpRenderTreeSupportGtk::pageProperty): Added. + (DumpRenderTreeSupportGtk::isPageBoxVisible): Ditto. + (DumpRenderTreeSupportGtk::pageSizeAndMarginsInPixels): Ditto. + (DumpRenderTreeSupportGtk::addUserStyleSheet): Ditto. + * WebCoreSupport/DumpRenderTreeSupportGtk.h: + +2010-12-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Martin Robinson. + + [GTK] Split webkitprivate.{cpp,h} in more manageable chunks + https://bugs.webkit.org/show_bug.cgi?id=50698 + + Split private bits of WebKitWebInspector to its own private + header, and to its implementation file. + + * WebCoreSupport/InspectorClientGtk.cpp: + * webkit/webkitprivate.cpp: + * webkit/webkitprivate.h: + * webkit/webkitwebinspector.cpp: + (isSchemaAvailable): + (inspectorGSettings): + * webkit/webkitwebinspectorprivate.h: Added. + * webkit/webkitwebview.cpp: + +2010-12-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Martin Robinson. + + [GTK] Split webkitprivate.{cpp,h} in more manageable chunks + https://bugs.webkit.org/show_bug.cgi?id=50698 + + Split private bits of WebKitNetworkRequest to its own private + header, and to its implementation file. Also take the opportunity + to use PlatformRefPtr for NetworkRequest where it makes sense, and + make the creation less verbose by adding kitNew. + + * WebCoreSupport/FrameLoaderClientGtk.cpp: + (WebKit::FrameLoaderClient::dispatchWillSendRequest): + (WebKit::FrameLoaderClient::dispatchDecidePolicyForMIMEType): + (WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction): + (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction): + (WebKit::FrameLoaderClient::download): + (WebKit::FrameLoaderClient::startDownload): + * webkit/webkitdownload.cpp: + * webkit/webkitnetworkrequest.cpp: + (WebKit::kitNew): + (WebKit::core): + * webkit/webkitnetworkrequestprivate.h: Added. + * webkit/webkitprivate.cpp: + * webkit/webkitprivate.h: + * webkit/webkitwebdatasource.cpp: + (webkit_web_data_source_get_initial_request): + (webkit_web_data_source_get_request): + * webkit/webkitwebframe.cpp: + +2010-12-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Martin Robinson. + + [GTK] Split webkitprivate.{cpp,h} in more manageable chunks + https://bugs.webkit.org/show_bug.cgi?id=50698 + + Split private bits of WebKitWebFrame to its own private header, and + to its implementation file. + + * GNUmakefile.am: + * WebCoreSupport/ChromeClientGtk.cpp: + * WebCoreSupport/DragClientGtk.cpp: + * WebCoreSupport/DumpRenderTreeSupportGtk.cpp: + * WebCoreSupport/FrameLoaderClientGtk.cpp: + * webkit/webkitprivate.cpp: + * webkit/webkitprivate.h: + * webkit/webkitwebdatasource.cpp: + * webkit/webkitwebframe.cpp: + (WebKit::getViewFromFrame): + (WebKit::core): + (WebKit::kit): + * webkit/webkitwebframeprivate.h: Added. + * webkit/webkitwebpolicydecision.cpp: + * webkit/webkitwebview.cpp: + +2010-12-09 Antonio Gomes <agomes@rim.com> + + Reviewed by Martin Robinson. + + [Gtk] Populate DumpRenderTreeSupportGtk (part IV) + https://bugs.webkit.org/show_bug.cgi?id=48429 + + Moved also webkit_worker_thread_count() to DumpRenderTreeSupportGtk, + since it was only used by DRT for now. + + Since this method was the only one in webkitworker.cpp, the file was + also removed. + + * GNUmakefile.am: + * WebCoreSupport/DumpRenderTreeSupportGtk.cpp: + (DumpRenderTreeSupportGtk::workerThreadCount): + * WebCoreSupport/DumpRenderTreeSupportGtk.h: + * webkit/webkitprivate.h: + * webkit/webkitworkers.cpp: Removed. + +2010-12-06 Philippe Normand <pnormand@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Support the Mozilla-style Fullscreen Javascript API + https://bugs.webkit.org/show_bug.cgi?id=50572 + + Fullscreen API support. It is controlled at runtime using a new + setting called enable-fullscreen, set to FALSE by default. + + * WebCoreSupport/ChromeClientGtk.cpp: + (WebKit::ChromeClient::supportsFullScreenForElement): + (WebKit::ChromeClient::enterFullScreenForElement): + (WebKit::ChromeClient::exitFullScreenForElement): + * WebCoreSupport/ChromeClientGtk.h: + * webkit/webkitwebsettings.cpp: + (webkit_web_settings_class_init): + (webkit_web_settings_set_property): + (webkit_web_settings_get_property): + (webkit_web_settings_copy): + * webkit/webkitwebview.cpp: + (webkit_web_view_update_settings): + +2010-12-09 Joone Hur <joone@kldp.org> + + Reviewed by Martin Robinson. + + [GTK] Support for viewport meta tag + https://bugs.webkit.org/show_bug.cgi?id=45443 + + This patch adds a new gobject to offer the viewport properties to user agents. + It is WebKitViewportAttributes that contains the viewport size, initial scale with limits, + and information about whether a user is able to scale the contents in the viewport. + + This feature was introduced by Safari on the iPhone. For more information on + the viewport properties, refer to the Safari reference library at + http://developer.apple.com/safari/library/documentation/appleapplications/reference/safarihtmlref/articles/metatags.html + + * GNUmakefile.am: Added webkitviewportattributes.h webkitviewportattributes.cpp. + * WebCoreSupport/ChromeClientGtk.cpp: + (WebKit::ChromeClient::dispatchViewportDataDidChange): Added this callback to know whether the viewport arguments is available. + * WebCoreSupport/ChromeClientGtk.h: + * WebCoreSupport/DumpRenderTreeSupportGtk.cpp: + (DumpRenderTreeSupportGtk::dumpConfigurationForViewport): Added this function to compute the viewport attributes with the given availableWidth and availableHeight. + * WebCoreSupport/DumpRenderTreeSupportGtk.h: + * WebCoreSupport/FrameLoaderClientGtk.cpp: + (WebKit::postCommitFrameViewSetup): Invalidate the viewport attributes. + * webkit/webkit.h: + * webkit/webkitdefines.h: + * webkit/webkitprivate.h: Added webkitViewportAttributesRecompute as a private function. + * webkit/webkitviewportattributes.cpp: Added. + (webkit_viewport_attributes_class_init): + (webkit_viewport_attributes_init): + (webkit_viewport_attributes_get_property): + (webkit_viewport_attributes_set_property): + (webkitViewportAttributesRecompute): Recompute the optimal viewport attributes and emit the viewport-attributes-changed signal. + (webkit_viewport_attributes_recompute): a public API for calling webkitViewportAttributesRecompute. + * webkit/webkitviewportattributes.h: Added. + * webkit/webkitwebview.cpp: + (webkit_web_view_get_property): Added PROP_VIEWPORT_ATTRIBUTES. + (webkit_web_view_dispose): Deallocate the WebKitViewportAttributes instance. + (webkit_web_view_class_init): Added the viewport-attributes-recompute-requested and viewport-attributes-changed signals. + (webkit_web_view_init): Set the WebKitViewportAttributes instance. + (webkit_web_view_get_viewport_attributes): Added a getter to obtain the WebKitViewportAttributes instance held by the given WebKitWebView. + * webkit/webkitwebview.h: + * webkit/webkitwebviewprivate.h: Added WebKitViewportAttributes as a private variable. + +2010-12-09 Xan Lopez <xlopez@igalia.com> + + Reviewed by Martin Robinson. + + Fix 'make install' woes with some versions of automake. + + * GNUmakefile.am: use $(top_builddir) instead of $(builddir), + since we actually want a valid path for the file regardless of the + place from where the script is called. + +2010-12-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Build fix. Take webView{Enter,Exit}Fullscreen back out of the + WebKit namespace, and remove a function signature that got in by + mistake because of a bad merge. + + * webkit/webkitprivate.h: + * webkit/webkitwebview.cpp: + (WebKit::core): + (WebKit::kit): + +2010-12-08 Brian Weinstein <bweinstein@apple.com> + + Reviewed by John Sullivan. + + Layering Violation in ContextMenu - member variable of type HitTestResult + https://bugs.webkit.org/show_bug.cgi?id=50586 + + Update users of ContextMenu and ContextMenuController to match where the new functions + are located. + + * WebCoreSupport/ContextMenuClientGtk.cpp: + (WebKit::ContextMenuClient::getCustomMenuFromDefaultItems): + +2010-12-08 Martin Robinson <mrobinson@igalia.com> + + Reviewed by John Sullivan. + + [GTK] Layering violation in ContextMenuGtk.cpp + https://bugs.webkit.org/show_bug.cgi?id=50676 + + ContextMenuGtk accesses the page's ContextMenuController, which is a layering + violation. This was fixed for Mac with change r73469. We make a similar fix here + by moving the "activated" signal connection to the WebKit layer. + + * webkit/webkitwebview.cpp: + (popupMenuItemActivated): Have ContextMenuController handle this signal. + (webkit_web_view_forward_context_menu_event): For all items in the untouched + context menu, connect their "activated" signal to the new popupMenuItemActivated + handler. + +2010-12-08 Antonio Gomes <agomes@rim.com> + + Reviewed by Martin Robinson. + + [Gtk] Populate DumpRenderTreeSupportGtk (part III) + https://bugs.webkit.org/show_bug.cgi?id=48429 + + Adjusted some call sites of previously internal API declared + webkitprivate.h that have moved to DumpRenderTreeSupportGtk. + + * WebCoreSupport/DumpRenderTreeSupportGtk.cpp: + (DumpRenderTreeSupportGtk::gcCollectJavascriptObjects): + (DumpRenderTreeSupportGtk::gcCollectJavascriptObjectsOnAlternateThread): + (DumpRenderTreeSupportGtk::gcCountJavascriptObjects): + (DumpRenderTreeSupportGtk::layoutFrame): + * WebCoreSupport/DumpRenderTreeSupportGtk.h: + * webkit/webkitprivate.h: + * webkit/webkitwebframe.cpp: + +2010-12-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Martin Robinson. + + [GTK] Split webkitprivate.{cpp,h} in more manageable chunks + https://bugs.webkit.org/show_bug.cgi?id=50698 + + Split private bits of WebKitWebView to its own private header, and + to its implementation file. Take the opportunity to fix includes + sorting to comply with the style guide. + + * WebCoreSupport/ChromeClientGtk.cpp: + (WebKit::ChromeClient::enterFullscreenForNode): + (WebKit::ChromeClient::exitFullscreenForNode): + * WebCoreSupport/ContextMenuClientGtk.cpp: + * WebCoreSupport/DragClientGtk.cpp: + * WebCoreSupport/DumpRenderTreeSupportGtk.cpp: + * WebCoreSupport/EditorClientGtk.cpp: + * WebCoreSupport/FrameLoaderClientGtk.cpp: + * WebCoreSupport/InspectorClientGtk.cpp: + * WebCoreSupport/PasteboardHelperGtk.cpp: + * webkit/webkitprivate.cpp: + (webkit_init): + * webkit/webkitprivate.h: + * webkit/webkitwebbackforwardlist.cpp: + * webkit/webkitwebdatasource.cpp: + * webkit/webkitwebframe.cpp: + * webkit/webkitwebview.cpp: + (WebKit::core): + (WebKit::kit): + (WebKit::webViewEnterFullscreen): + (WebKit::webViewExitFullscreen): + * webkit/webkitwebviewprivate.h: Added. + +2010-12-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Xan Lopez. + + The storage for the subresources is a GHashTable which does not + guarantee order, so we need to make our checking more resilient. + + * tests/testwebresource.c: + (test_web_resource_sub_resource_loading): + +2010-12-08 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + Fix assertion in the API test, we are requesting the favicon and + the subresource so we have to make sure we are assigning just the + first subresource. + + * tests/testwebresource.c: + (resource_request_starting_sub_cb): + +2010-12-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Martin Robinson. + + [GTK] clears the subresources prematurely + https://bugs.webkit.org/show_bug.cgi?id=50634 + + Make adding the main resource explicit, and only clear + subresources when the new load is committed, avoid clearing them + prematurely. + + * WebCoreSupport/FrameLoaderClientGtk.cpp: + (WebKit::FrameLoaderClient::assignIdentifierToInitialRequest): + (WebKit::FrameLoaderClient::provisionalLoadStarted): + (WebKit::FrameLoaderClient::prepareForDataSourceReplacement): + (WebKit::postCommitFrameViewSetup): + * tests/testwebdatasource.c: + (notify_load_status_lifetime_cb): + (test_webkit_web_data_source_lifetime): + (main): + * webkit/webkitprivate.h: + * webkit/webkitwebview.cpp: + (webkit_web_view_add_main_resource): + (webkit_web_view_add_resource): + (webkit_web_view_clear_resources): + +2010-12-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Xan Lopez. + + [GTK] testwebdatasource - unreachable test is broken + https://bugs.webkit.org/show_bug.cgi?id=50629 + + Fix, and disable testwebdatasource's unreachable test (it is not + passing now that it actually tests what it should). This also + fixes the wait timer to actually work as expected. + + * tests/testwebdatasource.c: + (notify_load_status_unreachable_cb): + (notify_load_status_cb): + (test_webkit_web_data_source): + +2010-12-07 Martin Robinson <mrobinson@igalia.com> + + Unreviewed, rolling out r73392. + http://trac.webkit.org/changeset/73392 + https://bugs.webkit.org/show_bug.cgi?id=50489 + + This commit caused crashes on the GTK+ bots + + * WebCoreSupport/FrameLoaderClientGtk.cpp: + (WebKit::FrameLoaderClient::finishedLoading): + * webkit/webkitwebview.cpp: + (webkit_web_view_get_encoding): + +2010-12-06 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Update calls to DocumentWriter. + https://bugs.webkit.org/show_bug.cgi?id=50489 + + * WebCoreSupport/FrameLoaderClientGtk.cpp: + (WebKit::FrameLoaderClient::finishedLoading): + * webkit/webkitwebview.cpp: + (webkit_web_view_get_encoding): + +2010-12-06 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Build is broken after r73353 + https://bugs.webkit.org/show_bug.cgi?id=50568 + + Fix the gtk-doc build by making all members of the cache model + enum public. gtk-doc does not support making only some enum + members private. We should also expose it so that users querying + the cache model do not get mysterious, undocumented results. + + * webkit/webkitwebview.h: Fix gtk-doc for the cache model enum. + +2010-12-06 Derek Weitzel <djw8605@gmail.com> + + Reviewed by Martin Robinson. + + [GTK] API Documentation referencing depreciated GTK_WIDGET_TOPLEVEL + https://bugs.webkit.org/show_bug.cgi?id=50512 + + Fixed reference to depreciated GTK_WIDGET_TOPLEVEL. + + * webkit/webkitwebview.cpp: + +2010-12-06 Joone Hur <joone@kldp.org> + + Reviewed by Xan Lopez. + + [GTK] The webkit cache model needs to be set when WebFrameLoaderClient::didPerformFirstNavigation() is called + https://bugs.webkit.org/show_bug.cgi?id=50430 + + * WebCoreSupport/FrameLoaderClientGtk.cpp: + (WebKit::FrameLoaderClient::didPerformFirstNavigation): Set the webview cache model. + * webkit/webkitprivate.cpp: + (webkit_init): Removed the code of setting the webview cache model. + +2010-12-04 Antonio Gomes <agomes@rim.com> + + Reviewed by Martin Robinson. + + [Gtk] Populate DumpRenderTreeSupportGtk (Part II) + https://bugs.webkit.org/show_bug.cgi?id=48429 + + Moved more private method declared with WEBKIT_API to + DumpRenderTreeSupportGtk, since they were only being used by DRT. + + * WebCoreSupport/DumpRenderTreeSupportGtk.cpp: + (DumpRenderTreeSupportGtk::executeCoreCommandByName): + (DumpRenderTreeSupportGtk::isCommandEnabled): + (DumpRenderTreeSupportGtk::whiteListAccessFromOrigin): + (DumpRenderTreeSupportGtk::resetOriginAccessWhiteLists): + * WebCoreSupport/DumpRenderTreeSupportGtk.h: + * webkit/webkitprivate.cpp: + * webkit/webkitprivate.h: + * webkit/webkitwebview.cpp: + +2010-11-08 Antonio Gomes <agomes@rim.com> + + Reviewed by Martin Robinson. + + [Gtk] Populate DumpRenderTreeSupportGtk + https://bugs.webkit.org/show_bug.cgi?id=48429 + + Moved most of the webkit_web_frame* methods defined as private APIs in webkitprivate.h + to DumpRenderTreeSupportGtk, as static class methods. These methods had + not gone throught the formal API review process and were only being used by DRT for now. + + The essence of each original method name were kept. For example + webkit_web_frame_get_children(...) was renamed to DumpRenderTreeSupportGtk::getFrameChildren(...), + and so on. + + Also some of the method bodies were changed to return non-glib types (gchar* -> CString). + + * WebCoreSupport/DumpRenderTreeSupportGtk.cpp: + (DumpRenderTreeSupportGtk::getFrameChildren): + (DumpRenderTreeSupportGtk::getInnerText): + (DumpRenderTreeSupportGtk::dumpRenderTree): + (DumpRenderTreeSupportGtk::counterValueForElementById): + (DumpRenderTreeSupportGtk::pageNumberForElementById): + (DumpRenderTreeSupportGtk::numberOfPagesForFrame): + (DumpRenderTreeSupportGtk::getPendingUnloadEventCount): + (DumpRenderTreeSupportGtk::pauseAnimation): + (DumpRenderTreeSupportGtk::pauseTransition): + (DumpRenderTreeSupportGtk::pauseSvgAnimation): + (DumpRenderTreeSupportGtk::markerTextForListItem): + (DumpRenderTreeSupportGtk::numberOfActiveAnimations): + (DumpRenderTreeSupportGtk::suspendAnimations): + (DumpRenderTreeSupportGtk::resumeAnimations): + (DumpRenderTreeSupportGtk::clearMainFrameName): + (DumpRenderTreeSupportGtk::getFocusedAccessibleElement): + * WebCoreSupport/DumpRenderTreeSupportGtk.h: + * webkit/webkitprivate.h: + * webkit/webkitwebframe.cpp: + +2010-12-02 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] DumpRenderTree has two copies of JavaScriptCore + https://bugs.webkit.org/show_bug.cgi?id=49877 + + Keep WebKit/WebCore symbols hidden. + + * GNUmakefile.am: Move the symbol visibility rules here, because + now JSC symbols are visible, but WebCore/WebKit symbols are hidden. + +2010-12-02 Daniel Bates <dbates@rim.com> + + Ignore WebKit/gtk/docs/GNUmakefile.in and WebKit/gtk/po/*.pot so that + these files do not appear in an svn stat. This change makes SVN + consistent with the current Git ignore behavior for these files. + + * docs: Added property svn:ignore. + * po: Added property svn:ignore. + +2010-12-01 Jia Pu <jpu@apple.com> + + Reviewed by Darin Adler. + + Support multiple correction candidates panel for misspelled word on Mac OS X. + https://bugs.webkit.org/show_bug.cgi?id=50137 + <rdar://problem/8568059> + + Adopted new function signature defined in base class. + + * WebCoreSupport/EditorClientGtk.cpp: + (WebKit::EditorClient::getGuessesForWord): + * WebCoreSupport/EditorClientGtk.h: + +2010-11-30 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk> + + Reviewed by Martin Robinson. + + [GTK] Fix wrong type in assert return value + https://bugs.webkit.org/show_bug.cgi?id=50208 + + Use appropriate return type in different g_return_val_if_fail(). This + removes some compiler warning. + + * webkit/webkitwebdatasource.cpp: + (webkit_web_data_source_is_loading): + * webkit/webkitwebframe.cpp: + (webkit_web_frame_page_number_for_element_by_id): + (webkit_web_frame_number_of_pages): + +2010-11-30 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Chris Fleizach. + + [GTK] Implement ROLE_COMBO_BOX + https://bugs.webkit.org/show_bug.cgi?id=25678 + + New test to check the implementation of the combo boxes. + + * tests/testatk.c: + (testWebkitAtkComboBox): New test, checking that the roles and the + implemented interfaces for a combo box and its descendants work. + (main): Added the new unit test. + +2010-11-30 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Test fast/events/mouseover-mouseout2.html crashes + https://bugs.webkit.org/show_bug.cgi?id=50214 + + * WebCoreSupport/ChromeClientGtk.cpp: + (WebKit::ChromeClient::mouseDidMoveOverElement): + * webkit/webkitwebview.cpp: + (webkit_web_view_query_tooltip): + +2010-11-30 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r72764. + http://trac.webkit.org/changeset/72764 + https://bugs.webkit.org/show_bug.cgi?id=50215 + + This change is causing assertion failures on the debug bots. + (Requested by mrobinson on #webkit). + + * WebCoreSupport/FrameLoaderClientGtk.cpp: + (WebKit::notifyStatus): + * tests/testatk.c: + (main): + +2010-11-29 Xan Lopez <xlopez@igalia.com> + + Reviewed by Martin Robinson. + + * NEWS: update for 1.3.7 release. + 2010-11-29 Carlos Garcia Campos <cgarcia@igalia.com> Reviewed by Xan Lopez. diff --git a/WebKit/gtk/GNUmakefile.am b/WebKit/gtk/GNUmakefile.am index a3be816..256122c 100644 --- a/WebKit/gtk/GNUmakefile.am +++ b/WebKit/gtk/GNUmakefile.am @@ -27,9 +27,11 @@ libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOUR $(webkitgtk_sources) libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CXXFLAGS = \ + $(SYMBOL_VISIBILITY_INLINES) \ $(global_cxxflags) libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CFLAGS = \ + $(SYMBOL_VISIBILITY) \ $(global_cflags) # When building WebCore/WebKit, we want WebCore/config.h and NOT JavaScriptCore/config.h, @@ -117,6 +119,7 @@ webkitgtk_static_h_api += \ $(srcdir)/WebKit/gtk/webkit/webkitnetworkresponse.h \ $(srcdir)/WebKit/gtk/webkit/webkitsecurityorigin.h \ $(srcdir)/WebKit/gtk/webkit/webkitsoupauthdialog.h \ + $(srcdir)/WebKit/gtk/webkit/webkitviewportattributes.h \ $(srcdir)/WebKit/gtk/webkit/webkitwebbackforwardlist.h \ $(srcdir)/WebKit/gtk/webkit/webkitwebdatabase.h \ $(srcdir)/WebKit/gtk/webkit/webkitwebdatasource.h \ @@ -124,6 +127,8 @@ webkitgtk_static_h_api += \ $(srcdir)/WebKit/gtk/webkit/webkitwebhistoryitem.h \ $(srcdir)/WebKit/gtk/webkit/webkitwebinspector.h \ $(srcdir)/WebKit/gtk/webkit/webkitwebnavigationaction.h \ + $(srcdir)/WebKit/gtk/webkit/webkitwebplugin.h \ + $(srcdir)/WebKit/gtk/webkit/webkitwebplugindatabase.h \ $(srcdir)/WebKit/gtk/webkit/webkitwebpolicydecision.h \ $(srcdir)/WebKit/gtk/webkit/webkitwebresource.h \ $(srcdir)/WebKit/gtk/webkit/webkitwebsettings.h \ @@ -157,12 +162,12 @@ webkitgtk_sources += \ WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.h \ WebKit/gtk/WebCoreSupport/DragClientGtk.cpp \ WebKit/gtk/WebCoreSupport/DragClientGtk.h \ + WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp \ + WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h \ WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp \ WebKit/gtk/WebCoreSupport/EditorClientGtk.h \ WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp \ WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h \ - WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp \ - WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h \ WebKit/gtk/WebCoreSupport/FrameNetworkingContextGtk.h \ WebKit/gtk/WebCoreSupport/FullscreenVideoController.cpp \ WebKit/gtk/WebCoreSupport/FullscreenVideoController.h \ @@ -172,37 +177,56 @@ webkitgtk_sources += \ WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h \ WebKit/gtk/webkit/webkitapplicationcache.cpp \ WebKit/gtk/webkit/webkitdownload.cpp \ + WebKit/gtk/webkit/webkitdownloadprivate.h \ WebKit/gtk/webkit/webkiterror.cpp \ + WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp \ WebKit/gtk/webkit/webkithittestresult.cpp \ + WebKit/gtk/webkit/webkithittestresultprivate.h \ WebKit/gtk/webkit/webkitnetworkrequest.cpp \ + WebKit/gtk/webkit/webkitnetworkrequestprivate.h \ WebKit/gtk/webkit/webkitnetworkresponse.cpp \ + WebKit/gtk/webkit/webkitnetworkresponseprivate.h \ WebKit/gtk/webkit/webkitprivate.cpp \ WebKit/gtk/webkit/webkitprivate.h \ + WebKit/gtk/webkit/webkitsecurityorigin.cpp \ + WebKit/gtk/webkit/webkitsecurityoriginprivate.h \ WebKit/gtk/webkit/webkitsoupauthdialog.c \ WebKit/gtk/webkit/webkitversion.cpp \ + WebKit/gtk/webkit/webkitviewportattributes.cpp \ + WebKit/gtk/webkit/webkitviewportattributesprivate.h \ WebKit/gtk/webkit/webkitwebbackforwardlist.cpp \ + WebKit/gtk/webkit/webkitwebbackforwardlistprivate.h \ + WebKit/gtk/webkit/webkitwebdatabase.cpp \ WebKit/gtk/webkit/webkitwebdatasource.cpp \ WebKit/gtk/webkit/webkitwebframe.cpp \ + WebKit/gtk/webkit/webkitwebframeprivate.h \ WebKit/gtk/webkit/webkitwebhistoryitem.cpp \ + WebKit/gtk/webkit/webkitwebhistoryitemprivate.h \ WebKit/gtk/webkit/webkitwebinspector.cpp \ + WebKit/gtk/webkit/webkitwebinspectorprivate.h \ WebKit/gtk/webkit/webkitwebnavigationaction.cpp \ + WebKit/gtk/webkit/webkitwebnavigationactionprivate.h \ WebKit/gtk/webkit/webkitwebpolicydecision.cpp \ - WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp \ + WebKit/gtk/webkit/webkitwebpolicydecisionprivate.h \ WebKit/gtk/webkit/webkitwebresource.cpp \ - WebKit/gtk/webkit/webkitwebdatabase.cpp \ - WebKit/gtk/webkit/webkitsecurityorigin.cpp \ + WebKit/gtk/webkit/webkitwebresourceprivate.h \ + WebKit/gtk/webkit/webkitwebplugin.cpp \ + WebKit/gtk/webkit/webkitwebpluginprivate.h \ + WebKit/gtk/webkit/webkitwebplugindatabase.cpp \ + WebKit/gtk/webkit/webkitwebplugindatabaseprivate.h \ WebKit/gtk/webkit/webkitwebsettings.cpp \ + WebKit/gtk/webkit/webkitwebsettingsprivate.h \ WebKit/gtk/webkit/webkitwebview.cpp \ - WebKit/gtk/webkit/webkitwebwindowfeatures.cpp \ - WebKit/gtk/webkit/webkitworkers.cpp + WebKit/gtk/webkit/webkitwebviewprivate.h \ + WebKit/gtk/webkit/webkitwebwindowfeatures.cpp pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = WebKit/gtk/@WEBKITGTK_PC_NAME@-@WEBKITGTK_API_VERSION@.pc if ENABLE_INTROSPECTION -JSCore-@WEBKITGTK_API_VERSION@.gir: $(builddir)/WebKit/gtk/JSCore-@WEBKITGTK_API_VERSION@.gir - $(AM_V_GEN)cp $(builddir)/WebKit/gtk/JSCore-@WEBKITGTK_API_VERSION@.gir $(builddir)/ +JSCore-@WEBKITGTK_API_VERSION@.gir: $(top_builddir)/WebKit/gtk/JSCore-@WEBKITGTK_API_VERSION@.gir + $(AM_V_GEN)cp $(top_builddir)/WebKit/gtk/JSCore-@WEBKITGTK_API_VERSION@.gir $(top_builddir)/ JSCORE_GIRSOURCES += JSCore-@WEBKITGTK_API_VERSION@.gir WEBKIT_GIRSOURCES += WebKit-@WEBKITGTK_API_VERSION@.gir @@ -224,12 +248,12 @@ $(WEBKIT_GIRSOURCES): $(G_IR_SCANNER) $(JSCORE_GIRSOURCES) libwebkitgtk-@WEBKITG --pkg=libsoup-2.4 \ --output=$@ \ --add-include-path=$(WebKit) \ - --add-include-path=$(builddir) \ + --add-include-path=$(top_builddir) \ -I$(top_srcdir)/WebCore/platform/network/soup/cache \ -I$(WebKit) \ -I$(GENSOURCES) \ -I$(GENSOURCES_WEBKIT) \ - -I$(builddir)/WebKit/gtk \ + -I$(top_builddir)/WebKit/gtk \ -I$(top_srcdir)/JavaScriptCore/ForwardingHeaders \ -I$(top_srcdir) \ $(GENSOURCES_WEBKIT)/webkitenumtypes.h \ @@ -244,13 +268,13 @@ typelibsdir += $(libdir)/girepository-1.0 typelibs_DATA += $(JSCORE_GIRSOURCES:.gir=.typelib) $(WEBKIT_GIRSOURCES:.gir=.typelib) %.typelib: %.gir $(G_IR_COMPILER) - $(AM_V_GEN)$(G_IR_COMPILER) --includedir $(WebKit) --includedir $(builddir) $< -o $@ + $(AM_V_GEN)$(G_IR_COMPILER) --includedir $(WebKit) --includedir $(top_builddir) $< -o $@ CLEANFILES += $(JSCORE_GIRSOURCES) $(WEBKIT_GIRSOURCES) $(typelibs_DATA) endif -EXTRA_DIST += $(builddir)/WebKit/gtk/JSCore-@WEBKITGTK_API_VERSION@.gir +EXTRA_DIST += $(top_builddir)/WebKit/gtk/JSCore-@WEBKITGTK_API_VERSION@.gir WEBKIT_MARSHAL_LIST = $(WebKit)/webkitmarshal.list $(GENSOURCES_WEBKIT)/webkitmarshal.cpp: stamp-webkitmarshal.cpp @@ -386,6 +410,7 @@ TEST_PROGS += \ Programs/unittests/testwebsettings \ Programs/unittests/testwebresource \ Programs/unittests/testwebdatasource \ + Programs/unittests/testwebplugindatabase \ Programs/unittests/testwebview \ Programs/unittests/testkeyevents \ Programs/unittests/testcopyandpaste @@ -441,6 +466,11 @@ Programs_unittests_testwebframe_CFLAGS = $(webkit_tests_cflags) Programs_unittests_testwebframe_LDADD = $(webkit_tests_ldadd) Programs_unittests_testwebframe_LDFLAGS = $(webkit_tests_ldflags) +Programs_unittests_testwebplugindatabase_SOURCES = WebKit/gtk/tests/testwebplugindatabase.c +Programs_unittests_testwebplugindatabase_CFLAGS = -DTEST_PLUGIN_DIR=\"${shell pwd}/${top_builddir}/TestNetscapePlugin/.libs\" $(webkit_tests_cflags) +Programs_unittests_testwebplugindatabase_LDADD = $(webkit_tests_ldadd) +Programs_unittests_testwebplugindatabase_LDFLAGS = $(webkit_tests_ldflags) + Programs_unittests_testwebbackforwardlist_SOURCES = WebKit/gtk/tests/testwebbackforwardlist.c Programs_unittests_testwebbackforwardlist_CFLAGS = $(webkit_tests_cflags) Programs_unittests_testwebbackforwardlist_LDADD = $(webkit_tests_ldadd) diff --git a/WebKit/gtk/NEWS b/WebKit/gtk/NEWS index ead8923..0c744a5 100644 --- a/WebKit/gtk/NEWS +++ b/WebKit/gtk/NEWS @@ -1,4 +1,43 @@ ================ +WebKitGTK+ 1.3.9 +================ + +What's new in WebKitGTK+ 1.3.9? + + - Compilation fixes for the final GTK+ 2.91.7 release. + +================ +WebKitGTK+ 1.3.8 +================ + +What's new in WebKitGTK+ 1.3.8? + + - New WebKitWebPluginDatabase and WebKitWebPlugin classes for plugin + management. + - The usual fixes for GTK+ 3.x API changes. We are still using the + old GtkStyle APIs, that should be gone by the next release. + - Add support for Mozilla-style JS fullscreen API. + - Add support for the viewport metatag. + - Many other bugfixes. + +================ +WebKitGTK+ 1.3.7 +================ + +What's new in WebKitGTK+ 1.3.7? + + - Fix error pages template's not being filled properly. + - Fix context menu activation through keyboard. + - Add automatic garbage collection for most GObject DOM objects (all + those that are actually in the DOM tree). This gets rid of most of + the leaks when using the bindings. + - Add an Inspector API to inspect a DOM node. + - Tons of a11y bugfixes. + - Tons of fixes for the in-tree SoupCache, should work much better + now. + - Many other bugfixes. + +================ WebKitGTK+ 1.3.6 ================ diff --git a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp index 4450e87..12f4f14 100644 --- a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp +++ b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp @@ -24,40 +24,45 @@ #include "config.h" #include "ChromeClientGtk.h" +#include "Chrome.h" #include "Console.h" #include "DumpRenderTreeSupportGtk.h" #include "Element.h" -#include "FileSystem.h" #include "FileChooser.h" +#include "FileSystem.h" #include "FloatRect.h" #include "FrameLoadRequest.h" #include "FrameView.h" #include "GtkVersioning.h" #include "HTMLNames.h" -#include "IntRect.h" #include "HitTestResult.h" #include "Icon.h" +#include "IntRect.h" #include "KURL.h" #include "NavigationAction.h" +#include "NotImplemented.h" #include "PlatformString.h" #include "PopupMenuClient.h" #include "PopupMenuGtk.h" #include "SearchPopupMenuGtk.h" #include "SecurityOrigin.h" +#include "WindowFeatures.h" #include "webkitgeolocationpolicydecision.h" -#include "webkitwebview.h" #include "webkitnetworkrequest.h" #include "webkitprivate.h" -#include "NotImplemented.h" -#include "WindowFeatures.h" -#if ENABLE(DATABASE) -#include "DatabaseTracker.h" -#endif -#include <wtf/text/CString.h> - +#include "webkitsecurityoriginprivate.h" +#include "webkitviewportattributesprivate.h" +#include "webkitwebframeprivate.h" +#include "webkitwebview.h" +#include "webkitwebviewprivate.h" #include <glib.h> #include <glib/gi18n-lib.h> #include <gtk/gtk.h> +#include <wtf/text/CString.h> + +#if ENABLE(DATABASE) +#include "DatabaseTracker.h" +#endif using namespace WebCore; @@ -413,6 +418,7 @@ void ChromeClient::scroll(const IntSize& delta, const IntRect& rectToScroll, con cairo_region_destroy(invalidRegion); #endif + gdk_window_process_updates(window, TRUE); } // FIXME: this does not take into account the WM decorations @@ -523,9 +529,12 @@ void ChromeClient::mouseDidMoveOverElement(const HitTestResult& hit, unsigned mo m_hoveredLinkURL = KURL(); } - Node* node = hit.innerNonSharedNode(); - - m_webView->priv->tooltipArea = node ? node->document()->frame()->view()->contentsToWindow(node->getRect()) : IntRect(); + if (Node* node = hit.innerNonSharedNode()) { + Frame* frame = node->document()->frame(); + FrameView* view = frame ? frame->view() : 0; + m_webView->priv->tooltipArea = view ? view->contentsToWindow(node->getRect()) : IntRect(); + } else + m_webView->priv->tooltipArea = IntRect(); } void ChromeClient::setToolTip(const String& toolTip, TextDirection) @@ -613,6 +622,12 @@ void ChromeClient::chooseIconForFiles(const Vector<WTF::String>& filenames, WebC chooser->iconLoaded(Icon::createIconForFiles(filenames)); } +void ChromeClient::dispatchViewportDataDidChange(const ViewportArguments& arguments) const +{ + // Recompute the viewport attributes making it valid. + webkitViewportAttributesRecompute(webkit_web_view_get_viewport_attributes(m_webView)); +} + void ChromeClient::setCursor(const Cursor&) { notImplemented(); @@ -665,7 +680,7 @@ void ChromeClient::enterFullscreenForNode(Node* node) WebCore::Frame* frame = node->document()->frame(); WebKitWebFrame* webFrame = kit(frame); WebKitWebView* webView = getViewFromFrame(webFrame); - webkitWebViewEnterFullscreen(webView, node); + webViewEnterFullscreen(webView, node); } void ChromeClient::exitFullscreenForNode(Node* node) @@ -673,8 +688,28 @@ void ChromeClient::exitFullscreenForNode(Node* node) WebCore::Frame* frame = node->document()->frame(); WebKitWebFrame* webFrame = kit(frame); WebKitWebView* webView = getViewFromFrame(webFrame); - webkitWebViewExitFullscreen(webView); + webViewExitFullscreen(webView); +} +#endif + +#if ENABLE(FULLSCREEN_API) +bool ChromeClient::supportsFullScreenForElement(const WebCore::Element* element) +{ + return true; +} + +void ChromeClient::enterFullScreenForElement(WebCore::Element* element) +{ + element->document()->webkitWillEnterFullScreenForElement(element); + element->document()->webkitDidEnterFullScreenForElement(element); +} + +void ChromeClient::exitFullScreenForElement(WebCore::Element* element) +{ + element->document()->webkitWillExitFullScreenForElement(element); + element->document()->webkitDidExitFullScreenForElement(element); } #endif + } diff --git a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h index 8252f06..e9f1c83 100644 --- a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h +++ b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h @@ -110,6 +110,8 @@ namespace WebKit { virtual void setToolTip(const WTF::String&, WebCore::TextDirection); + virtual void dispatchViewportDataDidChange(const WebCore::ViewportArguments& arguments) const; + virtual void print(WebCore::Frame*); #if ENABLE(DATABASE) virtual void exceededDatabaseQuota(WebCore::Frame*, const WTF::String&); @@ -143,6 +145,12 @@ namespace WebKit { virtual void exitFullscreenForNode(WebCore::Node*); #endif +#if ENABLE(FULLSCREEN_API) + virtual bool supportsFullScreenForElement(const WebCore::Element*); + virtual void enterFullScreenForElement(WebCore::Element*); + virtual void exitFullScreenForElement(WebCore::Element*); +#endif + private: WebKitWebView* m_webView; WebCore::KURL m_hoveredLinkURL; diff --git a/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp b/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp index 069fb19..137f9ab 100644 --- a/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp +++ b/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp @@ -18,18 +18,20 @@ */ #include "config.h" -#include "ContextMenu.h" #include "ContextMenuClientGtk.h" +#include "ContextMenu.h" +#include "ContextMenuController.h" #include "HitTestResult.h" #include "KURL.h" #include "NotImplemented.h" -#include <wtf/text/CString.h> - -#include <glib/gi18n-lib.h> +#include "Page.h" +#include "webkitprivate.h" +#include "webkitwebviewprivate.h" #include <glib-object.h> +#include <glib/gi18n-lib.h> #include <gtk/gtk.h> -#include "webkitprivate.h" +#include <wtf/text/CString.h> using namespace WebCore; @@ -60,7 +62,7 @@ static GtkWidget* inputMethodsMenuItem (WebKitWebView* webView) GtkWidget* menuitem = gtk_image_menu_item_new_with_mnemonic( _("Input _Methods")); - WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(webView); + WebKitWebViewPrivate* priv = webView->priv; GtkWidget* imContextMenu = gtk_menu_new(); gtk_im_multicontext_append_menuitems(GTK_IM_MULTICONTEXT(priv->imContext.get()), GTK_MENU_SHELL(imContextMenu)); @@ -129,8 +131,8 @@ PlatformMenuDescription ContextMenuClient::getCustomMenuFromDefaultItems(Context { GtkMenu* gtkmenu = menu->releasePlatformDescription(); - HitTestResult result = menu->hitTestResult(); WebKitWebView* webView = m_webView; + HitTestResult result = core(webView)->contextMenuController()->hitTestResult(); if (result.isContentEditable()) { diff --git a/WebKit/gtk/WebCoreSupport/DragClientGtk.cpp b/WebKit/gtk/WebCoreSupport/DragClientGtk.cpp index be0fb10..5f391ec 100644 --- a/WebKit/gtk/WebCoreSupport/DragClientGtk.cpp +++ b/WebKit/gtk/WebCoreSupport/DragClientGtk.cpp @@ -33,6 +33,8 @@ #include "PasteboardHelper.h" #include "RenderObject.h" #include "webkitprivate.h" +#include "webkitwebframeprivate.h" +#include "webkitwebviewprivate.h" #include "webkitwebview.h" #include <gdk/gdk.h> #include <gtk/gtk.h> diff --git a/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp b/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp index f237e9d..a751c77 100644 --- a/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp +++ b/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp @@ -1,5 +1,7 @@ /* * Copyright (C) Research In Motion Limited 2010. All rights reserved. + * Copyright (C) 2010 Joone Hur <joone@kldp.org> + * Copyright (C) 2009 Google Inc. All rights reserved. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,18 +21,46 @@ #include "config.h" #include "DumpRenderTreeSupportGtk.h" +#include "AccessibilityObjectWrapperAtk.h" +#include "AnimationController.h" #include "APICast.h" +#include "AXObjectCache.h" #include "Document.h" +#include "FocusController.h" +#include "FrameLoaderClientGtk.h" +#include "FrameView.h" +#include "FrameTree.h" +#include "GCController.h" +#include "GraphicsContext.h" +#include "JSDOMWindow.h" #include "JSDocument.h" +#include "JSElement.h" #include "JSLock.h" #include "JSNodeList.h" #include "JSValue.h" #include "NodeList.h" +#include "PageGroup.h" +#include "PlatformString.h" +#include "PrintContext.h" +#include "RenderListItem.h" +#include "RenderView.h" +#include "RenderTreeAsText.h" +#include "SecurityOrigin.h" +#if ENABLE(SVG) +#include "SVGSMILElement.h" +#endif +#include "WorkerThread.h" #include "webkitprivate.h" +#include "webkitwebframeprivate.h" +#include "webkitwebviewprivate.h" #include "webkitwebview.h" +#include "webkitwebframe.h" +#include "DOMWrapperWorld.h" +#include <JavaScriptCore/APICast.h> using namespace JSC; using namespace WebCore; +using namespace WebKit; bool DumpRenderTreeSupportGtk::s_drtRun = false; bool DumpRenderTreeSupportGtk::s_linksIncludedInTabChain = true; @@ -77,3 +107,418 @@ JSValueRef DumpRenderTreeSupportGtk::nodesFromRect(JSContextRef context, JSValue RefPtr<NodeList> nodes = document->nodesFromRect(x, y, top, right, bottom, left, ignoreClipping); return toRef(exec, toJS(exec, jsDocument->globalObject(), nodes.get())); } + +/** + * getFrameChildren: + * @frame: a #WebKitWebFrame + * + * Return value: child frames of @frame + */ +GSList* DumpRenderTreeSupportGtk::getFrameChildren(WebKitWebFrame* frame) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0); + + Frame* coreFrame = core(frame); + if (!coreFrame) + return 0; + + GSList* children = 0; + for (Frame* child = coreFrame->tree()->firstChild(); child; child = child->tree()->nextSibling()) { + FrameLoader* loader = child->loader(); + WebKit::FrameLoaderClient* client = static_cast<WebKit::FrameLoaderClient*>(loader->client()); + if (client) + children = g_slist_append(children, client->webFrame()); + } + + return children; +} + +/** + * getInnerText: + * @frame: a #WebKitWebFrame + * + * Return value: inner text of @frame + */ +CString DumpRenderTreeSupportGtk::getInnerText(WebKitWebFrame* frame) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), CString("")); + + Frame* coreFrame = core(frame); + if (!coreFrame) + return CString(""); + + FrameView* view = coreFrame->view(); + + if (view && view->layoutPending()) + view->layout(); + + Element* documentElement = coreFrame->document()->documentElement(); + return documentElement->innerText().utf8(); +} + +/** + * dumpRenderTree: + * @frame: a #WebKitWebFrame + * + * Return value: Non-recursive render tree dump of @frame + */ +CString DumpRenderTreeSupportGtk::dumpRenderTree(WebKitWebFrame* frame) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), CString("")); + + Frame* coreFrame = core(frame); + if (!coreFrame) + return CString(""); + + FrameView* view = coreFrame->view(); + + if (view && view->layoutPending()) + view->layout(); + + return externalRepresentation(coreFrame).utf8(); +} + +/** + * counterValueForElementById: + * @frame: a #WebKitWebFrame + * @id: an element ID string + * + * Return value: The counter value of element @id in @frame + */ +CString DumpRenderTreeSupportGtk::counterValueForElementById(WebKitWebFrame* frame, const char* id) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), CString()); + + Frame* coreFrame = core(frame); + if (!coreFrame) + return CString(); + + Element* coreElement = coreFrame->document()->getElementById(AtomicString(id)); + if (!coreElement) + return CString(); + + return counterValueForElement(coreElement).utf8(); +} + +/** + * numberForElementById + * @frame: a #WebKitWebFrame + * @id: an element ID string + * @pageWidth: width of a page + * @pageHeight: height of a page + * + * Return value: The number of page where the specified element will be put + */ +int DumpRenderTreeSupportGtk::pageNumberForElementById(WebKitWebFrame* frame, const char* id, float pageWidth, float pageHeight) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0); + + Frame* coreFrame = core(frame); + if (!coreFrame) + return -1; + + Element* coreElement = coreFrame->document()->getElementById(AtomicString(id)); + if (!coreElement) + return -1; + return PrintContext::pageNumberForElement(coreElement, FloatSize(pageWidth, pageHeight)); +} + +/** + * numberOfPagesForFrame + * @frame: a #WebKitWebFrame + * @pageWidth: width of a page + * @pageHeight: height of a page + * + * Return value: The number of pages to be printed. + */ +int DumpRenderTreeSupportGtk::numberOfPagesForFrame(WebKitWebFrame* frame, float pageWidth, float pageHeight) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0); + + Frame* coreFrame = core(frame); + if (!coreFrame) + return -1; + + return PrintContext::numberOfPages(coreFrame, FloatSize(pageWidth, pageHeight)); +} + +/** + * pageProperty + * @frame: a #WebKitWebFrame + * @propertyName: name of a property + * @pageNumber: number of a page + * + * Return value: The value of the given property name. + */ +CString DumpRenderTreeSupportGtk::pageProperty(WebKitWebFrame* frame, const char* propertyName, int pageNumber) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), CString()); + + Frame* coreFrame = core(frame); + if (!coreFrame) + return CString(); + + return PrintContext::pageProperty(coreFrame, propertyName, pageNumber).utf8(); +} + +/** + * isPageBoxVisible + * @frame: a #WebKitWebFrame + * @pageNumber: number of a page + * + * Return value: TRUE if a page box is visible. + */ +bool DumpRenderTreeSupportGtk::isPageBoxVisible(WebKitWebFrame* frame, int pageNumber) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), false); + + Frame* coreFrame = core(frame); + if (!coreFrame) + return false; + + return coreFrame->document()->isPageBoxVisible(pageNumber); +} + +/** + * pageSizeAndMarginsInPixels + * @frame: a #WebKitWebFrame + * @pageNumber: number of a page + * @width: width of a page + * @height: height of a page + * @marginTop: top margin of a page + * @marginRight: right margin of a page + * @marginBottom: bottom margin of a page + * @marginLeft: left margin of a page + * + * Return value: The value of page size and margin. + */ +CString DumpRenderTreeSupportGtk::pageSizeAndMarginsInPixels(WebKitWebFrame* frame, int pageNumber, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), CString()); + + Frame* coreFrame = core(frame); + if (!coreFrame) + return CString(); + + return PrintContext::pageSizeAndMarginsInPixels(coreFrame, pageNumber, width, height, marginTop, marginRight, marginBottom, marginLeft).utf8(); +} + +/** + * addUserStyleSheet + * @frame: a #WebKitWebFrame + * @sourceCode: code of a user stylesheet + * + */ +void DumpRenderTreeSupportGtk::addUserStyleSheet(WebKitWebFrame* frame, const char* sourceCode, bool allFrames) +{ + g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame)); + + Frame* coreFrame = core(frame); + if (!coreFrame) + return; + + WebKitWebView* webView = getViewFromFrame(frame); + Page* page = core(webView); + page->group().addUserStyleSheetToWorld(mainThreadNormalWorld(), sourceCode, KURL(), 0, 0, allFrames ? InjectInAllFrames : InjectInTopFrameOnly); +} + +/** + * getPendingUnloadEventCount: + * @frame: a #WebKitWebFrame + * + * Return value: number of pending unload events + */ +guint DumpRenderTreeSupportGtk::getPendingUnloadEventCount(WebKitWebFrame* frame) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0); + + return core(frame)->domWindow()->pendingUnloadEventListeners(); +} + +bool DumpRenderTreeSupportGtk::pauseAnimation(WebKitWebFrame* frame, const char* name, double time, const char* element) +{ + ASSERT(core(frame)); + Element* coreElement = core(frame)->document()->getElementById(AtomicString(element)); + if (!coreElement || !coreElement->renderer()) + return false; + return core(frame)->animation()->pauseAnimationAtTime(coreElement->renderer(), AtomicString(name), time); +} + +bool DumpRenderTreeSupportGtk::pauseTransition(WebKitWebFrame* frame, const char* name, double time, const char* element) +{ + ASSERT(core(frame)); + Element* coreElement = core(frame)->document()->getElementById(AtomicString(element)); + if (!coreElement || !coreElement->renderer()) + return false; + return core(frame)->animation()->pauseTransitionAtTime(coreElement->renderer(), AtomicString(name), time); +} + +bool DumpRenderTreeSupportGtk::pauseSVGAnimation(WebKitWebFrame* frame, const char* animationId, double time, const char* elementId) +{ + ASSERT(core(frame)); +#if ENABLE(SVG) + Document* document = core(frame)->document(); + if (!document || !document->svgExtensions()) + return false; + Element* coreElement = document->getElementById(AtomicString(animationId)); + if (!coreElement || !SVGSMILElement::isSMILElement(coreElement)) + return false; + return document->accessSVGExtensions()->sampleAnimationAtTime(elementId, static_cast<SVGSMILElement*>(coreElement), time); +#else + return false; +#endif +} + +CString DumpRenderTreeSupportGtk::markerTextForListItem(WebKitWebFrame* frame, JSContextRef context, JSValueRef nodeObject) +{ + JSC::ExecState* exec = toJS(context); + Element* element = toElement(toJS(exec, nodeObject)); + if (!element) + return CString(); + + return WebCore::markerTextForListItem(element).utf8(); +} + +unsigned int DumpRenderTreeSupportGtk::numberOfActiveAnimations(WebKitWebFrame* frame) +{ + Frame* coreFrame = core(frame); + if (!coreFrame) + return 0; + + return coreFrame->animation()->numberOfActiveAnimations(); +} + +void DumpRenderTreeSupportGtk::suspendAnimations(WebKitWebFrame* frame) +{ + Frame* coreFrame = core(frame); + if (!coreFrame) + return; + + return coreFrame->animation()->suspendAnimations(); +} + +void DumpRenderTreeSupportGtk::resumeAnimations(WebKitWebFrame* frame) +{ + Frame* coreFrame = core(frame); + if (!coreFrame) + return; + + return coreFrame->animation()->resumeAnimations(); +} + +void DumpRenderTreeSupportGtk::clearMainFrameName(WebKitWebFrame* frame) +{ + g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame)); + + core(frame)->tree()->clearName(); +} + +AtkObject* DumpRenderTreeSupportGtk::getFocusedAccessibleElement(WebKitWebFrame* frame) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0); + +#if HAVE(ACCESSIBILITY) + if (!AXObjectCache::accessibilityEnabled()) + AXObjectCache::enableAccessibility(); + + WebKitWebFramePrivate* priv = frame->priv; + if (!priv->coreFrame || !priv->coreFrame->document()) + return 0; + + RenderView* root = toRenderView(priv->coreFrame->document()->renderer()); + if (!root) + return 0; + + AtkObject* wrapper = priv->coreFrame->document()->axObjectCache()->getOrCreate(root)->wrapper(); + if (!wrapper) + return 0; + + return webkit_accessible_get_focused_element(WEBKIT_ACCESSIBLE(wrapper)); +#else + return 0; +#endif +} + +void DumpRenderTreeSupportGtk::executeCoreCommandByName(WebKitWebView* webView, const gchar* name, const gchar* value) +{ + g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); + g_return_if_fail(name); + g_return_if_fail(value); + + core(webView)->focusController()->focusedOrMainFrame()->editor()->command(name).execute(value); +} + +bool DumpRenderTreeSupportGtk::isCommandEnabled(WebKitWebView* webView, const gchar* name) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE); + g_return_val_if_fail(name, FALSE); + + return core(webView)->focusController()->focusedOrMainFrame()->editor()->command(name).isEnabled(); +} + +void DumpRenderTreeSupportGtk::whiteListAccessFromOrigin(const gchar* sourceOrigin, const gchar* destinationProtocol, const gchar* destinationHost, bool allowDestinationSubdomains) +{ + SecurityOrigin::addOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains); +} + +void DumpRenderTreeSupportGtk::resetOriginAccessWhiteLists() +{ + SecurityOrigin::resetOriginAccessWhitelists(); +} + +void DumpRenderTreeSupportGtk::gcCollectJavascriptObjects() +{ + gcController().garbageCollectNow(); +} + +void DumpRenderTreeSupportGtk::gcCollectJavascriptObjectsOnAlternateThread(bool waitUntilDone) +{ + gcController().garbageCollectOnAlternateThreadForDebugging(waitUntilDone); +} + +unsigned long DumpRenderTreeSupportGtk::gcCountJavascriptObjects() +{ + JSC::JSLock lock(JSC::SilenceAssertionsOnly); + return JSDOMWindow::commonJSGlobalData()->heap.objectCount(); +} + +void DumpRenderTreeSupportGtk::layoutFrame(WebKitWebFrame* frame) +{ + Frame* coreFrame = core(frame); + if (!coreFrame) + return; + + FrameView* view = coreFrame->view(); + if (!view) + return; + + view->layout(); +} + +// For testing fast/viewport. +void DumpRenderTreeSupportGtk::dumpConfigurationForViewport(WebKitWebView* webView, gint availableWidth, gint availableHeight) +{ + g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); + + ViewportArguments arguments = webView->priv->corePage->mainFrame()->document()->viewportArguments(); + // desktopWidth = 980, deviceWidth = 320, deviceHeight = 480, deviceDPI = 160 + ViewportAttributes attrs = computeViewportAttributes(arguments, 980, 320, 480, 160, IntSize(availableWidth, availableHeight)); + + fprintf(stdout, "viewport size %dx%d scale %f with limits [%f, %f]\n", attrs.layoutSize.width(), attrs.layoutSize.height(), attrs.initialScale, attrs.minimumScale, attrs.maximumScale); +} + +unsigned int DumpRenderTreeSupportGtk::workerThreadCount() +{ +#if ENABLE(WORKERS) + return WebCore::WorkerThread::workerThreadCount(); +#else + return 0; +#endif +} + +bool DumpRenderTreeSupportGtk::webkitWebFrameSelectionHasSpellingMarker(WebKitWebFrame *frame, gint from, gint length) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), FALSE); + + return core(frame)->editor()->selectionStartHasSpellingMarkerFor(from, length); +} diff --git a/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h b/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h index 17e9f6d..61764ab 100644 --- a/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h +++ b/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h @@ -19,7 +19,15 @@ #ifndef DumpRenderTreeSupportGtk_h #define DumpRenderTreeSupportGtk_h + #include "JSStringRef.h" +#include <webkit/webkitdefines.h> + +#include <atk/atk.h> +#include <glib.h> +#include <webkit/webkitdefines.h> +#include <webkit/webkitwebframe.h> +#include <wtf/text/CString.h> class DumpRenderTreeSupportGtk { @@ -33,6 +41,44 @@ public: static void setLinksIncludedInFocusChain(bool); static bool linksIncludedInFocusChain(); static JSValueRef nodesFromRect(JSContextRef context, JSValueRef value, int x, int y, unsigned top, unsigned right, unsigned bottom, unsigned left, bool ignoreClipping); + static void dumpConfigurationForViewport(WebKitWebView* webView, gint availableWidth, gint availableHeight); + + // FIXME: Move these to webkitwebframe.h once their API has been discussed. + static GSList* getFrameChildren(WebKitWebFrame*); + static WTF::CString getInnerText(WebKitWebFrame*); + static WTF::CString dumpRenderTree(WebKitWebFrame*); + static WTF::CString counterValueForElementById(WebKitWebFrame*, const char* id); + static int pageNumberForElementById(WebKitWebFrame*, const char* id, float pageWidth, float pageHeight); + static int numberOfPagesForFrame(WebKitWebFrame*, float pageWidth, float pageHeight); + static WTF::CString pageProperty(WebKitWebFrame*, const char* propertyName, int pageNumber); + static bool isPageBoxVisible(WebKitWebFrame*, int pageNumber); + static WTF::CString pageSizeAndMarginsInPixels(WebKitWebFrame*, int pageNumber, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft); + static void addUserStyleSheet(WebKitWebFrame*, const char* sourceCode, bool allFrames); + static guint getPendingUnloadEventCount(WebKitWebFrame*); + static bool pauseAnimation(WebKitWebFrame*, const char* name, double time, const char* element); + static bool pauseTransition(WebKitWebFrame*, const char* name, double time, const char* element); + static bool pauseSVGAnimation(WebKitWebFrame*, const char* animationId, double time, const char* elementId); + static WTF::CString markerTextForListItem(WebKitWebFrame*, JSContextRef, JSValueRef nodeObject); + static unsigned int numberOfActiveAnimations(WebKitWebFrame*); + static void suspendAnimations(WebKitWebFrame*); + static void resumeAnimations(WebKitWebFrame*); + static void clearMainFrameName(WebKitWebFrame*); + static AtkObject* getFocusedAccessibleElement(WebKitWebFrame*); + static void layoutFrame(WebKitWebFrame*); + + // WebKitWebView + static void executeCoreCommandByName(WebKitWebView*, const gchar* name, const gchar* value); + static bool isCommandEnabled(WebKitWebView*, const gchar* name); + + // GC + static void gcCollectJavascriptObjects(); + static void gcCollectJavascriptObjectsOnAlternateThread(bool waitUntilDone); + static unsigned long gcCountJavascriptObjects(); + + static void whiteListAccessFromOrigin(const gchar* sourceOrigin, const gchar* destinationProtocol, const gchar* destinationHost, bool allowDestinationSubdomains); + static void resetOriginAccessWhiteLists(); + static unsigned int workerThreadCount(); + static bool webkitWebFrameSelectionHasSpellingMarker(WebKitWebFrame*, gint from, gint length); private: static bool s_drtRun; diff --git a/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp b/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp index bd88480..0522f87 100644 --- a/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp +++ b/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp @@ -46,6 +46,8 @@ #include "WindowsKeyboardCodes.h" #include "webkitmarshal.h" #include "webkitprivate.h" +#include "webkitwebsettingsprivate.h" +#include "webkitwebviewprivate.h" #include <wtf/text/CString.h> // Arbitrary depth limit for the undo stack, to keep it from using @@ -196,7 +198,7 @@ static void deleteFromCursorCallback(GtkWidget* widget, GtkDeleteType deleteType static const char* const gtkMoveCommands[][4] = { { "MoveBackward", "MoveForward", "MoveBackwardAndModifySelection", "MoveForwardAndModifySelection" }, // Forward/backward grapheme - { "MoveBackward", "MoveForward", + { "MoveLeft", "MoveRight", "MoveBackwardAndModifySelection", "MoveForwardAndModifySelection" }, // Left/right grapheme { "MoveWordBackward", "MoveWordForward", "MoveWordBackwardAndModifySelection", "MoveWordForwardAndModifySelection" }, // Forward/backward word @@ -230,13 +232,6 @@ static void moveCursorCallback(GtkWidget* widget, GtkMovementStep step, gint cou if (!rawCommand) return; - if (isSpatialNavigationEnabled(core(client->webView())->focusController()->focusedOrMainFrame()) && step == 1) { - if (direction == 1) - rawCommand = "MoveRight"; - else if (!direction) - rawCommand = "MoveLeft"; - } - for (int i = 0; i < abs(count); i++) client->addPendingEditorCommand(rawCommand); } @@ -1008,7 +1003,7 @@ bool EditorClient::spellingUIIsShowing() return false; } -void EditorClient::getGuessesForWord(const String& word, WTF::Vector<String>& guesses) +void EditorClient::getGuessesForWord(const String& word, const String& context, WTF::Vector<String>& guesses) { GSList* dicts = webkit_web_settings_get_enchant_dicts(m_webView); guesses.clear(); diff --git a/WebKit/gtk/WebCoreSupport/EditorClientGtk.h b/WebKit/gtk/WebCoreSupport/EditorClientGtk.h index f9ff82e..f2db1d9 100644 --- a/WebKit/gtk/WebCoreSupport/EditorClientGtk.h +++ b/WebKit/gtk/WebCoreSupport/EditorClientGtk.h @@ -129,9 +129,10 @@ namespace WebKit { virtual void updateSpellingUIWithMisspelledWord(const WTF::String&); virtual void showSpellingUI(bool show); virtual bool spellingUIIsShowing(); - virtual void getGuessesForWord(const WTF::String&, WTF::Vector<WTF::String>& guesses); + virtual void getGuessesForWord(const WTF::String& word, const WTF::String& context, WTF::Vector<WTF::String>& guesses); virtual void willSetInputMethodState(); virtual void setInputMethodState(bool enabled); + virtual void requestCheckingOfString(WebCore::SpellChecker*, int, const WTF::String&) {} private: WebKitWebView* m_webView; diff --git a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp b/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp index e7a2457..9bac2d0 100644 --- a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp +++ b/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp @@ -25,7 +25,6 @@ #include "config.h" #include "FrameLoaderClientGtk.h" -#include "AXObjectCache.h" #include "ArchiveResource.h" #include "CachedFrame.h" #include "Color.h" @@ -35,8 +34,8 @@ #include "FormState.h" #include "FrameLoader.h" #include "FrameNetworkingContextGtk.h" -#include "FrameView.h" #include "FrameTree.h" +#include "FrameView.h" #include "GOwnPtr.h" #include "GRefPtr.h" #include "GtkPluginWidget.h" @@ -46,6 +45,7 @@ #include "HTMLFrameOwnerElement.h" #include "HTMLNames.h" #include "HTMLPlugInElement.h" +#include "JSDOMBinding.h" #include "JSDOMWindow.h" #include "Language.h" #include "MIMETypeRegistry.h" @@ -53,28 +53,36 @@ #include "NotImplemented.h" #include "Page.h" #include "PluginDatabase.h" +#include "ProgressTracker.h" #include "RenderPart.h" #include "ResourceHandle.h" #include "ResourceRequest.h" -#include "ProgressTracker.h" -#include "JSDOMBinding.h" #include "ScriptController.h" #include "webkiterror.h" #include "webkitnetworkrequest.h" +#include "webkitnetworkrequestprivate.h" #include "webkitnetworkresponse.h" +#include "webkitnetworkresponseprivate.h" #include "webkitprivate.h" +#include "webkitviewportattributes.h" +#include "webkitviewportattributesprivate.h" #include "webkitwebframe.h" +#include "webkitwebframeprivate.h" #include "webkitwebnavigationaction.h" +#include "webkitwebnavigationactionprivate.h" #include "webkitwebpolicydecision.h" +#include "webkitwebpolicydecisionprivate.h" +#include "webkitwebresource.h" +#include "webkitwebresourceprivate.h" #include "webkitwebview.h" -#include <wtf/text/CString.h> -#include <wtf/text/StringConcatenate.h> - +#include "webkitwebviewprivate.h" #include <JavaScriptCore/APICast.h> #include <gio/gio.h> #include <glib.h> #include <glib/gi18n-lib.h> #include <stdio.h> +#include <wtf/text/CString.h> +#include <wtf/text/StringConcatenate.h> using namespace WebCore; @@ -209,34 +217,6 @@ String FrameLoaderClient::userAgent(const KURL& url) return String::fromUTF8(webkit_web_settings_get_user_agent(settings)); } -static void notifyAccessibilityStatus(WebKitWebFrame* frame, WebKitLoadStatus loadStatus) -{ - WebKitWebView* webView = getViewFromFrame(frame); - if (!webView || frame != webkit_web_view_get_main_frame(webView)) - return; - - AtkObject* axObject = gtk_widget_get_accessible(GTK_WIDGET(webView)); - if (!axObject || !ATK_IS_DOCUMENT(axObject)) - return; - - switch (loadStatus) { - case WEBKIT_LOAD_PROVISIONAL: - g_signal_emit_by_name(axObject, "state-change", "busy", true); - if (core(frame)->loader()->loadType() == FrameLoadTypeReload) - g_signal_emit_by_name(axObject, "reload"); - break; - case WEBKIT_LOAD_FAILED: - g_signal_emit_by_name(axObject, "load-stopped"); - g_signal_emit_by_name(axObject, "state-change", "busy", false); - break; - case WEBKIT_LOAD_FINISHED: - g_signal_emit_by_name(axObject, "load-complete"); - g_signal_emit_by_name(axObject, "state-change", "busy", false); - default: - break; - } -} - static void notifyStatus(WebKitWebFrame* frame, WebKitLoadStatus loadStatus) { frame->priv->loadStatus = loadStatus; @@ -247,9 +227,6 @@ static void notifyStatus(WebKitWebFrame* frame, WebKitLoadStatus loadStatus) webView->priv->loadStatus = loadStatus; g_object_notify(G_OBJECT(webView), "load-status"); } - - if (AXObjectCache::accessibilityEnabled()) - notifyAccessibilityStatus(frame, loadStatus); } static void loadDone(WebKitWebFrame* frame, bool didSucceed) @@ -339,12 +316,12 @@ void FrameLoaderClient::dispatchWillSendRequest(WebCore::DocumentLoader* loader, if (redirectResponse.isNull()) static_cast<WebKit::DocumentLoader*>(loader)->increaseLoadCount(identifier); else - networkResponse = adoptPlatformRef(webkit_network_response_new_with_core_response(redirectResponse)); + networkResponse = adoptPlatformRef(kitNew(redirectResponse)); WebKitWebView* webView = getViewFromFrame(m_frame); GOwnPtr<gchar> identifierString(toString(identifier)); WebKitWebResource* webResource = webkit_web_view_get_resource(webView, identifierString.get()); - PlatformRefPtr<WebKitNetworkRequest> networkRequest(adoptPlatformRef(webkit_network_request_new_with_core_request(request))); + PlatformRefPtr<WebKitNetworkRequest> networkRequest(adoptPlatformRef(kitNew(request))); if (!redirectResponse.isNull()) { // This is a redirect, so we need to update the WebResource's knowledge @@ -365,11 +342,19 @@ void FrameLoaderClient::dispatchWillSendRequest(WebCore::DocumentLoader* loader, request.updateFromSoupMessage(message); } -void FrameLoaderClient::assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader*, const ResourceRequest& request) +void FrameLoaderClient::assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader* loader, const ResourceRequest& request) { GOwnPtr<gchar> identifierString(toString(identifier)); - webkit_web_view_add_resource(getViewFromFrame(m_frame), identifierString.get(), - WEBKIT_WEB_RESOURCE(g_object_new(WEBKIT_TYPE_WEB_RESOURCE, "uri", request.url().string().utf8().data(), 0))); + + WebKitWebResource* webResource = WEBKIT_WEB_RESOURCE(g_object_new(WEBKIT_TYPE_WEB_RESOURCE, "uri", request.url().string().utf8().data(), 0)); + + if (loader == loader->frameLoader()->provisionalDocumentLoader() + && loader->frameLoader()->isLoadingMainFrame()) { + webkit_web_view_add_main_resource(getViewFromFrame(m_frame), identifierString.get(), webResource); + return; + } + + webkit_web_view_add_resource(getViewFromFrame(m_frame), identifierString.get(), webResource); } void FrameLoaderClient::postProgressStartedNotification() @@ -393,7 +378,7 @@ void FrameLoaderClient::postProgressEstimateChangedNotification() void FrameLoaderClient::postProgressFinishedNotification() { WebKitWebView* webView = getViewFromFrame(m_frame); - WebKitWebViewPrivate* privateData = WEBKIT_WEB_VIEW_GET_PRIVATE(webView); + WebKitWebViewPrivate* privateData = webView->priv; // We can get a stopLoad() from dispose when the object is being // destroyed, don't emit the signal in that case. @@ -430,7 +415,7 @@ void FrameLoaderClient::dispatchDecidePolicyForMIMEType(FramePolicyFunction poli } WebKitWebView* page = getViewFromFrame(m_frame); - WebKitNetworkRequest* request = webkit_network_request_new_with_core_request(resourceRequest); + PlatformRefPtr<WebKitNetworkRequest> request(adoptPlatformRef(kitNew(resourceRequest))); WebKitWebPolicyDecision* policyDecision = webkit_web_policy_decision_new(m_frame, policyFunction); if (m_policyDecision) @@ -438,9 +423,7 @@ void FrameLoaderClient::dispatchDecidePolicyForMIMEType(FramePolicyFunction poli m_policyDecision = policyDecision; gboolean isHandled = false; - g_signal_emit_by_name(page, "mime-type-policy-decision-requested", m_frame, request, mimeType.utf8().data(), policyDecision, &isHandled); - - g_object_unref(request); + g_signal_emit_by_name(page, "mime-type-policy-decision-requested", m_frame, request.get(), mimeType.utf8().data(), policyDecision, &isHandled); if (isHandled) return; @@ -512,14 +495,11 @@ void FrameLoaderClient::dispatchDecidePolicyForNewWindowAction(FramePolicyFuncti m_policyDecision = policyDecision; WebKitWebView* webView = getViewFromFrame(m_frame); - WebKitNetworkRequest* request = webkit_network_request_new(resourceRequest.url().string().utf8().data()); - WebKitWebNavigationAction* navigationAction = getNavigationAction(action, frameName.utf8().data()); + PlatformRefPtr<WebKitNetworkRequest> request(adoptPlatformRef(webkit_network_request_new(resourceRequest.url().string().utf8().data()))); + PlatformRefPtr<WebKitWebNavigationAction> navigationAction(adoptPlatformRef(getNavigationAction(action, frameName.utf8().data()))); gboolean isHandled = false; - g_signal_emit_by_name(webView, "new-window-policy-decision-requested", m_frame, request, navigationAction, policyDecision, &isHandled); - - g_object_unref(navigationAction); - g_object_unref(request); + g_signal_emit_by_name(webView, "new-window-policy-decision-requested", m_frame, request.get(), navigationAction.get(), policyDecision, &isHandled); // FIXME: I think Qt version marshals this to another thread so when we // have multi-threaded download, we might need to do the same @@ -539,7 +519,7 @@ void FrameLoaderClient::dispatchDecidePolicyForNavigationAction(FramePolicyFunct } WebKitWebView* webView = getViewFromFrame(m_frame); - WebKitNetworkRequest* request = webkit_network_request_new_with_core_request(resourceRequest); + PlatformRefPtr<WebKitNetworkRequest> request(adoptPlatformRef(kitNew(resourceRequest))); WebKitNavigationResponse response; /* * We still support the deprecated navigation-requested signal, if the @@ -548,11 +528,10 @@ void FrameLoaderClient::dispatchDecidePolicyForNavigationAction(FramePolicyFunct * navigation-policy-decision-requested must be emitted after * navigation-requested as the policy decision can be async. */ - g_signal_emit_by_name(webView, "navigation-requested", m_frame, request, &response); + g_signal_emit_by_name(webView, "navigation-requested", m_frame, request.get(), &response); if (response == WEBKIT_NAVIGATION_RESPONSE_IGNORE) { (core(m_frame)->loader()->policyChecker()->*policyFunction)(PolicyIgnore); - g_object_unref(request); return; } @@ -561,12 +540,9 @@ void FrameLoaderClient::dispatchDecidePolicyForNavigationAction(FramePolicyFunct g_object_unref(m_policyDecision); m_policyDecision = policyDecision; - WebKitWebNavigationAction* navigationAction = getNavigationAction(action, NULL); + PlatformRefPtr<WebKitWebNavigationAction> navigationAction(adoptPlatformRef(getNavigationAction(action, 0))); gboolean isHandled = false; - g_signal_emit_by_name(webView, "navigation-policy-decision-requested", m_frame, request, navigationAction, policyDecision, &isHandled); - - g_object_unref(navigationAction); - g_object_unref(request); + g_signal_emit_by_name(webView, "navigation-policy-decision-requested", m_frame, request.get(), navigationAction.get(), policyDecision, &isHandled); // FIXME Implement default behavior when we can query the backend what protocols it supports if (!isHandled) @@ -722,6 +698,10 @@ void FrameLoaderClient::documentElementAvailable() void FrameLoaderClient::didPerformFirstNavigation() const { + WebKitCacheModel cacheModel = webkit_get_cache_model(); + // If user agents do not determine the cache model, we use WEBKIT_CACHE_MODEL_WEB_BROWSER by default. + if (cacheModel == WEBKIT_CACHE_MODEL_DEFAULT) + webkit_set_cache_model(WEBKIT_CACHE_MODEL_WEB_BROWSER); } void FrameLoaderClient::registerForIconNotification(bool shouldRegister) @@ -1057,21 +1037,21 @@ void FrameLoaderClient::finishedLoading(WebCore::DocumentLoader* documentLoader) void FrameLoaderClient::provisionalLoadStarted() { - WebKitWebView* webView = getViewFromFrame(m_frame); - - if (m_frame == webkit_web_view_get_main_frame(webView)) - webkit_web_view_clear_resources(webView); + notImplemented(); } void FrameLoaderClient::didFinishLoad() { notImplemented(); } -void FrameLoaderClient::prepareForDataSourceReplacement() { notImplemented(); } +void FrameLoaderClient::prepareForDataSourceReplacement() +{ + notImplemented(); +} void FrameLoaderClient::setTitle(const String& title, const KURL& url) { - WebKitWebFramePrivate* frameData = WEBKIT_WEB_FRAME_GET_PRIVATE(m_frame); + WebKitWebFramePrivate* frameData = m_frame->priv; g_free(frameData->title); frameData->title = g_strdup(title.utf8().data()); } @@ -1188,11 +1168,10 @@ void FrameLoaderClient::dispatchDidFailLoad(const ResourceError& error) void FrameLoaderClient::download(ResourceHandle* handle, const ResourceRequest& request, const ResourceRequest&, const ResourceResponse& response) { - WebKitNetworkRequest* networkRequest = webkit_network_request_new_with_core_request(request); + PlatformRefPtr<WebKitNetworkRequest> networkRequest(adoptPlatformRef(kitNew(request))); WebKitWebView* view = getViewFromFrame(m_frame); - webkit_web_view_request_download(view, networkRequest, response, handle); - g_object_unref(networkRequest); + webkit_web_view_request_download(view, networkRequest.get(), response, handle); } ResourceError FrameLoaderClient::cancelledError(const ResourceRequest& request) @@ -1257,7 +1236,7 @@ Frame* FrameLoaderClient::dispatchCreatePage(const NavigationAction&) if (!newWebView) return 0; - WebKitWebViewPrivate* privateData = WEBKIT_WEB_VIEW_GET_PRIVATE(newWebView); + WebKitWebViewPrivate* privateData = newWebView->priv; return core(privateData->mainFrame); } @@ -1277,11 +1256,10 @@ void FrameLoaderClient::setMainDocumentError(WebCore::DocumentLoader*, const Res void FrameLoaderClient::startDownload(const ResourceRequest& request) { - WebKitNetworkRequest* networkRequest = webkit_network_request_new_with_core_request(request); + PlatformRefPtr<WebKitNetworkRequest> networkRequest(adoptPlatformRef(kitNew(request))); WebKitWebView* view = getViewFromFrame(m_frame); - webkit_web_view_request_download(view, networkRequest); - g_object_unref(networkRequest); + webkit_web_view_request_download(view, networkRequest.get()); } void FrameLoaderClient::updateGlobalHistory() @@ -1307,9 +1285,17 @@ void FrameLoaderClient::savePlatformDataToCachedFrame(CachedFrame* cachedFrame) static void postCommitFrameViewSetup(WebKitWebFrame *frame, FrameView *view, bool resetValues) { WebKitWebView* containingWindow = getViewFromFrame(frame); - WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(containingWindow); + webkit_web_view_clear_resources(containingWindow); + + WebKitWebViewPrivate* priv = containingWindow->priv; view->setGtkAdjustments(priv->horizontalAdjustment.get(), priv->verticalAdjustment.get(), resetValues); + // Invalidate the viewport attributes - they will only be valid + // again if the page we're beginning to load now has an + // appropriate viewport meta tag. + containingWindow->priv->viewportAttributes->priv->isValid = FALSE; + g_object_notify(G_OBJECT(containingWindow->priv->viewportAttributes.get()), "valid"); + if (priv->currentMenu) { PlatformRefPtr<GtkMenu> menu(priv->currentMenu); priv->currentMenu.clear(); diff --git a/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp b/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp index 312b8c8..c269078 100644 --- a/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp +++ b/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp @@ -21,13 +21,15 @@ #include "InspectorClientGtk.h" #include "Frame.h" -#include "webkitwebview.h" -#include "webkitwebinspector.h" -#include "webkitprivate.h" -#include "webkitversion.h" #include "InspectorController.h" #include "NotImplemented.h" #include "PlatformString.h" +#include "webkitprivate.h" +#include "webkitversion.h" +#include "webkitwebinspector.h" +#include "webkitwebinspectorprivate.h" +#include "webkitwebview.h" +#include "webkitwebviewprivate.h" #include <wtf/text/CString.h> using namespace WebCore; diff --git a/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp b/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp index 02da1d4..e99fc84 100644 --- a/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp +++ b/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp @@ -24,10 +24,10 @@ #include "DataObjectGtk.h" #include "FocusController.h" #include "Frame.h" -#include <gtk/gtk.h> #include "webkitwebframe.h" #include "webkitwebview.h" -#include "webkitprivate.h" +#include "webkitwebviewprivate.h" +#include <gtk/gtk.h> using namespace WebCore; diff --git a/WebKit/gtk/docs/GNUmakefile.am b/WebKit/gtk/docs/GNUmakefile.am index 105e277..d38a7aa 100644 --- a/WebKit/gtk/docs/GNUmakefile.am +++ b/WebKit/gtk/docs/GNUmakefile.am @@ -78,6 +78,7 @@ INCLUDES= \ -I$(top_srcdir)/JavaScriptCore/parser \ -I$(top_srcdir)/JavaScriptCore/wtf \ -I$(top_builddir)/DerivedSources \ + -I$(top_srcdir)/WebCore/platform/network/soup/cache \ $(GLOBALDEPS_CFLAGS) \ $(CAIRO_CFLAGS) \ $(GLIB_CFLAGS) \ diff --git a/WebKit/gtk/docs/webkitgtk-docs.sgml b/WebKit/gtk/docs/webkitgtk-docs.sgml index 0852c7d..9a833ea 100644 --- a/WebKit/gtk/docs/webkitgtk-docs.sgml +++ b/WebKit/gtk/docs/webkitgtk-docs.sgml @@ -31,7 +31,10 @@ <xi:include href="xml/webkitwebdatasource.xml"/> <xi:include href="xml/webkitwebresource.xml"/> <xi:include href="xml/webkitdownload.xml"/> + <xi:include href="xml/webkitviewportattributes.xml"/> <xi:include href="xml/webkithittestresult.xml"/> + <xi:include href="xml/webkitwebplugin.xml"/> + <xi:include href="xml/webkitwebplugindatabase.xml"/> <xi:include href="xml/webkitsoupauthdialog.xml"/> <xi:include href="xml/webkitsecurityorigin.xml"/> <xi:include href="xml/webkitwebwindowfeatures.xml"/> @@ -123,4 +126,7 @@ <index id="index-1.3.4" role="1.3.4"> <title>Index of new symbols in 1.3.4</title> </index> + <index id="index-1.3.8" role="1.3.8"> + <title>Index of new symbols in 1.3.8</title> + </index> </book> diff --git a/WebKit/gtk/docs/webkitgtk-sections.txt b/WebKit/gtk/docs/webkitgtk-sections.txt index 0b185a0..2759e2b 100644 --- a/WebKit/gtk/docs/webkitgtk-sections.txt +++ b/WebKit/gtk/docs/webkitgtk-sections.txt @@ -456,6 +456,7 @@ webkit_web_view_get_transparent webkit_web_view_get_uri webkit_web_view_get_view_mode webkit_web_view_get_view_source_mode +webkit_web_view_get_viewport_attributes webkit_web_view_get_zoom_level webkit_web_view_go_back webkit_web_view_go_back_or_forward @@ -536,6 +537,7 @@ webkit_init webkit_get_default_session webkit_get_default_web_database_quota webkit_get_web_database_directory_path +webkit_get_web_plugin_database webkit_remove_all_web_databases webkit_set_default_web_database_quota webkit_set_web_database_directory_path @@ -573,6 +575,69 @@ WebKitWebResourceClass </SECTION> <SECTION> +<FILE>webkitviewportattributes</FILE> +<TITLE>WebKitViewportAttributes</TITLE> +webkit_viewport_attributes_recompute +<SUBSECTION Standard> +WEBKIT_IS_VIEWPORT_ATTRIBUTES +WEBKIT_IS_VIEWPORT_ATTRIBUTES_CLASS +WEBKIT_TYPE_VIEWPORT_ATTRIBUTES +WEBKIT_VIEWPORT_ATTRIBUTES +WEBKIT_VIEWPORT_ATTRIBUTES_CLASS +WEBKIT_VIEWPORT_ATTRIBUTES_GET_CLASS +<SUBSECTION Private> +webkit_viewport_attributes_get_type +WebKitViewportAttributes +WebKitViewportAttributesClass +WebKitViewportAttributesPrivate +</SECTION> + +<SECTION> +<FILE>webkitwebplugin</FILE> +<TITLE>WebKitWebPlugin</TITLE> +WebKitWebPluginMIMEType +webkit_web_plugin_get_description +webkit_web_plugin_get_enabled +webkit_web_plugin_get_mimetypes +webkit_web_plugin_get_name +webkit_web_plugin_set_enabled +<SUBSECTION Standard> +WEBKIT_IS_WEB_PLUGIN +WEBKIT_IS_WEB_PLUGIN_CLASS +WEBKIT_TYPE_WEB_PLUGIN +WEBKIT_WEB_PLUGIN +WEBKIT_WEB_PLUGIN_CLASS +WEBKIT_WEB_PLUGIN_GET_CLASS +<SUBSECTION Private> +webkit_web_plugin_get_type +WebKitWebPlugin +WebKitWebPluginClass +WebKitWebPluginPrivate +</SECTION> + +<SECTION> +<FILE>webkitwebplugindatabase</FILE> +<TITLE>WebKitWebPluginDatabase</TITLE> +webkit_web_plugin_database_get_plugin_for_mimetype +webkit_web_plugin_database_get_plugins +webkit_web_plugin_database_new +webkit_web_plugin_database_plugins_list_free +webkit_web_plugin_database_refresh +<SUBSECTION Standard> +WEBKIT_IS_WEB_PLUGIN_DATABASE +WEBKIT_IS_WEB_PLUGIN_DATABASE_CLASS +WEBKIT_TYPE_WEB_PLUGIN_DATABASE +WEBKIT_WEB_PLUGIN_DATABASE +WEBKIT_WEB_PLUGIN_DATABASE_CLASS +WEBKIT_WEB_PLUGIN_DATABASE_GET_CLASS +<SUBSECTION Private> +WebKitWebPluginDatabase +WebKitWebPluginDatabaseClass +WebKitWebPluginDatabasePrivate +webkit_web_plugin_database_get_type +</SECTION> + +<SECTION> <FILE>soup-cache</FILE> <TITLE>WebKitSoupCache</TITLE> webkit_soup_cache_new diff --git a/WebKit/gtk/po/ChangeLog b/WebKit/gtk/po/ChangeLog index 29bef79..99a60ee 100644 --- a/WebKit/gtk/po/ChangeLog +++ b/WebKit/gtk/po/ChangeLog @@ -1,3 +1,18 @@ +2010-12-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Fix name of the Korean translation file. + + * kr.po -> ko.po: renamed to correct name. + +2010-12-07 Chyangwoo Ryu <cwryu@debian.org> + + Reviewed by Gustavo Noronha. + + Korean message translation + https://bugs.webkit.org/show_bug.cgi?id=42465 + + * kr.po: Added. + 2010-09-29 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> Reviewed by Martin Robinson. diff --git a/WebKit/gtk/po/ko.po b/WebKit/gtk/po/ko.po new file mode 100644 index 0000000..4d45f18 --- /dev/null +++ b/WebKit/gtk/po/ko.po @@ -0,0 +1,1382 @@ +# Korean translation for webkit. +# This file is distributed under the same license as the webkit package. +# +# Changwoo Ryu <cwryu@debian.org>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: webkit HEAD\n" +"Report-Msgid-Bugs-To: http://bugs.webkit.org\n" +"POT-Creation-Date: 2010-09-22 03:26+0000\n" +"PO-Revision-Date: 2010-09-26 00:38+0900\n" +"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n" +"Language-Team: GNOME Korea <gnome-kr@googlegroups.com>\n" +"Language: Korean\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../WebCoreSupport/ChromeClientGtk.cpp:569 +msgid "Upload File" +msgstr "파일 업로드" + +#: ../WebCoreSupport/ContextMenuClientGtk.cpp:61 +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:194 +msgid "Input _Methods" +msgstr "ěž…ë Ąę¸°(_M)" + +#: ../WebCoreSupport/ContextMenuClientGtk.cpp:78 +msgid "LRM _Left-to-right mark" +msgstr "LRM 왼쪽ě—ě„ś-ě¤ëĄ¸ěŞ˝ěśĽëˇś í‘śě‹ś(_L)" + +#: ../WebCoreSupport/ContextMenuClientGtk.cpp:79 +msgid "RLM _Right-to-left mark" +msgstr "RLM ě¤ëĄ¸ěŞ˝ě—ě„ś-왼쪽으로 í‘śě‹ś(_R)" + +#: ../WebCoreSupport/ContextMenuClientGtk.cpp:80 +msgid "LRE Left-to-right _embedding" +msgstr "LRE 왼쪽ě—ě„ś-ě¤ëĄ¸ěŞ˝ěśĽëˇś ěž„ë˛ ë”©(_E)" + +#: ../WebCoreSupport/ContextMenuClientGtk.cpp:81 +msgid "RLE Right-to-left e_mbedding" +msgstr "RLE ě¤ëĄ¸ěŞ˝ě—ě„ś-왼쪽으로 ěž„ë˛ ë”©(_M)" + +#: ../WebCoreSupport/ContextMenuClientGtk.cpp:82 +msgid "LRO Left-to-right _override" +msgstr "LRO 왼쪽ě—ě„ś-ě¤ëĄ¸ěŞ˝ěśĽëˇś ë˛ëłµ(_O)" + +#: ../WebCoreSupport/ContextMenuClientGtk.cpp:83 +msgid "RLO Right-to-left o_verride" +msgstr "RLO ě¤ëĄ¸ěŞ˝ě—ě„ś-왼쪽으로 ë˛ëłµ(_V)" + +#: ../WebCoreSupport/ContextMenuClientGtk.cpp:84 +msgid "PDF _Pop directional formatting" +msgstr "PDF ë°©í–Ą í•ě‹ť 팝(pop)í•ę¸°(_P)" + +#: ../WebCoreSupport/ContextMenuClientGtk.cpp:85 +msgid "ZWS _Zero width space" +msgstr "ZWS ë„ëą„ 0 공백(_Z)" + +#: ../WebCoreSupport/ContextMenuClientGtk.cpp:86 +msgid "ZWJ Zero width _joiner" +msgstr "ZWJ ë„ëą„ 0 결합(_J)" + +#: ../WebCoreSupport/ContextMenuClientGtk.cpp:87 +msgid "ZWNJ Zero width _non-joiner" +msgstr "ZWNJ ë„ëą„ 0 결합 ę¸ě§€(_N)" + +#: ../WebCoreSupport/ContextMenuClientGtk.cpp:109 +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:189 +msgid "_Insert Unicode Control Character" +msgstr "ěś ë‹ě˝”ë“ś ě śě–´ ë¬¸ěž ë„Łę¸°(_I)" + +#: ../WebCoreSupport/FrameLoaderClientGtk.cpp:1140 +msgid "Load request cancelled" +msgstr "읽어들이기 ěš”ě˛ ě·¨ě†Ś" + +#: ../WebCoreSupport/FrameLoaderClientGtk.cpp:1146 +msgid "Not allowed to use restricted network port" +msgstr "ě śí•śëś ë„¤íŠ¸ě›Śí¬ íŹ¬íŠ¸ 사용을 í—ěš©í•ě§€ 않습ë‹ë‹¤" + +#: ../WebCoreSupport/FrameLoaderClientGtk.cpp:1152 +msgid "URL cannot be shown" +msgstr "URL를 í‘śě‹śí• ě 없습ë‹ë‹¤" + +#: ../WebCoreSupport/FrameLoaderClientGtk.cpp:1158 +msgid "Frame load was interrupted" +msgstr "프ë ěž„ 읽어들이기가 중지ëě—습ë‹ë‹¤" + +#: ../WebCoreSupport/FrameLoaderClientGtk.cpp:1164 +msgid "Content with the specified MIME type cannot be shown" +msgstr "ě§€ě •í•ś MIME í•ě‹ťěť 컨í…트를 í‘śě‹śí• ě 없습ë‹ë‹¤" + +#: ../WebCoreSupport/FrameLoaderClientGtk.cpp:1170 +msgid "File does not exist" +msgstr "파일이 없습ë‹ë‹¤" + +#: ../WebCoreSupport/FrameLoaderClientGtk.cpp:1176 +msgid "Plugin will handle load" +msgstr "플러그인이 읽어들이기를 ě˛ë¦¬í•©ë‹ë‹¤" + +#: ../WebCoreSupport/FullscreenVideoController.cpp:386 +msgid "Play" +msgstr "재ěť" + +#: ../WebCoreSupport/FullscreenVideoController.cpp:388 +msgid "Pause" +msgstr "일시 중지" + +#: ../WebCoreSupport/FullscreenVideoController.cpp:534 +msgid "Play / Pause" +msgstr "ěž¬ěť / 일시 중지" + +#: ../WebCoreSupport/FullscreenVideoController.cpp:534 +msgid "Play or pause the media" +msgstr "미디어를 ěž¬ěť ë는 일시 중지합ë‹ë‹¤" + +#: ../WebCoreSupport/FullscreenVideoController.cpp:542 +msgid "Time:" +msgstr "ě‹śę°„:" + +#: ../WebCoreSupport/FullscreenVideoController.cpp:566 +msgid "Exit Fullscreen" +msgstr "ě „ě˛´ 화면 ëťë‚´ę¸°" + +#: ../WebCoreSupport/FullscreenVideoController.cpp:566 +msgid "Exit from fullscreen mode" +msgstr "ě „ě˛´ 화면 모드 ëťë‚´ę¸°" + +#: ../webkit/webkitdownload.cpp:272 +msgid "Network Request" +msgstr "ë„¤íŠ¸ě›Śí¬ ěš”ě˛" + +#: ../webkit/webkitdownload.cpp:273 +msgid "The network request for the URI that should be downloaded" +msgstr "ë‹¤ěš´ëˇśë“śí• URIěť ë„¤íŠ¸ě›Śí¬ ěš”ě˛" + +#: ../webkit/webkitdownload.cpp:287 +msgid "Network Response" +msgstr "ë„¤íŠ¸ě›Śí¬ ěť‘ë‹µ" + +#: ../webkit/webkitdownload.cpp:288 +msgid "The network response for the URI that should be downloaded" +msgstr "ë‹¤ěš´ëˇśë“śí• URIěť ë„¤íŠ¸ě›Śí¬ ěť‘ë‹µ" + +#: ../webkit/webkitdownload.cpp:302 +msgid "Destination URI" +msgstr "ě €ěžĄ URI" + +#: ../webkit/webkitdownload.cpp:303 +msgid "The destination URI where to save the file" +msgstr "파일을 ě €ěžĄí• ěś„ěąěť URI" + +#: ../webkit/webkitdownload.cpp:317 +msgid "Suggested Filename" +msgstr "파일 이름 ě śě•" + +#: ../webkit/webkitdownload.cpp:318 +msgid "The filename suggested as default when saving" +msgstr "ě €ěžĄí• ë•Ś 기본으로 ě śě•í• 파일 이름" + +#: ../webkit/webkitdownload.cpp:335 +msgid "Progress" +msgstr "ě§„í–‰ëĄ " + +#: ../webkit/webkitdownload.cpp:336 +msgid "Determines the current progress of the download" +msgstr "ë‹¤ěš´ëˇśë“śěť í„재 ě§„í–‰ëĄ " + +#: ../webkit/webkitdownload.cpp:349 +msgid "Status" +msgstr "ěíś" + +#: ../webkit/webkitdownload.cpp:350 +msgid "Determines the current status of the download" +msgstr "ë‹¤ěš´ëˇśë“śěť í„재 ěíś" + +#: ../webkit/webkitdownload.cpp:365 +msgid "Current Size" +msgstr "í„재 í¬ę¸°" + +#: ../webkit/webkitdownload.cpp:366 +msgid "The length of the data already downloaded" +msgstr "지ę¸ęąŚě§€ 다운로드한 ëŤ°ěť´í„°ěť ę¸¸ěť´" + +#: ../webkit/webkitdownload.cpp:380 +msgid "Total Size" +msgstr "ě „ě˛´ í¬ę¸°" + +#: ../webkit/webkitdownload.cpp:381 +msgid "The total size of the file" +msgstr "íŚŚěťĽěť ě „ě˛´ í¬ę¸°" + +#: ../webkit/webkitdownload.cpp:533 +msgid "User cancelled the download" +msgstr "사용ěžę°€ 다운로드를 취소í–습ë‹ë‹¤" + +#: ../webkit/webkithittestresult.cpp:148 +msgid "Context" +msgstr "컨텍스트" + +#: ../webkit/webkithittestresult.cpp:149 +msgid "Flags indicating the kind of target that received the event." +msgstr "이벤트를 받는 대ěěť ě˘…ëĄëĄĽ ë‚í€ë‚´ëŠ” 플ëžę·¸." + +#: ../webkit/webkithittestresult.cpp:163 +msgid "Link URI" +msgstr "ë§í¬ URI" + +#: ../webkit/webkithittestresult.cpp:164 +msgid "The URI to which the target that received the event points, if any." +msgstr "이벤트 포인트를 받는 대ěěť URI (ěžë‹¤ë©´)." + +#: ../webkit/webkithittestresult.cpp:177 +msgid "Image URI" +msgstr "그림 URI" + +#: ../webkit/webkithittestresult.cpp:178 +msgid "" +"The URI of the image that is part of the target that received the event, if " +"any." +msgstr "이벤트를 받는 대ěě— ë“¤ě–´ ěžëŠ” 그림 URI (ěžë‹¤ë©´)." + +#: ../webkit/webkithittestresult.cpp:191 +msgid "Media URI" +msgstr "미디어 URI" + +#: ../webkit/webkithittestresult.cpp:192 +msgid "" +"The URI of the media that is part of the target that received the event, if " +"any." +msgstr "이벤트를 받는 대ěě— ë“¤ě–´ ěžëŠ” 미디어 URI (ěžë‹¤ë©´)." + +#: ../webkit/webkithittestresult.cpp:213 +msgid "Inner node" +msgstr "내부 노드" + +#: ../webkit/webkithittestresult.cpp:214 +msgid "The inner DOM node associated with the hit test result." +msgstr "ížíŠ¸ 테스트 결과와 ę´€ë ¨ëś ë‚´ë¶€ DOM 노드." + +#: ../webkit/webkitnetworkrequest.cpp:136 +#: ../webkit/webkitnetworkresponse.cpp:134 ../webkit/webkitwebframe.cpp:315 +#: ../webkit/webkitwebhistoryitem.cpp:178 ../webkit/webkitwebresource.cpp:126 +#: ../webkit/webkitwebview.cpp:2603 +msgid "URI" +msgstr "URI" + +#: ../webkit/webkitnetworkrequest.cpp:137 +msgid "The URI to which the request will be made." +msgstr "ěš”ě˛ěť„ í• URI." + +#: ../webkit/webkitnetworkrequest.cpp:150 +#: ../webkit/webkitnetworkresponse.cpp:148 +msgid "Message" +msgstr "메시지" + +#: ../webkit/webkitnetworkrequest.cpp:151 +msgid "The SoupMessage that backs the request." +msgstr "ěš”ě˛ěť´ 들어 ěžëŠ” SoupMessage." + +#: ../webkit/webkitnetworkresponse.cpp:135 +msgid "The URI to which the response will be made." +msgstr "응답을 í• URI." + +#: ../webkit/webkitnetworkresponse.cpp:149 +msgid "The SoupMessage that backs the response." +msgstr "응답이 들어 ěžëŠ” SoupMessage." + +#: ../webkit/webkitsecurityorigin.cpp:151 +msgid "Protocol" +msgstr "í”„ëˇśí† ě˝ś" + +#: ../webkit/webkitsecurityorigin.cpp:152 +msgid "The protocol of the security origin" +msgstr "ëł´ě• ě›ëł¸ěť í”„ëˇśí† ě˝ś" + +#: ../webkit/webkitsecurityorigin.cpp:165 +msgid "Host" +msgstr "í¸ěŠ¤íŠ¸" + +#: ../webkit/webkitsecurityorigin.cpp:166 +msgid "The host of the security origin" +msgstr "ëł´ě• ě›ëł¸ěť í¸ěŠ¤íŠ¸" + +#: ../webkit/webkitsecurityorigin.cpp:179 +msgid "Port" +msgstr "포트" + +#: ../webkit/webkitsecurityorigin.cpp:180 +msgid "The port of the security origin" +msgstr "ëł´ě• ě›ëł¸ěť 포트" + +#: ../webkit/webkitsecurityorigin.cpp:193 +msgid "Web Database Usage" +msgstr "웹 ëŤ°ěť´í„°ë˛ ěť´ěŠ¤ 사용" + +#: ../webkit/webkitsecurityorigin.cpp:194 +msgid "The cumulative size of all web databases in the security origin" +msgstr "ëł´ě• ě›ëł¸ěť 웹 ëŤ°ěť´í„°ë˛ ěť´ěŠ¤ ě´ť í¬ę¸°" + +#: ../webkit/webkitsecurityorigin.cpp:206 +msgid "Web Database Quota" +msgstr "웹 ëŤ°ěť´í„°ë˛ ěť´ěŠ¤ ě śí•ś 용량" + +#: ../webkit/webkitsecurityorigin.cpp:207 +msgid "The web database quota of the security origin in bytes" +msgstr "ëł´ě• ě›ëł¸ěť 웹 ëŤ°ěť´í„°ë˛ ěť´ěŠ¤ ě śí•ś 용량, 바이트 단위" + +#: ../webkit/webkitsoupauthdialog.c:251 +#, c-format +msgid "A username and password are being requested by the site %s" +msgstr "ě‚¬ěš©ěž ěť´ë¦„ęłĽ ě•”í¸ëĄĽ %s 사이트ě—ě„ś ěš”ě˛í–습ë‹ë‹¤" + +#: ../webkit/webkitsoupauthdialog.c:281 +msgid "Server message:" +msgstr "서버 메시지:" + +#: ../webkit/webkitsoupauthdialog.c:294 +msgid "Username:" +msgstr "ě‚¬ěš©ěž ěť´ë¦„:" + +#: ../webkit/webkitsoupauthdialog.c:296 +msgid "Password:" +msgstr "ě•”í¸:" + +#: ../webkit/webkitsoupauthdialog.c:305 +msgid "_Remember password" +msgstr "ě•”í¸ ě €ěžĄ(_R)" + +#: ../webkit/webkitwebdatabase.cpp:176 +msgid "Security Origin" +msgstr "ëł´ě• ě›ëł¸" + +#: ../webkit/webkitwebdatabase.cpp:177 +msgid "The security origin of the database" +msgstr "ëŤ°ěť´í„°ë˛ ěť´ěŠ¤ěť ëł´ě• ě›ëł¸" + +#: ../webkit/webkitwebdatabase.cpp:190 ../webkit/webkitwebframe.cpp:301 +msgid "Name" +msgstr "이름" + +#: ../webkit/webkitwebdatabase.cpp:191 +msgid "The name of the Web Database database" +msgstr "웹 ëŤ°ěť´í„°ë˛ ěť´ěŠ¤ěť ěť´ë¦„" + +#: ../webkit/webkitwebdatabase.cpp:204 +msgid "Display Name" +msgstr "í‘śě‹śí• ěť´ë¦„" + +#: ../webkit/webkitwebdatabase.cpp:205 +msgid "The display name of the Web Storage database" +msgstr "웹 ě €ěžĄ ëŤ°ěť´í„°ë˛ ěť´ěŠ¤ěť í‘śě‹śí• ěť´ë¦„" + +#: ../webkit/webkitwebdatabase.cpp:218 +msgid "Expected Size" +msgstr "ěě í¬ę¸°" + +#: ../webkit/webkitwebdatabase.cpp:219 +msgid "The expected size of the Web Database database" +msgstr "웹 ëŤ°ěť´í„°ë˛ ěť´ěŠ¤ěť ěě í¬ę¸°" + +#: ../webkit/webkitwebdatabase.cpp:231 +msgid "Size" +msgstr "í¬ę¸°" + +#: ../webkit/webkitwebdatabase.cpp:232 +msgid "The current size of the Web Database database" +msgstr "웹 ëŤ°ěť´í„°ë˛ ěť´ěŠ¤ěť í„재 í¬ę¸°" + +#: ../webkit/webkitwebdatabase.cpp:244 +msgid "Filename" +msgstr "파일 이름" + +#: ../webkit/webkitwebdatabase.cpp:245 +msgid "The absolute filename of the Web Storage database" +msgstr "웹 ě €ěžĄ ëŤ°ěť´í„°ë˛ ěť´ěŠ¤ěť ě 대 경로 파일 이름" + +#: ../webkit/webkitwebframe.cpp:302 +msgid "The name of the frame" +msgstr "프ë ěž„ěť ěť´ë¦„" + +#: ../webkit/webkitwebframe.cpp:308 ../webkit/webkitwebhistoryitem.cpp:146 +#: ../webkit/webkitwebview.cpp:2589 +msgid "Title" +msgstr "ě śëŞ©" + +#: ../webkit/webkitwebframe.cpp:309 +msgid "The document title of the frame" +msgstr "프ë ěž„ěť ë¬¸ě„ś ě śëŞ©" + +#: ../webkit/webkitwebframe.cpp:316 +msgid "The current URI of the contents displayed by the frame" +msgstr "í„재 프ë ěž„ěť´ í‘śě‹śí•ëŠ” ë‚´ěš©ěť URI" + +#: ../webkit/webkitwebframe.cpp:347 +msgid "Horizontal Scrollbar Policy" +msgstr "가로 스í¬ëˇ¤ 막대 ě •ě±…" + +#: ../webkit/webkitwebframe.cpp:348 +msgid "" +"Determines the current policy for the horizontal scrollbar of the frame." +msgstr "프ë ěž„ěť ę°€ëˇś 스í¬ëˇ¤ ë§‰ëŚ€ě— ëŚ€í•ś í„재 ě •ě±…." + +#: ../webkit/webkitwebframe.cpp:365 +msgid "Vertical Scrollbar Policy" +msgstr "세로 스í¬ëˇ¤ 막대 ě •ě±…" + +#: ../webkit/webkitwebframe.cpp:366 +msgid "Determines the current policy for the vertical scrollbar of the frame." +msgstr "프ë ěž„ěť ě„¸ëˇś 스í¬ëˇ¤ ë§‰ëŚ€ě— ëŚ€í•ś í„재 ě •ě±…." + +#: ../webkit/webkitwebhistoryitem.cpp:147 +msgid "The title of the history item" +msgstr "기록 í•ëŞ©ěť ě śëŞ©" + +#: ../webkit/webkitwebhistoryitem.cpp:162 +msgid "Alternate Title" +msgstr "다른 ě śëŞ©" + +#: ../webkit/webkitwebhistoryitem.cpp:163 +msgid "The alternate title of the history item" +msgstr "기록 í•ëŞ©ěť ë‹¤ëĄ¸ ě śëŞ©" + +#: ../webkit/webkitwebhistoryitem.cpp:179 +msgid "The URI of the history item" +msgstr "기록 í•ëŞ©ěť URI" + +#: ../webkit/webkitwebhistoryitem.cpp:194 +#: ../webkit/webkitwebnavigationaction.cpp:173 +msgid "Original URI" +msgstr "ě›ëž URI" + +#: ../webkit/webkitwebhistoryitem.cpp:195 +msgid "The original URI of the history item" +msgstr "기록 í•ëŞ©ěť ě›ëž URI" + +#: ../webkit/webkitwebhistoryitem.cpp:210 +msgid "Last visited Time" +msgstr "최근 방문 ě‹śę°" + +#: ../webkit/webkitwebhistoryitem.cpp:211 +msgid "The time at which the history item was last visited" +msgstr "기록 í•ëŞ©ěť„ 최근 방문한 ě‹śę°" + +#: ../webkit/webkitwebinspector.cpp:269 +msgid "Web View" +msgstr "웹 ë·°" + +#: ../webkit/webkitwebinspector.cpp:270 +msgid "The Web View that renders the Web Inspector itself" +msgstr "웹 ě 검 ěžě˛´ëĄĽ ë ŚëŤ”ë§í• 웹 ë·°" + +#: ../webkit/webkitwebinspector.cpp:283 +msgid "Inspected URI" +msgstr "ě ę˛€í• URI" + +#: ../webkit/webkitwebinspector.cpp:284 +msgid "The URI that is currently being inspected" +msgstr "í„재 ě 검í•ęł ěžëŠ” URI" + +#: ../webkit/webkitwebinspector.cpp:300 +msgid "Enable JavaScript profiling" +msgstr "ěžë°”스í¬ë¦˝íŠ¸ í”„ëˇśíŚŚěťĽë§ ě‚¬ěš©" + +#: ../webkit/webkitwebinspector.cpp:301 +msgid "Profile the executed JavaScript." +msgstr "실행í•ëŠ” ěžë°”스í¬ë¦˝íŠ¸ëĄĽ 프로파일ë§í•©ë‹ë‹¤." + +#: ../webkit/webkitwebinspector.cpp:316 +msgid "Enable Timeline profiling" +msgstr "ě‹śę°„ëł„ í”„ëˇśíŚŚěťĽë§ ě‚¬ěš©" + +#: ../webkit/webkitwebinspector.cpp:317 +msgid "Profile the WebCore instrumentation." +msgstr "WebCore 기능을 프로파일ë§í•©ë‹ë‹¤." + +#: ../webkit/webkitwebnavigationaction.cpp:158 +msgid "Reason" +msgstr "ěť´ěś " + +#: ../webkit/webkitwebnavigationaction.cpp:159 +msgid "The reason why this navigation is occurring" +msgstr "ěť´ 네비게이ě…ěť´ 이루어지는 ěť´ěś " + +#: ../webkit/webkitwebnavigationaction.cpp:174 +msgid "The URI that was requested as the target for the navigation" +msgstr "네비게이ě…ěť ëŚ€ě으로 ěš”ě˛í•ś URI" + +#: ../webkit/webkitwebnavigationaction.cpp:188 +msgid "Button" +msgstr "단추" + +#: ../webkit/webkitwebnavigationaction.cpp:189 +msgid "The button used to click" +msgstr "ë§ěš°ěŠ¤ëˇś ë„를 ě ěžëŠ” 단추" + +#: ../webkit/webkitwebnavigationaction.cpp:204 +msgid "Modifier state" +msgstr "조합키 ěíś" + +#: ../webkit/webkitwebnavigationaction.cpp:205 +msgid "A bitmask representing the state of the modifier keys" +msgstr "조합키 ěíśëĄĽ ë‚í€ë‚´ëŠ” 비트ë§ěŠ¤í¬" + +#: ../webkit/webkitwebnavigationaction.cpp:220 +msgid "Target frame" +msgstr "대ě 프ë ěž„" + +#: ../webkit/webkitwebnavigationaction.cpp:221 +msgid "The target frame for the navigation" +msgstr "ë„¤ëą„ę˛Śěť´ě… ëŚ€ě 프ë ěž„" + +#: ../webkit/webkitwebresource.cpp:127 +msgid "The uri of the resource" +msgstr "ěžě›ěť URI" + +#: ../webkit/webkitwebresource.cpp:141 +msgid "MIME Type" +msgstr "MIME í•ě‹ť" + +#: ../webkit/webkitwebresource.cpp:142 +msgid "The MIME type of the resource" +msgstr "ěžě›ěť MIME í•ě‹ť" + +#: ../webkit/webkitwebresource.cpp:156 ../webkit/webkitwebview.cpp:2724 +msgid "Encoding" +msgstr "인코딩" + +#: ../webkit/webkitwebresource.cpp:157 +msgid "The text encoding name of the resource" +msgstr "ěžě›ěť 텍스트 인코딩 이름" + +#: ../webkit/webkitwebresource.cpp:172 +msgid "Frame Name" +msgstr "프ë ěž„ 이름" + +#: ../webkit/webkitwebresource.cpp:173 +msgid "The frame name of the resource" +msgstr "ěžě›ěť 프ë ěž„ 이름" + +#: ../webkit/webkitwebsettings.cpp:247 +msgid "Default Encoding" +msgstr "기본 인코딩" + +#: ../webkit/webkitwebsettings.cpp:248 +msgid "The default encoding used to display text." +msgstr "글을 í‘śě‹śí• ë•Ś ě‚¬ěš©í• ę¸°ëł¸ 인코딩." + +#: ../webkit/webkitwebsettings.cpp:256 +msgid "Cursive Font Family" +msgstr "필기체 글꼴 ęł„ě—´" + +#: ../webkit/webkitwebsettings.cpp:257 +msgid "The default Cursive font family used to display text." +msgstr "글을 í‘śě‹śí• ë•Ś ě‚¬ěš©í• ę¸°ëł¸ 필기체 글꼴 ęł„ě—´." + +#: ../webkit/webkitwebsettings.cpp:265 +msgid "Default Font Family" +msgstr "기본 글꼴 ęł„ě—´" + +#: ../webkit/webkitwebsettings.cpp:266 +msgid "The default font family used to display text." +msgstr "글을 í‘śě‹śí• ë•Ś ě‚¬ěš©í• ę¸°ëł¸ 글꼴 ęł„ě—´." + +#: ../webkit/webkitwebsettings.cpp:274 +msgid "Fantasy Font Family" +msgstr "ęł ě–´ě˛´ 글꼴 ęł„ě—´" + +#: ../webkit/webkitwebsettings.cpp:275 +msgid "The default Fantasy font family used to display text." +msgstr "글을 í‘śě‹śí• ë•Ś ě‚¬ěš©í• ę¸°ëł¸ ęł ě–´ě˛´ 글꼴 ęł„ě—´." + +#: ../webkit/webkitwebsettings.cpp:283 +msgid "Monospace Font Family" +msgstr "ęł ě •íŹ ę¸€ęĽ´ ęł„ě—´" + +#: ../webkit/webkitwebsettings.cpp:284 +msgid "The default font family used to display monospace text." +msgstr "글을 í‘śě‹śí• ë•Ś ě‚¬ěš©í• ę¸°ëł¸ ęł ě •íŹ ę¸€ęĽ´ ęł„ě—´." + +#: ../webkit/webkitwebsettings.cpp:292 +msgid "Sans Serif Font Family" +msgstr "돋움체 글꼴 ęł„ě—´" + +#: ../webkit/webkitwebsettings.cpp:293 +msgid "The default Sans Serif font family used to display text." +msgstr "글을 í‘śě‹śí• ë•Ś ě‚¬ěš©í• ę¸°ëł¸ 돋움체 글꼴 ęł„ě—´." + +#: ../webkit/webkitwebsettings.cpp:301 +msgid "Serif Font Family" +msgstr "ë°”í•ě˛´ 글꼴 ęł„ě—´" + +#: ../webkit/webkitwebsettings.cpp:302 +msgid "The default Serif font family used to display text." +msgstr "글을 í‘śě‹śí• ë•Ś ě‚¬ěš©í• ę¸°ëł¸ ë°”í•ě˛´ 글꼴 ęł„ě—´." + +#: ../webkit/webkitwebsettings.cpp:310 +msgid "Default Font Size" +msgstr "기본 글꼴 í¬ę¸°" + +#: ../webkit/webkitwebsettings.cpp:311 +msgid "The default font size used to display text." +msgstr "글을 í‘śě‹śí• ë•Ś ě‚¬ěš©í• ę¸°ëł¸ 글꼴 í¬ę¸°." + +#: ../webkit/webkitwebsettings.cpp:319 +msgid "Default Monospace Font Size" +msgstr "기본 ęł ě •íŹ ę¸€ęĽ´ í¬ę¸°" + +#: ../webkit/webkitwebsettings.cpp:320 +msgid "The default font size used to display monospace text." +msgstr "글을 í‘śě‹śí• ë•Ś ě‚¬ěš©í• ę¸°ëł¸ ęł ě •íŹ ę¸€ęĽ´ í¬ę¸°." + +#: ../webkit/webkitwebsettings.cpp:328 +msgid "Minimum Font Size" +msgstr "최소 글꼴 í¬ę¸°" + +#: ../webkit/webkitwebsettings.cpp:329 +msgid "The minimum font size used to display text." +msgstr "글을 í‘śě‹śí• ë•Ś ě‚¬ěš©í• ěµśě†Ś 글꼴 í¬ę¸°." + +#: ../webkit/webkitwebsettings.cpp:337 +msgid "Minimum Logical Font Size" +msgstr "최소 논리ě 글꼴 í¬ę¸°" + +#: ../webkit/webkitwebsettings.cpp:338 +msgid "The minimum logical font size used to display text." +msgstr "글을 í‘śě‹śí• ë•Ś ě‚¬ěš©í• ěµśě†Ś 논리ě 글꼴 í¬ę¸°." + +#: ../webkit/webkitwebsettings.cpp:357 +msgid "Enforce 96 DPI" +msgstr "96 DPI ę°•ě ś" + +#: ../webkit/webkitwebsettings.cpp:358 +msgid "Enforce a resolution of 96 DPI" +msgstr "í•´ě도를 96 DPI로 ę°•ě ś" + +#: ../webkit/webkitwebsettings.cpp:366 +msgid "Auto Load Images" +msgstr "그림 읽어들이기 ěžëŹ™" + +#: ../webkit/webkitwebsettings.cpp:367 +msgid "Load images automatically." +msgstr "ěžëŹ™ěśĽëˇś 그림을 읽어들입ë‹ë‹¤." + +#: ../webkit/webkitwebsettings.cpp:375 +msgid "Auto Shrink Images" +msgstr "그림 축소 ěžëŹ™" + +#: ../webkit/webkitwebsettings.cpp:376 +msgid "Automatically shrink standalone images to fit." +msgstr "ěžëŹ™ěśĽëˇś 그림을 축소해서 í¬ę¸°ě— 맞춥ë‹ë‹¤." + +#: ../webkit/webkitwebsettings.cpp:384 +msgid "Print Backgrounds" +msgstr "배경 그림 인쇄" + +#: ../webkit/webkitwebsettings.cpp:385 +msgid "Whether background images should be printed." +msgstr "배경 그림을 ěť¸ě‡„í• ě§€ 여부." + +#: ../webkit/webkitwebsettings.cpp:393 +msgid "Enable Scripts" +msgstr "스í¬ë¦˝íŠ¸ 사용" + +#: ../webkit/webkitwebsettings.cpp:394 +msgid "Enable embedded scripting languages." +msgstr "내장 스í¬ë¦˝íŠ¸ 언어를 사용합ë‹ë‹¤." + +#: ../webkit/webkitwebsettings.cpp:402 +msgid "Enable Plugins" +msgstr "플러그인 사용" + +#: ../webkit/webkitwebsettings.cpp:403 +msgid "Enable embedded plugin objects." +msgstr "내장 플러그인 ě¤ë¸Śě ťíŠ¸ëĄĽ 사용합ë‹ë‹¤." + +#: ../webkit/webkitwebsettings.cpp:411 +msgid "Resizable Text Areas" +msgstr "글 ěž…ë Ąëž€ í¬ę¸° ěˇ°ě • 가능" + +#: ../webkit/webkitwebsettings.cpp:412 +msgid "Whether text areas are resizable." +msgstr "글 ěž…ë Ąëž€ěť´ í¬ę¸° ěˇ°ě • 가능한지 여부." + +#: ../webkit/webkitwebsettings.cpp:419 +msgid "User Stylesheet URI" +msgstr "ě‚¬ěš©ěž ě„¤ě • 스í€ěťĽě‹śíŠ¸ URI" + +#: ../webkit/webkitwebsettings.cpp:420 +msgid "The URI of a stylesheet that is applied to every page." +msgstr "ëŞ¨ë“ íŽěť´ě§€ě— ě ěš©í• ěŠ¤í€ěťĽě‹śíŠ¸ěť URI." + +#: ../webkit/webkitwebsettings.cpp:435 +msgid "Zoom Stepping Value" +msgstr "확대/축소 단계 ę°’" + +#: ../webkit/webkitwebsettings.cpp:436 +msgid "The value by which the zoom level is changed when zooming in or out." +msgstr "í™•ëŚ€ë‚ ě¶•ě†Śí• ë•Śë§ë‹¤ 바꿀 단계 ę°’." + +#: ../webkit/webkitwebsettings.cpp:454 +msgid "Enable Developer Extras" +msgstr "ę°śë°śěž ě¶”ę°€ 기능 사용" + +#: ../webkit/webkitwebsettings.cpp:455 +msgid "Enables special extensions that help developers" +msgstr "ę°śë°śěžě—게 도움이 ë는 특ě 추가 기능을 사용합ë‹ë‹¤" + +#: ../webkit/webkitwebsettings.cpp:475 +msgid "Enable Private Browsing" +msgstr "사ěťí™ś ëł´í¸ ę¸°ëŠĄ 사용" + +#: ../webkit/webkitwebsettings.cpp:476 +msgid "Enables private browsing mode" +msgstr "사ěťí™ś ëł´í¸ ë¸ŚëťĽěš°ě € 모드를 사용합ë‹ë‹¤" + +#: ../webkit/webkitwebsettings.cpp:491 +msgid "Enable Spell Checking" +msgstr "맞춤법 검사 사용" + +#: ../webkit/webkitwebsettings.cpp:492 +msgid "Enables spell checking while typing" +msgstr "ěž…ë Ąí• ë•Ś 맞춤법 검사 기능을 사용합ë‹ë‹¤" + +#: ../webkit/webkitwebsettings.cpp:515 +msgid "Languages to use for spell checking" +msgstr "맞춤법 ę˛€ě‚¬ě— ě‚¬ěš©í• ě–¸ě–´" + +#: ../webkit/webkitwebsettings.cpp:516 +msgid "Comma separated list of languages to use for spell checking" +msgstr "맞춤법 ę˛€ě‚¬ě— ě‚¬ěš©í• ě–¸ě–´ěť ëŞ©ëˇť, 쉼표로 구분" + +#: ../webkit/webkitwebsettings.cpp:530 +msgid "Enable Caret Browsing" +msgstr "ěşëźż 모드 사용" + +#: ../webkit/webkitwebsettings.cpp:531 +msgid "Whether to enable accesibility enhanced keyboard navigation" +msgstr "키보드 ë„¤ëą„ę˛Śěť´ě… ę¸°ëŠĄěť„ ě‚¬ěš©í• ě§€ 여부" + +#: ../webkit/webkitwebsettings.cpp:546 +msgid "Enable HTML5 Database" +msgstr "HTML5 ëŤ°ěť´í„°ë˛ ěť´ěŠ¤ 사용" + +#: ../webkit/webkitwebsettings.cpp:547 +msgid "Whether to enable HTML5 database support" +msgstr "HTML5 ëŤ°ěť´í„°ë˛ ěť´ěŠ¤ 기능을 ě‚¬ěš©í• ě§€ 여부" + +#: ../webkit/webkitwebsettings.cpp:562 +msgid "Enable HTML5 Local Storage" +msgstr "HTML5 로컬 ě €ěžĄ 공간 사용" + +#: ../webkit/webkitwebsettings.cpp:563 +msgid "Whether to enable HTML5 Local Storage support" +msgstr "HTML5 로컬 ě €ěžĄ 공간 기능을 ě‚¬ěš©í• ě§€ 여부" + +#: ../webkit/webkitwebsettings.cpp:577 +msgid "Enable XSS Auditor" +msgstr "XSS 검사 기능 사용" + +#: ../webkit/webkitwebsettings.cpp:578 +msgid "Whether to enable the XSS auditor" +msgstr "XSS 검사 기능을 ě‚¬ěš©í• ě§€ 여부" + +#: ../webkit/webkitwebsettings.cpp:596 +msgid "Enable Spatial Navigation" +msgstr "스íŽěť´ě…ś ë„¤ëą„ę˛Śěť´ě… ě‚¬ěš©" + +#: ../webkit/webkitwebsettings.cpp:597 +#, fuzzy +msgid "Whether to enable Spatial Navigation" +msgstr "스íŽěť´ě…ś 네비게이ě…ěť„ ě‚¬ěš©í• ě§€ 여부" + +#: ../webkit/webkitwebsettings.cpp:614 +msgid "User Agent" +msgstr "User Agent" + +#: ../webkit/webkitwebsettings.cpp:615 +msgid "The User-Agent string used by WebKitGtk" +msgstr "WebKitGtkě—ě„ś ě‚¬ěš©í• User-Agent 문ěžě—´" + +#: ../webkit/webkitwebsettings.cpp:630 +msgid "JavaScript can open windows automatically" +msgstr "ěžë°”스í¬ë¦˝íŠ¸ě—ě„ś 창을 ě—´ ě ěžěťŚ" + +#: ../webkit/webkitwebsettings.cpp:631 +msgid "Whether JavaScript can open windows automatically" +msgstr "ěžë°”스í¬ë¦˝íŠ¸ě—ě„ś 창을 ě—´ ě ěžëŠ”지 여부" + +#: ../webkit/webkitwebsettings.cpp:645 +msgid "JavaScript can access Clipboard" +msgstr "ěžë°”스í¬ë¦˝íŠ¸ě—ě„ś í´ë¦˝ëł´ë“ś ě ‘ę·Ľ 가능" + +#: ../webkit/webkitwebsettings.cpp:646 +msgid "Whether JavaScript can access Clipboard" +msgstr "ěžë°”스í¬ë¦˝íŠ¸ě—ě„ś í´ë¦˝ëł´ë“śëĄĽ ě—´ ě ěžëŠ”지 여부" + +#: ../webkit/webkitwebsettings.cpp:662 +msgid "Enable offline web application cache" +msgstr "ě¤í”„라인 웹 프로그램 ěşě‹ś 사용" + +#: ../webkit/webkitwebsettings.cpp:663 +msgid "Whether to enable offline web application cache" +msgstr "ě¤í”„라인 웹 프로그램 ěşě‹śëĄĽ ě‚¬ěš©í• ě§€ 여부" + +#: ../webkit/webkitwebsettings.cpp:690 +msgid "Editing behavior" +msgstr "편집 ë°©ě‹ť" + +#: ../webkit/webkitwebsettings.cpp:691 +msgid "The behavior mode to use in editing mode" +msgstr "편집 모드ě—ě„ś ě‚¬ěš©í• ë°©ě‹ť" + +#: ../webkit/webkitwebsettings.cpp:707 +msgid "Enable universal access from file URIs" +msgstr "file URIě—ě„ś ěťĽë° ě ‘ę·Ľ 사용" + +#: ../webkit/webkitwebsettings.cpp:708 +msgid "Whether to allow universal access from file URIs" +msgstr "file URIě—ě„ś ěťĽë° ě ‘ę·Ľěť„ í—ěš©í• ě§€ 여부" + +#: ../webkit/webkitwebsettings.cpp:723 +msgid "Enable DOM paste" +msgstr "DOM 붙여넣기 사용" + +#: ../webkit/webkitwebsettings.cpp:724 +msgid "Whether to enable DOM paste" +msgstr "DOM 붙여넣기를 ě‚¬ěš©í• ě§€ 여부" + +#: ../webkit/webkitwebsettings.cpp:742 +msgid "Tab key cycles through elements" +msgstr "Tab 키로 ě—리먼트 돌아보기" + +#: ../webkit/webkitwebsettings.cpp:743 +msgid "Whether the tab key cycles through elements on the page." +msgstr "Tab 키로 íŽěť´ě§€ěť ě—리먼트 돌아보는지 여부." + +#: ../webkit/webkitwebsettings.cpp:763 +msgid "Enable Default Context Menu" +msgstr "기본 팝업 메뉴 사용" + +#: ../webkit/webkitwebsettings.cpp:764 +msgid "" +"Enables the handling of right-clicks for the creation of the default context " +"menu" +msgstr "ě¤ëĄ¸ěŞ˝ ë§ěš°ěŠ¤ 단추를 ë„를 ë•Ś 기본 팝업 메뉴를 사용합ë‹ë‹¤" + +#: ../webkit/webkitwebsettings.cpp:784 +msgid "Enable Site Specific Quirks" +msgstr "사이트별 특ě ě˛ë¦¬ 사용" + +#: ../webkit/webkitwebsettings.cpp:785 +msgid "Enables the site-specific compatibility workarounds" +msgstr "사이트별 í¸í™ě„± 회피 기능 사용" + +#: ../webkit/webkitwebsettings.cpp:807 +msgid "Enable page cache" +msgstr "íŽěť´ě§€ ěşě‹ś 사용" + +#: ../webkit/webkitwebsettings.cpp:808 +msgid "Whether the page cache should be used" +msgstr "íŽěť´ě§€ ěşě‹śëĄĽ ě‚¬ěš©í• ě§€ 여부" + +#: ../webkit/webkitwebsettings.cpp:828 +msgid "Auto Resize Window" +msgstr "ěžëŹ™ ě°˝ í¬ę¸° 조ě " + +#: ../webkit/webkitwebsettings.cpp:829 +msgid "Automatically resize the toplevel window when a page requests it" +msgstr "íŽěť´ě§€ę°€ ěš”ě˛í•ë©´ ěžëŹ™ěśĽëˇś 최ěěś„ěť ě°˝ í¬ę¸°ëĄĽ ěˇ°ě •í•©ë‹ë‹¤." + +#: ../webkit/webkitwebsettings.cpp:861 +msgid "Enable Java Applet" +msgstr "ěžë°” ě• í”Śë¦ż 사용" + +#: ../webkit/webkitwebsettings.cpp:862 +msgid "Whether Java Applet support through <applet> should be enabled" +msgstr "<applet>ěť„ 통한 ěžë°” ě• í”Śë¦ż 기능을 ě‚¬ěš©í• ě§€ 여부" + +#: ../webkit/webkitwebview.cpp:2590 +msgid "Returns the @web_view's document title" +msgstr "@web_viewěť ë¬¸ě„ś ě śëŞ©ěť„ 리턴합ë‹ë‹¤" + +#: ../webkit/webkitwebview.cpp:2604 +msgid "Returns the current URI of the contents displayed by the @web_view" +msgstr "web_viewě—ě„ś í‘śě‹śí•ëŠ” ë‚´ěš©ěť í„재 URI를 리턴합ë‹ë‹¤" + +#: ../webkit/webkitwebview.cpp:2617 +msgid "Copy target list" +msgstr "복사 대ě 목록" + +#: ../webkit/webkitwebview.cpp:2618 +msgid "The list of targets this web view supports for clipboard copying" +msgstr "ěť´ 웹 ë·°ę°€ í´ë¦˝ëł´ë“ś ëłµě‚¬ě— ě§€ě›í•ëŠ” 대ě 목록" + +#: ../webkit/webkitwebview.cpp:2631 +msgid "Paste target list" +msgstr "붙여넣기 대ě 목록" + +#: ../webkit/webkitwebview.cpp:2632 +msgid "The list of targets this web view supports for clipboard pasting" +msgstr "ěť´ 웹 ë·°ę°€ í´ë¦˝ëł´ë“ś ë¶™ě—¬ë„Łę¸°ě— ě§€ě›í•ëŠ” 대ě 목록" + +#: ../webkit/webkitwebview.cpp:2638 +msgid "Settings" +msgstr "ě„¤ě •" + +#: ../webkit/webkitwebview.cpp:2639 +msgid "An associated WebKitWebSettings instance" +msgstr "ę´€ë ¨ WebKitWebSettings 인스턴스" + +#: ../webkit/webkitwebview.cpp:2652 +msgid "Web Inspector" +msgstr "웹 ě 검" + +#: ../webkit/webkitwebview.cpp:2653 +msgid "The associated WebKitWebInspector instance" +msgstr "ę´€ë ¨ WebKitWebInspector 인스턴스" + +#: ../webkit/webkitwebview.cpp:2673 +msgid "Editable" +msgstr "편집 가능" + +#: ../webkit/webkitwebview.cpp:2674 +msgid "Whether content can be modified by the user" +msgstr "사용ěžę°€ íŽěť´ě§€ ë‚´ěš©ěť„ 바꿀 ě ěžëŠ”지 여부" + +#: ../webkit/webkitwebview.cpp:2680 +msgid "Transparent" +msgstr "í¬ëŞ…" + +#: ../webkit/webkitwebview.cpp:2681 +msgid "Whether content has a transparent background" +msgstr "íŽěť´ě§€ ë‚´ěš©ě— í¬ëŞ… 배경이 ěžëŠ”지 여부" + +#: ../webkit/webkitwebview.cpp:2694 +msgid "Zoom level" +msgstr "확대/축소 단계" + +#: ../webkit/webkitwebview.cpp:2695 +msgid "The level of zoom of the content" +msgstr "íŽěť´ě§€ ë‚´ěš©ěť í™•ëŚ€/축소 단계" + +#: ../webkit/webkitwebview.cpp:2710 +msgid "Full content zoom" +msgstr "ě „ě˛´ ë‚´ěš© 확대/축소" + +#: ../webkit/webkitwebview.cpp:2711 +msgid "Whether the full content is scaled when zooming" +msgstr "확대/ě¶•ě†Śí• ë•Ś ě „ě˛´ ë‚´ěš©ěť í¬ę¸°ëĄĽ 조ě í• ě§€ 여부" + +#: ../webkit/webkitwebview.cpp:2725 +msgid "The default encoding of the web view" +msgstr "웹 ë·°ěť ę¸°ëł¸ 인코딩" + +#: ../webkit/webkitwebview.cpp:2738 +msgid "Custom Encoding" +msgstr "ě‚¬ěš©ěž ě„¤ě • 인코딩" + +#: ../webkit/webkitwebview.cpp:2739 +msgid "The custom encoding of the web view" +msgstr "웹 ë·°ěť ě‚¬ěš©ěž ě„¤ě • 인코딩" + +#: ../webkit/webkitwebview.cpp:2791 +msgid "Icon URI" +msgstr "ě•„ěť´ě˝ URI" + +#: ../webkit/webkitwebview.cpp:2792 +msgid "The URI for the favicon for the #WebKitWebView." +msgstr "#WebKitWebView ě‚¬ěš©í• íŚŚëą„ě˝ URI." + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:56 +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:61 +msgid "Submit" +msgstr "ě śě¶ś" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:66 +msgid "Reset" +msgstr "ě´ę¸°í™”" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:71 +msgid "This is a searchable index. Enter search keywords: " +msgstr "검ě‰ěť´ 가능한 인덱스입ë‹ë‹¤. 검ě‰ě–´ëĄĽ ěž…ë Ąí•ě‹ě‹śě¤: " + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:76 +msgid "Choose File" +msgstr "파일 ě„ íť" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:81 +msgid "(None)" +msgstr "(없음)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:86 +msgid "Open Link in New _Window" +msgstr "ě ě°˝ě—ě„ś ë§í¬ 열기(_W)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:91 +msgid "_Download Linked File" +msgstr "ë§í¬í•ś 파일 다운로드(_D)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:96 +msgid "Copy Link Loc_ation" +msgstr "ë§í¬ ěś„ěą ëłµě‚¬(_A)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:101 +msgid "Open _Image in New Window" +msgstr "ě ě°˝ě—ě„ś 그림 열기(_I)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:106 +msgid "Sa_ve Image As" +msgstr "그림을 다른 이름으로 ě €ěžĄ(_V)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:111 +msgid "Cop_y Image" +msgstr "그림 복사(_Y)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:116 +msgid "Open _Video in New Window" +msgstr "ě ě°˝ě—ě„ś ěě 열기(_V)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:121 +msgid "Open _Audio in New Window" +msgstr "ě ě°˝ě—ě„ś ě¤ë””ě¤ ě—´ę¸°(_A)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:126 +msgid "Cop_y Video Link Location" +msgstr "ěě ë§í¬ ěś„ěą ëłµě‚¬(_Y)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:131 +msgid "Cop_y Audio Link Location" +msgstr "ě¤ë””ě¤ ë§í¬ ěś„ěą ëłµě‚¬(_Y)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:136 +msgid "_Toggle Media Controls" +msgstr "미디어 ěˇ°ě •íŚ í† ę¸€(_T)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:141 +msgid "Toggle Media _Loop Playback" +msgstr "미디어 ë°ëłµ ěž¬ěť í† ę¸€(_L)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:146 +msgid "Switch Video to _Fullscreen" +msgstr "ěěěť„ ě „ě˛´ 화면으로 ě „í™(_F)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:151 +msgid "_Play" +msgstr "재ěť(_P)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:156 +msgid "_Pause" +msgstr "일시 중지(_P)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:161 +msgid "_Mute" +msgstr "묵음(_M)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:166 +msgid "Open _Frame in New Window" +msgstr "프ë ěž„ěť„ ě ě°˝ě—ě„ś 열기(_F)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:217 +msgid "_Reload" +msgstr "다시 읽기(_R)" + +# 맞춤법 +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:234 +msgid "No Guesses Found" +msgstr "ěě 단어 없음" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:239 +msgid "_Ignore Spelling" +msgstr "맞춤법 무시(_I)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:244 +msgid "_Learn Spelling" +msgstr "맞춤법 추가(_L)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:249 +msgid "_Search the Web" +msgstr "웹 검ě‰(_S)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:254 +msgid "_Look Up in Dictionary" +msgstr "ě‚¬ě „ě—ě„ś 찾아보기(_L)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:259 +msgid "_Open Link" +msgstr "ë§í¬ 열기(_O)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:264 +msgid "Ignore _Grammar" +msgstr "문법 무시(_G)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:269 +msgid "Spelling and _Grammar" +msgstr "맞춤법/문법(_G)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:274 +msgid "_Show Spelling and Grammar" +msgstr "맞춤법/문법 보이기(_S)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:274 +msgid "_Hide Spelling and Grammar" +msgstr "맞춤법/문법 ě¨ę¸°ę¸°(_H)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:279 +msgid "_Check Document Now" +msgstr "ě§€ę¸ ë¬¸ě„ś 검사(_C)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:284 +msgid "Check Spelling While _Typing" +msgstr "ěž…ë Ąí• ë•Ś 맞춤법 검사(_T)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:289 +msgid "Check _Grammar With Spelling" +msgstr "맞춤법과 같이 문법 검사(_G)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:294 +msgid "_Font" +msgstr "글꼴(_F)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:317 +msgid "_Outline" +msgstr "ě™¸ęł˝ě„ (_O)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:322 +msgid "Inspect _Element" +msgstr "ě—리먼트 검사(_E)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:327 +msgid "No recent searches" +msgstr "최근 ę˛€ě‰ ě—†ěťŚ" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:332 +msgid "Recent searches" +msgstr "최근 검ě‰" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:337 +msgid "_Clear recent searches" +msgstr "최근 ę˛€ě‰ ě§€ěš°ę¸°(_C)" + +# ě‚¬ě „ +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:342 +msgid "term" +msgstr "ěš©ě–´" + +# ě‚¬ě „ +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:347 +msgid "definition" +msgstr "설명" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:352 +msgid "press" +msgstr "ë„르기" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:357 +msgid "select" +msgstr "ě„ íť" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:362 +msgid "activate" +msgstr "활성화" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:367 +msgid "uncheck" +msgstr "í‘śě‹ś í•´ě ś" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:372 +msgid "check" +msgstr "í‘śě‹ś" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:377 +msgid "jump" +msgstr "이동" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:392 +msgid "Missing Plug-in" +msgstr "플러그인 없음" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:398 +msgid "Plug-in Failure" +msgstr "플러그인 실패" + +#. FIXME: If this file gets localized, this should really be localized as one string with a wildcard for the number. +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:404 +msgid " files" +msgstr " 파일" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:409 +msgid "Unknown" +msgstr "ě•Ś ě 없음" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:414 +#, c-format +msgctxt "Title string for images" +msgid "%s (%dx%d pixels)" +msgstr "%s (%dx%d 픽셀)" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:426 +msgid "Loading..." +msgstr "읽어들이는 중..." + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:431 +msgid "Live Broadcast" +msgstr "ěťë°©ě†ˇ" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:437 +msgid "audio element controller" +msgstr "ě¤ë””ě¤ ě—리먼트 ěˇ°ě •" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:439 +msgid "video element controller" +msgstr "ëą„ë””ě¤ ě—리먼트 ěˇ°ě •" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:441 +msgid "mute" +msgstr "묵음" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:443 +msgid "unmute" +msgstr "묵음 í•´ě ś" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:445 +msgid "play" +msgstr "재ěť" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:447 +msgid "pause" +msgstr "일시 중지" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:449 +msgid "movie time" +msgstr "동ěě ě‹śę°„" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:451 +msgid "timeline slider thumb" +msgstr "ě‹śę°„ëł„ 슬라이드 í‘śě‹ś" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:453 +msgid "back 30 seconds" +msgstr "뒤로 30ě´" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:455 +msgid "return to realtime" +msgstr "ě‹¤ě ś 시간으로 돌아가기" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:457 +msgid "elapsed time" +msgstr "지난 ě‹śę°„" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:459 +msgid "remaining time" +msgstr "남은 ě‹śę°„" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:461 +msgid "status" +msgstr "ěíś" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:463 +msgid "fullscreen" +msgstr "ě „ě˛´ 화면" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:465 +msgid "fast forward" +msgstr "빨리 앞으로" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:467 +msgid "fast reverse" +msgstr "빨리 뒤로" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:469 +msgid "show closed captions" +msgstr "ěžë§‰ 보이기" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:471 +msgid "hide closed captions" +msgstr "ěžë§‰ ę°ě¶”기" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:480 +msgid "audio element playback controls and status display" +msgstr "ě¤ë””ě¤ ě—리먼트 ěž¬ěť ěˇ°ě • ë°Ź ěíś í‘śě‹ś" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:482 +msgid "video element playback controls and status display" +msgstr "ëą„ë””ě¤ ě—리먼트 ěž¬ěť ěˇ°ě • ë°Ź ěíś í‘śě‹ś" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:484 +msgid "mute audio tracks" +msgstr "ě¤ë””ě¤ íŠ¸ëž™ 묵음" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:486 +msgid "unmute audio tracks" +msgstr "ě¤ë””ě¤ íŠ¸ëž™ 묵음 í•´ě ś" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:488 +msgid "begin playback" +msgstr "ěž¬ěť ě‹śěž‘" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:490 +msgid "pause playback" +msgstr "ěž¬ěť ěťĽě‹ś 중지" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:492 +msgid "movie time scrubber" +msgstr "동ěě ě‹śę°„ í‘śě‹ś" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:494 +msgid "movie time scrubber thumb" +msgstr "동ěě ě‹śę°„ í‘śě‹ś ěž" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:496 +msgid "seek movie back 30 seconds" +msgstr "동ěěěť„ 뒤로 30ě´ ěť´ëŹ™" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:498 +msgid "return streaming movie to real time" +msgstr "스트리밍 동ěěěť„ ě‹¤ě ś 시간으로 돌아가기" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:500 +msgid "current movie time in seconds" +msgstr "í„재 동ěě ě‹śę°„, ě´ ë‹¨ěś„" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:502 +msgid "number of seconds of movie remaining" +msgstr "남은 동ěě ě‹śę°„, ě´ ë‹¨ěś„" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:504 +msgid "current movie status" +msgstr "í„재 동ěě ěíś" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:506 +msgid "seek quickly back" +msgstr "ëą ëĄ´ę˛Ś ë’¤ ěś„ěąëˇś 이동" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:508 +msgid "seek quickly forward" +msgstr "ëą ëĄ´ę˛Ś ě•ž ěś„ěąëˇś 이동" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:510 +msgid "Play movie in fullscreen mode" +msgstr "ě „ě˛´ 화면 모드ě—ě„ś 동ěě 재ěť" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:512 +msgid "start displaying closed captions" +msgstr "ěžë§‰ í‘śě‹ś ě‹śěž‘" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:514 +msgid "stop displaying closed captions" +msgstr "ěžë§‰ í‘śě‹ś 중지" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:523 +msgid "indefinite time" +msgstr "ě‹śę°„ ëŻ¸ě§€ě •" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:553 +msgid "value missing" +msgstr "ę°’ 없음" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:559 +msgid "type mismatch" +msgstr "í€ěž… ë¶ěťĽěą" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:564 +msgid "pattern mismatch" +msgstr "패턴 ë¶ěťĽěą" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:569 +msgid "too long" +msgstr "ë„무 ęąë‹ë‹¤" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:574 +msgid "range underflow" +msgstr "범위 언더플로우" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:579 +msgid "range overflow" +msgstr "범위 ě¤ë˛„플로우" + +#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:584 +msgid "step mismatch" +msgstr "단계 ë¶ěťĽěą" diff --git a/WebKit/gtk/tests/testatk.c b/WebKit/gtk/tests/testatk.c index 94f4a96..1ee6c55 100644 --- a/WebKit/gtk/tests/testatk.c +++ b/WebKit/gtk/tests/testatk.c @@ -21,11 +21,10 @@ #include <glib.h> #include <glib/gstdio.h> #include <gtk/gtk.h> -#include <stdlib.h> #include <unistd.h> #include <webkit/webkit.h> -#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0) +#if GTK_CHECK_VERSION(2, 14, 0) static const char* centeredContents = "<html><body><p style='text-align: center;'>Short line</p><p style='text-align: center;'>Long-size line with some foo bar baz content</p><p style='text-align: center;'>Short line</p><p style='text-align: center;'>This is a multi-line paragraph<br />where the first line<br />is the biggest one</p></body></html>"; @@ -45,6 +44,8 @@ static const char* contentsInTable = "<html><body><table><tr><td>foo</td><td>bar static const char* contentsInTableWithHeaders = "<html><body><table><tr><th>foo</th><th>bar</th><th colspan='2'>baz</th></tr><tr><th>qux</th><td>1</td><td>2</td><td>3</td></tr><tr><th rowspan='2'>quux</th><td>4</td><td>5</td><td>6</td></tr><tr><td>6</td><td>7</td><td>8</td></tr><tr><th>corge</th><td>9</td><td>10</td><td>11</td></tr></table><table><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table></body></html>"; +static const char* comboBoxSelector = "<html><body><select><option selected value='foo'>foo</option><option value='bar'>bar</option></select></body></html>"; + static const char* formWithTextInputs = "<html><body><form><input type='text' name='entry' /></form></body></html>"; static const char* hypertextAndHyperlinks = "<html><body><p>A paragraph with no links at all</p><p><a href='http://foo.bar.baz/'>A line</a> with <a href='http://bar.baz.foo/'>a link in the middle</a> as well as at the beginning and <a href='http://baz.foo.bar/'>at the end</a></p></body></html>"; @@ -222,78 +223,107 @@ static void runGetTextTests(AtkText* textObject) 0, "This is a test. This is the second sentence. And this the third.", 0, 64); } -static void stateChangedCb(AtkObject* object, gchar* stateName, gboolean stateSet, gpointer unused) -{ - /* Only 'defunct' and 'busy' state changes are considered. */ - if (!g_strcmp0(stateName, "defunct")) { - g_print("[defunct]"); - return; - } - - if (!g_strcmp0(stateName, "busy")) { - g_print("[busy:%d]", stateSet); - /* If 'busy' state is unset, it means we're done. */ - if (!stateSet) - exit(0); - } -} - -static void documentReloadCb(AtkDocument* document, gpointer unused) -{ - g_print("[reloaded]"); -} - -static void documentLoadCompleteCb(AtkDocument* document, gpointer unused) -{ - g_print("[load completed]"); -} - -static void webviewLoadStatusChangedCb(WebKitWebView* webView, GParamSpec* pspec, gpointer unused) -{ - /* We need to explicitly connect here to the signals emitted by - * the AtkObject associated to the webView because the AtkObject - * iniatially associated at the beginning of the process (when in - * the LOAD_PROVISIONAL state) will get destroyed and replaced by - * a new one later on, when the LOAD_COMMITED state is reached. */ - WebKitLoadStatus loadStatus = webkit_web_view_get_load_status(webView); - if (loadStatus == WEBKIT_LOAD_PROVISIONAL || loadStatus == WEBKIT_LOAD_COMMITTED) { - AtkObject* axWebView = gtk_widget_get_accessible(GTK_WIDGET(webView)); - g_assert(ATK_IS_DOCUMENT(axWebView)); - - g_signal_connect(axWebView, "state-change", G_CALLBACK(stateChangedCb), 0); - g_signal_connect(axWebView, "reload", G_CALLBACK(documentReloadCb), 0); - g_signal_connect(axWebView, "load-complete", G_CALLBACK(documentLoadCompleteCb), 0); - } -} - -static void testWebkitAtkDocumentReloadEvents() +static void testWebkitAtkComboBox() { WebKitWebView* webView = WEBKIT_WEB_VIEW(webkit_web_view_new()); g_object_ref_sink(webView); GtkAllocation allocation = { 0, 0, 800, 600 }; gtk_widget_size_allocate(GTK_WIDGET(webView), &allocation); - - webkit_web_view_load_string(webView, contents, 0, 0, 0); + webkit_web_view_load_string(webView, comboBoxSelector, 0, 0, 0); /* Wait for the accessible objects to be created. */ waitForAccessibleObjects(); - AtkObject* axWebView = gtk_widget_get_accessible(GTK_WIDGET(webView)); - g_assert(ATK_IS_DOCUMENT(axWebView)); + AtkObject* object = gtk_widget_get_accessible(GTK_WIDGET(webView)); + g_assert(object); - if (g_test_trap_fork (2000000, G_TEST_TRAP_SILENCE_STDOUT)) { - g_signal_connect(webView, "notify::load-status", G_CALLBACK(webviewLoadStatusChangedCb), 0); - webkit_web_view_reload(webView); - } + AtkObject* formObject = atk_object_ref_accessible_child(object, 0); + g_assert(formObject); + + AtkObject* comboBox = atk_object_ref_accessible_child(formObject, 0); + g_assert(ATK_IS_OBJECT(comboBox)); + + AtkObject* menuPopup = atk_object_ref_accessible_child(comboBox, 0); + g_assert(ATK_IS_OBJECT(menuPopup)); + + AtkObject* item1 = atk_object_ref_accessible_child(menuPopup, 0); + g_assert(ATK_IS_OBJECT(item1)); + + AtkObject* item2 = atk_object_ref_accessible_child(menuPopup, 1); + g_assert(ATK_IS_OBJECT(item2)); + + /* Check roles. */ + g_assert(atk_object_get_role(comboBox) == ATK_ROLE_COMBO_BOX); + g_assert(atk_object_get_role(menuPopup) == ATK_ROLE_MENU); + g_assert(atk_object_get_role(item1) == ATK_ROLE_MENU_ITEM); + g_assert(atk_object_get_role(item2) == ATK_ROLE_MENU_ITEM); + + /* Check the implementation of the AtkSelection interface. */ + g_assert(ATK_IS_SELECTION(comboBox)); + AtkSelection* atkSelection = ATK_SELECTION(comboBox); + g_assert_cmpint(atk_selection_get_selection_count(atkSelection), ==, 1); + g_assert(atk_selection_is_child_selected(atkSelection, 0)); + g_assert(!atk_selection_is_child_selected(atkSelection, 1)); + AtkObject* selectedItem = atk_selection_ref_selection(atkSelection, 0); + g_assert(selectedItem == item1); + g_object_unref(selectedItem); + + /* Check the implementations of the AtkAction interface. */ + g_assert(ATK_IS_ACTION(comboBox)); + AtkAction* atkAction = ATK_ACTION(comboBox); + g_assert_cmpint(atk_action_get_n_actions(atkAction), ==, 1); + g_assert(atk_action_do_action(atkAction, 0)); + + g_assert(ATK_IS_ACTION(menuPopup)); + atkAction = ATK_ACTION(menuPopup); + g_assert_cmpint(atk_action_get_n_actions(atkAction), ==, 1); + g_assert(atk_action_do_action(atkAction, 0)); + + g_assert(ATK_IS_ACTION(item1)); + atkAction = ATK_ACTION(item1); + g_assert_cmpint(atk_action_get_n_actions(atkAction), ==, 1); + g_assert(atk_action_do_action(atkAction, 0)); + + g_assert(ATK_IS_ACTION(item2)); + atkAction = ATK_ACTION(item2); + g_assert_cmpint(atk_action_get_n_actions(atkAction), ==, 1); + g_assert(atk_action_do_action(atkAction, 0)); + + /* After selecting the second item, selection should have changed. */ + g_assert_cmpint(atk_selection_get_selection_count(atkSelection), ==, 1); + g_assert(!atk_selection_is_child_selected(atkSelection, 0)); + g_assert(atk_selection_is_child_selected(atkSelection, 1)); + selectedItem = atk_selection_ref_selection(atkSelection, 0); + g_assert(selectedItem == item2); + g_object_unref(selectedItem); + + /* Check the implementation of the AtkText interface. */ + g_assert(ATK_IS_TEXT(item1)); + AtkText* atkText = ATK_TEXT(item1); + char *text = atk_text_get_text(atkText, 0, -1); + g_assert_cmpstr(text, ==, "foo"); + g_free(text); + text = atk_text_get_text(atkText, 0, 2); + g_assert_cmpstr(text, ==, "fo"); + g_free(text); - /* Check results. */ - g_test_trap_assert_passed(); - g_test_trap_assert_stdout("[busy:1][reloaded][defunct][load completed][busy:0]"); + g_assert(ATK_IS_TEXT(item2)); + atkText = ATK_TEXT(item2); + text = atk_text_get_text(atkText, 0, -1); + g_assert_cmpstr(text, ==, "bar"); + g_free(text); + text = atk_text_get_text(atkText, 1, 3); + g_assert_cmpstr(text, ==, "ar"); + g_free(text); + g_object_unref(formObject); + g_object_unref(comboBox); + g_object_unref(menuPopup); + g_object_unref(item1); + g_object_unref(item2); g_object_unref(webView); } - static void testWebkitAtkGetTextAtOffsetForms() { WebKitWebView* webView = WEBKIT_WEB_VIEW(webkit_web_view_new()); @@ -1284,7 +1314,7 @@ int main(int argc, char** argv) gtk_test_init(&argc, &argv, 0); g_test_bug_base("https://bugs.webkit.org/"); - g_test_add_func("/webkit/atk/documentReloadEvents", testWebkitAtkDocumentReloadEvents); + g_test_add_func("/webkit/atk/comboBox", testWebkitAtkComboBox); g_test_add_func("/webkit/atk/getTextAtOffset", testWebkitAtkGetTextAtOffset); g_test_add_func("/webkit/atk/getTextAtOffsetForms", testWebkitAtkGetTextAtOffsetForms); g_test_add_func("/webkit/atk/getTextAtOffsetNewlines", testWebkitAtkGetTextAtOffsetNewlines); @@ -1308,7 +1338,7 @@ int main(int argc, char** argv) #else int main(int argc, char** argv) { - g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now."); + g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now."); return 0; } diff --git a/WebKit/gtk/tests/testatkroles.c b/WebKit/gtk/tests/testatkroles.c index 5fd08b0..5ad6b5f 100644 --- a/WebKit/gtk/tests/testatkroles.c +++ b/WebKit/gtk/tests/testatkroles.c @@ -23,7 +23,7 @@ #include <gtk/gtk.h> #include <webkit/webkit.h> -#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0) +#if GTK_CHECK_VERSION(2, 14, 0) /* Non form roles */ #define HTML_DOCUMENT_FRAME "<html><body>This is a test.</body></html>" @@ -421,7 +421,7 @@ int main(int argc, char** argv) #else int main(int argc, char** argv) { - g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now."); + g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now."); return 0; } diff --git a/WebKit/gtk/tests/testdomdocument.c b/WebKit/gtk/tests/testdomdocument.c index 56e233f..aa6cbb3 100644 --- a/WebKit/gtk/tests/testdomdocument.c +++ b/WebKit/gtk/tests/testdomdocument.c @@ -24,7 +24,7 @@ #include <gtk/gtk.h> #include <webkit/webkit.h> -#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0) +#if GTK_CHECK_VERSION(2, 14, 0) #define HTML_DOCUMENT_TITLE "<html><head><title>This is the title</title></head><body></body></html>" #define HTML_DOCUMENT_ELEMENTS "<html><body><ul><li>1</li><li>2</li><li>3</li></ul></body></html>" @@ -368,7 +368,7 @@ int main(int argc, char** argv) #else int main(int argc, char** argv) { - g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now."); + g_critical("You will gtk-2.14.0 to run the unit tests. Doing nothing now."); return 0; } diff --git a/WebKit/gtk/tests/testdomdomwindow.c b/WebKit/gtk/tests/testdomdomwindow.c index a52bca5..b15558e 100644 --- a/WebKit/gtk/tests/testdomdomwindow.c +++ b/WebKit/gtk/tests/testdomdomwindow.c @@ -24,7 +24,7 @@ #include <gtk/gtk.h> #include <webkit/webkit.h> -#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0) +#if GTK_CHECK_VERSION(2, 14, 0) #define HTML_DOCUMENT "<html><head><title>This is the title</title></head><body><p id='test'>test</p></body></html>" @@ -222,7 +222,7 @@ int main(int argc, char** argv) #else int main(int argc, char** argv) { - g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now."); + g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now."); return 0; } diff --git a/WebKit/gtk/tests/testdomnode.c b/WebKit/gtk/tests/testdomnode.c index 7d62720..893b7cc 100644 --- a/WebKit/gtk/tests/testdomnode.c +++ b/WebKit/gtk/tests/testdomnode.c @@ -24,7 +24,7 @@ #include <gtk/gtk.h> #include <webkit/webkit.h> -#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0) +#if GTK_CHECK_VERSION(2, 14, 0) #define HTML_DOCUMENT_HIERARCHY_NAVIGATION "<html><head><title>This is the title</title></head><body><p>1</p><p>2</p><p>3</p></body></html>" #define HTML_DOCUMENT_NODE_INSERTION "<html><body></body></html>" @@ -199,7 +199,7 @@ int main(int argc, char** argv) #else int main(int argc, char** argv) { - g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now."); + g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now."); return 0; } diff --git a/WebKit/gtk/tests/testglobals.c b/WebKit/gtk/tests/testglobals.c index e53edf4..da0ffa3 100644 --- a/WebKit/gtk/tests/testglobals.c +++ b/WebKit/gtk/tests/testglobals.c @@ -21,7 +21,7 @@ #include <libsoup/soup.h> #include <webkit/webkit.h> -#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0) +#if GTK_CHECK_VERSION(2, 14, 0) // Make sure the session is initialized properly when webkit_get_default_session() is called. static void test_globals_default_session() @@ -59,7 +59,7 @@ int main(int argc, char** argv) #else int main(int argc, char** argv) { - g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now."); + g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now."); return 0; } diff --git a/WebKit/gtk/tests/testhttpbackend.c b/WebKit/gtk/tests/testhttpbackend.c index c061374..f0fac16 100644 --- a/WebKit/gtk/tests/testhttpbackend.c +++ b/WebKit/gtk/tests/testhttpbackend.c @@ -24,7 +24,7 @@ #include <gtk/gtk.h> #include <webkit/webkit.h> -#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0) +#if GTK_CHECK_VERSION(2, 14, 0) // Not yet public API SoupMessage* webkit_network_request_get_message(WebKitNetworkRequest* request); @@ -79,7 +79,7 @@ int main(int argc, char** argv) #else int main(int argc, char** argv) { - g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now."); + g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now."); return 0; } diff --git a/WebKit/gtk/tests/testloading.c b/WebKit/gtk/tests/testloading.c index fd9a05c..a0ec8c9 100644 --- a/WebKit/gtk/tests/testloading.c +++ b/WebKit/gtk/tests/testloading.c @@ -23,7 +23,7 @@ #include <string.h> #include <webkit/webkit.h> -#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0) +#if GTK_CHECK_VERSION(2, 14, 0) /* This string has to be rather big because of the cancelled test - it * looks like soup refuses to send or receive a too small chunk */ @@ -438,7 +438,7 @@ int main(int argc, char** argv) #else int main(int argc, char** argv) { - g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now."); + g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now."); return 0; } diff --git a/WebKit/gtk/tests/testmimehandling.c b/WebKit/gtk/tests/testmimehandling.c index 2d6c623..dcfc3a3 100644 --- a/WebKit/gtk/tests/testmimehandling.c +++ b/WebKit/gtk/tests/testmimehandling.c @@ -27,7 +27,7 @@ #include <webkit/webkit.h> #include <unistd.h> -#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0) +#if GTK_CHECK_VERSION(2, 14, 0) GMainLoop* loop; SoupSession *session; @@ -221,7 +221,7 @@ int main(int argc, char** argv) #else int main(int argc, char** argv) { - g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now."); + g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now."); return 0; } diff --git a/WebKit/gtk/tests/testnetworkrequest.c b/WebKit/gtk/tests/testnetworkrequest.c index 40f8e7f..fb6ec41 100644 --- a/WebKit/gtk/tests/testnetworkrequest.c +++ b/WebKit/gtk/tests/testnetworkrequest.c @@ -25,7 +25,7 @@ #include <stdlib.h> #include <webkit/webkit.h> -#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0) +#if GTK_CHECK_VERSION(2, 14, 0) static void test_network_request_create_destroy() { @@ -100,7 +100,7 @@ int main(int argc, char** argv) #else int main(int argc, char** argv) { - g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now."); + g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now."); return 0; } diff --git a/WebKit/gtk/tests/testnetworkresponse.c b/WebKit/gtk/tests/testnetworkresponse.c index 9050c04..90062c6 100644 --- a/WebKit/gtk/tests/testnetworkresponse.c +++ b/WebKit/gtk/tests/testnetworkresponse.c @@ -26,7 +26,7 @@ #include <stdlib.h> #include <webkit/webkit.h> -#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0) +#if GTK_CHECK_VERSION(2, 14, 0) static void test_network_response_create_destroy() { @@ -101,7 +101,7 @@ int main(int argc, char** argv) #else int main(int argc, char** argv) { - g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now."); + g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now."); return 0; } diff --git a/WebKit/gtk/tests/testwebbackforwardlist.c b/WebKit/gtk/tests/testwebbackforwardlist.c index 2109840..b9e395e 100644 --- a/WebKit/gtk/tests/testwebbackforwardlist.c +++ b/WebKit/gtk/tests/testwebbackforwardlist.c @@ -21,7 +21,7 @@ #include <gtk/gtk.h> #include <webkit/webkit.h> -#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0) +#if GTK_CHECK_VERSION(2, 14, 0) static void test_webkit_web_history_item_lifetime(void) { @@ -330,7 +330,7 @@ int main(int argc, char** argv) #else int main(int argc, char** argv) { - g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now."); + g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now."); return 0; } diff --git a/WebKit/gtk/tests/testwebdatasource.c b/WebKit/gtk/tests/testwebdatasource.c index 5c0568e..96d95e4 100644 --- a/WebKit/gtk/tests/testwebdatasource.c +++ b/WebKit/gtk/tests/testwebdatasource.c @@ -21,7 +21,7 @@ #include <gtk/gtk.h> #include <webkit/webkit.h> -#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0) +#if GTK_CHECK_VERSION(2, 14, 0) static const gshort defaultTimeout = 10; guint waitTimer; @@ -60,13 +60,10 @@ static void notify_load_status_unreachable_cb(WebKitWebView* view, GParamSpec* p WebKitLoadStatus status = webkit_web_view_get_load_status (view); WebKitWebFrame* frame = webkit_web_view_get_main_frame(view); - if (status != WEBKIT_LOAD_FINISHED) - return; + g_assert(status != WEBKIT_LOAD_FINISHED); - if (waitTimer) { - g_source_remove(waitTimer); - waitTimer = 0; - } + if (status != WEBKIT_LOAD_FAILED) + return; WebKitWebDataSource* datasource = webkit_web_frame_get_data_source(frame); @@ -89,11 +86,6 @@ static void notify_load_status_cb(WebKitWebView* view, GParamSpec* pspec, GMainL else if (status != WEBKIT_LOAD_FINISHED) return; - if (waitTimer) { - g_source_remove(waitTimer); - waitTimer = 0; - } - /* Test get_request */ g_test_message("Testing webkit_web_data_source_get_request"); WebKitNetworkRequest* request = webkit_web_data_source_get_request(dataSource); @@ -134,15 +126,82 @@ static void test_webkit_web_data_source() g_signal_connect(view, "notify::load-status", G_CALLBACK(notify_load_status_cb), loop); webkit_web_view_load_uri(view, "http://webkit.org"); - if (!waitTimer) - waitTimer = g_timeout_add_seconds(defaultTimeout, (GSourceFunc)wait_timer_fired, loop); + waitTimer = g_timeout_add_seconds(defaultTimeout, (GSourceFunc)wait_timer_fired, loop); + + g_main_loop_run(loop); + + if (waitTimer) + g_source_remove(waitTimer); + + waitTimer = 0; + + g_main_loop_unref(loop); + g_object_unref(view); +} + +static void notify_load_status_lifetime_cb(WebKitWebView* view, GParamSpec* pspec, GMainLoop* loop) +{ + WebKitLoadStatus status = webkit_web_view_get_load_status (view); + WebKitWebFrame* frame = webkit_web_view_get_main_frame(view); + WebKitWebDataSource* dataSource = webkit_web_frame_get_data_source(frame); + + if (status == WEBKIT_LOAD_COMMITTED) { + g_assert(webkit_web_data_source_is_loading(dataSource)); + return; + } else if (status != WEBKIT_LOAD_FINISHED) + return; + + g_main_loop_quit(loop); +} + +static void test_webkit_web_data_source_lifetime() +{ + WebKitWebView* view; + GMainLoop* loop; + + view = WEBKIT_WEB_VIEW(webkit_web_view_new()); + g_object_ref_sink(view); + loop = g_main_loop_new(NULL, TRUE); + g_signal_connect(view, "notify::load-status", G_CALLBACK(notify_load_status_lifetime_cb), loop); + webkit_web_view_load_uri(view, "http://webkit.org"); + + waitTimer = g_timeout_add_seconds(defaultTimeout, (GSourceFunc)wait_timer_fired, loop); g_main_loop_run(loop); + + WebKitWebDataSource* dataSource = webkit_web_frame_get_data_source(webkit_web_view_get_main_frame(view)); + GList* subResources = webkit_web_data_source_get_subresources(dataSource); + gint numberOfResources = g_list_length(subResources); + g_list_free(subResources); + + g_assert_cmpint(webkit_web_view_get_load_status(view), ==, WEBKIT_LOAD_FINISHED); + + webkit_web_view_load_uri(view, "http://gnome.org"); + + g_assert_cmpint(webkit_web_view_get_load_status(view), ==, WEBKIT_LOAD_PROVISIONAL); + + webkit_web_view_stop_loading(view); + + g_assert_cmpint(webkit_web_view_get_load_status(view), ==, WEBKIT_LOAD_FAILED); + + subResources = webkit_web_data_source_get_subresources(dataSource); + g_assert_cmpint(numberOfResources, ==, g_list_length(subResources)); + g_list_free(subResources); + + if (waitTimer) + g_source_remove(waitTimer); + + waitTimer = 0; + + g_main_loop_unref(loop); g_object_unref(view); } static void test_webkit_web_data_source_unreachable_uri() { + /* FIXME: this test fails currently. */ + return; + WebKitWebView* view; GMainLoop* loop; @@ -152,10 +211,16 @@ static void test_webkit_web_data_source_unreachable_uri() g_signal_connect(view, "notify::load-status", G_CALLBACK(notify_load_status_unreachable_cb), loop); webkit_web_view_load_uri(view, "http://this.host.does.not.exist/doireallyexist.html"); - if (!waitTimer) - waitTimer = g_timeout_add_seconds(defaultTimeout, (GSourceFunc)wait_timer_fired, loop); + waitTimer = g_timeout_add_seconds(defaultTimeout, (GSourceFunc)wait_timer_fired, loop); g_main_loop_run(loop); + + if (waitTimer) + g_source_remove(waitTimer); + + waitTimer = 0; + + g_main_loop_unref(loop); g_object_unref(view); } @@ -172,13 +237,16 @@ int main(int argc, char** argv) test_webkit_web_data_source); g_test_add_func("/webkit/webdatasource/unreachable_uri", test_webkit_web_data_source_unreachable_uri); + g_test_add_func("/webkit/webdatasource/lifetime", + test_webkit_web_data_source_lifetime); + return g_test_run (); } #else int main(int argc, char** argv) { - g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now."); + g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now."); return 0; } diff --git a/WebKit/gtk/tests/testwebframe.c b/WebKit/gtk/tests/testwebframe.c index 59c7c2b..d1ff7ea 100644 --- a/WebKit/gtk/tests/testwebframe.c +++ b/WebKit/gtk/tests/testwebframe.c @@ -25,7 +25,7 @@ #include <gtk/gtk.h> #include <webkit/webkit.h> -#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0) +#if GTK_CHECK_VERSION(2, 14, 0) static int numberOfFramesCreated = 0; @@ -224,7 +224,7 @@ int main(int argc, char** argv) #else int main(int argc, char** argv) { - g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now."); + g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now."); return 0; } diff --git a/WebKit/gtk/tests/testwebhistoryitem.c b/WebKit/gtk/tests/testwebhistoryitem.c index b940afb..362dc98 100644 --- a/WebKit/gtk/tests/testwebhistoryitem.c +++ b/WebKit/gtk/tests/testwebhistoryitem.c @@ -21,7 +21,7 @@ #include <gtk/gtk.h> #include <webkit/webkit.h> -#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0) +#if GTK_CHECK_VERSION(2, 14, 0) typedef struct { WebKitWebHistoryItem* item; @@ -74,7 +74,7 @@ int main(int argc, char** argv) #else int main(int argc, char** argv) { - g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now."); + g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now."); return 0; } diff --git a/WebKit/gtk/tests/testwebplugindatabase.c b/WebKit/gtk/tests/testwebplugindatabase.c new file mode 100644 index 0000000..1366f84 --- /dev/null +++ b/WebKit/gtk/tests/testwebplugindatabase.c @@ -0,0 +1,89 @@ +/* + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#include <errno.h> +#include <glib.h> +#include <glib/gstdio.h> +#include <gtk/gtk.h> +#include <webkit/webkit.h> + +#if GTK_CHECK_VERSION(2, 14, 0) + +/* This function is not public, so we need an extern declaration */ +extern void webkit_web_settings_add_extra_plugin_directory(WebKitWebView* view, const gchar* directory); + +static void test_webkit_web_plugin_database_get_plugins() +{ + WebKitWebView* view = WEBKIT_WEB_VIEW(webkit_web_view_new()); + WebKitWebPluginDatabase* database; + GSList* pluginList, *p; + gboolean found = FALSE; + gboolean enabled = FALSE; + + webkit_web_settings_add_extra_plugin_directory(view, TEST_PLUGIN_DIR); + g_object_ref_sink(G_OBJECT(view)); + + database = webkit_get_web_plugin_database(); + pluginList = webkit_web_plugin_database_get_plugins(database); + for (p = pluginList; p; p = p->next) { + WebKitWebPlugin* plugin = (WebKitWebPlugin*)p->data; + if (!g_strcmp0(webkit_web_plugin_get_name(plugin), "WebKit Test PlugIn") && + !g_strcmp0(webkit_web_plugin_get_description(plugin), "Simple Netscape plug-in that handles test content for WebKit")) { + found = TRUE; + enabled = webkit_web_plugin_get_enabled(plugin); + webkit_web_plugin_set_enabled(plugin, FALSE); + } + } + webkit_web_plugin_database_plugins_list_free(pluginList); + g_assert(found); + g_assert(enabled); + + webkit_web_plugin_database_refresh(database); + pluginList = webkit_web_plugin_database_get_plugins(database); + + for (p = pluginList; p; p = p->next) { + WebKitWebPlugin* plugin = (WebKitWebPlugin*)p->data; + if (!g_strcmp0(webkit_web_plugin_get_name(plugin), "WebKit Test PlugIn") && + !g_strcmp0(webkit_web_plugin_get_description(plugin), "Simple Netscape plug-in that handles test content for WebKit")) + enabled = webkit_web_plugin_get_enabled(plugin); + } + webkit_web_plugin_database_plugins_list_free(pluginList); + g_assert(!enabled); + + g_object_unref(view); +} + +int main(int argc, char** argv) +{ + g_thread_init(NULL); + gtk_test_init(&argc, &argv, NULL); + + g_test_bug_base("https://bugs.webkit.org/"); + g_test_add_func("/webkit/webplugindatabase/getplugins", test_webkit_web_plugin_database_get_plugins); + return g_test_run (); +} + +#else +int main(int argc, char** argv) +{ + g_critical("You will need at least gtk-2.14.0 to run the unit tests. Doing nothing now."); + return 0; +} + +#endif diff --git a/WebKit/gtk/tests/testwebresource.c b/WebKit/gtk/tests/testwebresource.c index 81457a4..1b893a9 100644 --- a/WebKit/gtk/tests/testwebresource.c +++ b/WebKit/gtk/tests/testwebresource.c @@ -23,7 +23,7 @@ #include <string.h> #include <webkit/webkit.h> -#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0) +#if GTK_CHECK_VERSION(2, 14, 0) #define INDEX_HTML "<html></html>" #define MAIN_HTML "<html><head><script language=\"javascript\" src=\"/javascript.js\"></script></head><body><h1>hah</h1></html>" @@ -218,8 +218,8 @@ static void resource_request_starting_sub_cb(WebKitWebView* web_view, WebKitWebF { if (!main_resource) main_resource = g_object_ref(web_resource); - else - sub_resource = g_object_ref(web_resource); + else if (!sub_resource) + sub_resource = g_object_ref(web_resource); } static void notify_load_status_sub_cb(WebKitWebView* web_view, GParamSpec* pspec, gpointer data) @@ -279,8 +279,13 @@ static void test_web_resource_sub_resource_loading() g_assert(sub_resources->next); g_assert(!sub_resources->next->next); - g_assert(WEBKIT_WEB_RESOURCE(sub_resources->data) == sub_resource); - + // Test that the object we got from the data source is the same + // that went through resource-request-starting. Note that the order is + // not important (and not guaranteed since the resources are stored in a + // hashtable). + g_assert(WEBKIT_WEB_RESOURCE(sub_resources->data) == sub_resource + || WEBKIT_WEB_RESOURCE(sub_resources->next->data) == sub_resource); + g_object_unref(web_view); g_main_loop_unref(loop); } @@ -298,7 +303,7 @@ int main(int argc, char** argv) soup_server_add_handler(server, NULL, server_callback, NULL, NULL); - soup_uri = soup_uri_new ("http://127.0.0.1/"); + soup_uri = soup_uri_new("http://127.0.0.1/"); soup_uri_set_port(soup_uri, soup_server_get_port(server)); base_uri = soup_uri_to_string(soup_uri, FALSE); @@ -330,7 +335,7 @@ int main(int argc, char** argv) #else int main(int argc, char** argv) { - g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now."); + g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now."); return 0; } diff --git a/WebKit/gtk/tests/testwebsettings.c b/WebKit/gtk/tests/testwebsettings.c index 8c77def..4db929a 100644 --- a/WebKit/gtk/tests/testwebsettings.c +++ b/WebKit/gtk/tests/testwebsettings.c @@ -21,7 +21,7 @@ #include <gtk/gtk.h> #include <webkit/webkit.h> -#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0) +#if GTK_CHECK_VERSION(2, 14, 0) static void test_webkit_web_settings_user_agent(void) { @@ -74,7 +74,7 @@ int main(int argc, char** argv) #else int main(int argc, char** argv) { - g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now."); + g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now."); return 0; } diff --git a/WebKit/gtk/tests/testwebview.c b/WebKit/gtk/tests/testwebview.c index 36511d7..76debcc 100644 --- a/WebKit/gtk/tests/testwebview.c +++ b/WebKit/gtk/tests/testwebview.c @@ -29,7 +29,7 @@ #include <gtk/gtk.h> #include <webkit/webkit.h> -#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0) +#if GTK_CHECK_VERSION(2, 14, 0) GMainLoop* loop; SoupSession *session; @@ -371,7 +371,7 @@ int main(int argc, char** argv) #else int main(int argc, char** argv) { - g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now."); + g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now."); return 0; } diff --git a/WebKit/gtk/tests/testwindow.c b/WebKit/gtk/tests/testwindow.c index 106f934..ecd6609 100644 --- a/WebKit/gtk/tests/testwindow.c +++ b/WebKit/gtk/tests/testwindow.c @@ -20,7 +20,7 @@ #include <gtk/gtk.h> #include <webkit/webkit.h> -#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0) +#if GTK_CHECK_VERSION(2, 14, 0) static void notify_load_status_cb(WebKitWebView* web_view, GParamSpec* pspec, gpointer data) { @@ -123,7 +123,7 @@ int main(int argc, char** argv) #else int main(int argc, char** argv) { - g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now."); + g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now."); return 0; } diff --git a/WebKit/gtk/webkit/webkit.h b/WebKit/gtk/webkit/webkit.h index fc71c2c..c0d0e31 100644 --- a/WebKit/gtk/webkit/webkit.h +++ b/WebKit/gtk/webkit/webkit.h @@ -30,6 +30,7 @@ #include <webkit/webkitnetworkrequest.h> #include <webkit/webkitnetworkresponse.h> #include <webkit/webkitsoupauthdialog.h> +#include <webkit/webkitviewportattributes.h> #include <webkit/webkitwebdatasource.h> #include <webkit/webkitwebframe.h> #include <webkit/webkitwebsettings.h> @@ -38,6 +39,8 @@ #include <webkit/webkitwebview.h> #include <webkit/webkitwebbackforwardlist.h> #include <webkit/webkitwebhistoryitem.h> +#include <webkit/webkitwebplugin.h> +#include <webkit/webkitwebplugindatabase.h> #include <webkit/webkitwebpolicydecision.h> #include <webkit/webkitwebnavigationaction.h> #include <webkit/webkitwebresource.h> diff --git a/WebKit/gtk/webkit/webkitdefines.h b/WebKit/gtk/webkit/webkitdefines.h index b06a3bf..b0b607b 100644 --- a/WebKit/gtk/webkit/webkitdefines.h +++ b/WebKit/gtk/webkit/webkitdefines.h @@ -92,6 +92,15 @@ typedef struct _WebKitHitTestResultClass WebKitHitTestResultClass; typedef struct _WebKitGeolocationPolicyDecision WebKitGeolocationPolicyDecision; typedef struct _WebKitGeolocationPolicyDecisionClass WebKitGeolocationPolicyDecisionClass; +typedef struct _WebKitViewportAttributes WebKitViewportAttributes; +typedef struct _WebKitViewportAttributesClass WebKitViewportAttributesClass; + +typedef struct _WebKitWebPluginDatabase WebKitWebPluginDatabase; +typedef struct _WebKitWebPluginDatabaseClass WebKitWebPluginDatabaseClass; + +typedef struct _WebKitWebPlugin WebKitWebPlugin; +typedef struct _WebKitWebPluginClass WebKitWebPluginClass; + G_END_DECLS #endif diff --git a/WebKit/gtk/webkit/webkitdownload.cpp b/WebKit/gtk/webkit/webkitdownload.cpp index 18b64ab..6be591c 100644 --- a/WebKit/gtk/webkit/webkitdownload.cpp +++ b/WebKit/gtk/webkit/webkitdownload.cpp @@ -29,9 +29,12 @@ #include "ResourceRequest.h" #include "ResourceResponse.h" #include "webkitdownload.h" +#include "webkitdownloadprivate.h" #include "webkitenumtypes.h" #include "webkitmarshal.h" +#include "webkitnetworkrequestprivate.h" #include "webkitnetworkresponse.h" +#include "webkitnetworkresponseprivate.h" #include "webkitprivate.h" #include <wtf/text/CString.h> @@ -69,8 +72,6 @@ class DownloadClient : public Noncopyable, public ResourceHandleClient { WebKitDownload* m_download; }; -#define WEBKIT_DOWNLOAD_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_DOWNLOAD, WebKitDownloadPrivate)) - struct _WebKitDownloadPrivate { gchar* destinationURI; gchar* suggestedFilename; @@ -387,7 +388,7 @@ static void webkit_download_class_init(WebKitDownloadClass* downloadClass) static void webkit_download_init(WebKitDownload* download) { - WebKitDownloadPrivate* priv = WEBKIT_DOWNLOAD_GET_PRIVATE(download); + WebKitDownloadPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(download, WEBKIT_TYPE_DOWNLOAD, WebKitDownloadPrivate); download->priv = priv; priv->downloadClient = new DownloadClient(download); @@ -593,7 +594,7 @@ WebKitNetworkResponse* webkit_download_get_network_response(WebKitDownload* down static void webkit_download_set_response(WebKitDownload* download, const ResourceResponse& response) { WebKitDownloadPrivate* priv = download->priv; - priv->networkResponse = webkit_network_response_new_with_core_response(response); + priv->networkResponse = kitNew(response); if (!response.isNull() && !response.suggestedFilename().isEmpty()) webkit_download_set_suggested_filename(download, response.suggestedFilename().utf8().data()); diff --git a/WebKit/gtk/webkit/webkitdownloadprivate.h b/WebKit/gtk/webkit/webkitdownloadprivate.h new file mode 100644 index 0000000..13cc2a4 --- /dev/null +++ b/WebKit/gtk/webkit/webkitdownloadprivate.h @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther + * Copyright (C) 2008 Jan Michael C. Alonzo + * Copyright (C) 2008 Collabora Ltd. + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef webkitdownloadprivate_h +#define webkitdownloadprivate_h + +#include "webkitdownload.h" + +extern "C" { + +WebKitDownload* webkit_download_new_with_handle(WebKitNetworkRequest*, WebCore::ResourceHandle*, const WebCore::ResourceResponse&); + +void webkit_download_set_suggested_filename(WebKitDownload*, const gchar* suggestedFilename); + +} + +#endif diff --git a/WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp b/WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp index 7afd8fa..cb023d6 100644 --- a/WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp +++ b/WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp @@ -43,8 +43,6 @@ struct _WebKitGeolocationPolicyDecisionPrivate { Geolocation* geolocation; }; -#define WEBKIT_GEOLOCATION_POLICY_DECISION_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_GEOLOCATION_POLICY_DECISION, WebKitGeolocationPolicyDecisionPrivate)) - static void webkit_geolocation_policy_decision_class_init(WebKitGeolocationPolicyDecisionClass* decisionClass) { g_type_class_add_private(decisionClass, sizeof(WebKitGeolocationPolicyDecisionPrivate)); @@ -52,7 +50,7 @@ static void webkit_geolocation_policy_decision_class_init(WebKitGeolocationPolic static void webkit_geolocation_policy_decision_init(WebKitGeolocationPolicyDecision* decision) { - decision->priv = WEBKIT_GEOLOCATION_POLICY_DECISION_GET_PRIVATE(decision); + decision->priv = G_TYPE_INSTANCE_GET_PRIVATE(decision, WEBKIT_TYPE_GEOLOCATION_POLICY_DECISION, WebKitGeolocationPolicyDecisionPrivate); } WebKitGeolocationPolicyDecision* webkit_geolocation_policy_decision_new(WebKitWebFrame* frame, Geolocation* geolocation) diff --git a/WebKit/gtk/webkit/webkithittestresult.cpp b/WebKit/gtk/webkit/webkithittestresult.cpp index 931289e..fa0b40b 100644 --- a/WebKit/gtk/webkit/webkithittestresult.cpp +++ b/WebKit/gtk/webkit/webkithittestresult.cpp @@ -22,6 +22,8 @@ #include "webkithittestresult.h" #include "GOwnPtr.h" +#include "HitTestResult.h" +#include "WebKitDOMBinding.h" #include "WebKitDOMNode.h" #include "webkitenumtypes.h" #include "webkitprivate.h" @@ -47,8 +49,6 @@ struct _WebKitHitTestResultPrivate { WebKitDOMNode* innerNode; }; -#define WEBKIT_HIT_TEST_RESULT_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_HIT_TEST_RESULT, WebKitHitTestResultPrivate)) - enum { PROP_0, @@ -228,5 +228,50 @@ static void webkit_hit_test_result_class_init(WebKitHitTestResultClass* webHitTe static void webkit_hit_test_result_init(WebKitHitTestResult* web_hit_test_result) { - web_hit_test_result->priv = WEBKIT_HIT_TEST_RESULT_GET_PRIVATE(web_hit_test_result); + web_hit_test_result->priv = G_TYPE_INSTANCE_GET_PRIVATE(web_hit_test_result, WEBKIT_TYPE_HIT_TEST_RESULT, WebKitHitTestResultPrivate); +} + +namespace WebKit { + +WebKitHitTestResult* kit(const WebCore::HitTestResult& result) +{ + guint context = WEBKIT_HIT_TEST_RESULT_CONTEXT_DOCUMENT; + GOwnPtr<char> linkURI(0); + GOwnPtr<char> imageURI(0); + GOwnPtr<char> mediaURI(0); + WebKitDOMNode* node = 0; + + if (!result.absoluteLinkURL().isEmpty()) { + context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK; + linkURI.set(g_strdup(result.absoluteLinkURL().string().utf8().data())); + } + + if (!result.absoluteImageURL().isEmpty()) { + context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_IMAGE; + imageURI.set(g_strdup(result.absoluteImageURL().string().utf8().data())); + } + + if (!result.absoluteMediaURL().isEmpty()) { + context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_MEDIA; + mediaURI.set(g_strdup(result.absoluteMediaURL().string().utf8().data())); + } + + if (result.isSelected()) + context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_SELECTION; + + if (result.isContentEditable()) + context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE; + + if (result.innerNonSharedNode()) + node = kit(result.innerNonSharedNode()); + + return WEBKIT_HIT_TEST_RESULT(g_object_new(WEBKIT_TYPE_HIT_TEST_RESULT, + "link-uri", linkURI.get(), + "image-uri", imageURI.get(), + "media-uri", mediaURI.get(), + "context", context, + "inner-node", node, + NULL)); +} + } diff --git a/WebKit/gtk/webkit/webkithittestresultprivate.h b/WebKit/gtk/webkit/webkithittestresultprivate.h new file mode 100644 index 0000000..237ac27 --- /dev/null +++ b/WebKit/gtk/webkit/webkithittestresultprivate.h @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther + * Copyright (C) 2008 Jan Michael C. Alonzo + * Copyright (C) 2008 Collabora Ltd. + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef webkithittestresultprivate_h +#define webkithittestresultprivate_h + +#include "HitTestResult.h" +#include "webkithittestresult.h" + +namespace WebKit { + +WebKitHitTestResult* kit(const WebCore::HitTestResult&); + +} + +#endif diff --git a/WebKit/gtk/webkit/webkitnetworkrequest.cpp b/WebKit/gtk/webkit/webkitnetworkrequest.cpp index 6180efa..23f22a3 100644 --- a/WebKit/gtk/webkit/webkitnetworkrequest.cpp +++ b/WebKit/gtk/webkit/webkitnetworkrequest.cpp @@ -48,8 +48,6 @@ struct _WebKitNetworkRequestPrivate { SoupMessage* message; }; -#define WEBKIT_NETWORK_REQUEST_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_NETWORK_REQUEST, WebKitNetworkRequestPrivate)) - enum { PROP_0, @@ -157,20 +155,10 @@ static void webkit_network_request_class_init(WebKitNetworkRequestClass* request static void webkit_network_request_init(WebKitNetworkRequest* request) { - WebKitNetworkRequestPrivate* priv = WEBKIT_NETWORK_REQUEST_GET_PRIVATE(request); + WebKitNetworkRequestPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(request, WEBKIT_TYPE_NETWORK_REQUEST, WebKitNetworkRequestPrivate); request->priv = priv; } -// for internal use only -WebKitNetworkRequest* webkit_network_request_new_with_core_request(const WebCore::ResourceRequest& resourceRequest) -{ - PlatformRefPtr<SoupMessage> soupMessage(adoptPlatformRef(resourceRequest.toSoupMessage())); - if (soupMessage) - return WEBKIT_NETWORK_REQUEST(g_object_new(WEBKIT_TYPE_NETWORK_REQUEST, "message", soupMessage.get(), NULL)); - - return WEBKIT_NETWORK_REQUEST(g_object_new(WEBKIT_TYPE_NETWORK_REQUEST, "uri", resourceRequest.url().string().utf8().data(), NULL)); -} - /** * webkit_network_request_new: * @uri: an URI @@ -260,3 +248,26 @@ SoupMessage* webkit_network_request_get_message(WebKitNetworkRequest* request) return priv->message; } + +namespace WebKit { + +WebKitNetworkRequest* kitNew(const WebCore::ResourceRequest& resourceRequest) +{ + PlatformRefPtr<SoupMessage> soupMessage(adoptPlatformRef(resourceRequest.toSoupMessage())); + if (soupMessage) + return WEBKIT_NETWORK_REQUEST(g_object_new(WEBKIT_TYPE_NETWORK_REQUEST, "message", soupMessage.get(), NULL)); + + return WEBKIT_NETWORK_REQUEST(g_object_new(WEBKIT_TYPE_NETWORK_REQUEST, "uri", resourceRequest.url().string().utf8().data(), NULL)); +} + +WebCore::ResourceRequest core(WebKitNetworkRequest* request) +{ + SoupMessage* soupMessage = webkit_network_request_get_message(request); + if (soupMessage) + return WebCore::ResourceRequest(soupMessage); + + WebCore::KURL url = WebCore::KURL(WebCore::KURL(), String::fromUTF8(webkit_network_request_get_uri(request))); + return WebCore::ResourceRequest(url); +} + +} diff --git a/WebKit/gtk/webkit/webkitnetworkrequestprivate.h b/WebKit/gtk/webkit/webkitnetworkrequestprivate.h new file mode 100644 index 0000000..84b4593 --- /dev/null +++ b/WebKit/gtk/webkit/webkitnetworkrequestprivate.h @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther + * Copyright (C) 2008 Jan Michael C. Alonzo + * Copyright (C) 2008 Collabora Ltd. + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef webkitnetworkrequestprivate_h +#define webkitnetworkrequestprivate_h + +namespace WebKit { + +WebCore::ResourceRequest core(WebKitNetworkRequest*); +WebKitNetworkRequest* kitNew(const WebCore::ResourceRequest&); + +} + +#endif diff --git a/WebKit/gtk/webkit/webkitnetworkresponse.cpp b/WebKit/gtk/webkit/webkitnetworkresponse.cpp index 0aca6d8..da29212 100644 --- a/WebKit/gtk/webkit/webkitnetworkresponse.cpp +++ b/WebKit/gtk/webkit/webkitnetworkresponse.cpp @@ -158,16 +158,6 @@ static void webkit_network_response_init(WebKitNetworkResponse* response) response->priv = WEBKIT_NETWORK_RESPONSE_GET_PRIVATE(response); } -// for internal use only -WebKitNetworkResponse* webkit_network_response_new_with_core_response(const WebCore::ResourceResponse& resourceResponse) -{ - PlatformRefPtr<SoupMessage> soupMessage(adoptPlatformRef(resourceResponse.toSoupMessage())); - if (soupMessage) - return WEBKIT_NETWORK_RESPONSE(g_object_new(WEBKIT_TYPE_NETWORK_RESPONSE, "message", soupMessage.get(), NULL)); - - return WEBKIT_NETWORK_RESPONSE(g_object_new(WEBKIT_TYPE_NETWORK_RESPONSE, "uri", resourceResponse.url().string().utf8().data(), NULL)); -} - /** * webkit_network_response_new: * @uri: an URI @@ -259,3 +249,25 @@ SoupMessage* webkit_network_response_get_message(WebKitNetworkResponse* response return priv->message; } + +namespace WebKit { + +WebCore::ResourceResponse core(WebKitNetworkResponse* response) +{ + SoupMessage* soupMessage = webkit_network_response_get_message(response); + if (soupMessage) + return WebCore::ResourceResponse(soupMessage); + + return WebCore::ResourceResponse(); +} + +WebKitNetworkResponse* kitNew(const WebCore::ResourceResponse& resourceResponse) +{ + PlatformRefPtr<SoupMessage> soupMessage(adoptPlatformRef(resourceResponse.toSoupMessage())); + if (soupMessage) + return WEBKIT_NETWORK_RESPONSE(g_object_new(WEBKIT_TYPE_NETWORK_RESPONSE, "message", soupMessage.get(), NULL)); + + return WEBKIT_NETWORK_RESPONSE(g_object_new(WEBKIT_TYPE_NETWORK_RESPONSE, "uri", resourceResponse.url().string().utf8().data(), NULL)); +} + +} diff --git a/WebKit/gtk/webkit/webkitnetworkresponseprivate.h b/WebKit/gtk/webkit/webkitnetworkresponseprivate.h new file mode 100644 index 0000000..ab38a50 --- /dev/null +++ b/WebKit/gtk/webkit/webkitnetworkresponseprivate.h @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther + * Copyright (C) 2008 Jan Michael C. Alonzo + * Copyright (C) 2008 Collabora Ltd. + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef webkitnetworkresponseprivate_h +#define webkitnetworkresponseprivate_h + +#include "ResourceResponse.h" + +namespace WebKit { + +WebCore::ResourceResponse core(WebKitNetworkResponse*); +WebKitNetworkResponse* kitNew(const WebCore::ResourceResponse&); + +} + +#endif diff --git a/WebKit/gtk/webkit/webkitprivate.cpp b/WebKit/gtk/webkit/webkitprivate.cpp index 4ec6362..4652031 100644 --- a/WebKit/gtk/webkit/webkitprivate.cpp +++ b/WebKit/gtk/webkit/webkitprivate.cpp @@ -43,9 +43,7 @@ #include "ResourceHandleClient.h" #include "ResourceHandleInternal.h" #include "ResourceResponse.h" -#include "SecurityOrigin.h" #include "TextEncodingRegistry.h" -#include "WebKitDOMBinding.h" #include "webkitnetworkresponse.h" #include "webkitsoupauthdialog.h" #include "webkitversion.h" @@ -66,125 +64,11 @@ using namespace WebCore; namespace WebKit { -WebKitWebView* getViewFromFrame(WebKitWebFrame* frame) -{ - WebKitWebFramePrivate* priv = frame->priv; - return priv->webView; -} - -WebCore::Frame* core(WebKitWebFrame* frame) -{ - if (!frame) - return 0; - - WebKitWebFramePrivate* priv = frame->priv; - return priv ? priv->coreFrame : 0; -} - -WebKitWebFrame* kit(WebCore::Frame* coreFrame) -{ - if (!coreFrame) - return 0; - - ASSERT(coreFrame->loader()); - WebKit::FrameLoaderClient* client = static_cast<WebKit::FrameLoaderClient*>(coreFrame->loader()->client()); - return client ? client->webFrame() : 0; -} - -WebCore::Page* core(WebKitWebView* webView) -{ - if (!webView) - return 0; - - WebKitWebViewPrivate* priv = webView->priv; - return priv ? priv->corePage : 0; -} - -WebKitWebView* kit(WebCore::Page* corePage) -{ - if (!corePage) - return 0; - - ASSERT(corePage->chrome()); - WebKit::ChromeClient* client = static_cast<WebKit::ChromeClient*>(corePage->chrome()->client()); - return client ? client->webView() : 0; -} - -WebKitWebNavigationReason kit(WebCore::NavigationType type) -{ - return (WebKitWebNavigationReason)type; -} - -WebCore::NavigationType core(WebKitWebNavigationReason type) -{ - return static_cast<WebCore::NavigationType>(type); -} - -WebCore::ResourceRequest core(WebKitNetworkRequest* request) -{ - SoupMessage* soupMessage = webkit_network_request_get_message(request); - if (soupMessage) - return ResourceRequest(soupMessage); - - KURL url = KURL(KURL(), String::fromUTF8(webkit_network_request_get_uri(request))); - return ResourceRequest(url); -} - -WebCore::ResourceResponse core(WebKitNetworkResponse* response) -{ - SoupMessage* soupMessage = webkit_network_response_get_message(response); - if (soupMessage) - return ResourceResponse(soupMessage); - - return ResourceResponse(); -} - WebCore::EditingBehaviorType core(WebKitEditingBehavior type) { return (WebCore::EditingBehaviorType)type; } -WebKitHitTestResult* kit(const WebCore::HitTestResult& result) -{ - guint context = WEBKIT_HIT_TEST_RESULT_CONTEXT_DOCUMENT; - GOwnPtr<char> linkURI(0); - GOwnPtr<char> imageURI(0); - GOwnPtr<char> mediaURI(0); - WebKitDOMNode* node = 0; - - if (!result.absoluteLinkURL().isEmpty()) { - context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK; - linkURI.set(g_strdup(result.absoluteLinkURL().string().utf8().data())); - } - - if (!result.absoluteImageURL().isEmpty()) { - context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_IMAGE; - imageURI.set(g_strdup(result.absoluteImageURL().string().utf8().data())); - } - - if (!result.absoluteMediaURL().isEmpty()) { - context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_MEDIA; - mediaURI.set(g_strdup(result.absoluteMediaURL().string().utf8().data())); - } - - if (result.isSelected()) - context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_SELECTION; - - if (result.isContentEditable()) - context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE; - - if (result.innerNonSharedNode()) - node = kit(result.innerNonSharedNode()); - - return WEBKIT_HIT_TEST_RESULT(g_object_new(WEBKIT_TYPE_HIT_TEST_RESULT, - "link-uri", linkURI.get(), - "image-uri", imageURI.get(), - "media-uri", mediaURI.get(), - "context", context, - "inner-node", node, - NULL)); -} - PasteboardHelperGtk* pasteboardHelperInstance() { static PasteboardHelperGtk* helper = new PasteboardHelperGtk(); @@ -226,45 +110,6 @@ static void closeIconDatabaseOnExit() iconDatabase()->close(); } -#ifdef HAVE_GSETTINGS -static bool isSchemaAvailable(const char* schemaID) -{ - const char* const* availableSchemas = g_settings_list_schemas(); - char* const* iter = const_cast<char* const*>(availableSchemas); - - while (*iter) { - if (g_str_equal(schemaID, *iter)) - return true; - iter++; - } - - return false; -} - -GSettings* inspectorGSettings() -{ - static GSettings* settings = 0; - - if (settings) - return settings; - - const gchar* schemaID = "org.webkitgtk-"WEBKITGTK_API_VERSION_STRING".inspector"; - - // Unfortunately GSettings will abort the process execution if the - // schema is not installed, which is the case for when running - // tests, or even the introspection dump at build time, so check - // if we have the schema before trying to initialize it. - if (!isSchemaAvailable(schemaID)) { - g_warning("GSettings schema not found - settings will not be used or saved."); - return 0; - } - - settings = g_settings_new(schemaID); - - return settings; -} -#endif - void webkit_init() { static bool isInitialized = false; @@ -284,11 +129,6 @@ void webkit_init() // that may only be done by the main thread. atomicCanonicalTextEncodingName("UTF-8"); - // Page cache capacity (in pages). Comment from Mac port: - // (Research indicates that value / page drops substantially after 3 pages.) - // FIXME: Expose this with an API and/or calculate based on available resources - webkit_set_cache_model(WEBKIT_CACHE_MODEL_WEB_BROWSER); - #if ENABLE(DATABASE) gchar* databaseDirectory = g_build_filename(g_get_user_data_dir(), "webkit", "databases", NULL); webkit_set_web_database_directory_path(databaseDirectory); @@ -322,43 +162,3 @@ void webkit_init() soup_session_add_feature_by_type(session, SOUP_TYPE_CONTENT_DECODER); } - -void webkit_white_list_access_from_origin(const gchar* sourceOrigin, const gchar* destinationProtocol, const gchar* destinationHost, bool allowDestinationSubdomains) -{ - SecurityOrigin::addOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains); -} - -void webkit_reset_origin_access_white_lists() -{ - SecurityOrigin::resetOriginAccessWhitelists(); -} - - -void webkitWebViewEnterFullscreen(WebKitWebView* webView, Node* node) -{ - if (!node->hasTagName(HTMLNames::videoTag)) - return; - -#if ENABLE(VIDEO) - HTMLMediaElement* videoElement = static_cast<HTMLMediaElement*>(node); - WebKitWebViewPrivate* priv = webView->priv; - - // First exit Fullscreen for the old mediaElement. - if (priv->fullscreenVideoController) - priv->fullscreenVideoController->exitFullscreen(); - - priv->fullscreenVideoController = new FullscreenVideoController; - priv->fullscreenVideoController->setMediaElement(videoElement); - priv->fullscreenVideoController->enterFullscreen(); -#endif -} - -void webkitWebViewExitFullscreen(WebKitWebView* webView) -{ -#if ENABLE(VIDEO) - WebKitWebViewPrivate* priv = webView->priv; - if (priv->fullscreenVideoController) - priv->fullscreenVideoController->exitFullscreen(); -#endif -} - diff --git a/WebKit/gtk/webkit/webkitprivate.h b/WebKit/gtk/webkit/webkitprivate.h index e090ed4..cf2e9d6 100644 --- a/WebKit/gtk/webkit/webkitprivate.h +++ b/WebKit/gtk/webkit/webkitprivate.h @@ -30,42 +30,29 @@ */ #include <webkit/webkitdefines.h> -#include <webkit/webkitdownload.h> -#include <webkit/webkithittestresult.h> #include <webkit/webkitnetworkrequest.h> #include <webkit/webkitwebview.h> #include <webkit/webkitwebdatasource.h> #include <webkit/webkitwebframe.h> -#include <webkit/webkitwebpolicydecision.h> -#include <webkit/webkitwebnavigationaction.h> -#include <webkit/webkitwebresource.h> #include <webkit/webkitwebsettings.h> #include <webkit/webkitwebwindowfeatures.h> -#include <webkit/webkitwebbackforwardlist.h> #include <webkit/webkitnetworkrequest.h> #include <webkit/webkitsecurityorigin.h> -#include "ArchiveResource.h" -#include "BackForwardListImpl.h" #include "DataObjectGtk.h" #include "DragActions.h" #include "Frame.h" #include "GOwnPtr.h" #include "Geolocation.h" -#include "HistoryItem.h" -#include "InspectorClientGtk.h" #include "IntPoint.h" #include "IntRect.h" #include "FrameLoaderClient.h" -#include "FullscreenVideoController.h" #include "Node.h" #include "Page.h" #include "PlatformString.h" #include "ResourceHandle.h" #include "ResourceRequest.h" -#include "ResourceResponse.h" #include "WindowFeatures.h" -#include "SecurityOrigin.h" #include "Settings.h" #include <enchant.h> #include <wtf/OwnPtr.h> @@ -75,365 +62,37 @@ #include <glib.h> #include <libsoup/soup.h> -class DownloadClient; - namespace WebKit { class DocumentLoader; class PasteboardHelperGtk; - WebKitWebView* getViewFromFrame(WebKitWebFrame*); - - WebCore::Frame* core(WebKitWebFrame*); - WebKitWebFrame* kit(WebCore::Frame*); - - WebCore::Page* core(WebKitWebView*); - WebKitWebView* kit(WebCore::Page*); - - WebCore::HistoryItem* core(WebKitWebHistoryItem*); - WebKitWebHistoryItem* kit(PassRefPtr<WebCore::HistoryItem>); - - WebCore::BackForwardListImpl* core(WebKitWebBackForwardList*); - - WebKitWebNavigationReason kit(WebCore::NavigationType type); - WebCore::NavigationType core(WebKitWebNavigationReason reason); - - WebCore::ResourceRequest core(WebKitNetworkRequest* request); - - WebCore::ResourceResponse core(WebKitNetworkResponse* response); - WebCore::EditingBehaviorType core(WebKitEditingBehavior type); - WebKitSecurityOrigin* kit(WebCore::SecurityOrigin*); - WebCore::SecurityOrigin* core(WebKitSecurityOrigin*); - - WebKitHitTestResult* kit(const WebCore::HitTestResult&); - PasteboardHelperGtk* pasteboardHelperInstance(); - - typedef struct DroppingContext_ { - WebKitWebView* webView; - GdkDragContext* gdkContext; - RefPtr<WebCore::DataObjectGtk> dataObject; - WebCore::IntPoint lastMotionPosition; - int pendingDataRequests; - bool dropHappened; - } DroppingContext; } extern "C" { void webkit_init(); -#ifdef HAVE_GSETTINGS - GSettings* inspectorGSettings(); -#endif - #define WEBKIT_PARAM_READABLE ((GParamFlags)(G_PARAM_READABLE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB)) #define WEBKIT_PARAM_READWRITE ((GParamFlags)(G_PARAM_READWRITE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB)) - #define WEBKIT_WEB_VIEW_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_VIEW, WebKitWebViewPrivate)) - typedef struct _WebKitWebViewPrivate WebKitWebViewPrivate; - struct _WebKitWebViewPrivate { - WebCore::Page* corePage; - PlatformRefPtr<WebKitWebSettings> webSettings; - PlatformRefPtr<WebKitWebInspector> webInspector; - PlatformRefPtr<WebKitWebWindowFeatures> webWindowFeatures; - - WebKitWebFrame* mainFrame; - PlatformRefPtr<WebKitWebBackForwardList> backForwardList; - - PlatformRefPtr<GtkMenu> currentMenu; - gint lastPopupXPosition; - gint lastPopupYPosition; - - HashSet<GtkWidget*> children; - bool editable; - PlatformRefPtr<GtkIMContext> imContext; - - gboolean transparent; - - PlatformRefPtr<GtkAdjustment> horizontalAdjustment; - PlatformRefPtr<GtkAdjustment> verticalAdjustment; - -#ifndef GTK_API_VERSION_2 - // GtkScrollablePolicy needs to be checked when - // driving the scrollable adjustment values - GtkScrollablePolicy horizontalScrollingPolicy; - GtkScrollablePolicy verticalScrollingPolicy; -#endif - - gboolean zoomFullContent; - WebKitLoadStatus loadStatus; - CString encoding; - CString customEncoding; - - CString iconURI; - - gboolean disposing; - gboolean usePrimaryForPaste; - -#if ENABLE(VIDEO) - FullscreenVideoController* fullscreenVideoController; -#endif - - // These are hosted here because the DataSource object is - // created too late in the frame loading process. - PlatformRefPtr<WebKitWebResource> mainResource; - CString mainResourceIdentifier; - PlatformRefPtr<GHashTable> subResources; - CString tooltipText; - WebCore::IntRect tooltipArea; - - int currentClickCount; - WebCore::IntPoint previousClickPoint; - guint previousClickButton; - guint32 previousClickTime; - HashMap<GdkDragContext*, RefPtr<WebCore::DataObjectGtk> > draggingDataObjects; - HashMap<GdkDragContext*, WebKit::DroppingContext*> droppingContexts; - }; - - #define WEBKIT_WEB_FRAME_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_FRAME, WebKitWebFramePrivate)) - typedef struct _WebKitWebFramePrivate WebKitWebFramePrivate; - struct _WebKitWebFramePrivate { - WebCore::Frame* coreFrame; - WebKitWebView* webView; - - gchar* name; - gchar* title; - gchar* uri; - WebKitLoadStatus loadStatus; - WebKitSecurityOrigin* origin; - }; - -#define WEBKIT_SECURITY_ORIGIN_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_SECURITY_ORIGIN, WebKitSecurityOriginPrivate)) - struct _WebKitSecurityOriginPrivate { - RefPtr<WebCore::SecurityOrigin> coreOrigin; - gchar* protocol; - gchar* host; - GHashTable* webDatabases; - - gboolean disposed; - }; - WTF::String webkitUserAgent(); - void - webkit_web_frame_core_frame_gone(WebKitWebFrame*); - - // WebKitWebHistoryItem private - WebKitWebHistoryItem* - webkit_web_history_item_new_with_core_item(PassRefPtr<WebCore::HistoryItem> historyItem); - - WEBKIT_API G_CONST_RETURN gchar* - webkit_web_history_item_get_target(WebKitWebHistoryItem*); - - WEBKIT_API gboolean - webkit_web_history_item_is_target_item(WebKitWebHistoryItem*); - - WEBKIT_API GList* - webkit_web_history_item_get_children(WebKitWebHistoryItem*); - // end WebKitWebHistoryItem private - - // WebKitWebResource private - #define WEBKIT_WEB_RESOURCE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_RESOURCE, WebKitWebResourcePrivate)) - struct _WebKitWebResourcePrivate { - WebCore::ArchiveResource* resource; - - gchar* uri; - gchar* mimeType; - gchar* textEncoding; - gchar* frameName; - - GString* data; - }; - WebKitWebResource* - webkit_web_resource_new_with_core_resource(PassRefPtr<WebCore::ArchiveResource>); - - void - webkit_web_resource_init_with_core_resource(WebKitWebResource*, PassRefPtr<WebCore::ArchiveResource>); - - // end WebKitWebResource private - - void - webkit_web_inspector_set_inspector_client(WebKitWebInspector*, WebCore::Page*); - - void - webkit_web_inspector_set_web_view(WebKitWebInspector *web_inspector, WebKitWebView *web_view); - - void - webkit_web_inspector_set_inspected_uri(WebKitWebInspector* web_inspector, const gchar* inspected_uri); - - WEBKIT_API void - webkit_web_inspector_execute_script(WebKitWebInspector* inspector, long callId, const gchar* script); - - WebKitWebWindowFeatures* webkit_web_window_features_new_from_core_features (const WebCore::WindowFeatures& features); - void - webkit_web_view_notify_ready (WebKitWebView* web_view); - - void - webkit_web_view_request_download(WebKitWebView* web_view, WebKitNetworkRequest* request, const WebCore::ResourceResponse& response = WebCore::ResourceResponse(), WebCore::ResourceHandle* handle = 0); - - void - webkit_web_view_add_resource(WebKitWebView*, const char*, WebKitWebResource*); - - void - webkit_web_view_remove_resource(WebKitWebView*, const char*); - - WebKitWebResource* - webkit_web_view_get_resource(WebKitWebView*, char*); - - WebKitWebResource* - webkit_web_view_get_main_resource(WebKitWebView*); - - void - webkit_web_view_clear_resources(WebKitWebView*); - - GList* - webkit_web_view_get_subresources(WebKitWebView*); - - void - webkit_web_view_set_tooltip_text(WebKitWebView*, const char*); - - GtkMenu* - webkit_web_view_get_context_menu(WebKitWebView*); - - WEBKIT_API void - webkit_web_view_execute_core_command_by_name(WebKitWebView* webView, const gchar* name, const gchar* value); - - WEBKIT_API gboolean - webkit_web_view_is_command_enabled(WebKitWebView* webView, const gchar* name); - - WebKitDownload* - webkit_download_new_with_handle(WebKitNetworkRequest* request, WebCore::ResourceHandle* handle, const WebCore::ResourceResponse& response); - - void - webkit_download_set_suggested_filename(WebKitDownload* download, const gchar* suggestedFilename); - - WebKitWebPolicyDecision* - webkit_web_policy_decision_new (WebKitWebFrame*, WebCore::FramePolicyFunction); - - void - webkit_web_policy_decision_cancel (WebKitWebPolicyDecision* decision); - - WebKitNetworkRequest* - webkit_network_request_new_with_core_request(const WebCore::ResourceRequest& resourceRequest); - - WebKitNetworkResponse* - webkit_network_response_new_with_core_response(const WebCore::ResourceResponse& resourceResponse); - WebKitGeolocationPolicyDecision* webkit_geolocation_policy_decision_new(WebKitWebFrame*, WebCore::Geolocation*); - // FIXME: move this to webkitnetworkrequest.h once the API is agreed upon. - WEBKIT_API SoupMessage* - webkit_network_request_get_message(WebKitNetworkRequest* request); - - // FIXME: move this functionality into a 'WebKitWebDataSource' once implemented - WEBKIT_API gchar* - webkit_web_frame_get_response_mime_type(WebKitWebFrame* frame); - - // FIXME: Move these to webkitwebframe.h once their API has been discussed. - - WEBKIT_API GSList* - webkit_web_frame_get_children (WebKitWebFrame* frame); - - WEBKIT_API gchar* - webkit_web_frame_get_inner_text (WebKitWebFrame* frame); - - WEBKIT_API gchar* - webkit_web_frame_dump_render_tree (WebKitWebFrame* frame); - - WEBKIT_API gchar* - webkit_web_frame_counter_value_for_element_by_id (WebKitWebFrame* frame, const gchar* id); - - WEBKIT_API int - webkit_web_frame_page_number_for_element_by_id(WebKitWebFrame* frame, const gchar* id, float pageWidth, float pageHeight); - - WEBKIT_API int - webkit_web_frame_number_of_pages(WebKitWebFrame* frame, float pageWidth, float pageHeight); - - WEBKIT_API guint - webkit_web_frame_get_pending_unload_event_count(WebKitWebFrame* frame); - - WEBKIT_API bool - webkit_web_frame_pause_animation(WebKitWebFrame* frame, const gchar* name, double time, const gchar* element); - - WEBKIT_API bool - webkit_web_frame_pause_transition(WebKitWebFrame* frame, const gchar* name, double time, const gchar* element); - - WEBKIT_API bool - webkit_web_frame_pause_svg_animation(WebKitWebFrame* frame, const gchar* animationId, double time, const gchar* elementId); - - WEBKIT_API gchar* - webkit_web_frame_marker_text_for_list_item(WebKitWebFrame* frame, JSContextRef context, JSValueRef nodeObject); - - WEBKIT_API unsigned int - webkit_web_frame_number_of_active_animations(WebKitWebFrame* frame); - - WEBKIT_API void - webkit_web_frame_suspend_animations(WebKitWebFrame* frame); - - WEBKIT_API void - webkit_web_frame_resume_animations(WebKitWebFrame* frame); - - WEBKIT_API void - webkit_web_frame_clear_main_frame_name(WebKitWebFrame* frame); - - WEBKIT_API AtkObject* - webkit_web_frame_get_focused_accessible_element(WebKitWebFrame* frame); - - WEBKIT_API gchar* - webkit_web_view_get_selected_text (WebKitWebView* web_view); - - WEBKIT_API void - webkit_web_settings_add_extra_plugin_directory (WebKitWebView *web_view, const gchar* directory); - - GSList* - webkit_web_settings_get_enchant_dicts(WebKitWebView* web_view); - - bool - webkit_web_view_use_primary_for_paste(WebKitWebView* web_view); - - GHashTable* - webkit_history_items(void); - - WEBKIT_API void - webkit_gc_collect_javascript_objects(); - - WEBKIT_API void - webkit_gc_collect_javascript_objects_on_alternate_thread(gboolean waitUntilDone); - - WEBKIT_API gsize - webkit_gc_count_javascript_objects(); - WEBKIT_API void webkit_application_cache_set_maximum_size(unsigned long long size); - WEBKIT_API unsigned int - webkit_worker_thread_count(); - - WEBKIT_API void - webkit_white_list_access_from_origin(const gchar* sourceOrigin, const gchar* destinationProtocol, const gchar* destinationHost, bool allowDestinationSubdomains); - - WEBKIT_API void - webkit_reset_origin_access_white_lists(); - // WebKitWebDataSource private WebKitWebDataSource* webkit_web_data_source_new_with_loader(PassRefPtr<WebKit::DocumentLoader>); - - WEBKIT_API WebKitWebDatabase * - webkit_security_origin_get_web_database(WebKitSecurityOrigin* securityOrigin, const char* databaseName); - - WEBKIT_API void - webkit_web_frame_layout(WebKitWebFrame* frame); - - void webkitWebViewEnterFullscreen(WebKitWebView* webView, WebCore::Node* node); - void webkitWebViewExitFullscreen(WebKitWebView* webView); } #endif diff --git a/WebKit/gtk/webkit/webkitsecurityorigin.cpp b/WebKit/gtk/webkit/webkitsecurityorigin.cpp index 92d19e7..927b76d 100644 --- a/WebKit/gtk/webkit/webkitsecurityorigin.cpp +++ b/WebKit/gtk/webkit/webkitsecurityorigin.cpp @@ -18,15 +18,14 @@ */ #include "config.h" -#include "webkitwebdatabase.h" +#include "webkitsecurityorigin.h" -#include "webkitprivate.h" - -#include "PlatformString.h" #include "DatabaseTracker.h" -#include <wtf/text/CString.h> - +#include "PlatformString.h" +#include "webkitprivate.h" +#include "webkitsecurityoriginprivate.h" #include <glib/gi18n-lib.h> +#include <wtf/text/CString.h> /** * SECTION:webkitsecurityorigin @@ -213,7 +212,7 @@ static void webkit_security_origin_class_init(WebKitSecurityOriginClass* klass) static void webkit_security_origin_init(WebKitSecurityOrigin* securityOrigin) { - WebKitSecurityOriginPrivate* priv = WEBKIT_SECURITY_ORIGIN_GET_PRIVATE(securityOrigin); + WebKitSecurityOriginPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(securityOrigin, WEBKIT_TYPE_SECURITY_ORIGIN, WebKitSecurityOriginPrivate); priv->webDatabases = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_object_unref); securityOrigin->priv = priv; } @@ -379,46 +378,48 @@ GList* webkit_security_origin_get_all_web_databases(WebKitSecurityOrigin* securi return databases; } -WebKitSecurityOrigin* WebKit::kit(WebCore::SecurityOrigin* coreOrigin) +WebKitWebDatabase* webkit_security_origin_get_web_database(WebKitSecurityOrigin* securityOrigin, const gchar* databaseName) { - ASSERT(coreOrigin); + g_return_val_if_fail(WEBKIT_IS_SECURITY_ORIGIN(securityOrigin), NULL); - GHashTable* table = webkit_security_origins(); - WebKitSecurityOrigin* origin = (WebKitSecurityOrigin*) g_hash_table_lookup(table, coreOrigin); + WebKitSecurityOriginPrivate* priv = securityOrigin->priv; + GHashTable* databaseHash = priv->webDatabases; + WebKitWebDatabase* database = (WebKitWebDatabase*) g_hash_table_lookup(databaseHash, databaseName); - if (!origin) { - origin = WEBKIT_SECURITY_ORIGIN(g_object_new(WEBKIT_TYPE_SECURITY_ORIGIN, NULL)); - origin->priv->coreOrigin = coreOrigin; - g_hash_table_insert(table, coreOrigin, origin); + if (!database) { + database = WEBKIT_WEB_DATABASE(g_object_new(WEBKIT_TYPE_WEB_DATABASE, + "security-origin", securityOrigin, + "name", databaseName, + NULL)); + g_hash_table_insert(databaseHash, g_strdup(databaseName), database); } - return origin; + return database; } +namespace WebKit { -WebCore::SecurityOrigin* WebKit::core(WebKitSecurityOrigin* securityOrigin) +WebCore::SecurityOrigin* core(WebKitSecurityOrigin* securityOrigin) { ASSERT(securityOrigin); return securityOrigin->priv->coreOrigin.get(); } -WebKitWebDatabase* webkit_security_origin_get_web_database(WebKitSecurityOrigin* securityOrigin, const gchar* databaseName) +WebKitSecurityOrigin* kit(WebCore::SecurityOrigin* coreOrigin) { - g_return_val_if_fail(WEBKIT_IS_SECURITY_ORIGIN(securityOrigin), NULL); + ASSERT(coreOrigin); - WebKitSecurityOriginPrivate* priv = securityOrigin->priv; - GHashTable* databaseHash = priv->webDatabases; - WebKitWebDatabase* database = (WebKitWebDatabase*) g_hash_table_lookup(databaseHash, databaseName); + GHashTable* table = webkit_security_origins(); + WebKitSecurityOrigin* origin = (WebKitSecurityOrigin*) g_hash_table_lookup(table, coreOrigin); - if (!database) { - database = WEBKIT_WEB_DATABASE(g_object_new(WEBKIT_TYPE_WEB_DATABASE, - "security-origin", securityOrigin, - "name", databaseName, - NULL)); - g_hash_table_insert(databaseHash, g_strdup(databaseName), database); + if (!origin) { + origin = WEBKIT_SECURITY_ORIGIN(g_object_new(WEBKIT_TYPE_SECURITY_ORIGIN, NULL)); + origin->priv->coreOrigin = coreOrigin; + g_hash_table_insert(table, coreOrigin, origin); } - return database; + return origin; } +} diff --git a/WebKit/gtk/webkit/webkitsecurityoriginprivate.h b/WebKit/gtk/webkit/webkitsecurityoriginprivate.h new file mode 100644 index 0000000..5a4a87b --- /dev/null +++ b/WebKit/gtk/webkit/webkitsecurityoriginprivate.h @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther + * Copyright (C) 2008 Jan Michael C. Alonzo + * Copyright (C) 2008 Collabora Ltd. + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef webkitsecurityoriginprivate_h +#define webkitnavigationactionprivate_h + +#include "SecurityOrigin.h" +#include "webkitsecurityorigin.h" + +namespace WebKit { + +WebKitSecurityOrigin* kit(WebCore::SecurityOrigin*); +WebCore::SecurityOrigin* core(WebKitSecurityOrigin*); + +} + +extern "C" { + +struct _WebKitSecurityOriginPrivate { + RefPtr<WebCore::SecurityOrigin> coreOrigin; + gchar* protocol; + gchar* host; + GHashTable* webDatabases; + + gboolean disposed; +}; + +WEBKIT_API WebKitWebDatabase* webkit_security_origin_get_web_database(WebKitSecurityOrigin*, const char*); + +} + +#endif diff --git a/WebKit/gtk/webkit/webkitviewportattributes.cpp b/WebKit/gtk/webkit/webkitviewportattributes.cpp new file mode 100644 index 0000000..c2de5c1 --- /dev/null +++ b/WebKit/gtk/webkit/webkitviewportattributes.cpp @@ -0,0 +1,569 @@ +/* + * Copyright (C) 2010 Joone Hur <joone@kldp.org> + * Copyright (C) 2010 Collabora Ltd. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#include "config.h" +#include "webkitviewportattributes.h" + +#include "Chrome.h" +#include "webkitprivate.h" +#include "webkitviewportattributesprivate.h" +#include "webkitwebviewprivate.h" +#include <glib/gi18n-lib.h> + +/** + * SECTION:webkitviewportattributes + * @short_description: Represents the viewport properties of a web page + * @see_also: #WebKitWebView::viewport-attributes-recompute-requested + * @see_also: #WebKitWebView::viewport-attributes-changed + * + * #WebKitViewportAttributes offers the viewport properties to user agents to + * control the viewport layout. It contains the viewport size, initial scale with limits, + * and information about whether a user is able to scale the contents in the viewport. + * This makes a web page fit the device screen. + * + * The #WebKitWebView::viewport-attributes-changed signal will be emitted with #WebKitViewportAttributes + * when the viewport attributes are updated in the case of loading web pages contain + * the viewport properties and calling webkit_viewport_attributes_recompute. + * + * If the device size, available size, desktop width, or device DPI needs to be changed due to + * a consequence of an explicit browser request (caused by screen rotation, resizing, or similar reasons), + * You should call #webkit_viewport_attributes_recompute to recompute the viewport properties and + * override those values in the handler of #WebKitWebView::viewport-attributes-recompute-requested signal. + * + * For more information on the viewport properties, refer to the Safari reference library at + * http://developer.apple.com/safari/library/documentation/appleapplications/reference/safarihtmlref/articles/metatags.html + * + * <informalexample><programlisting> + * /<!-- -->* Connect to the viewport-attributes-changes signal *<!-- -->/ + * WebKitViewportAttributes* attributes = webkit_web_view_get_viewport_attributes (web_view); + * g_signal_connect (web_view, "viewport-attributes-recompute-requested", G_CALLBACK (viewport_recompute_cb), window); + * g_signal_connect (web_view, "viewport-attributes-changed", G_CALLBACK (viewport_changed_cb), window); + * g_signal_connect (attributes, "notify::valid", G_CALLBACK (viewport_valid_changed_cb), web_view); + * + * /<!-- -->* Handle the viewport-attributes-recompute-requested signal to override the device width *<!-- -->/ + * static void + * viewport_recompute_cb (WebKitWebView* web_view, WebKitViewportAttributes* attributes, GtkWidget* window) + * { + * int override_available_width = 480; + * g_object_set (G_OBJECT(attributes), "available-width", override_available_width, NULL); + * } + * + * /<!-- -->* Handle the viewport-attributes-changed signal to recompute the initial scale factor *<!-- -->/ + * static void + * viewport_changed_cb (WebKitWebView* web_view, WebKitViewportAttributes* attributes, gpointer data) + * { + * gfloat initialScale; + * g_object_get (G_OBJECT (atributes), "initial-scale-factor", &initialScale, NULL); + * webkit_web_view_set_zoom_level (web_view, initialScale); + * } + * + * /<!-- -->* Handle the notify::valid signal to initialize the zoom level *<!-- -->/ + * static void + * viewport_valid_changed_cb (WebKitViewportAttributes* attributes, GParamSpec* pspec, WebKitWebView* web_view) + * { + * gboolean is_valid; + * g_object_get (attributes, "valid", &is_valid, NULL); + * if (!is_valid) + * webkit_web_view_set_zoom_level (web_view, 1.0); + * } + * </programlisting></informalexample> + */ + +using namespace WebKit; +using namespace WebCore; + +enum { + PROP_0, + + PROP_DEVICE_WIDTH, + PROP_DEVICE_HEIGHT, + PROP_AVAILABLE_WIDTH, + PROP_AVAILABLE_HEIGHT, + PROP_DESKTOP_WIDTH, + PROP_DEVICE_DPI, + PROP_WIDTH, + PROP_HEIGHT, + PROP_INITIAL_SCALE_FACTOR, + PROP_MINIMUM_SCALE_FACTOR, + PROP_MAXIMUM_SCALE_FACTOR, + PROP_DEVICE_PIXEL_RATIO, + PROP_USER_SCALABLE, + PROP_VALID +}; + +G_DEFINE_TYPE(WebKitViewportAttributes, webkit_viewport_attributes, G_TYPE_OBJECT); + +static void webkit_viewport_attributes_get_property(GObject* object, guint propertyID, GValue* value, GParamSpec* paramSpec); +static void webkit_viewport_attributes_set_property(GObject* object, guint propertyID, const GValue* value, GParamSpec* paramSpec); + +static void webkit_viewport_attributes_class_init(WebKitViewportAttributesClass* kclass) +{ + GObjectClass* gobjectClass = G_OBJECT_CLASS(kclass); + gobjectClass->get_property = webkit_viewport_attributes_get_property; + gobjectClass->set_property = webkit_viewport_attributes_set_property; + + /** + * WebKitViewportAttributs:device-width: + * + * The width of the screen. This value is always automatically + * pre-computed during a viewport attributes recomputation, and + * can be overridden by the handler of + * WebKitWebView::viewport-attributes-recompute-requested. You + * should not do that unless you have a very good reason. + * + * Since: 1.3.8 + */ + g_object_class_install_property(gobjectClass, + PROP_DEVICE_WIDTH, + g_param_spec_int( + "device-width", + _("Device Width"), + _("The width of the screen."), + 0, + G_MAXINT, + 0, + WEBKIT_PARAM_READWRITE)); + + /** + * WebKitViewportAttributs:device-height: + * + * The height of the screen. This value is always automatically + * pre-computed during a viewport attributes recomputation, and + * can be overriden by the handler of + * WebKitWebView::viewport-attributes-recompute-requested. You + * should not do that unless you have a very good reason. + * + * Since: 1.3.8 + */ + g_object_class_install_property(gobjectClass, + PROP_DEVICE_HEIGHT, + g_param_spec_int( + "device-height", + _("Device Height"), + _("The height of the screen."), + 0, + G_MAXINT, + 0, + WEBKIT_PARAM_READWRITE)); + + /** + * WebKitViewportAttributs:available-width: + * + * The width of the current visible area. This will usually be the + * same as the space allocated to the widget, but in some cases + * you may have decided to make the widget bigger than the visible + * area. This value is by default initialized to the size + * allocated by the widget, but you can override it in the handler + * of WebKitWebView::viewport-attributes-recompute-requested to + * let the engine know what the visible area is. + * + * Since: 1.3.8 + */ + g_object_class_install_property(gobjectClass, + PROP_AVAILABLE_WIDTH, + g_param_spec_int( + "available-width", + _("Available Width"), + _("The width of the visible area."), + 0, + G_MAXINT, + 0, + WEBKIT_PARAM_READWRITE)); + + /** + * WebKitViewportAttributs:available-height: + * + * The height of the current visible area. This will usually be the + * same as the space allocated to the widget, but in some cases + * you may have decided to make the widget bigger than the visible + * area. This value is by default initialized to the size + * allocated by the widget, but you can override it in the handler + * of WebKitWebView::viewport-attributes-recompute-requested to + * let the engine know what the visible area is. + * + * Since: 1.3.8 + */ + g_object_class_install_property(gobjectClass, + PROP_AVAILABLE_HEIGHT, + g_param_spec_int( + "available-height", + _("Available Height"), + _("The height of the visible area."), + 0, + G_MAXINT, + 0, + WEBKIT_PARAM_READWRITE)); + + /** + * WebKitViewportAttributs:desktop-width: + * + * The width of viewport that works well for most web pages designed for + * desktop. This value is initialized to 980 pixels by default and used + * during a viewport attributes recomputation. Also, it can be overriden by + * the handler of WebKitWebView::viewport-attributes-recompute-requested. + * You should not do that unless you have a very good reason. + * + * Since: 1.3.8 + */ + g_object_class_install_property(gobjectClass, + PROP_DESKTOP_WIDTH, + g_param_spec_int( + "desktop-width", + _("Desktop Width"), + _("The width of viewport that works well for most web pages designed for desktop."), + 0, + G_MAXINT, + 980, + WEBKIT_PARAM_READWRITE)); + + /** + * WebKitViewportAttributs:device-dpi: + * + * The number of dots per inch of the screen. This value is + * initialized to 160 dpi by default and used during a viewport + * attributes recomputation, because it is the dpi of the original + * iPhone and Android devices. Also, it can be overriden by the + * handler of WebKitWebView::viewport-attributes-recompute-requested. + * You should not do that unless you have a very good reason. + * + * Since: 1.3.8 + */ + g_object_class_install_property(gobjectClass, + PROP_DEVICE_DPI, + g_param_spec_int( + "device-dpi", + _("Device DPI"), + _("The number of dots per inch of the screen."), + 0, + G_MAXINT, + 160, + WEBKIT_PARAM_READWRITE)); + + /** + * WebKitViewportAttributs:width: + * + * The width of the viewport. Before getting this property, + * you need to make sure that #WebKitViewportAttributes is valid. + * + * Since: 1.3.8 + */ + g_object_class_install_property(gobjectClass, + PROP_WIDTH, + g_param_spec_int( + "width", + _("Width"), + _("The width of the viewport."), + 0, + G_MAXINT, + 0, + WEBKIT_PARAM_READABLE)); + + /** + * WebKitViewportAttributs:height: + * + * The height of the viewport. Before getting this property, + * you need to make sure that #WebKitViewportAttributes is valid. + * + * Since: 1.3.8 + */ + g_object_class_install_property(gobjectClass, + PROP_HEIGHT, + g_param_spec_int( + "height", + _("Height"), + _("The height of the viewport."), + 0, + G_MAXINT, + 0, + WEBKIT_PARAM_READABLE)); + + /** + * WebKitViewportAttributs:initial-scale-factor: + * + * The initial scale of the viewport. Before getting this property, + * you need to make sure that #WebKitViewportAttributes is valid. + * + * Since: 1.3.8 + */ + g_object_class_install_property(gobjectClass, + PROP_INITIAL_SCALE_FACTOR, + g_param_spec_float( + "initial-scale-factor", + _("Initial Scale Factor"), + _("The initial scale of the viewport."), + -1, + G_MAXFLOAT, + -1, + WEBKIT_PARAM_READABLE)); + + /** + * WebKitViewportAttributs:minimum-scale-factor: + * + * The minimum scale of the viewport. Before getting this property, + * you need to make sure that #WebKitViewportAttributes is valid. + * + * Since: 1.3.8 + */ + g_object_class_install_property(gobjectClass, + PROP_MINIMUM_SCALE_FACTOR, + g_param_spec_float( + "minimum-scale-factor", + _("Minimum Scale Factor"), + _("The minimum scale of the viewport."), + -1, + G_MAXFLOAT, + -1, + WEBKIT_PARAM_READABLE)); + + /** + * WebKitViewportAttributs:maximum-scale-factor: + * + * The maximum scale of the viewport. Before getting this property, + * you need to make sure that #WebKitViewportAttributes is valid. + * + * Since: 1.3.8 + */ + g_object_class_install_property(gobjectClass, + PROP_MAXIMUM_SCALE_FACTOR, + g_param_spec_float( + "maximum-scale-factor", + _("Maximum Scale Factor"), + _("The maximum scale of the viewport."), + -1, + G_MAXFLOAT, + -1, + WEBKIT_PARAM_READABLE)); + + /** + * WebKitViewportAttributs:device-pixel-ratio: + * + * The device pixel ratio of the viewport. Before getting this property, + * you need to make sure that #WebKitViewportAttributes is valid. + * + * Since: 1.3.8 + */ + g_object_class_install_property(gobjectClass, + PROP_DEVICE_PIXEL_RATIO, + g_param_spec_float( + "device-pixel-ratio", + _("Device Pixel Ratio"), + _("The device pixel ratio of the viewport."), + -1, + G_MAXFLOAT, + -1, + WEBKIT_PARAM_READABLE)); + + /** + * WebKitViewportAttributs:user-scalable: + * + * Determines whether or not the user can zoom in and out. + * Before getting this property, you need to make sure that + * #WebKitViewportAttributes is valid. + * + * Since: 1.3.8 + */ + g_object_class_install_property(gobjectClass, + PROP_USER_SCALABLE, + g_param_spec_boolean( + _("user-scalable"), + _("User Scalable"), + _("Determines whether or not the user can zoom in and out."), + TRUE, + WEBKIT_PARAM_READABLE)); + + /** + * WebKitViewportAttributs:valid: + * + * Determines whether or not the attributes are valid. + * #WebKitViewportAttributes are only valid on pages + * which have a viewport meta tag, and have already + * had the attributes calculated. + * + * Since: 1.3.8 + */ + g_object_class_install_property(gobjectClass, + PROP_VALID, + g_param_spec_boolean( + _("valid"), + _("Valid"), + _("Determines whether or not the attributes are valid, and can be used."), + FALSE, + WEBKIT_PARAM_READABLE)); + + g_type_class_add_private(kclass, sizeof(WebKitViewportAttributesPrivate)); +} + +static void webkit_viewport_attributes_init(WebKitViewportAttributes* viewport) +{ + viewport->priv = G_TYPE_INSTANCE_GET_PRIVATE(viewport, WEBKIT_TYPE_VIEWPORT_ATTRIBUTES, WebKitViewportAttributesPrivate); + + viewport->priv->deviceWidth = 0; + viewport->priv->deviceHeight = 0; + viewport->priv->availableWidth = 0; + viewport->priv->availableHeight = 0; + viewport->priv->desktopWidth = 980; // This value works well for most web pages designed for desktop browsers. + viewport->priv->deviceDPI = 160; // It is the dpi of the original iPhone and Android devices. + viewport->priv->width = 0; + viewport->priv->height = 0; + viewport->priv->initialScaleFactor = -1; + viewport->priv->minimumScaleFactor = -1; + viewport->priv->maximumScaleFactor = -1; + viewport->priv->devicePixelRatio = -1; + viewport->priv->userScalable = TRUE; + viewport->priv->isValid = FALSE; +} + +static void webkit_viewport_attributes_get_property(GObject* object, guint propertyID, GValue* value, GParamSpec* paramSpec) +{ + WebKitViewportAttributes* viewportAttributes = WEBKIT_VIEWPORT_ATTRIBUTES(object); + WebKitViewportAttributesPrivate* priv = viewportAttributes->priv; + + switch (propertyID) { + case PROP_DEVICE_WIDTH: + g_value_set_int(value, priv->deviceWidth); + break; + case PROP_DEVICE_HEIGHT: + g_value_set_int(value, priv->deviceHeight); + break; + case PROP_AVAILABLE_WIDTH: + g_value_set_int(value, priv->availableWidth); + break; + case PROP_AVAILABLE_HEIGHT: + g_value_set_int(value, priv->availableHeight); + break; + case PROP_DESKTOP_WIDTH: + g_value_set_int(value, priv->desktopWidth); + break; + case PROP_DEVICE_DPI: + g_value_set_int(value, priv->deviceDPI); + break; + case PROP_WIDTH: + g_value_set_int(value, priv->width); + break; + case PROP_HEIGHT: + g_value_set_int(value, priv->height); + break; + case PROP_INITIAL_SCALE_FACTOR: + g_value_set_float(value, priv->initialScaleFactor); + break; + case PROP_MINIMUM_SCALE_FACTOR: + g_value_set_float(value, priv->minimumScaleFactor); + break; + case PROP_MAXIMUM_SCALE_FACTOR: + g_value_set_float(value, priv->maximumScaleFactor); + break; + case PROP_DEVICE_PIXEL_RATIO: + g_value_set_float(value, priv->devicePixelRatio); + break; + case PROP_USER_SCALABLE: + g_value_set_boolean(value, priv->userScalable); + break; + case PROP_VALID: + g_value_set_boolean(value, priv->isValid); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyID, paramSpec); + break; + } +} + +static void webkit_viewport_attributes_set_property(GObject* object, guint propertyID, const GValue* value, GParamSpec* paramSpec) +{ + WebKitViewportAttributes* viewportAttributes = WEBKIT_VIEWPORT_ATTRIBUTES(object); + WebKitViewportAttributesPrivate* priv = viewportAttributes->priv; + + switch (propertyID) { + case PROP_DEVICE_WIDTH: + priv->deviceWidth = g_value_get_int(value); + break; + case PROP_DEVICE_HEIGHT: + priv->deviceHeight = g_value_get_int(value); + break; + case PROP_AVAILABLE_WIDTH: + priv->availableWidth = g_value_get_int(value); + break; + case PROP_AVAILABLE_HEIGHT: + priv->availableHeight = g_value_get_int(value); + break; + case PROP_DESKTOP_WIDTH: + priv->desktopWidth = g_value_get_int(value); + break; + case PROP_DEVICE_DPI: + priv->deviceDPI = g_value_get_int(value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyID, paramSpec); + break; + } +} + +void webkitViewportAttributesRecompute(WebKitViewportAttributes* viewportAttributes) +{ + WebKitViewportAttributesPrivate* priv = viewportAttributes->priv; + WebKitWebView* webView = priv->webView; + + IntRect windowRect(webView->priv->corePage->chrome()->windowRect()); + priv->deviceWidth = windowRect.width(); + priv->deviceHeight = windowRect.height(); + + IntRect rect(webView->priv->corePage->chrome()->pageRect()); + priv->availableWidth = rect.width(); + priv->availableHeight = rect.height(); + + // First of all, we give the application an opportunity to override some of the values. + g_signal_emit_by_name(webView, "viewport-attributes-recompute-requested", viewportAttributes); + + ViewportArguments arguments = webView->priv->corePage->mainFrame()->document()->viewportArguments(); + + ViewportAttributes attributes = computeViewportAttributes(arguments, priv->desktopWidth, priv->deviceWidth, priv->deviceHeight, priv->deviceDPI, IntSize(priv->availableWidth, priv->availableHeight)); + + priv->width = attributes.layoutSize.width(); + priv->height = attributes.layoutSize.height(); + priv->initialScaleFactor = attributes.initialScale; + priv->minimumScaleFactor = attributes.minimumScale; + priv->maximumScaleFactor = attributes.maximumScale; + priv->devicePixelRatio = attributes.devicePixelRatio; + priv->userScalable = arguments.userScalable; + + if (!priv->isValid) { + priv->isValid = TRUE; + g_object_notify(G_OBJECT(viewportAttributes), "valid"); + } + + // Now let the application know it is safe to use the new values. + g_signal_emit_by_name(webView, "viewport-attributes-changed", viewportAttributes); +} + +/** + * webkit_viewport_attributes_recompute: + * @viewportAttributes: a #WebKitViewportAttributes + * + * Recompute the optimal viewport attributes and emit the viewport-attribute-changed signal. + * The viewport-attributes-recompute-requested signal also will be handled to override + * the device size, available size, desktop width, or device DPI. + * + * Since: 1.3.8 + */ +void webkit_viewport_attributes_recompute(WebKitViewportAttributes* viewportAttributes) +{ + if (!viewportAttributes->priv->isValid) + return; + webkitViewportAttributesRecompute(viewportAttributes); +} diff --git a/WebKit/gtk/webkit/webkitviewportattributes.h b/WebKit/gtk/webkit/webkitviewportattributes.h new file mode 100644 index 0000000..7d90c1b --- /dev/null +++ b/WebKit/gtk/webkit/webkitviewportattributes.h @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2010 Joone Hur <joone@kldp.org> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef webkitviewportattributes_h +#define webkitviewportattributes_h + +#include <glib-object.h> +#include <webkit/webkitdefines.h> + +G_BEGIN_DECLS + +#define WEBKIT_TYPE_VIEWPORT_ATTRIBUTES (webkit_viewport_attributes_get_type()) +#define WEBKIT_VIEWPORT_ATTRIBUTES(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_VIEWPORT_ATTRIBUTES, WebKitViewportAttributes)) +#define WEBKIT_VIEWPORT_ATTRIBUTES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_VIEWPORT_ATTRIBUTES, WebKitViewportAttributesClass)) +#define WEBKIT_IS_VIEWPORT_ATTRIBUTES(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_VIEWPORT_ATTRIBUTES)) +#define WEBKIT_IS_VIEWPORT_ATTRIBUTES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_VIEWPORT_ATTRIBUTES)) +#define WEBKIT_VIEWPORT_ATTRIBUTES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_VIEWPORT_ATTRIBUTES, WebKitViewportAttributesClass)) + +typedef struct _WebKitViewportAttributesPrivate WebKitViewportAttributesPrivate; + +struct _WebKitViewportAttributes { + GObject parent_instance; + + /*< private >*/ + WebKitViewportAttributesPrivate *priv; +}; + +struct _WebKitViewportAttributesClass { + GObjectClass parent_class; + + /* Padding for future expansion */ + void (*_webkit_reserved0) (void); + void (*_webkit_reserved1) (void); + void (*_webkit_reserved2) (void); + void (*_webkit_reserved3) (void); +}; + +WEBKIT_API GType +webkit_viewport_attributes_get_type (void); + +WEBKIT_API void +webkit_viewport_attributes_recompute(WebKitViewportAttributes* viewportAttributes); + +G_END_DECLS + +#endif diff --git a/WebKit/gtk/webkit/webkitviewportattributesprivate.h b/WebKit/gtk/webkit/webkitviewportattributesprivate.h new file mode 100644 index 0000000..11cb668 --- /dev/null +++ b/WebKit/gtk/webkit/webkitviewportattributesprivate.h @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther + * Copyright (C) 2008 Jan Michael C. Alonzo + * Copyright (C) 2008 Collabora Ltd. + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef webkitviewportattributesprivate_h +#define webkitnavigationactionprivate_h + +#include <webkit/webkitviewportattributes.h> + +extern "C" { + +struct _WebKitViewportAttributesPrivate { + WebKitWebView* webView; + int deviceWidth; + int deviceHeight; + int availableWidth; + int availableHeight; + int desktopWidth; + int deviceDPI; + + int width; + int height; + float initialScaleFactor; + float minimumScaleFactor; + float maximumScaleFactor; + float devicePixelRatio; + gboolean userScalable; + gboolean isValid; +}; + + +void webkitViewportAttributesRecompute(WebKitViewportAttributes*); + +} + +#endif diff --git a/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp b/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp index 9b5bf8b..c906ba3 100644 --- a/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp +++ b/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp @@ -24,8 +24,11 @@ #include "BackForwardListImpl.h" #include "HistoryItem.h" #include "webkitprivate.h" +#include "webkitwebbackforwardlistprivate.h" #include "webkitwebhistoryitem.h" +#include "webkitwebhistoryitemprivate.h" #include "webkitwebview.h" +#include "webkitwebviewprivate.h" #include <glib.h> /** @@ -55,8 +58,6 @@ struct _WebKitWebBackForwardListPrivate { gboolean disposed; }; -#define WEBKIT_WEB_BACK_FORWARD_LIST_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_BACK_FORWARD_LIST, WebKitWebBackForwardListPrivate)) - G_DEFINE_TYPE(WebKitWebBackForwardList, webkit_web_back_forward_list, G_TYPE_OBJECT); static void webkit_web_back_forward_list_dispose(GObject* object) @@ -90,7 +91,7 @@ static void webkit_web_back_forward_list_class_init(WebKitWebBackForwardListClas static void webkit_web_back_forward_list_init(WebKitWebBackForwardList* webBackForwardList) { - webBackForwardList->priv = WEBKIT_WEB_BACK_FORWARD_LIST_GET_PRIVATE(webBackForwardList); + webBackForwardList->priv = G_TYPE_INSTANCE_GET_PRIVATE(webBackForwardList, WEBKIT_TYPE_WEB_BACK_FORWARD_LIST, WebKitWebBackForwardListPrivate); } /** diff --git a/WebKit/gtk/webkit/webkitwebbackforwardlistprivate.h b/WebKit/gtk/webkit/webkitwebbackforwardlistprivate.h new file mode 100644 index 0000000..79424c0 --- /dev/null +++ b/WebKit/gtk/webkit/webkitwebbackforwardlistprivate.h @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther + * Copyright (C) 2008 Jan Michael C. Alonzo + * Copyright (C) 2008 Collabora Ltd. + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef webkitwebbackforwardlistprivate_h +#define webkitwebbackforwardlistprivate_h + +#include "BackForwardListImpl.h" + +namespace WebKit { + +WebCore::BackForwardListImpl* core(WebKitWebBackForwardList*); + +} + +#endif diff --git a/WebKit/gtk/webkit/webkitwebdatabase.cpp b/WebKit/gtk/webkit/webkitwebdatabase.cpp index 680d9c9..db72cde 100644 --- a/WebKit/gtk/webkit/webkitwebdatabase.cpp +++ b/WebKit/gtk/webkit/webkitwebdatabase.cpp @@ -20,13 +20,12 @@ #include "config.h" #include "webkitwebdatabase.h" -#include "webkitprivate.h" - #include "DatabaseDetails.h" #include "DatabaseTracker.h" -#include <wtf/text/CString.h> - +#include "webkitprivate.h" +#include "webkitsecurityoriginprivate.h" #include <glib/gi18n-lib.h> +#include <wtf/text/CString.h> /** * SECTION:webkitwebdatabase @@ -78,8 +77,6 @@ struct _WebKitWebDatabasePrivate { static gchar* webkit_database_directory_path = NULL; static guint64 webkit_default_database_quota = 5 * 1024 * 1024; -#define WEBKIT_WEB_DATABASE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_DATABASE, WebKitWebDatabasePrivate)) - static void webkit_web_database_set_security_origin(WebKitWebDatabase* webDatabase, WebKitSecurityOrigin* security_origin); static void webkit_web_database_set_name(WebKitWebDatabase* webDatabase, const gchar* name); @@ -251,7 +248,7 @@ static void webkit_web_database_class_init(WebKitWebDatabaseClass* klass) static void webkit_web_database_init(WebKitWebDatabase* webDatabase) { - webDatabase->priv = WEBKIT_WEB_DATABASE_GET_PRIVATE(webDatabase); + webDatabase->priv = G_TYPE_INSTANCE_GET_PRIVATE(webDatabase, WEBKIT_TYPE_WEB_DATABASE, WebKitWebDatabasePrivate); } // Internal use only diff --git a/WebKit/gtk/webkit/webkitwebdatasource.cpp b/WebKit/gtk/webkit/webkitwebdatasource.cpp index 38c9c48..7d967f7 100644 --- a/WebKit/gtk/webkit/webkitwebdatasource.cpp +++ b/WebKit/gtk/webkit/webkitwebdatasource.cpp @@ -22,18 +22,20 @@ #include "ArchiveResource.h" #include "DocumentLoaderGtk.h" -#include "FrameLoaderClientGtk.h" #include "FrameLoader.h" +#include "FrameLoaderClientGtk.h" #include "KURL.h" #include "PlatformString.h" #include "ResourceRequest.h" -#include "runtime/InitializeThreading.h" #include "SharedBuffer.h" #include "SubstituteData.h" -#include "webkitwebresource.h" +#include "runtime/InitializeThreading.h" +#include "webkitnetworkrequestprivate.h" #include "webkitprivate.h" +#include "webkitwebframeprivate.h" +#include "webkitwebresource.h" +#include "webkitwebviewprivate.h" #include "wtf/Assertions.h" - #include <glib.h> /** @@ -72,8 +74,6 @@ struct _WebKitWebDataSourcePrivate { gchar* unreachableURL; }; -#define WEBKIT_WEB_DATA_SOURCE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_DATA_SOURCE, WebKitWebDataSourcePrivate)) - G_DEFINE_TYPE(WebKitWebDataSource, webkit_web_data_source, G_TYPE_OBJECT); static void webkit_web_data_source_dispose(GObject* object) @@ -133,7 +133,7 @@ static void webkit_web_data_source_class_init(WebKitWebDataSourceClass* klass) static void webkit_web_data_source_init(WebKitWebDataSource* webDataSource) { - webDataSource->priv = WEBKIT_WEB_DATA_SOURCE_GET_PRIVATE(webDataSource); + webDataSource->priv = G_TYPE_INSTANCE_GET_PRIVATE(webDataSource, WEBKIT_TYPE_WEB_DATA_SOURCE, WebKitWebDataSourcePrivate); } WebKitWebDataSource* webkit_web_data_source_new_with_loader(PassRefPtr<WebKit::DocumentLoader> loader) @@ -242,7 +242,7 @@ WebKitNetworkRequest* webkit_web_data_source_get_initial_request(WebKitWebDataSo if (priv->initialRequest) g_object_unref(priv->initialRequest); - priv->initialRequest = webkit_network_request_new_with_core_request(request); + priv->initialRequest = kitNew(request); return priv->initialRequest; } @@ -275,7 +275,7 @@ WebKitNetworkRequest* webkit_web_data_source_get_request(WebKitWebDataSource* we if (priv->networkRequest) g_object_unref(priv->networkRequest); - priv->networkRequest = webkit_network_request_new_with_core_request(request); + priv->networkRequest = kitNew(request); return priv->networkRequest; } @@ -318,7 +318,7 @@ G_CONST_RETURN gchar* webkit_web_data_source_get_encoding(WebKitWebDataSource* w */ gboolean webkit_web_data_source_is_loading(WebKitWebDataSource* webDataSource) { - g_return_val_if_fail(WEBKIT_IS_WEB_DATA_SOURCE(webDataSource), NULL); + g_return_val_if_fail(WEBKIT_IS_WEB_DATA_SOURCE(webDataSource), FALSE); WebKitWebDataSourcePrivate* priv = webDataSource->priv; diff --git a/WebKit/gtk/webkit/webkitwebframe.cpp b/WebKit/gtk/webkit/webkitwebframe.cpp index fcb5197..ca2b681 100644 --- a/WebKit/gtk/webkit/webkitwebframe.cpp +++ b/WebKit/gtk/webkit/webkitwebframe.cpp @@ -25,16 +25,11 @@ */ #include "config.h" - -#include "webkitenumtypes.h" #include "webkitwebframe.h" -#include "webkitwebview.h" -#include "webkitmarshal.h" -#include "webkitprivate.h" +#include "AXObjectCache.h" #include "AccessibilityObjectWrapperAtk.h" #include "AnimationController.h" -#include "AXObjectCache.h" #include "DOMObjectCache.h" #include "DocumentLoader.h" #include "DocumentLoaderGtk.h" @@ -42,29 +37,37 @@ #include "FrameLoaderClientGtk.h" #include "FrameTree.h" #include "FrameView.h" -#include <glib/gi18n-lib.h> #include "GCController.h" #include "GraphicsContext.h" #include "GtkVersioning.h" #include "HTMLFrameOwnerElement.h" +#include "JSDOMBinding.h" #include "JSDOMWindow.h" #include "JSElement.h" -#include "JSLock.h" #include "PrintContext.h" #include "RenderListItem.h" -#include "RenderView.h" #include "RenderTreeAsText.h" -#include "JSDOMBinding.h" +#include "RenderView.h" #include "ScriptController.h" #include "SubstituteData.h" +#include "webkitenumtypes.h" +#include "webkitnetworkrequestprivate.h" +#include "webkitnetworkresponseprivate.h" +#include "webkitmarshal.h" +#include "webkitprivate.h" +#include "webkitsecurityoriginprivate.h" +#include "webkitwebframeprivate.h" +#include "webkitwebview.h" +#include "webkitwebviewprivate.h" +#include <JavaScriptCore/APICast.h> +#include <atk/atk.h> +#include <glib/gi18n-lib.h> +#include <wtf/text/CString.h> + #if ENABLE(SVG) #include "SVGSMILElement.h" #endif -#include <atk/atk.h> -#include <JavaScriptCore/APICast.h> -#include <wtf/text/CString.h> - /** * SECTION:webkitwebframe * @short_description: The content of a #WebKitWebView @@ -378,7 +381,7 @@ static void webkit_web_frame_class_init(WebKitWebFrameClass* frameClass) static void webkit_web_frame_init(WebKitWebFrame* frame) { - WebKitWebFramePrivate* priv = WEBKIT_WEB_FRAME_GET_PRIVATE(frame); + WebKitWebFramePrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(frame, WEBKIT_TYPE_WEB_FRAME, WebKitWebFramePrivate); // TODO: Move constructor code here. frame->priv = priv; @@ -401,7 +404,7 @@ WebKitWebFrame* webkit_web_frame_new(WebKitWebView* webView) WebKitWebFrame* frame = WEBKIT_WEB_FRAME(g_object_new(WEBKIT_TYPE_WEB_FRAME, NULL)); WebKitWebFramePrivate* priv = frame->priv; - WebKitWebViewPrivate* viewPriv = WEBKIT_WEB_VIEW_GET_PRIVATE(webView); + WebKitWebViewPrivate* viewPriv = webView->priv; priv->webView = webView; WebKit::FrameLoaderClient* client = new WebKit::FrameLoaderClient(frame); @@ -742,155 +745,6 @@ WebKitWebDataSource* webkit_web_frame_get_provisional_data_source(WebKitWebFrame return webkit_web_frame_get_data_source_from_core_loader(coreFrame->loader()->provisionalDocumentLoader()); } -/** - * webkit_web_frame_get_children: - * @frame: a #WebKitWebFrame - * - * Return value: child frames of @frame - */ -GSList* webkit_web_frame_get_children(WebKitWebFrame* frame) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL); - - Frame* coreFrame = core(frame); - if (!coreFrame) - return NULL; - - GSList* children = NULL; - for (Frame* child = coreFrame->tree()->firstChild(); child; child = child->tree()->nextSibling()) { - FrameLoader* loader = child->loader(); - WebKit::FrameLoaderClient* client = static_cast<WebKit::FrameLoaderClient*>(loader->client()); - if (client) - children = g_slist_append(children, client->webFrame()); - } - - return children; -} - -/** - * webkit_web_frame_get_inner_text: - * @frame: a #WebKitWebFrame - * - * Return value: inner text of @frame - */ -gchar* webkit_web_frame_get_inner_text(WebKitWebFrame* frame) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL); - - Frame* coreFrame = core(frame); - if (!coreFrame) - return g_strdup(""); - - FrameView* view = coreFrame->view(); - - if (view && view->layoutPending()) - view->layout(); - - Element* documentElement = coreFrame->document()->documentElement(); - String string = documentElement->innerText(); - return g_strdup(string.utf8().data()); -} - -/** - * webkit_web_frame_dump_render_tree: - * @frame: a #WebKitWebFrame - * - * Return value: Non-recursive render tree dump of @frame - */ -gchar* webkit_web_frame_dump_render_tree(WebKitWebFrame* frame) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL); - - Frame* coreFrame = core(frame); - if (!coreFrame) - return g_strdup(""); - - FrameView* view = coreFrame->view(); - - if (view && view->layoutPending()) - view->layout(); - - String string = externalRepresentation(coreFrame); - return g_strdup(string.utf8().data()); -} - -/** - * webkit_web_frame_counter_value_for_element_by_id: - * @frame: a #WebKitWebFrame - * @id: an element ID string - * - * Return value: The counter value of element @id in @frame - */ -gchar* webkit_web_frame_counter_value_for_element_by_id(WebKitWebFrame* frame, const gchar* id) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL); - - Frame* coreFrame = core(frame); - if (!coreFrame) - return 0; - - Element* coreElement = coreFrame->document()->getElementById(AtomicString(id)); - if (!coreElement) - return 0; - String counterValue = counterValueForElement(coreElement); - return g_strdup(counterValue.utf8().data()); -} - -/** - * webkit_web_frame_page_number_for_element_by_id - * @frame: a #WebKitWebFrame - * @id: an element ID string - * @pageWidth: width of a page - * @pageHeight: height of a page - * - * Return value: The number of page where the specified element will be put - */ -int webkit_web_frame_page_number_for_element_by_id(WebKitWebFrame* frame, const gchar* id, float pageWidth, float pageHeight) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL); - - Frame* coreFrame = core(frame); - if (!coreFrame) - return -1; - - Element* coreElement = coreFrame->document()->getElementById(AtomicString(id)); - if (!coreElement) - return -1; - return PrintContext::pageNumberForElement(coreElement, FloatSize(pageWidth, pageHeight)); -} - -/** - * webkit_web_frame_number_of_pages - * @frame: a #WebKitWebFrame - * @pageWidth: width of a page - * @pageHeight: height of a page - * - * Return value: The number of pages to be printed. - */ -int webkit_web_frame_number_of_pages(WebKitWebFrame* frame, float pageWidth, float pageHeight) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL); - - Frame* coreFrame = core(frame); - if (!coreFrame) - return -1; - - return PrintContext::numberOfPages(coreFrame, FloatSize(pageWidth, pageHeight)); -} - -/** - * webkit_web_frame_get_pending_unload_event_count: - * @frame: a #WebKitWebFrame - * - * Return value: number of pending unload events - */ -guint webkit_web_frame_get_pending_unload_event_count(WebKitWebFrame* frame) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0); - - return core(frame)->domWindow()->pendingUnloadEventListeners(); -} - static void begin_print_callback(GtkPrintOperation* op, GtkPrintContext* context, gpointer user_data) { PrintContext* printContext = reinterpret_cast<PrintContext*>(user_data); @@ -1001,81 +855,6 @@ void webkit_web_frame_print(WebKitWebFrame* frame) } } -bool webkit_web_frame_pause_animation(WebKitWebFrame* frame, const gchar* name, double time, const gchar* element) -{ - ASSERT(core(frame)); - Element* coreElement = core(frame)->document()->getElementById(AtomicString(element)); - if (!coreElement || !coreElement->renderer()) - return false; - return core(frame)->animation()->pauseAnimationAtTime(coreElement->renderer(), AtomicString(name), time); -} - -bool webkit_web_frame_pause_transition(WebKitWebFrame* frame, const gchar* name, double time, const gchar* element) -{ - ASSERT(core(frame)); - Element* coreElement = core(frame)->document()->getElementById(AtomicString(element)); - if (!coreElement || !coreElement->renderer()) - return false; - return core(frame)->animation()->pauseTransitionAtTime(coreElement->renderer(), AtomicString(name), time); -} - -bool webkit_web_frame_pause_svg_animation(WebKitWebFrame* frame, const gchar* animationId, double time, const gchar* elementId) -{ - ASSERT(core(frame)); -#if ENABLE(SVG) - Document* document = core(frame)->document(); - if (!document || !document->svgExtensions()) - return false; - Element* coreElement = document->getElementById(AtomicString(animationId)); - if (!coreElement || !SVGSMILElement::isSMILElement(coreElement)) - return false; - return document->accessSVGExtensions()->sampleAnimationAtTime(elementId, static_cast<SVGSMILElement*>(coreElement), time); -#else - return false; -#endif -} - -gchar* webkit_web_frame_marker_text_for_list_item(WebKitWebFrame* frame, JSContextRef context, JSValueRef nodeObject) -{ - JSC::ExecState* exec = toJS(context); - Element* element = toElement(toJS(exec, nodeObject)); - if (!element) - return 0; - - return g_strdup(markerTextForListItem(element).utf8().data()); -} - -unsigned int webkit_web_frame_number_of_active_animations(WebKitWebFrame* frame) -{ - Frame* coreFrame = core(frame); - if (!coreFrame) - return 0; - - AnimationController* controller = coreFrame->animation(); - if (!controller) - return 0; - - return controller->numberOfActiveAnimations(); -} - -void webkit_web_frame_suspend_animations(WebKitWebFrame* frame) -{ - Frame* coreFrame = core(frame); - if (!coreFrame) - return; - - coreFrame->animation()->suspendAnimations(); -} - -void webkit_web_frame_resume_animations(WebKitWebFrame* frame) -{ - Frame* coreFrame = core(frame); - if (!coreFrame) - return; - - coreFrame->animation()->resumeAnimations(); -} - gchar* webkit_web_frame_get_response_mime_type(WebKitWebFrame* frame) { Frame* coreFrame = core(frame); @@ -1100,56 +879,6 @@ WebKitLoadStatus webkit_web_frame_get_load_status(WebKitWebFrame* frame) return priv->loadStatus; } -void webkit_web_frame_clear_main_frame_name(WebKitWebFrame* frame) -{ - g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame)); - - core(frame)->tree()->clearName(); -} - -void webkit_gc_collect_javascript_objects() -{ - gcController().garbageCollectNow(); -} - -void webkit_gc_collect_javascript_objects_on_alternate_thread(gboolean waitUntilDone) -{ - gcController().garbageCollectOnAlternateThreadForDebugging(waitUntilDone); -} - -gsize webkit_gc_count_javascript_objects() -{ - JSC::JSLock lock(JSC::SilenceAssertionsOnly); - return JSDOMWindow::commonJSGlobalData()->heap.objectCount(); - -} - -AtkObject* webkit_web_frame_get_focused_accessible_element(WebKitWebFrame* frame) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL); - -#if HAVE(ACCESSIBILITY) - if (!AXObjectCache::accessibilityEnabled()) - AXObjectCache::enableAccessibility(); - - WebKitWebFramePrivate* priv = frame->priv; - if (!priv->coreFrame || !priv->coreFrame->document()) - return NULL; - - RenderView* root = toRenderView(priv->coreFrame->document()->renderer()); - if (!root) - return NULL; - - AtkObject* wrapper = priv->coreFrame->document()->axObjectCache()->getOrCreate(root)->wrapper(); - if (!wrapper) - return NULL; - - return webkit_accessible_get_focused_element(WEBKIT_ACCESSIBLE(wrapper)); -#else - return NULL; -#endif -} - GtkPolicyType webkit_web_frame_get_horizontal_scrollbar_policy(WebKitWebFrame* frame) { g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), GTK_POLICY_AUTOMATIC); @@ -1216,19 +945,6 @@ WebKitSecurityOrigin* webkit_web_frame_get_security_origin(WebKitWebFrame* frame return priv->origin; } -void webkit_web_frame_layout(WebKitWebFrame* frame) -{ - Frame* coreFrame = core(frame); - if (!coreFrame) - return; - - FrameView* view = coreFrame->view(); - if (!view) - return; - - view->layout(); -} - /** * webkit_web_frame_get_network_response: * @frame: a #WebKitWebFrame @@ -1252,5 +968,34 @@ WebKitNetworkResponse* webkit_web_frame_get_network_response(WebKitWebFrame* fra if (!loader) return NULL; - return webkit_network_response_new_with_core_response(loader->response()); + return kitNew(loader->response()); +} + +namespace WebKit { + +WebKitWebView* getViewFromFrame(WebKitWebFrame* frame) +{ + WebKitWebFramePrivate* priv = frame->priv; + return priv->webView; +} + +WebCore::Frame* core(WebKitWebFrame* frame) +{ + if (!frame) + return 0; + + WebKitWebFramePrivate* priv = frame->priv; + return priv ? priv->coreFrame : 0; +} + +WebKitWebFrame* kit(WebCore::Frame* coreFrame) +{ + if (!coreFrame) + return 0; + + ASSERT(coreFrame->loader()); + WebKit::FrameLoaderClient* client = static_cast<WebKit::FrameLoaderClient*>(coreFrame->loader()->client()); + return client ? client->webFrame() : 0; +} + } diff --git a/WebKit/gtk/webkit/webkitwebframeprivate.h b/WebKit/gtk/webkit/webkitwebframeprivate.h new file mode 100644 index 0000000..23f1e40 --- /dev/null +++ b/WebKit/gtk/webkit/webkitwebframeprivate.h @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther + * Copyright (C) 2008 Jan Michael C. Alonzo + * Copyright (C) 2008 Collabora Ltd. + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef webkitwebframeprivate_h +#define webkitwebframeprivate_h + +namespace WebKit { + +WebKitWebView* getViewFromFrame(WebKitWebFrame*); + +WebCore::Frame* core(WebKitWebFrame*); +WebKitWebFrame* kit(WebCore::Frame*); + +} + +extern "C" { + +typedef struct _WebKitWebFramePrivate WebKitWebFramePrivate; +struct _WebKitWebFramePrivate { + WebCore::Frame* coreFrame; + WebKitWebView* webView; + + gchar* name; + gchar* title; + gchar* uri; + WebKitLoadStatus loadStatus; + WebKitSecurityOrigin* origin; +}; + +void webkit_web_frame_core_frame_gone(WebKitWebFrame*); + +// FIXME: move this functionality into 'WebKitWebDataSource'? +WEBKIT_API gchar* webkit_web_frame_get_response_mime_type(WebKitWebFrame*); + +} + +#endif diff --git a/WebKit/gtk/webkit/webkitwebhistoryitem.cpp b/WebKit/gtk/webkit/webkitwebhistoryitem.cpp index ce30704..ac8e57f 100644 --- a/WebKit/gtk/webkit/webkitwebhistoryitem.cpp +++ b/WebKit/gtk/webkit/webkitwebhistoryitem.cpp @@ -23,11 +23,11 @@ #include "webkitwebhistoryitem.h" #include "webkitprivate.h" -#include <glib.h> -#include <glib/gi18n-lib.h> - #include "HistoryItem.h" #include "PlatformString.h" +#include "webkitwebhistoryitemprivate.h" +#include <glib.h> +#include <glib/gi18n-lib.h> #include <wtf/text/CString.h> /** @@ -62,8 +62,6 @@ struct _WebKitWebHistoryItemPrivate { gboolean disposed; }; -#define WEBKIT_WEB_HISTORY_ITEM_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_HISTORY_ITEM, WebKitWebHistoryItemPrivate)) - enum { PROP_0, @@ -217,7 +215,7 @@ static void webkit_web_history_item_class_init(WebKitWebHistoryItemClass* klass) static void webkit_web_history_item_init(WebKitWebHistoryItem* webHistoryItem) { - webHistoryItem->priv = WEBKIT_WEB_HISTORY_ITEM_GET_PRIVATE(webHistoryItem); + webHistoryItem->priv = G_TYPE_INSTANCE_GET_PRIVATE(webHistoryItem, WEBKIT_TYPE_WEB_HISTORY_ITEM, WebKitWebHistoryItemPrivate); } static void webkit_web_history_item_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec) diff --git a/WebKit/gtk/webkit/webkitwebhistoryitemprivate.h b/WebKit/gtk/webkit/webkitwebhistoryitemprivate.h new file mode 100644 index 0000000..22b50ee --- /dev/null +++ b/WebKit/gtk/webkit/webkitwebhistoryitemprivate.h @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther + * Copyright (C) 2008 Jan Michael C. Alonzo + * Copyright (C) 2008 Collabora Ltd. + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef webkitwebhistoryitemprivate_h +#define webkitwebhistoryitemprivate_h + +#include "HistoryItem.h" + +namespace WebKit { + +WebCore::HistoryItem* core(WebKitWebHistoryItem*); +WebKitWebHistoryItem* kit(PassRefPtr<WebCore::HistoryItem>); + +} + +extern "C" { + +GHashTable* webkit_history_items(); + +WebKitWebHistoryItem* webkit_web_history_item_new_with_core_item(PassRefPtr<WebCore::HistoryItem>); + +WEBKIT_API G_CONST_RETURN gchar* webkit_web_history_item_get_target(WebKitWebHistoryItem*); + +WEBKIT_API gboolean webkit_web_history_item_is_target_item(WebKitWebHistoryItem*); + +WEBKIT_API GList* webkit_web_history_item_get_children(WebKitWebHistoryItem*); + +} + +#endif diff --git a/WebKit/gtk/webkit/webkitwebinspector.cpp b/WebKit/gtk/webkit/webkitwebinspector.cpp index 626df32..ad455bb 100644 --- a/WebKit/gtk/webkit/webkitwebinspector.cpp +++ b/WebKit/gtk/webkit/webkitwebinspector.cpp @@ -24,7 +24,6 @@ #include "FocusController.h" #include "Frame.h" -#include <glib/gi18n-lib.h> #include "HitTestRequest.h" #include "HitTestResult.h" #include "InspectorClientGtk.h" @@ -35,6 +34,8 @@ #include "webkit/WebKitDOMNodePrivate.h" #include "webkitmarshal.h" #include "webkitprivate.h" +#include "webkitwebinspectorprivate.h" +#include <glib/gi18n-lib.h> /** * SECTION:webkitwebinspector @@ -97,8 +98,6 @@ struct _WebKitWebInspectorPrivate { gchar* inspected_uri; }; -#define WEBKIT_WEB_INSPECTOR_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_INSPECTOR, WebKitWebInspectorPrivate)) - static void webkit_web_inspector_finalize(GObject* object); static void webkit_web_inspector_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec); @@ -325,7 +324,7 @@ static void webkit_web_inspector_class_init(WebKitWebInspectorClass* klass) static void webkit_web_inspector_init(WebKitWebInspector* web_inspector) { - web_inspector->priv = WEBKIT_WEB_INSPECTOR_GET_PRIVATE(web_inspector); + web_inspector->priv = G_TYPE_INSTANCE_GET_PRIVATE(web_inspector, WEBKIT_TYPE_WEB_INSPECTOR, WebKitWebInspectorPrivate); } static void webkit_web_inspector_finalize(GObject* object) @@ -578,3 +577,42 @@ void webkit_web_inspector_execute_script(WebKitWebInspector* webInspector, long WebKitWebInspectorPrivate* priv = webInspector->priv; priv->page->inspectorController()->evaluateForTestInFrontend(callId, script); } + +#ifdef HAVE_GSETTINGS +static bool isSchemaAvailable(const char* schemaID) +{ + const char* const* availableSchemas = g_settings_list_schemas(); + char* const* iter = const_cast<char* const*>(availableSchemas); + + while (*iter) { + if (g_str_equal(schemaID, *iter)) + return true; + iter++; + } + + return false; +} + +GSettings* inspectorGSettings() +{ + static GSettings* settings = 0; + + if (settings) + return settings; + + const gchar* schemaID = "org.webkitgtk-"WEBKITGTK_API_VERSION_STRING".inspector"; + + // Unfortunately GSettings will abort the process execution if the + // schema is not installed, which is the case for when running + // tests, or even the introspection dump at build time, so check + // if we have the schema before trying to initialize it. + if (!isSchemaAvailable(schemaID)) { + g_warning("GSettings schema not found - settings will not be used or saved."); + return 0; + } + + settings = g_settings_new(schemaID); + + return settings; +} +#endif diff --git a/WebKit/gtk/webkit/webkitwebinspectorprivate.h b/WebKit/gtk/webkit/webkitwebinspectorprivate.h new file mode 100644 index 0000000..46d57b0 --- /dev/null +++ b/WebKit/gtk/webkit/webkitwebinspectorprivate.h @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther + * Copyright (C) 2008 Jan Michael C. Alonzo + * Copyright (C) 2008 Collabora Ltd. + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef webkitwebinspectorprivate_h +#define webkitwebinspectorprivate_h + +extern "C" { + +#ifdef HAVE_GSETTINGS +GSettings* inspectorGSettings(); +#endif + +void webkit_web_inspector_set_inspector_client(WebKitWebInspector*, WebCore::Page*); + +void webkit_web_inspector_set_web_view(WebKitWebInspector*, WebKitWebView*); + +void webkit_web_inspector_set_inspected_uri(WebKitWebInspector*, const gchar*); + +WEBKIT_API void webkit_web_inspector_execute_script(WebKitWebInspector*, long callId, const gchar* script); + +} + +#endif diff --git a/WebKit/gtk/webkit/webkitwebnavigationaction.cpp b/WebKit/gtk/webkit/webkitwebnavigationaction.cpp index ce5dd92..b12279e 100644 --- a/WebKit/gtk/webkit/webkitwebnavigationaction.cpp +++ b/WebKit/gtk/webkit/webkitwebnavigationaction.cpp @@ -48,8 +48,6 @@ struct _WebKitWebNavigationActionPrivate { gchar* targetFrame; }; -#define WEBKIT_WEB_NAVIGATION_ACTION_GET_PRIVATE(obj)(G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_NAVIGATION_ACTION, WebKitWebNavigationActionPrivate)) - enum { PROP_0, @@ -118,7 +116,7 @@ static void webkit_web_navigation_action_set_property(GObject* object, guint pro static void webkit_web_navigation_action_init(WebKitWebNavigationAction* navigationAction) { - navigationAction->priv = WEBKIT_WEB_NAVIGATION_ACTION_GET_PRIVATE(navigationAction); + navigationAction->priv = G_TYPE_INSTANCE_GET_PRIVATE(navigationAction, WEBKIT_TYPE_WEB_NAVIGATION_ACTION, WebKitWebNavigationActionPrivate); } static void webkit_web_navigation_action_finalize(GObject* obj) @@ -369,3 +367,17 @@ static void webkit_web_navigation_action_set_target_frame(WebKitWebNavigationAct navigationAction->priv->targetFrame = g_strdup(targetFrame); g_object_notify(G_OBJECT(navigationAction), "target-frame"); } + +namespace WebKit { + +WebKitWebNavigationReason kit(WebCore::NavigationType type) +{ + return (WebKitWebNavigationReason)type; +} + +WebCore::NavigationType core(WebKitWebNavigationReason type) +{ + return static_cast<WebCore::NavigationType>(type); +} + +} diff --git a/WebKit/gtk/webkit/webkitwebnavigationactionprivate.h b/WebKit/gtk/webkit/webkitwebnavigationactionprivate.h new file mode 100644 index 0000000..a8bc5ca --- /dev/null +++ b/WebKit/gtk/webkit/webkitwebnavigationactionprivate.h @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther + * Copyright (C) 2008 Jan Michael C. Alonzo + * Copyright (C) 2008 Collabora Ltd. + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef webkitwebnavigationactionprivate_h +#define webkitnavigationactionprivate_h + +#include <webkit/webkitwebnavigationaction.h> + +namespace WebKit { + +WebKitWebNavigationReason kit(WebCore::NavigationType); +WebCore::NavigationType core(WebKitWebNavigationReason); + +} + +#endif diff --git a/WebKit/gtk/webkit/webkitwebplugin.cpp b/WebKit/gtk/webkit/webkitwebplugin.cpp new file mode 100644 index 0000000..0b06416 --- /dev/null +++ b/WebKit/gtk/webkit/webkitwebplugin.cpp @@ -0,0 +1,251 @@ +/* + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "config.h" +#include "webkitwebplugin.h" + +#include "PluginPackage.h" +#include "webkitprivate.h" +#include "webkitwebpluginprivate.h" +#include <glib/gi18n-lib.h> + +/** + * SECTION:webkitwebplugin + * @short_description: Represents a plugin, enabling fine-grained control + * @see_also: #WebKitWebPluginDatabase + * + * This object represents a single plugin, found by WebKitGTK+ while + * scanning the various usual directories. This object can be used to + * get more information about a plugin, and enable/disable it, + * allowing fine-grained control of plugins. The list of available + * plugins can be obtained from the #WebKitWebPluginDatabase object. + */ + +using namespace WebCore; + +enum { + PROP_0, + + PROP_ENABLED +}; + +G_DEFINE_TYPE(WebKitWebPlugin, webkit_web_plugin, G_TYPE_OBJECT) + +static void freeMIMEType(WebKitWebPluginMIMEType* mimeType) +{ + if (mimeType->name) + g_free(mimeType->name); + if (mimeType->description) + g_free(mimeType->description); + if (mimeType->extensions) + g_strfreev(mimeType->extensions); + g_slice_free(WebKitWebPluginMIMEType, mimeType); +} + +static void webkit_web_plugin_finalize(GObject* object) +{ + WebKitWebPlugin* plugin = WEBKIT_WEB_PLUGIN(object); + WebKitWebPluginPrivate* priv = plugin->priv; + + g_slist_foreach(priv->mimeTypes, (GFunc)freeMIMEType, 0); + g_slist_free(priv->mimeTypes); + + delete plugin->priv; + + G_OBJECT_CLASS(webkit_web_plugin_parent_class)->finalize(object); +} + +static void webkit_web_plugin_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* paramSpec) +{ + WebKitWebPlugin* plugin = WEBKIT_WEB_PLUGIN(object); + + switch (prop_id) { + case PROP_ENABLED: + g_value_set_boolean(value, webkit_web_plugin_get_enabled(plugin)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, paramSpec); + } +} + +static void webkit_web_plugin_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* paramSpec) +{ + WebKitWebPlugin* plugin = WEBKIT_WEB_PLUGIN(object); + + switch (prop_id) { + case PROP_ENABLED: + webkit_web_plugin_set_enabled(plugin, g_value_get_boolean(value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, paramSpec); + } +} + +static void webkit_web_plugin_class_init(WebKitWebPluginClass* klass) +{ + webkit_init(); + + GObjectClass* gobjectClass = reinterpret_cast<GObjectClass*>(klass); + + gobjectClass->finalize = webkit_web_plugin_finalize; + gobjectClass->get_property = webkit_web_plugin_get_property; + gobjectClass->set_property = webkit_web_plugin_set_property; + + g_object_class_install_property(gobjectClass, + PROP_ENABLED, + g_param_spec_boolean("enabled", + _("Enabled"), + _("Whether the plugin is enabled"), + FALSE, + WEBKIT_PARAM_READWRITE)); +} + +static void webkit_web_plugin_init(WebKitWebPlugin *plugin) +{ + plugin->priv = new WebKitWebPluginPrivate(); + plugin->priv->mimeTypes = 0; +} + +namespace WebKit { +WebKitWebPlugin* kitNew(WebCore::PluginPackage* package) +{ + WebKitWebPlugin* plugin = WEBKIT_WEB_PLUGIN(g_object_new(WEBKIT_TYPE_WEB_PLUGIN, 0)); + + plugin->priv->corePlugin = package; + + return plugin; +} +} + +/** + * webkit_web_plugin_get_name: + * @plugin: a #WebKitWebPlugin + * + * Returns: the name string for @plugin. + * + * Since: 1.3.8 + */ +const char* webkit_web_plugin_get_name(WebKitWebPlugin* plugin) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_PLUGIN(plugin), 0); + + WebKitWebPluginPrivate* priv = plugin->priv; + + if (!priv->name.length()) + priv->name = priv->corePlugin->name().utf8(); + + return priv->name.data(); +} + +/** + * webkit_web_plugin_get_description: + * @plugin: a #WebKitWebPlugin + * + * Returns: the description string for @plugin. + * + * Since: 1.3.8 + */ +const char* webkit_web_plugin_get_description(WebKitWebPlugin* plugin) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_PLUGIN(plugin), 0); + + WebKitWebPluginPrivate* priv = plugin->priv; + + if (!priv->description.length()) + priv->description = priv->corePlugin->description().utf8(); + + return priv->description.data(); +} + +/** + * webkit_web_plugin_get_mimetypes: + * @plugin: a #WebKitWebPlugin + * + * Returns all the #WebKitWebPluginMIMEType that @plugin is handling + * at the moment. + * + * Returns: (transfer none) (element-type WebKitWebPluginMIMEType): a #GSList of #WebKitWebPluginMIMEType + * + * Since: 1.3.8 + */ +GSList* webkit_web_plugin_get_mimetypes(WebKitWebPlugin* plugin) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_PLUGIN(plugin), 0); + + WebKitWebPluginPrivate* priv = plugin->priv; + + if (priv->mimeTypes) + return priv->mimeTypes; + + const MIMEToDescriptionsMap& mimeToDescriptions = priv->corePlugin->mimeToDescriptions(); + MIMEToDescriptionsMap::const_iterator end = mimeToDescriptions.end(); + + for (MIMEToDescriptionsMap::const_iterator it = mimeToDescriptions.begin(); it != end; ++it) { + WebKitWebPluginMIMEType* mimeType = g_slice_new0(WebKitWebPluginMIMEType); + mimeType->name = g_strdup(it->first.utf8().data()); + mimeType->description = g_strdup(it->second.utf8().data()); + + Vector<String> extensions = priv->corePlugin->mimeToExtensions().get(it->first); + mimeType->extensions = static_cast<gchar**>(g_malloc0(extensions.size() + 1)); + for (unsigned i = 0; i < extensions.size(); i++) + mimeType->extensions[i] = g_strdup(extensions[i].utf8().data()); + + priv->mimeTypes = g_slist_append(priv->mimeTypes, mimeType); + } + + return priv->mimeTypes; +} + +/** + * webkit_web_plugin_set_enabled: + * @plugin: a #WebKitWebPlugin + * @enabled: whether to enable the plugin + * + * Sets the enabled status of the @plugin. + * + * Since: 1.3.8 + */ +void webkit_web_plugin_set_enabled(WebKitWebPlugin* plugin, gboolean enabled) +{ + g_return_if_fail(WEBKIT_IS_WEB_PLUGIN(plugin)); + WebKitWebPluginPrivate* priv = plugin->priv; + + ASSERT(priv->corePlugin); + if (priv->corePlugin->isEnabled() == enabled) + return; + + priv->corePlugin->setEnabled(enabled); + + g_object_notify(G_OBJECT(plugin), "enabled"); +} + +/** + * webkit_web_plugin_get_enabled: + * @plugin: a #WebKitWebPlugin + * + * Returns: %TRUE if the plugin is enabled, %FALSE otherwise + * + * Since: 1.3.8 + */ +gboolean webkit_web_plugin_get_enabled(WebKitWebPlugin* plugin) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_PLUGIN(plugin), FALSE); + + ASSERT(plugin->priv->corePlugin); + return plugin->priv->corePlugin->isEnabled(); +} diff --git a/WebKit/gtk/webkit/webkitwebplugin.h b/WebKit/gtk/webkit/webkitwebplugin.h new file mode 100644 index 0000000..3514d1e --- /dev/null +++ b/WebKit/gtk/webkit/webkitwebplugin.h @@ -0,0 +1,87 @@ +/* + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef webkitwebplugin_h +#define webkitwebplugin_h + +#include <glib-object.h> + +#include <webkit/webkitdefines.h> + +G_BEGIN_DECLS + +#define WEBKIT_TYPE_WEB_PLUGIN (webkit_web_plugin_get_type()) +#define WEBKIT_WEB_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_PLUGIN, WebKitWebPlugin)) +#define WEBKIT_WEB_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_PLUGIN, WebKitWebPluginClass)) +#define WEBKIT_IS_WEB_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_PLUGIN)) +#define WEBKIT_IS_WEB_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_PLUGIN)) +#define WEBKIT_WEB_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_PLUGIN, WebKitWebPluginClass)) + +typedef struct _WebKitWebPluginPrivate WebKitWebPluginPrivate; + +/** + * WebKitWebPluginMIMEType: + * @name: the name of the MIME type. + * @description: the description of the MIME type. + * @extensions: a %NULL-terminated array with the extensions + * associated with this MIME type. + * + * A structure representing one of the MIME types associated with a + * plugin. A #GSList of these objects will be returned by + * #webkit_web_plugin_get_mimetypes, use + * #webkit_web_plugin_mime_type_list_free to free it. + * + * Since: 1.3.8 + */ +typedef struct _WebKitWebPluginMIMEType { + char* name; + char* description; + char** extensions; +} WebKitWebPluginMIMEType; + +struct _WebKitWebPluginClass { + GObjectClass parentClass; +}; + +struct _WebKitWebPlugin { + GObject parentInstance; + + WebKitWebPluginPrivate* priv; +}; + +WEBKIT_API GType +webkit_web_plugin_get_type (void) G_GNUC_CONST; + +WEBKIT_API const char* +webkit_web_plugin_get_name (WebKitWebPlugin*); + +WEBKIT_API const char* +webkit_web_plugin_get_description (WebKitWebPlugin*); + +WEBKIT_API GSList* +webkit_web_plugin_get_mimetypes (WebKitWebPlugin*); + +WEBKIT_API void +webkit_web_plugin_set_enabled (WebKitWebPlugin*, gboolean); + +WEBKIT_API gboolean +webkit_web_plugin_get_enabled (WebKitWebPlugin*); + +G_END_DECLS + +#endif diff --git a/WebKit/gtk/webkit/webkitwebplugindatabase.cpp b/WebKit/gtk/webkit/webkitwebplugindatabase.cpp new file mode 100644 index 0000000..08328a0 --- /dev/null +++ b/WebKit/gtk/webkit/webkitwebplugindatabase.cpp @@ -0,0 +1,151 @@ +/* + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "config.h" +#include "webkitwebplugindatabase.h" + +#include "PluginDatabase.h" +#include "webkitprivate.h" +#include "webkitwebplugindatabaseprivate.h" +#include "webkitwebpluginprivate.h" + +/** + * SECTION:webkitwebplugindatabase + * @short_description: Provides information about the plugins the engine knows about + * @see_also: #WebKitWebPlugin + * + * This object allows you to query information about the plugins found + * by the engine while scanning the usual directories. You can then + * use the #WebKitWebPlugin objects to get more information or + * enable/disable individual plugins. + */ + +using namespace WebKit; +using namespace WebCore; + +G_DEFINE_TYPE(WebKitWebPluginDatabase, webkit_web_plugin_database, G_TYPE_OBJECT) + +static void webkit_web_plugin_database_dispose(GObject* object) +{ + G_OBJECT_CLASS(webkit_web_plugin_database_parent_class)->dispose(object); +} + +static void webkit_web_plugin_database_class_init(WebKitWebPluginDatabaseClass* klass) +{ + webkit_init(); + + GObjectClass* gobjectClass = reinterpret_cast<GObjectClass*>(klass); + + gobjectClass->dispose = webkit_web_plugin_database_dispose; + + g_type_class_add_private(klass, sizeof(WebKitWebPluginDatabasePrivate)); +} + +static void webkit_web_plugin_database_init(WebKitWebPluginDatabase* database) +{ + WebKitWebPluginDatabasePrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(database, WEBKIT_TYPE_WEB_PLUGIN_DATABASE, WebKitWebPluginDatabasePrivate); + database->priv = priv; + + priv->coreDatabase = PluginDatabase::installedPlugins(); +} + +/** + * webkit_web_plugin_database_list_free: + * @list: a #WebKitWebPluginDatabasePluginList + * + * Frees @list. + * + * Since: 1.3.8 + */ +void webkit_web_plugin_database_plugins_list_free(GSList* list) +{ + g_return_if_fail(list); + + for (GSList* p = list; p; p = p->next) + g_object_unref(p->data); + + g_slist_free(list); +} + +/** + * webkit_web_plugin_database_get_plugins: + * @database: a #WebKitWebPluginDatabase + * + * Returns all #WebKitWebPlugin available in @database. + * The returned list must be freed with webkit_web_plugin_database_plugins_list_free() + * + * Returns: (transfer full) (element-type WebKitWebPlugin): a #GSList of #WebKitWebPlugin + * + * Since: 1.3.8 + */ +GSList* webkit_web_plugin_database_get_plugins(WebKitWebPluginDatabase* database) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_PLUGIN_DATABASE(database), 0); + + GSList* gPlugins = 0; + const Vector<PluginPackage*>& plugins = database->priv->coreDatabase->plugins(); + + for (unsigned int i = 0; i < plugins.size(); ++i) { + PluginPackage* plugin = plugins[i]; + gPlugins = g_slist_append(gPlugins, kitNew(plugin)); + } + + return gPlugins; +} + +/** + * webkit_web_plugin_database_get_plugin_for_mimetype: + * @database: a #WebKitWebPluginDatabase + * @mimeType: a mime type + * + * Returns the #WebKitWebPlugin that is handling @mimeType in the + * @database, or %NULL if there's none doing so. + * + * Returns: (transfer full): a #WebKitWebPlugin + * + * Since: 1.3.8 + */ +WebKitWebPlugin* webkit_web_plugin_database_get_plugin_for_mimetype(WebKitWebPluginDatabase* database, const char* mimeType) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_PLUGIN_DATABASE(database), 0); + g_return_val_if_fail(mimeType, 0); + + return kitNew(database->priv->coreDatabase->pluginForMIMEType(mimeType)); +} + +/** + * webkit_web_plugin_database_refresh: + * @database: a #WebKitWebPluginDatabase + * + * Refreshes @database adding new plugins that are now in use and + * removing those that have been disabled or are otherwise no longer + * available. + * + * Since: 1.3.8 + */ +void webkit_web_plugin_database_refresh(WebKitWebPluginDatabase* database) +{ + g_return_if_fail(WEBKIT_IS_WEB_PLUGIN_DATABASE(database)); + + database->priv->coreDatabase->refresh(); +} + +WebKitWebPluginDatabase* webkit_web_plugin_database_new(void) +{ + return WEBKIT_WEB_PLUGIN_DATABASE(g_object_new(WEBKIT_TYPE_WEB_PLUGIN_DATABASE, 0)); +} diff --git a/WebKit/gtk/webkit/webkitwebplugindatabase.h b/WebKit/gtk/webkit/webkitwebplugindatabase.h new file mode 100644 index 0000000..0b02c26 --- /dev/null +++ b/WebKit/gtk/webkit/webkitwebplugindatabase.h @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef webkitwebplugindatabase_h +#define webkitwebplugindatabase_h + +#include <glib-object.h> + +#include <webkit/webkitdefines.h> + +G_BEGIN_DECLS + +#define WEBKIT_TYPE_WEB_PLUGIN_DATABASE (webkit_web_plugin_database_get_type()) +#define WEBKIT_WEB_PLUGIN_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_PLUGIN_DATABASE, WebKitWebPluginDatabase)) +#define WEBKIT_WEB_PLUGIN_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_PLUGIN_DATABASE, WebKitWebPluginDatabaseClass)) +#define WEBKIT_IS_WEB_PLUGIN_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_PLUGIN_DATABASE)) +#define WEBKIT_IS_WEB_PLUGIN_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_PLUGIN_DATABASE)) +#define WEBKIT_WEB_PLUGIN_DATABASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_PLUGIN_DATABASE, WebKitWebPluginDatabaseClass)) + +typedef struct _WebKitWebPluginDatabasePrivate WebKitWebPluginDatabasePrivate; + +struct _WebKitWebPluginDatabaseClass { + GObjectClass parentClass; +}; + +struct _WebKitWebPluginDatabase { + GObject parentInstance; + + WebKitWebPluginDatabasePrivate* priv; +}; + +WEBKIT_API GType +webkit_web_plugin_database_get_type (void) G_GNUC_CONST; + +WEBKIT_API void +webkit_web_plugin_database_plugins_list_free (GSList*); + +WEBKIT_API GSList* +webkit_web_plugin_database_get_plugins (WebKitWebPluginDatabase*); + +WEBKIT_API WebKitWebPlugin* +webkit_web_plugin_database_get_plugin_for_mimetype (WebKitWebPluginDatabase*, const char *); + +WEBKIT_API void +webkit_web_plugin_database_refresh (WebKitWebPluginDatabase*); + +G_END_DECLS + +#endif diff --git a/WebKit/gtk/webkit/webkitwebplugindatabaseprivate.h b/WebKit/gtk/webkit/webkitwebplugindatabaseprivate.h new file mode 100644 index 0000000..199aede --- /dev/null +++ b/WebKit/gtk/webkit/webkitwebplugindatabaseprivate.h @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef webkitwebplugindatabaseprivate_h +#define webkitwebplugindatabaseprivate_h + +#include <glib-object.h> + +namespace WebCore { +class PluginDatabase; +} + +extern "C" { + +typedef struct _WebKitWebPluginDatabasePrivate WebKitWebPluginDatabasePrivate; +struct _WebKitWebPluginDatabasePrivate { + WebCore::PluginDatabase* coreDatabase; +}; + +WebKitWebPluginDatabase* webkit_web_plugin_database_new(); + +} + +#endif diff --git a/WebKit/gtk/webkit/webkitwebpluginprivate.h b/WebKit/gtk/webkit/webkitwebpluginprivate.h new file mode 100644 index 0000000..885313e --- /dev/null +++ b/WebKit/gtk/webkit/webkitwebpluginprivate.h @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef webkitwebpluginprivate_h +#define webkitwebpluginprivate_h + +#include "webkitwebplugin.h" +#include <glib-object.h> + +namespace WebCore { +class PluginPackage; +} + +namespace WebKit { +WebKitWebPlugin* kitNew(WebCore::PluginPackage* package); +} + +extern "C" { + +typedef struct _WebKitWebPluginPrivate WebKitWebPluginPrivate; +struct _WebKitWebPluginPrivate { + RefPtr<WebCore::PluginPackage> corePlugin; + CString name; + CString description; + GSList* mimeTypes; +}; + +} + +#endif diff --git a/WebKit/gtk/webkit/webkitwebpolicydecision.cpp b/WebKit/gtk/webkit/webkitwebpolicydecision.cpp index 5ef6310..06c1fcb 100644 --- a/WebKit/gtk/webkit/webkitwebpolicydecision.cpp +++ b/WebKit/gtk/webkit/webkitwebpolicydecision.cpp @@ -18,11 +18,12 @@ */ #include "config.h" - #include "webkitwebpolicydecision.h" #include "FrameLoaderTypes.h" #include "webkitprivate.h" +#include "webkitwebframeprivate.h" +#include "webkitwebpolicydecisionprivate.h" using namespace WebKit; using namespace WebCore; @@ -45,8 +46,6 @@ struct _WebKitWebPolicyDecisionPrivate { gboolean isCancelled; }; -#define WEBKIT_WEB_POLICY_DECISION_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_POLICY_DECISION, WebKitWebPolicyDecisionPrivate)) - static void webkit_web_policy_decision_class_init(WebKitWebPolicyDecisionClass* decisionClass) { g_type_class_add_private(decisionClass, sizeof(WebKitWebPolicyDecisionPrivate)); @@ -54,7 +53,7 @@ static void webkit_web_policy_decision_class_init(WebKitWebPolicyDecisionClass* static void webkit_web_policy_decision_init(WebKitWebPolicyDecision* decision) { - decision->priv = WEBKIT_WEB_POLICY_DECISION_GET_PRIVATE(decision); + decision->priv = G_TYPE_INSTANCE_GET_PRIVATE(decision, WEBKIT_TYPE_WEB_POLICY_DECISION, WebKitWebPolicyDecisionPrivate); } WebKitWebPolicyDecision* webkit_web_policy_decision_new(WebKitWebFrame* frame, WebCore::FramePolicyFunction function) diff --git a/WebKit/gtk/webkit/webkitwebpolicydecisionprivate.h b/WebKit/gtk/webkit/webkitwebpolicydecisionprivate.h new file mode 100644 index 0000000..2d264ab --- /dev/null +++ b/WebKit/gtk/webkit/webkitwebpolicydecisionprivate.h @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther + * Copyright (C) 2008 Jan Michael C. Alonzo + * Copyright (C) 2008 Collabora Ltd. + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef webkitwebpolicydecisionprivate_h +#define webkitwebpolicydecisionprivate_h + +#include "webkitwebpolicydecision.h" + +extern "C" { + +WebKitWebPolicyDecision* webkit_web_policy_decision_new(WebKitWebFrame*, WebCore::FramePolicyFunction); + +void webkit_web_policy_decision_cancel(WebKitWebPolicyDecision*); + +} + +#endif diff --git a/WebKit/gtk/webkit/webkitwebresource.cpp b/WebKit/gtk/webkit/webkitwebresource.cpp index fb0acfc..c2f3a15 100644 --- a/WebKit/gtk/webkit/webkitwebresource.cpp +++ b/WebKit/gtk/webkit/webkitwebresource.cpp @@ -18,9 +18,7 @@ */ #include "config.h" - #include "webkitwebresource.h" -#include "webkitprivate.h" #include "ArchiveResource.h" #include "KURL.h" @@ -28,7 +26,9 @@ #include "SharedBuffer.h" #include "webkitenumtypes.h" #include "webkitmarshal.h" -#include "wtf/Assertions.h" +#include "webkitprivate.h" +#include "webkitwebresourceprivate.h" +#include <wtf/Assertions.h> #include <wtf/text/CString.h> #include <glib.h> @@ -217,7 +217,7 @@ static void webkit_web_resource_set_property(GObject* object, guint prop_id, con static void webkit_web_resource_init(WebKitWebResource* webResource) { - webResource->priv = WEBKIT_WEB_RESOURCE_GET_PRIVATE(webResource); + webResource->priv = G_TYPE_INSTANCE_GET_PRIVATE(webResource, WEBKIT_TYPE_WEB_RESOURCE, WebKitWebResourcePrivate); } // internal use only diff --git a/WebKit/gtk/webkit/webkitwebresourceprivate.h b/WebKit/gtk/webkit/webkitwebresourceprivate.h new file mode 100644 index 0000000..2ae3d05 --- /dev/null +++ b/WebKit/gtk/webkit/webkitwebresourceprivate.h @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther + * Copyright (C) 2008 Jan Michael C. Alonzo + * Copyright (C) 2008 Collabora Ltd. + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef webkitwebresourceprivate_h +#define webkitwebresourceprivate_h + +#include "ArchiveResource.h" +#include "webkitwebresource.h" + +extern "C" { + +struct _WebKitWebResourcePrivate { + WebCore::ArchiveResource* resource; + + gchar* uri; + gchar* mimeType; + gchar* textEncoding; + gchar* frameName; + + GString* data; +}; + +WebKitWebResource* webkit_web_resource_new_with_core_resource(PassRefPtr<WebCore::ArchiveResource>); + +void webkit_web_resource_init_with_core_resource(WebKitWebResource*, PassRefPtr<WebCore::ArchiveResource>); + +} + +#endif diff --git a/WebKit/gtk/webkit/webkitwebsettings.cpp b/WebKit/gtk/webkit/webkitwebsettings.cpp index 2661b82..92370d7 100644 --- a/WebKit/gtk/webkit/webkitwebsettings.cpp +++ b/WebKit/gtk/webkit/webkitwebsettings.cpp @@ -26,16 +26,15 @@ #include "config.h" #include "webkitwebsettings.h" +#include "FileSystem.h" +#include "Language.h" +#include "PluginDatabase.h" #include "webkitenumtypes.h" #include "webkitprivate.h" #include "webkitversion.h" - -#include "FileSystem.h" -#include "PluginDatabase.h" -#include "Language.h" +#include "webkitwebsettingsprivate.h" #include <wtf/text/CString.h> #include <wtf/text/StringConcatenate.h> - #include <glib/gi18n-lib.h> #if OS(UNIX) #include <sys/utsname.h> @@ -110,6 +109,7 @@ struct _WebKitWebSettingsPrivate { gboolean auto_resize_window; gboolean enable_java_applet; gboolean enable_hyperlink_auditing; + gboolean enable_fullscreen; }; #define WEBKIT_WEB_SETTINGS_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_SETTINGS, WebKitWebSettingsPrivate)) @@ -161,7 +161,8 @@ enum { PROP_ENABLE_PAGE_CACHE, PROP_AUTO_RESIZE_WINDOW, PROP_ENABLE_JAVA_APPLET, - PROP_ENABLE_HYPERLINK_AUDITING + PROP_ENABLE_HYPERLINK_AUDITING, + PROP_ENABLE_FULLSCREEN }; // Create a default user agent string @@ -902,12 +903,21 @@ static void webkit_web_settings_class_init(WebKitWebSettingsClass* klass) FALSE, flags)); + /* Undocumented for now */ + g_object_class_install_property(gobject_class, + PROP_ENABLE_FULLSCREEN, + g_param_spec_boolean("enable-fullscreen", + _("Enable Fullscreen"), + _("Whether the Mozilla style API should be enabled."), + FALSE, + flags)); + g_type_class_add_private(klass, sizeof(WebKitWebSettingsPrivate)); } static void webkit_web_settings_init(WebKitWebSettings* web_settings) { - web_settings->priv = WEBKIT_WEB_SETTINGS_GET_PRIVATE(web_settings); + web_settings->priv = G_TYPE_INSTANCE_GET_PRIVATE(web_settings, WEBKIT_TYPE_WEB_SETTINGS, WebKitWebSettingsPrivate); } static EnchantBroker* get_enchant_broker() @@ -950,6 +960,13 @@ static void webkit_web_settings_finalize(GObject* object) G_OBJECT_CLASS(webkit_web_settings_parent_class)->finalize(object); } +static void getAvailableDictionariesCallback(const char* const languageTag, const char* const, const char* const, const char* const, void* data) +{ + Vector<CString>* dicts = static_cast<Vector<CString>*>(data); + + dicts->append(languageTag); +} + static void webkit_web_settings_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec) { WebKitWebSettings* web_settings = WEBKIT_WEB_SETTINGS(object); @@ -1064,6 +1081,14 @@ static void webkit_web_settings_set_property(GObject* object, guint prop_id, con if (enchant_broker_dict_exists(broker, language)) { dict = enchant_broker_request_dict(broker, language); spellDictionaries = g_slist_append(spellDictionaries, dict); + } else { + // No dictionaries selected, we get one from the list + Vector<CString> allDictionaries; + enchant_broker_list_dicts(broker, getAvailableDictionariesCallback, &allDictionaries); + if (!allDictionaries.isEmpty()) { + dict = enchant_broker_request_dict(broker, allDictionaries[0].data()); + spellDictionaries = g_slist_append(spellDictionaries, dict); + } } } g_slist_foreach(priv->enchant_dicts, free_spell_checking_language, 0); @@ -1128,6 +1153,9 @@ static void webkit_web_settings_set_property(GObject* object, guint prop_id, con case PROP_ENABLE_HYPERLINK_AUDITING: priv->enable_hyperlink_auditing = g_value_get_boolean(value); break; + case PROP_ENABLE_FULLSCREEN: + priv->enable_fullscreen = g_value_get_boolean(value); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); break; @@ -1275,6 +1303,9 @@ static void webkit_web_settings_get_property(GObject* object, guint prop_id, GVa case PROP_ENABLE_HYPERLINK_AUDITING: g_value_set_boolean(value, priv->enable_hyperlink_auditing); break; + case PROP_ENABLE_FULLSCREEN: + g_value_set_boolean(value, priv->enable_fullscreen); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); break; @@ -1350,6 +1381,7 @@ WebKitWebSettings* webkit_web_settings_copy(WebKitWebSettings* web_settings) "auto-resize-window", priv->auto_resize_window, "enable-java-applet", priv->enable_java_applet, "enable-hyperlink-auditing", priv->enable_hyperlink_auditing, + "enable-fullscreen", priv->enable_fullscreen, NULL)); return copy; diff --git a/WebKit/gtk/webkit/webkitwebsettingsprivate.h b/WebKit/gtk/webkit/webkitwebsettingsprivate.h new file mode 100644 index 0000000..e848a08 --- /dev/null +++ b/WebKit/gtk/webkit/webkitwebsettingsprivate.h @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther + * Copyright (C) 2008 Jan Michael C. Alonzo + * Copyright (C) 2008 Collabora Ltd. + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef webkitwebsettingsprivate_h +#define webkitwebsettingsprivate_h + +#include "webkitwebsettings.h" + +extern "C" { + +WEBKIT_API void webkit_web_settings_add_extra_plugin_directory(WebKitWebView*, const gchar* directory); + +GSList* webkit_web_settings_get_enchant_dicts(WebKitWebView*); + +} + +#endif diff --git a/WebKit/gtk/webkit/webkitwebview.cpp b/WebKit/gtk/webkit/webkitwebview.cpp index 3e888f8..c814474 100644 --- a/WebKit/gtk/webkit/webkitwebview.cpp +++ b/WebKit/gtk/webkit/webkitwebview.cpp @@ -10,6 +10,7 @@ * Copyright (C) 2009, 2010 Igalia S.L. * Copyright (C) 2009 Movial Creative Technologies Inc. * Copyright (C) 2009 Bobby Powers + * Copyright (C) 2010 Joone Hur <joone@kldp.org> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -29,26 +30,15 @@ #include "config.h" #include "webkitwebview.h" -#include "webkitdownload.h" -#include "webkitenumtypes.h" -#include "webkitgeolocationpolicydecision.h" -#include "webkitmarshal.h" -#include "webkitnetworkrequest.h" -#include "webkitnetworkresponse.h" -#include "webkitprivate.h" -#include "webkitwebinspector.h" -#include "webkitwebbackforwardlist.h" -#include "webkitwebhistoryitem.h" - #include "AXObjectCache.h" #include "AbstractDatabase.h" #include "BackForwardListImpl.h" -#include "MemoryCache.h" +#include "Chrome.h" #include "ChromeClientGtk.h" #include "ClipboardUtilitiesGtk.h" +#include "ContextMenu.h" #include "ContextMenuClientGtk.h" #include "ContextMenuController.h" -#include "ContextMenu.h" #include "Cursor.h" #include "Document.h" #include "DocumentLoader.h" @@ -56,29 +46,29 @@ #include "DragClientGtk.h" #include "DragController.h" #include "DragData.h" -#include "EditorClientGtk.h" #include "Editor.h" +#include "EditorClientGtk.h" #include "EventHandler.h" #include "FloatQuad.h" #include "FocusController.h" #include "FrameLoader.h" #include "FrameLoaderTypes.h" #include "FrameView.h" -#include <glib/gi18n-lib.h> -#include <GOwnPtr.h> -#include <GOwnPtrGtk.h> +#include "GOwnPtrGtk.h" #include "GraphicsContext.h" #include "GtkVersioning.h" +#include "HTMLNames.h" #include "HitTestRequest.h" #include "HitTestResult.h" #include "IconDatabase.h" #include "InspectorClientGtk.h" +#include "MemoryCache.h" #include "MouseEventWithHitTestResults.h" #include "NotImplemented.h" #include "PageCache.h" #include "Pasteboard.h" -#include "PasteboardHelperGtk.h" #include "PasteboardHelper.h" +#include "PasteboardHelperGtk.h" #include "PlatformKeyboardEvent.h" #include "PlatformWheelEvent.h" #include "ProgressTracker.h" @@ -87,9 +77,31 @@ #include "ScriptValue.h" #include "Scrollbar.h" #include "webkit/WebKitDOMDocumentPrivate.h" -#include <wtf/text/CString.h> - +#include "webkitdownload.h" +#include "webkitdownloadprivate.h" +#include "webkitenumtypes.h" +#include "webkitgeolocationpolicydecision.h" +#include "webkithittestresultprivate.h" +#include "webkitmarshal.h" +#include "webkitnetworkrequest.h" +#include "webkitnetworkresponse.h" +#include "webkitprivate.h" +#include "webkitviewportattributes.h" +#include "webkitviewportattributesprivate.h" +#include "webkitwebbackforwardlist.h" +#include "webkitwebframeprivate.h" +#include "webkitwebhistoryitem.h" +#include "webkitwebhistoryitemprivate.h" +#include "webkitwebinspector.h" +#include "webkitwebinspectorprivate.h" +#include "webkitwebpolicydecision.h" +#include "webkitwebresource.h" +#include "webkitwebplugindatabaseprivate.h" +#include "webkitwebviewprivate.h" #include <gdk/gdkkeysyms.h> +#include <glib/gi18n-lib.h> +#include <wtf/gobject/GOwnPtr.h> +#include <wtf/text/CString.h> /** * SECTION:webkitwebview @@ -107,7 +119,7 @@ * * <programlisting> * /<!-- -->* Create the widgets *<!-- -->/ - * GtkWidget *main_window = gtk_window_new (GTK_WIDGET_TOPLEVEL); + * GtkWidget *main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); * GtkWidget *scrolled_window = gtk_scrolled_window_new (NULL, NULL); * GtkWidget *web_view = webkit_web_view_new (); * @@ -125,7 +137,7 @@ */ static const double defaultDPI = 96.0; -static WebKitCacheModel cacheModel; +static WebKitCacheModel cacheModel = WEBKIT_CACHE_MODEL_DEFAULT; static IntPoint globalPointForClientPoint(GdkWindow* window, const IntPoint& clientPoint); using namespace WebKit; @@ -173,7 +185,6 @@ enum { GEOLOCATION_POLICY_DECISION_CANCELLED, ONLOAD_EVENT, FRAME_CREATED, - SHOULD_BEGIN_EDITING, SHOULD_END_EDITING, SHOULD_INSERT_NODE, @@ -185,6 +196,8 @@ enum { EDITING_BEGAN, USER_CHANGED_CONTENTS, EDITING_ENDED, + VIEWPORT_ATTRIBUTES_RECOMPUTE_REQUESTED, + VIEWPORT_ATTRIBUTES_CHANGED, LAST_SIGNAL }; @@ -199,6 +212,7 @@ enum { PROP_EDITABLE, PROP_SETTINGS, PROP_WEB_INSPECTOR, + PROP_VIEWPORT_ATTRIBUTES, PROP_WINDOW_FEATURES, PROP_TRANSPARENT, PROP_ZOOM_LEVEL, @@ -237,7 +251,7 @@ static GtkIMContext* webkit_web_view_get_im_context(WebKitWebView*); static void PopupMenuPositionFunc(GtkMenu* menu, gint *x, gint *y, gboolean *pushIn, gpointer userData) { WebKitWebView* view = WEBKIT_WEB_VIEW(userData); - WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(view); + WebKitWebViewPrivate* priv = view->priv; GdkScreen* screen = gtk_widget_get_screen(GTK_WIDGET(view)); GtkRequisition menuSize; @@ -265,6 +279,25 @@ static Node* getFocusedNode(Frame* frame) return 0; } +static void contextMenuItemActivated(GtkMenuItem* item, ContextMenuController* controller) +{ + ContextMenuItem contextItem(item); + controller->contextMenuItemSelected(&contextItem); +} + +static void contextMenuConnectActivate(GtkMenuItem* item, ContextMenuController* controller) +{ + if (GTK_IS_SEPARATOR_MENU_ITEM(item)) + return; + + if (GtkWidget* menu = gtk_menu_item_get_submenu(item)) { + gtk_container_foreach(GTK_CONTAINER(menu), (GtkCallback)contextMenuConnectActivate, controller); + return; + } + + g_signal_connect(item, "activate", G_CALLBACK(contextMenuItemActivated), controller); +} + static gboolean webkit_web_view_forward_context_menu_event(WebKitWebView* webView, const PlatformMouseEvent& event) { Page* page = core(webView); @@ -305,7 +338,8 @@ static gboolean webkit_web_view_forward_context_menu_event(WebKitWebView* webVie // If coreMenu is NULL, this means WebCore decided to not create // the default context menu; this may happen when the page is // handling the right-click for reasons other than the context menu. - ContextMenu* coreMenu = page->contextMenuController()->contextMenu(); + ContextMenuController* controller = page->contextMenuController(); + ContextMenu* coreMenu = controller->contextMenu(); if (!coreMenu) return mousePressEventResult; @@ -323,22 +357,23 @@ static gboolean webkit_web_view_forward_context_menu_event(WebKitWebView* webVie if (!menu) return FALSE; + // We connect the "activate" signal here rather than in ContextMenuGtk to avoid + // a layering violation. ContextMenuGtk should not know about the ContextMenuController. + gtk_container_foreach(GTK_CONTAINER(menu), (GtkCallback)contextMenuConnectActivate, controller); + g_signal_emit(webView, webkit_web_view_signals[POPULATE_POPUP], 0, menu); - GList* items = gtk_container_get_children(GTK_CONTAINER(menu)); - bool empty = !g_list_nth(items, 0); - g_list_free(items); - if (empty) + // If the context menu is now empty, don't show it. + GOwnPtr<GList> items(gtk_container_get_children(GTK_CONTAINER(menu))); + if (!items) return FALSE; - WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(webView); + WebKitWebViewPrivate* priv = webView->priv; priv->currentMenu = menu; priv->lastPopupXPosition = event.globalX(); priv->lastPopupYPosition = event.globalY(); - gtk_menu_popup(menu, NULL, NULL, - &PopupMenuPositionFunc, - webView, event.button() + 1, gtk_get_current_event_time()); + gtk_menu_popup(menu, 0, 0, &PopupMenuPositionFunc, webView, event.button() + 1, gtk_get_current_event_time()); return TRUE; } @@ -508,6 +543,9 @@ static void webkit_web_view_get_property(GObject* object, guint prop_id, GValue* case PROP_WEB_INSPECTOR: g_value_set_object(value, webkit_web_view_get_inspector(webView)); break; + case PROP_VIEWPORT_ATTRIBUTES: + g_value_set_object(value, webkit_web_view_get_viewport_attributes(webView)); + break; case PROP_WINDOW_FEATURES: g_value_set_object(value, webkit_web_view_get_window_features(webView)); break; @@ -1355,6 +1393,7 @@ static void webkit_web_view_dispose(GObject* object) } priv->webInspector.clear(); + priv->viewportAttributes.clear(); priv->webWindowFeatures.clear(); priv->mainResource.clear(); priv->subResources.clear(); @@ -1477,7 +1516,7 @@ static IntPoint globalPointForClientPoint(GdkWindow* window, const IntPoint& cli static void webkit_web_view_drag_end(GtkWidget* widget, GdkDragContext* context) { WebKitWebView* webView = WEBKIT_WEB_VIEW(widget); - WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(webView); + WebKitWebViewPrivate* priv = webView->priv; // This might happen if a drag is still in progress after a WebKitWebView // is disposed and before it is finalized. @@ -1515,7 +1554,7 @@ static void webkit_web_view_drag_end(GtkWidget* widget, GdkDragContext* context) static void webkit_web_view_drag_data_get(GtkWidget* widget, GdkDragContext* context, GtkSelectionData* selectionData, guint info, guint) { - WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(WEBKIT_WEB_VIEW(widget)); + WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW(widget)->priv; // This might happen if a drag is still in progress after a WebKitWebView // is diposed and before it is finalized. @@ -1652,7 +1691,7 @@ static gboolean webkit_web_view_drag_drop(GtkWidget* widget, GdkDragContext* con #if GTK_CHECK_VERSION(2, 12, 0) static gboolean webkit_web_view_query_tooltip(GtkWidget *widget, gint x, gint y, gboolean keyboard_mode, GtkTooltip *tooltip) { - WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(widget); + WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW(widget)->priv; if (keyboard_mode) { WebKitWebView* webView = WEBKIT_WEB_VIEW(widget); @@ -1670,8 +1709,10 @@ static gboolean webkit_web_view_query_tooltip(GtkWidget *widget, gint x, gint y, if (titleNode->isElementNode()) { String title = static_cast<Element*>(titleNode)->title(); if (!title.isEmpty()) { - GdkRectangle area = coreFrame->view()->contentsToWindow(node->getRect()); - gtk_tooltip_set_tip_area(tooltip, &area); + if (FrameView* view = coreFrame->view()) { + GdkRectangle area = view->contentsToWindow(node->getRect()); + gtk_tooltip_set_tip_area(tooltip, &area); + } gtk_tooltip_set_text(tooltip, title.utf8().data()); return TRUE; @@ -2716,6 +2757,55 @@ static void webkit_web_view_class_init(WebKitWebViewClass* webViewClass) g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); /* + * WebKitWebView::viewport-attributes-recompute-requested + * @web_view: the object which received the signal + * @viewport_attributes: the #WebKitViewportAttributes which has the viewport attributes. + * + * The #WebKitWebView::viewport-attributes-recompute-requested + * signal will be emitted when a page with a viewport meta tag + * loads and when webkit_viewport_attributes_recompute is called. + * + * The #WebKitViewportAttributes will have device size, available size, + * desktop width, and device DPI pre-filled by values that make sense + * for the current screen and widget, but you can override those values + * if you have special requirements (for instance, if you made your + * widget bigger than the available visible area, you should override + * the available-width and available-height properties to the actual + * visible area). + * + * Since: 1.3.8 + */ + webkit_web_view_signals[VIEWPORT_ATTRIBUTES_RECOMPUTE_REQUESTED] = g_signal_new("viewport-attributes-recompute-requested", + G_TYPE_FROM_CLASS(webViewClass), + (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), + 0, + 0, 0, + g_cclosure_marshal_VOID__OBJECT, + G_TYPE_NONE, 1, + WEBKIT_TYPE_VIEWPORT_ATTRIBUTES); + + /* + * WebKitWebView::viewport-attributes-changed + * @web_view: the object which received the signal + * @viewport_attributes: the #WebKitViewportAttributes which has the viewport attributes. + * + * The #WebKitWebView::viewport-attributes-changed signal will be emitted + * after the emission of #WebKitWebView::viewport-attributes-recompute-requested + * and the subsequent viewport attribute recomputation. At this point, + * if the #WebKitViewportAttributes are valid, the viewport attributes are available. + * + * Since: 1.3.8 + */ + webkit_web_view_signals[VIEWPORT_ATTRIBUTES_CHANGED] = g_signal_new("viewport-attributes-changed", + G_TYPE_FROM_CLASS(webViewClass), + (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), + 0, + 0, 0, + g_cclosure_marshal_VOID__OBJECT, + G_TYPE_NONE, 1, + WEBKIT_TYPE_VIEWPORT_ATTRIBUTES); + + /* * implementations of virtual methods */ webViewClass->create_web_view = webkit_web_view_real_create_web_view; @@ -2959,6 +3049,20 @@ static void webkit_web_view_class_init(WebKitWebViewClass* webViewClass) WEBKIT_PARAM_READABLE)); /** + * WebKitWebView:viewport-attributes: + * + * The associated #WebKitViewportAttributes instance. + * + * Since: 1.3.8 + */ + g_object_class_install_property(objectClass, PROP_VIEWPORT_ATTRIBUTES, + g_param_spec_object("viewport-attributes", + _("Viewport Attributes"), + _("The associated WebKitViewportAttributes instance"), + WEBKIT_TYPE_VIEWPORT_ATTRIBUTES, + WEBKIT_PARAM_READABLE)); + + /** * WebKitWebView:window-features: * * An associated WebKitWebWindowFeatures instance. @@ -3157,7 +3261,7 @@ static void webkit_web_view_update_settings(WebKitWebView* webView) javaScriptCanAccessClipboard, enableOfflineWebAppCache, enableUniversalAccessFromFileURI, enableFileAccessFromFileURI, enableDOMPaste, tabKeyCyclesThroughElements, - enableSiteSpecificQuirks, usePageCache, enableJavaApplet, enableHyperlinkAuditing; + enableSiteSpecificQuirks, usePageCache, enableJavaApplet, enableHyperlinkAuditing, enableFullscreen; WebKitEditingBehavior editingBehavior; @@ -3196,6 +3300,7 @@ static void webkit_web_view_update_settings(WebKitWebView* webView) "enable-page-cache", &usePageCache, "enable-java-applet", &enableJavaApplet, "enable-hyperlink-auditing", &enableHyperlinkAuditing, + "enable-fullscreen", &enableFullscreen, NULL); settings->setDefaultTextEncodingName(defaultEncoding); @@ -3233,7 +3338,9 @@ static void webkit_web_view_update_settings(WebKitWebView* webView) settings->setUsesPageCache(usePageCache); settings->setJavaEnabled(enableJavaApplet); settings->setHyperlinkAuditingEnabled(enableHyperlinkAuditing); - +#if ENABLE(FULLSCREEN_API) + settings->setFullScreenEnabled(enableFullscreen); +#endif Page* page = core(webView); if (page) page->setTabKeyCyclesThroughElements(tabKeyCyclesThroughElements); @@ -3355,7 +3462,7 @@ static void webkit_web_view_settings_notify(WebKitWebSettings* webSettings, GPar static void webkit_web_view_init(WebKitWebView* webView) { - WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(webView); + WebKitWebViewPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(webView, WEBKIT_TYPE_WEB_VIEW, WebKitWebViewPrivate); webView->priv = priv; // This is the placement new syntax: http://www.parashift.com/c++-faq-lite/dtors.html#faq-11.10 // It allows us to call a constructor on manually allocated locations in memory. We must use it @@ -3385,6 +3492,10 @@ static void webkit_web_view_init(WebKitWebView* webView) priv->webInspector = adoptPlatformRef(WEBKIT_WEB_INSPECTOR(g_object_new(WEBKIT_TYPE_WEB_INSPECTOR, NULL))); webkit_web_inspector_set_inspector_client(priv->webInspector.get(), priv->corePage); + // And our ViewportAttributes friend. + priv->viewportAttributes = adoptPlatformRef(WEBKIT_VIEWPORT_ATTRIBUTES(g_object_new(WEBKIT_TYPE_VIEWPORT_ATTRIBUTES, NULL))); + priv->viewportAttributes->priv->webView = webView; + // The smart pointer will call g_object_ref_sink on these adjustments. priv->horizontalAdjustment = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); priv->verticalAdjustment = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); @@ -3524,6 +3635,29 @@ WebKitWebInspector* webkit_web_view_get_inspector(WebKitWebView* webView) return webView->priv->webInspector.get(); } +/** + * webkit_web_view_get_viewport_attributes: + * @webView: a #WebKitWebView + * + * Obtains the #WebKitViewportAttributes associated with the + * #WebKitWebView. Every #WebKitWebView object has a + * #WebKitWebViewporAttributes object attached to it as soon as it is + * created, so this function will only return NULL if the argument is + * not a valid #WebKitWebView. Do note however that the viewport + * attributes object only contains valid information when the current + * page has a viewport meta tag. You can check whether the data should + * be used by checking the #WebKitViewport:valid property. + * + * Return value: (transfer none): the #WebKitViewportAttributes instance. + * + * Since: 1.3.8 + */ +WebKitViewportAttributes* webkit_web_view_get_viewport_attributes(WebKitWebView* webView) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0); + return webView->priv->viewportAttributes.get(); +} + // internal static void webkit_web_view_set_window_features(WebKitWebView* webView, WebKitWebWindowFeatures* webWindowFeatures) { @@ -4000,7 +4134,7 @@ void webkit_web_view_execute_script(WebKitWebView* webView, const gchar* script) } /** - * webkit_web_view_cut_clipboard: + * webkit_web_view_can_cut_clipboard: * @webView: a #WebKitWebView * * Determines whether or not it is currently possible to cut to the clipboard. @@ -4016,7 +4150,7 @@ gboolean webkit_web_view_can_cut_clipboard(WebKitWebView* webView) } /** - * webkit_web_view_copy_clipboard: + * webkit_web_view_can_copy_clipboard: * @webView: a #WebKitWebView * * Determines whether or not it is currently possible to copy to the clipboard. @@ -4032,7 +4166,7 @@ gboolean webkit_web_view_can_copy_clipboard(WebKitWebView* webView) } /** - * webkit_web_view_paste_clipboard: + * webkit_web_view_can_paste_clipboard: * @webView: a #WebKitWebView * * Determines whether or not it is currently possible to paste from the clipboard. @@ -4754,16 +4888,17 @@ gboolean webkit_web_view_get_view_source_mode (WebKitWebView* webView) } // Internal subresource management -void webkit_web_view_add_resource(WebKitWebView* webView, const char* identifier, WebKitWebResource* webResource) +void webkit_web_view_add_main_resource(WebKitWebView* webView, const char* identifier, WebKitWebResource* webResource) { WebKitWebViewPrivate* priv = webView->priv; - if (!priv->mainResource) { - priv->mainResource = adoptPlatformRef(webResource); - priv->mainResourceIdentifier = identifier; - return; - } + priv->mainResource = adoptPlatformRef(webResource); + priv->mainResourceIdentifier = identifier; +} +void webkit_web_view_add_resource(WebKitWebView* webView, const char* identifier, WebKitWebResource* webResource) +{ + WebKitWebViewPrivate* priv = webView->priv; g_hash_table_insert(priv->subResources.get(), g_strdup(identifier), webResource); } @@ -4804,8 +4939,6 @@ WebKitWebResource* webkit_web_view_get_main_resource(WebKitWebView* webView) void webkit_web_view_clear_resources(WebKitWebView* webView) { WebKitWebViewPrivate* priv = webView->priv; - priv->mainResourceIdentifier = ""; - priv->mainResource = 0; if (priv->subResources) g_hash_table_remove_all(priv->subResources.get()); @@ -4992,6 +5125,8 @@ void webkit_set_cache_model(WebKitCacheModel model) deadDecodedDataDeletionInterval = 0; break; case WEBKIT_CACHE_MODEL_WEB_BROWSER: + // Page cache capacity (in pages). Comment from Mac port: + // (Research indicates that value / page drops substantially after 3 pages.) pageCacheCapacity = 3; cacheTotalCapacity = 32 * 1024 * 1024; cacheMinDeadCapacity = cacheTotalCapacity / 4; @@ -5025,21 +5160,26 @@ WebKitCacheModel webkit_get_cache_model() return cacheModel; } -void webkit_web_view_execute_core_command_by_name(WebKitWebView* webView, const gchar* name, const gchar* value) +/** + * webkit_get_web_plugin_database: + * + * Returns the current #WebKitWebPluginDatabase with information about + * all the plugins WebKit knows about in this instance. + * + * Return value: (transfer none): the current #WebKitWebPluginDatabase + * + * Since: 1.3.8 + */ +WebKitWebPluginDatabase* webkit_get_web_plugin_database() { - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - g_return_if_fail(name); - g_return_if_fail(value); + static WebKitWebPluginDatabase* database = 0; - core(webView)->focusController()->focusedOrMainFrame()->editor()->command(name).execute(value); -} + webkit_init(); -gboolean webkit_web_view_is_command_enabled(WebKitWebView* webView, const gchar* name) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE); - g_return_val_if_fail(name, FALSE); + if (!database) + database = webkit_web_plugin_database_new(); - return core(webView)->focusController()->focusedOrMainFrame()->editor()->command(name).isEnabled(); + return database; } GtkMenu* webkit_web_view_get_context_menu(WebKitWebView* webView) @@ -5055,3 +5195,54 @@ GtkMenu* webkit_web_view_get_context_menu(WebKitWebView* webView) return 0; #endif } + +void webViewEnterFullscreen(WebKitWebView* webView, Node* node) +{ + if (!node->hasTagName(HTMLNames::videoTag)) + return; + +#if ENABLE(VIDEO) + HTMLMediaElement* videoElement = static_cast<HTMLMediaElement*>(node); + WebKitWebViewPrivate* priv = webView->priv; + + // First exit Fullscreen for the old mediaElement. + if (priv->fullscreenVideoController) + priv->fullscreenVideoController->exitFullscreen(); + + priv->fullscreenVideoController = new FullscreenVideoController; + priv->fullscreenVideoController->setMediaElement(videoElement); + priv->fullscreenVideoController->enterFullscreen(); +#endif +} + +void webViewExitFullscreen(WebKitWebView* webView) +{ +#if ENABLE(VIDEO) + WebKitWebViewPrivate* priv = webView->priv; + if (priv->fullscreenVideoController) + priv->fullscreenVideoController->exitFullscreen(); +#endif +} + +namespace WebKit { + +WebCore::Page* core(WebKitWebView* webView) +{ + if (!webView) + return 0; + + WebKitWebViewPrivate* priv = webView->priv; + return priv ? priv->corePage : 0; +} + +WebKitWebView* kit(WebCore::Page* corePage) +{ + if (!corePage) + return 0; + + ASSERT(corePage->chrome()); + WebKit::ChromeClient* client = static_cast<WebKit::ChromeClient*>(corePage->chrome()->client()); + return client ? client->webView() : 0; +} + +} diff --git a/WebKit/gtk/webkit/webkitwebview.h b/WebKit/gtk/webkit/webkitwebview.h index cf8e669..9abfef6 100644 --- a/WebKit/gtk/webkit/webkitwebview.h +++ b/WebKit/gtk/webkit/webkitwebview.h @@ -50,8 +50,21 @@ typedef enum { WEBKIT_NAVIGATION_RESPONSE_DOWNLOAD } WebKitNavigationResponse; +/* + * WebKitCacheModel: + * @WEBKIT_CACHE_MODEL_DEFAULT: The default cache model. This is + * WEBKIT_CACHE_MODEL_WEB_BROWSER. + * @WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER: Disable the cache completely, which + * substantially reduces memory usage. Useful for applications that only + * access local files. + * @WEBKIT_CACHE_MODEL_WEB_BROWSER: Improve document load speed substantially + * by caching previously viewed content. + * + * Enum values used for determining the webview cache model. + */ typedef enum { - WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER = 1, + WEBKIT_CACHE_MODEL_DEFAULT, + WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER, WEBKIT_CACHE_MODEL_WEB_BROWSER } WebKitCacheModel; @@ -351,6 +364,9 @@ webkit_web_view_set_full_content_zoom (WebKitWebView *webView, WEBKIT_API SoupSession* webkit_get_default_session (void); +WEBKIT_API WebKitWebPluginDatabase * +webkit_get_web_plugin_database (void); + WEBKIT_API const gchar* webkit_web_view_get_encoding (WebKitWebView * webView); @@ -414,6 +430,9 @@ webkit_get_cache_model (void); WEBKIT_API WebKitDOMDocument * webkit_web_view_get_dom_document (WebKitWebView *webView); +WEBKIT_API WebKitViewportAttributes* +webkit_web_view_get_viewport_attributes (WebKitWebView *webView); + G_END_DECLS #endif diff --git a/WebKit/gtk/webkit/webkitwebviewprivate.h b/WebKit/gtk/webkit/webkitwebviewprivate.h new file mode 100644 index 0000000..dec6dad --- /dev/null +++ b/WebKit/gtk/webkit/webkitwebviewprivate.h @@ -0,0 +1,136 @@ +/* + * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther + * Copyright (C) 2008 Jan Michael C. Alonzo + * Copyright (C) 2008, 2010 Collabora Ltd. + * Copyright (C) 2010 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef webkitwebviewprivate_h +#define webkitwebviewprivate_h + +#include "DataObjectGtk.h" +#include "FullscreenVideoController.h" +#include "GOwnPtr.h" +#include "ResourceHandle.h" +#include <webkit/webkitwebview.h> + +namespace WebKit { + +WebCore::Page* core(WebKitWebView*); +WebKitWebView* kit(WebCore::Page*); + + +typedef struct DroppingContext_ { + WebKitWebView* webView; + GdkDragContext* gdkContext; + RefPtr<WebCore::DataObjectGtk> dataObject; + WebCore::IntPoint lastMotionPosition; + int pendingDataRequests; + bool dropHappened; +} DroppingContext; + +} + +extern "C" { + +#define WEBKIT_WEB_VIEW_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_VIEW, WebKitWebViewPrivate)) +typedef struct _WebKitWebViewPrivate WebKitWebViewPrivate; +struct _WebKitWebViewPrivate { + WebCore::Page* corePage; + PlatformRefPtr<WebKitWebSettings> webSettings; + PlatformRefPtr<WebKitWebInspector> webInspector; + PlatformRefPtr<WebKitViewportAttributes> viewportAttributes; + PlatformRefPtr<WebKitWebWindowFeatures> webWindowFeatures; + + WebKitWebFrame* mainFrame; + PlatformRefPtr<WebKitWebBackForwardList> backForwardList; + + PlatformRefPtr<GtkMenu> currentMenu; + gint lastPopupXPosition; + gint lastPopupYPosition; + + HashSet<GtkWidget*> children; + bool editable; + PlatformRefPtr<GtkIMContext> imContext; + + gboolean transparent; + + PlatformRefPtr<GtkAdjustment> horizontalAdjustment; + PlatformRefPtr<GtkAdjustment> verticalAdjustment; + +#ifndef GTK_API_VERSION_2 + // GtkScrollablePolicy needs to be checked when + // driving the scrollable adjustment values + GtkScrollablePolicy horizontalScrollingPolicy; + GtkScrollablePolicy verticalScrollingPolicy; +#endif + + gboolean zoomFullContent; + WebKitLoadStatus loadStatus; + CString encoding; + CString customEncoding; + + CString iconURI; + + gboolean disposing; + gboolean usePrimaryForPaste; + +#if ENABLE(VIDEO) + FullscreenVideoController* fullscreenVideoController; +#endif + + // These are hosted here because the DataSource object is + // created too late in the frame loading process. + PlatformRefPtr<WebKitWebResource> mainResource; + CString mainResourceIdentifier; + PlatformRefPtr<GHashTable> subResources; + CString tooltipText; + WebCore::IntRect tooltipArea; + + int currentClickCount; + WebCore::IntPoint previousClickPoint; + guint previousClickButton; + guint32 previousClickTime; + HashMap<GdkDragContext*, RefPtr<WebCore::DataObjectGtk> > draggingDataObjects; + HashMap<GdkDragContext*, WebKit::DroppingContext*> droppingContexts; +}; + +void webkit_web_view_notify_ready(WebKitWebView*); + +void webkit_web_view_request_download(WebKitWebView*, WebKitNetworkRequest*, const WebCore::ResourceResponse& = WebCore::ResourceResponse(), WebCore::ResourceHandle* = 0); + +void webkit_web_view_add_resource(WebKitWebView*, const char*, WebKitWebResource*); +void webkit_web_view_add_main_resource(WebKitWebView*, const char*, WebKitWebResource*); +void webkit_web_view_remove_resource(WebKitWebView*, const char*); +WebKitWebResource* webkit_web_view_get_resource(WebKitWebView*, char*); +WebKitWebResource* webkit_web_view_get_main_resource(WebKitWebView*); +void webkit_web_view_clear_resources(WebKitWebView*); +GList* webkit_web_view_get_subresources(WebKitWebView*); + +void webkit_web_view_set_tooltip_text(WebKitWebView*, const char*); +GtkMenu* webkit_web_view_get_context_menu(WebKitWebView*); + +WEBKIT_API gchar* webkit_web_view_get_selected_text(WebKitWebView*); +bool webkit_web_view_use_primary_for_paste(WebKitWebView*); + +void webViewEnterFullscreen(WebKitWebView* webView, WebCore::Node*); +void webViewExitFullscreen(WebKitWebView* webView); + +} + +#endif diff --git a/WebKit/gtk/webkit/webkitwebwindowfeatures.cpp b/WebKit/gtk/webkit/webkitwebwindowfeatures.cpp index e5d65bd..ddc657d 100644 --- a/WebKit/gtk/webkit/webkitwebwindowfeatures.cpp +++ b/WebKit/gtk/webkit/webkitwebwindowfeatures.cpp @@ -276,7 +276,7 @@ static void webkit_web_window_features_class_init(WebKitWebWindowFeaturesClass* static void webkit_web_window_features_init(WebKitWebWindowFeatures* web_window_features) { - web_window_features->priv = WEBKIT_WEB_WINDOW_FEATURES_GET_PRIVATE(web_window_features); + web_window_features->priv = G_TYPE_INSTANCE_GET_PRIVATE(web_window_features, WEBKIT_TYPE_WEB_WINDOW_FEATURES, WebKitWebWindowFeaturesPrivate); } static void webkit_web_window_features_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec) diff --git a/WebKit/haiku/ChangeLog b/WebKit/haiku/ChangeLog index 723c957..0c689bc 100644 --- a/WebKit/haiku/ChangeLog +++ b/WebKit/haiku/ChangeLog @@ -1,3 +1,29 @@ +2010-10-28 MORITA Hajime <morrita@google.com> + + Reviewed by Ojan Vafai. + + spellcheck does not check pasted text + https://bugs.webkit.org/show_bug.cgi?id=40092 + + Added a stub implememntation. + + * WebCoreSupport/EditorClientHaiku.h: + (WebCore::EditorClientHaiku::requestCheckingOfString): + +2010-12-01 Jia Pu <jpu@apple.com> + + Reviewed by Darin Adler. + + Support multiple correction candidates panel for misspelled word on Mac OS X. + https://bugs.webkit.org/show_bug.cgi?id=50137 + <rdar://problem/8568059> + + Adopted new function signature defined in base class. + + * WebCoreSupport/EditorClientHaiku.cpp: + (WebCore::EditorClientHaiku::getGuessesForWord): + * WebCoreSupport/EditorClientHaiku.h: + 2010-11-08 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. diff --git a/WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp b/WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp index bdd7eb8..deca47a 100644 --- a/WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp +++ b/WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp @@ -461,7 +461,7 @@ bool EditorClientHaiku::spellingUIIsShowing() return false; } -void EditorClientHaiku::getGuessesForWord(const String&, Vector<String>&) +void EditorClientHaiku::getGuessesForWord(const String& word, const String& context, Vector<String>& guesses) { notImplemented(); } diff --git a/WebKit/haiku/WebCoreSupport/EditorClientHaiku.h b/WebKit/haiku/WebCoreSupport/EditorClientHaiku.h index 5cbec27..ca270e9 100644 --- a/WebKit/haiku/WebCoreSupport/EditorClientHaiku.h +++ b/WebKit/haiku/WebCoreSupport/EditorClientHaiku.h @@ -107,9 +107,10 @@ namespace WebCore { virtual void updateSpellingUIWithMisspelledWord(const String&); virtual void showSpellingUI(bool show); virtual bool spellingUIIsShowing(); - virtual void getGuessesForWord(const String&, Vector<String>& guesses); + virtual void getGuessesForWord(const String& word, const String& context, Vector<String>& guesses); virtual void willSetInputMethodState(); virtual void setInputMethodState(bool enabled); + virtual void requestCheckingOfString(SpellChecker*, int, const String&) {} bool isEditing() const; diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog index fe5c984..1a66b1a 100644 --- a/WebKit/mac/ChangeLog +++ b/WebKit/mac/ChangeLog @@ -1,3 +1,540 @@ +2010-12-22 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + Cache snapshots of plug-ins before painting, to avoid script running during painting + https://bugs.webkit.org/show_bug.cgi?id=51493 + + When FrameView is asked to do a flattening paint (e.g. when Safari snapshots, + or when printing), plug-ins which otherwise use the CA rendering model + are sent a paint event. Some plug-ins may run script while handling this event, + or out of process plug-ins may process queued requests at this time. Running + script while inside layout or painting can have bad consequences, because it + can result in arbitrary changes to the render tree. + + This patch avoids sending plug-ins paint events inside of painting. Instead, + we ask the plug-ins to cache a snapshot before we paint, and then the software + paint simply draws that snapshot. + + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView drawRect:]): If we have a cached snapshot, + draw it. Also only send the snapshot message to the plugin proxy if we + know we're snapshotting, since even if creating the snapshot image failed, + we still don't want to call to the plug-in. + + * Plugins/WebBaseNetscapePluginView.h: Add a retained NSImage member for the snapshot. + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView cacheSnapshot]): Create an image and draw the snapshot into it. + (-[WebBaseNetscapePluginView clearCachedSnapshot]): Clear the snapshot. + + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView drawRect:]): If we have a cached snapshot, use it. + * WebCoreSupport/WebFrameLoaderClient.mm: + (NetscapePluginWidget::notifyWidget): Implement notifyWidget() and use it + to cache and clear the snapshots. + +2010-12-21 Cameron Zwarich <zwarich@apple.com> + + Reviewed by Darin Adler. + + -[WebBasePluginPackage isNativeLibraryData:] integer underflows on zero-sized data + https://bugs.webkit.org/show_bug.cgi?id=51431 + <rdar://problem/8791757> + + * Plugins/WebBasePluginPackage.mm: + (-[WebBasePluginPackage isNativeLibraryData:]): Change an arithmetic expression so + it doesn't underflow. + +2010-12-16 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Cameron Zwarich. + + REGRESSION(r74172): 125 java tests fail on Mac + https://bugs.webkit.org/show_bug.cgi?id=51214 + + The regression was caused by an incorrectly adding sizeof(struct fat_header) + to a pointer for uint32_t as supposed to uint8_t. + + Fixed the bug by explicitly casting it to uint8_t* before the addition. + + * Plugins/WebBasePluginPackage.mm: + (-[WebBasePluginPackage isNativeLibraryData:]): + +2010-12-15 Cameron Zwarich <zwarich@apple.com> + + Reviewed by Darin Adler. + + Clang -Wcast-align gives an error in WebBasePluginPackage.mm + https://bugs.webkit.org/show_bug.cgi?id=51144 + + Fix an alignment issue. OSSwapInt32 takes data that is 32-bit aligned on ARM, but + we were calling it on a byte array 32 bits at a time. While this is okay in practice, + since TCMalloc won't give us a non-32-bit aligned block array of bytes and Vector's + inline storage is at the beginning of the Vector, it is still better to fix this + and silence the warning. + + * Plugins/WebBasePluginPackage.mm: + (swapIntsInHeader): + (-[WebBasePluginPackage isNativeLibraryData:]): + +2010-12-14 Mark Rowe <mrowe@apple.com> + + Reviewed by Sam Weinig. + + <http://webkit.org/b/51064> Reproducible crash inside WebCore::MediaPlayerPrivateQTKit::createQTMovie when loading <video> + + * History/WebHistoryItem.mm: + (-[WebHistoryItem description]): Test whether the string is empty rather than incorrectly + always including the target in the output. + +2010-12-13 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=50953 + DNS Prefetch should be an opt-in feature + + * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Changed default to false. + +2010-12-13 Mike Thole <mthole@apple.com> + + Rubber-stamped by John Sullivan. + + https://bugs.webkit.org/show_bug.cgi?id=50956 + WebAuthenticationPanel.nib appears to have a cut-off sentence + + Replace the sentence fragment in the sheet layout with "<-- do not localize -->" style text. + The contents of this text field are updated dynamically before the sheet is displayed. + + * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib: + * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib: + +2010-12-13 Antti Koivisto <antti@apple.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=50758 + <rdar://problem/8722094> + Defer loading print stylesheets + + Expose SPI for DRT for making resources load serially. This is useful for testing resource load order. + + * WebView/WebView.mm: + (+[WebView _setLoadResourcesSerially:forHost:]): + * WebView/WebViewPrivate.h: + +2010-12-09 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Simon Fraser. + + Adopt new CG API for canvas + https://bugs.webkit.org/show_bug.cgi?id=50591 + + * WebCoreSupport/WebSystemInterface.mm: + +2010-10-28 MORITA Hajime <morrita@google.com> + + Reviewed by Ojan Vafai. + + spellcheck does not check pasted text + https://bugs.webkit.org/show_bug.cgi?id=40092 + + Added asynchronous spell checking API to WebEditorClient using + -[NSSpellChecker requestCheckingOfString]. + Note that WebEditorSpellCheckResponder is a small class to receive + requested spell-checking result. Note that this feature is + disabled at default. + + Also added [WebPreferences setAsynchronousSpellCheckingEnabled:] to + enable the feature from LayoutTestController. + + * WebCoreSupport/WebEditorClient.h: + * WebCoreSupport/WebEditorClient.mm: + (-[WebEditorSpellCheckResponder initWithSender:WebCore::sequence:results:]): + (-[WebEditorSpellCheckResponder perform]): + (toCoreSpellingResult): + (-[WebEditorSpellCheckResponder WTF::WebCore::]): + (WebEditorClient::requestCheckingOfString): + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + (-[WebPreferences setAsynchronousSpellCheckingEnabled:]): + (-[WebPreferences asynchronousSpellCheckingEnabled]): + * WebView/WebPreferencesPrivate.h: + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): + +2010-12-09 Anders Carlsson <andersca@apple.com> + + Fix a bug uncovered by clang++. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): + +2010-12-09 Anders Carlsson <andersca@apple.com> + + Clang++ build fixes. + + Silence a couple of warnings. + + * WebView/WebFrame.mm: + (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): + (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): + * WebView/WebTextCompletionController.mm: + (-[WebTextCompletionController filterKeyDown:]): + +2010-12-09 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PgUp, PgDown should respect + writing-mode. This first part of the patch just patches Mac WebKit 1 views. + + * WebView/WebFrameView.mm: + (-[WebFrameView _isVerticalDocument]): + (-[WebFrameView _isFlippedDocument]): + (-[WebFrameView _scrollToEndOfDocument]): + (-[WebFrameView _pageInBlockProgressionDirection:]): + (-[WebFrameView scrollPageUp:]): + (-[WebFrameView scrollPageDown:]): + +2010-12-08 Andy Estes <aestes@apple.com> + + Reviewed by Darin Adler. + + Enable pre-HTML5 parser quirks for Apple Mail.app + https://bugs.webkit.org/show_bug.cgi?id=50727 + + * WebView/WebView.mm: + (-[WebView _needsPreHTML5ParserQuirks]): Return true if the embedding + application is Mail.app. + +2010-12-08 Brian Weinstein <bweinstein@apple.com> + + Reviewed by John Sullivan. + + REGRESSION: r73429-r73490: Some Contextual menu items non-functional, such as Open Link in New Tab + https://bugs.webkit.org/show_bug.cgi?id=50683 + + If our context menu item already has an action, don't overwrite the action with the context menu + forwarder. + + * WebView/WebHTMLView.mm: + (setMenuItemTarget): + +2010-12-08 Anders Carlsson <andersca@apple.com> + + Remove an unused variable. + + * WebView/WebDynamicScrollBarsView.mm: + (-[WebDynamicScrollBarsView setScrollOrigin:updatePosition:]): + +2010-12-07 Brian Weinstein <bweinstein@apple.com> + + Reviewed by John Sullivan. + + Layering Violation in ContextMenu - member variable of type HitTestResult + https://bugs.webkit.org/show_bug.cgi?id=50586 + + Update users of ContextMenu and ContextMenuController to match where the new functions + are located. + + * WebCoreSupport/WebContextMenuClient.mm: + (WebContextMenuClient::getCustomMenuFromDefaultItems): + (WebContextMenuClient::contextMenuItemSelected): + * WebView/WebHTMLView.mm: + (-[WebMenuTarget validateMenuItem:]): + +2010-12-07 Brian Weinstein <bweinstein@apple.com> + + Reviewed by John Sullivan. + + Part of Layering Violation in ContextMenu + https://bugs.webkit.org/show_bug.cgi?id=50586 + + Move WebMenuTarget from ContextMenuMac to here, because having it in ContextMenuMac + was a layering violation. Also, make sure we set the menu item targets for all menu + items before showing them, because the ContextMenu constructor doesn't do that anymore. + + * WebView/WebHTMLView.mm: + (+[WebMenuTarget sharedMenuTarget]): Moved from ContextMenuMac.mm. + (-[WebMenuTarget WebCore::]): Ditto. + (-[WebMenuTarget setMenuController:WebCore::]): Ditto. + (-[WebMenuTarget forwardContextMenuAction:]): Ditto. + (-[WebMenuTarget validateMenuItem:]): Ditto. + + (setMenuItemTarget): Sets the target of the NSMenuItem to the shared WebMenuTarget. + (setMenuTargets): Recursively iterates over all NSMenuItems in an NSMenu (including + submenus), and calls setMenuItemTarget on them. + (-[WebHTMLView menuForEvent:]): Call setMenuTarget on all the menu items before adding + them to the menu. + +2010-12-06 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Pass security origin to make local file decision correctly + https://bugs.webkit.org/show_bug.cgi?id=48603 + + * WebView/WebPDFView.mm: + (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Pass security origin. + +2010-12-07 Martin Robinson <mrobinson@igalia.com> + + Unreviewed, rolling out r73392. + http://trac.webkit.org/changeset/73392 + https://bugs.webkit.org/show_bug.cgi?id=50489 + + This commit caused crashes on the GTK+ bots + + * WebView/WebFrame.mm: + (-[WebFrame _canProvideDocumentSource]): + +2010-12-07 Kenichi Ishibashi <bashi@google.com> + + Reviewed by Kent Tamura. + + Let HTMLObjectElement be a form associated element + https://bugs.webkit.org/show_bug.cgi?id=48821 + + Modified to use FormAssociatedElement instead of HTMLFormControlElement. + + * WebView/WebHTMLRepresentation.mm: + (-[WebHTMLRepresentation elementWithName:inForm:]): Modified to use + FormAssociatedElement instead of HTMLFormControlElement. + (-[WebHTMLRepresentation controlsInForm:]): Ditto. + +2010-12-06 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Update calls to DocumentWriter. + https://bugs.webkit.org/show_bug.cgi?id=50489 + + * WebView/WebFrame.mm: + (-[WebFrame _canProvideDocumentSource]): + +2010-12-06 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations + https://bugs.webkit.org/show_bug.cgi?id=49388 + + Got rid of GraphicsLayer::nativeLayer() call, replacing it with + GraphicsLayer::platformLayer(). + + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::attachRootGraphicsLayer): + +2010-12-04 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + WebKit part of <rdar://problem/8145955> Add text search API for counting/marking/highlighting matches in a range + https://bugs.webkit.org/show_bug.cgi?id=50530 + + * WebView/WebDocumentInternal.h: Added a DOMRange parameter to -countMatchesForText:options:limit:markMatches: + * WebView/WebHTMLView.mm: + (-[WebHTMLView countMatchesForText:inDOMRange:options:limit:markMatches:]): Added DOMRange parameter, + which is passed through to WebCore. + * WebView/WebPDFView.mm: + (isFrameInRange): Added this helper function. + (-[WebPDFView countMatchesForText:inDOMRange:options:limit:markMatches:]): Added DOMRange parameter and + a check if the frame is in the range. + * WebView/WebView.mm: + (-[WebView countMatchesForText:options:highlight:limit:markMatches:]): Now calls the inDOMRange: version. + (-[WebView countMatchesForText:inDOMRange:options:highlight:limit:markMatches:]): Added DOMRange + parameter, which is passed to document views' -countMatchesForText:inDOMRange:options:limit:markMatches:. + * WebView/WebViewPrivate.h: + +2010-12-03 Sam Weinig <sam@webkit.org> + + Reviewed by Maciej Stachowiak. + + Enable <a ping> for Mac/Windows/WebKit2 builds + <rdar://problem/8504473> + https://bugs.webkit.org/show_bug.cgi?id=50488 + + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): Enable "HyperlinkAuditing" by default. + +2010-12-03 Jia Pu <jpu@apple.com> + + Reviewed by Darin Adler. + + Need to move all code that applies correction into correction panel callback. + https://bugs.webkit.org/show_bug.cgi?id=50426 + <rdar://problem/8720832> + + * WebCoreSupport/WebEditorClient.h: Adopted new signature of dismissCorrectionPanel. + + * WebCoreSupport/WebEditorClient.mm: + (WebEditorClient::~WebEditorClient): Adopted new signature of dismissCorrectionPanel. + (WebEditorClient::showCorrectionPanel): Added more user dictionary learning code. + (WebEditorClient::dismissCorrectionPanel): Adopted new signature of dismissCorrectionPanel. + +2010-12-02 Simon Fraser <simon.fraser@apple.com> + + Revert r73217 and r73227 because of continued bustage. + + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::attachRootGraphicsLayer): + +2010-12-02 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations + https://bugs.webkit.org/show_bug.cgi?id=49388 + + Got rid of GraphicsLayer::nativeLayer() call, replacing it with + GraphicsLayer::platformLayer(). + + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::attachRootGraphicsLayer): + +2010-12-02 Mark Rowe <mrowe@apple.com> + + Reviewed by Beth Dakin. + + <rdar://problem/8708730> Objects reported as being leaked due to lack of autorelease pool + + * Misc/WebNSFileManagerExtras.m: + (setMetaData): Create an autorelease pool for the duration of the thread body. + +2010-12-02 John Knottenbelt <jknotten@chromium.org> + + Reviewed by Steve Block. + + Move requestGeolocationPermissionForFrame to GeolocationClient + https://bugs.webkit.org/show_bug.cgi?id=50061 + + This change facilitates client-based geolocation implementation by + bringing together permission control into the geolocation client + interface. + + Move method ChromeClient::requestGeolocationPermissionForFrame to + GeolocationClient::requestPermission, and supporting class + WebGeolocationPolicyListener. The moved code is unchanged except + that requestPermission now takes only one argument (Geolocation*) + and the Frame parameter is retrieved from the Geolocation object. + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + * WebCoreSupport/WebGeolocationClient.h: + (WebGeolocationClient::cancelPermissionRequest): + * WebCoreSupport/WebGeolocationClient.mm: + (WebGeolocationClient::requestPermission): + (-[WebGeolocationPolicyListener initWithGeolocation:]): + (-[WebGeolocationPolicyListener allow]): + (-[WebGeolocationPolicyListener deny]): + +2010-12-02 Joseph Pecoraro <joepeck@webkit.org> + + Reviewed by Eric Carlson. + + Style Fixes in WebPluginController + https://bugs.webkit.org/show_bug.cgi?id=50397 + + * Plugins/WebPluginController.mm: + (-[WebPluginController startAllPlugins]): + (-[WebPluginController stopAllPlugins]): + +2010-12-02 John Sullivan <sullivan@apple.com> + + Reviewed by Adam Roben. + + Slightly speculative fix for: + + <rdar://problem/8712674> + <https://bugs.webkit.org/show_bug.cgi?id=50393> + setStringValue: sometimes called with nil in [WebAuthenticationPanel setUpForChallenge] + + * Panels/WebAuthenticationPanel.m: + (-[WebAuthenticationPanel setUpForChallenge:]): + If the realm is nil, use @"" instead. + +2010-12-01 Jia Pu <jpu@apple.com> + + Reviewed by Darin Adler. + + Support multiple correction candidates panel for misspelled word on Mac OS X. + https://bugs.webkit.org/show_bug.cgi?id=50137 + <rdar://problem/8568059> + + This patch is for supporting multiple correction suggestion panel on Mac OS X. + The behavior and implementation is similar to that of reversion candiate panel. + + * WebCoreSupport/WebEditorClient.h: Adopted new signatures defined in base class. + + * WebCoreSupport/WebEditorClient.mm: Adopted new signatures defined in base class. + Added code to handle new multiple suggestion canidate panel type. + (WebEditorClient::showCorrectionPanel): + (WebEditorClient::getGuessesForWord): + +2010-12-01 David Hyatt <hyatt@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=46645 + + Part 1 of making scrolling work with vertical text. This patch generalizes the scrollOriginX concept + recently added for horizontal RTL documents and applies it to writing modes as well. Now the + scrollOrigin is a point, since you can start off locked to the bottom or locked to the right. + + This patch also fixes numerous bugs with the scrollOrigin code using native Mac NSScrollViews and + makes them behave the same as the cross-platform code (allowing for cross-platform results to be + landed). + + * WebView/WebDynamicScrollBarsView.mm: + (-[WebDynamicScrollBarsView adjustForScrollOriginChange]): + (-[WebDynamicScrollBarsView updateScrollers]): + (-[WebDynamicScrollBarsView reflectScrolledClipView:]): + (-[WebDynamicScrollBarsView setScrollOrigin:updatePosition:]): + (-[WebDynamicScrollBarsView scrollOrigin]): + * WebView/WebFrameView.mm: + (-[WebFrameView _scrollToBeginningOfDocument]): + (-[WebFrameView _scrollToEndOfDocument]): + +2010-11-29 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + WebKit Mac part of <rdar://problem/8650085> adding word-prefix search options to the text search API. + https://bugs.webkit.org/show_bug.cgi?id=50038 + Based on a patch from Darin Adler. + + * WebView/WebDocumentInternal.h: Removed -markAllMatchesForText:caseSensitive:limit: and + replaced -countMatchesForText:caseSensitive:limit:markMatches: with a WebFindOptions-based + method. Declared a WebDocumentOptionsSearching protocol with a new -findString:options: + method. Made WebHTMLView conform to the new protocol. + * WebView/WebHTMLView.mm: + (coreOptions): Added. Converts WebFindOptions to WebCore FindOptions. + (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Changed to use + -findString:options:. + (-[WebHTMLView countMatchesForText:options:limit:markMatches:]): Changed to use WebFindOptions. + (-[WebHTMLView findString:options:]): Added. Calls through to WebCore::Editor::findString(). + * WebView/WebPDFView.mm: + (-[WebPDFView countMatchesForText:options:limit:markMatches:]): Changed to use WebFindOptions. + * WebView/WebView.mm: + (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]): Now calls through to + -countMatchesForText:options:highlight:limit:markMatches. + (-[WebView countMatchesForText:caseSensitive:highlight:limit:markMatches:]): Ditto. + (-[WebView searchFor:direction:caseSensitive:wrap:startInSelection:]): Now calls through to + -findString:options:. + (incrementFrame): Changed to use WebFindOptions. + (findString): Added this helper method that performs the search using the best supported + method for the document view. + (-[WebView findString:options:]): Changed -searchFor::::: into this. + (-[WebView canMarkAllTextMatches]): + (-[WebView countMatchesForText:options:highlight:limit:markMatches:]): Updated to use + WebFindOptions. + (-[WebView unmarkAllTextMatches]): Updated for change to incrementFrame. + (-[WebView rectsForTextMatches]): Ditto. + * WebView/WebViewPrivate.h: Added WebFindOptions, -findString:options:, and WebFindOptions version + of countMatchesForText:. + 2010-11-29 Jeremy Moskovich <jeremy@chromium.org> Reviewed by David Hyatt. @@ -1901,6 +2438,32 @@ 2010-09-08 MORITA Hajime <morrita@google.com> + Reviewed by Ojan Vafai. + + spellcheck does not check pasted text + https://bugs.webkit.org/show_bug.cgi?id=40092 + + Implemented async spell-check APIs on WebEditorClient. + The implementations are using [NSSpellChecker requestCheckingOfString] + which is available only on Mac OS 10.6 or later. + + Note that [NSSpellChecker requestCheckingOfString] could invoke + the callback block on on of their worker thread, so we need to + return the result to the main thread where WebCore is running. + For that purpose, we made WebEditorSpellCheckResponder class. + + Test: editing/spelling/spellcheck-pasted-text-001.html + + * WebCoreSupport/WebEditorClient.h: + * WebCoreSupport/WebEditorClient.mm: + (WebEditorClient::isAsynchronousSpellCheckingEnabled): Added. + (-[WebEditorSpellCheckResponder initWithSender:WebCore::sequence:results:]): Added. + (-[WebEditorSpellCheckResponder perform]): Added. + (WebEditorClient::requestCheckingOfString): Added. + * WebView/WebFramePrivate.h: + +2010-09-08 MORITA Hajime <morrita@google.com> + Reviewed by Tony Chang. spelling underline gets lost on backspace diff --git a/WebKit/mac/Configurations/Version.xcconfig b/WebKit/mac/Configurations/Version.xcconfig index e0ce9cb..f0d3c1f 100644 --- a/WebKit/mac/Configurations/Version.xcconfig +++ b/WebKit/mac/Configurations/Version.xcconfig @@ -22,7 +22,7 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. MAJOR_VERSION = 534; -MINOR_VERSION = 13; +MINOR_VERSION = 16; TINY_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION); diff --git a/WebKit/mac/History/WebHistoryItem.mm b/WebKit/mac/History/WebHistoryItem.mm index 48baa7c..de56180 100644 --- a/WebKit/mac/History/WebHistoryItem.mm +++ b/WebKit/mac/History/WebHistoryItem.mm @@ -219,7 +219,7 @@ void WKNotifyHistoryItemChanged(HistoryItem*) ASSERT_MAIN_THREAD(); HistoryItem* coreItem = core(_private); NSMutableString *result = [NSMutableString stringWithFormat:@"%@ %@", [super description], (NSString*)coreItem->urlString()]; - if (coreItem->target()) { + if (!coreItem->target().isEmpty()) { NSString *target = coreItem->target(); [result appendFormat:@" in \"%@\"", target]; } diff --git a/WebKit/mac/Misc/WebNSFileManagerExtras.m b/WebKit/mac/Misc/WebNSFileManagerExtras.m index ad48fb8..cafb69d 100644 --- a/WebKit/mac/Misc/WebNSFileManagerExtras.m +++ b/WebKit/mac/Misc/WebNSFileManagerExtras.m @@ -94,6 +94,7 @@ typedef struct MetaDataInfo static void *setMetaData(void* context) { MetaDataInfo *info = (MetaDataInfo *)context; + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; WKSetMetadataURL((NSString *)info->URLString, (NSString *)info->referrer, (NSString *)info->path); if (info->URLString) @@ -102,8 +103,10 @@ static void *setMetaData(void* context) CFRelease(info->referrer); if (info->path) CFRelease(info->path); - + free(info); + [pool drain]; + return 0; } diff --git a/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib b/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib index 047952d..1e684d5 100644 --- a/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib +++ b/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib @@ -1,11 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> -<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.02"> +<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10"> <data> <int key="IBDocument.SystemTarget">1050</int> - <string key="IBDocument.SystemVersion">9G55</string> - <string key="IBDocument.InterfaceBuilderVersion">670</string> - <string key="IBDocument.AppKitVersion">949.34</string> - <string key="IBDocument.HIToolboxVersion">353.00</string> + <string key="IBDocument.SystemVersion">10J530</string> + <string key="IBDocument.InterfaceBuilderVersion">804</string> + <string key="IBDocument.AppKitVersion">1038.35</string> + <string key="IBDocument.HIToolboxVersion">461.00</string> + <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> + <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="NS.object.0">804</string> + </object> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> <integer value="6"/> @@ -14,6 +18,10 @@ <bool key="EncodedWithXMLCoder">YES</bool> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> </object> + <object class="NSMutableDictionary" key="IBDocument.Metadata"> + <string key="NS.key.0">PluginDependencyRecalculationVersion</string> + <integer value="1" key="NS.object.0"/> + </object> <object class="NSMutableArray" key="IBDocument.RootObjects" id="563121920"> <bool key="EncodedWithXMLCoder">YES</bool> <object class="NSCustomObject" id="238662661"> @@ -28,13 +36,14 @@ <object class="NSWindowTemplate" id="118512579"> <int key="NSWindowStyleMask">1</int> <int key="NSWindowBacking">2</int> - <string key="NSWindowRect">{{93, 72}, {424, 279}}</string> + <string key="NSWindowRect">{{93, 97}, {424, 254}}</string> <int key="NSWTFlags">1886912512</int> <string key="NSWindowTitle">Log In</string> <string key="NSWindowClass">NonBlockingPanel</string> <object class="NSMutableString" key="NSViewClass"> <characters key="NS.bytes">View</characters> </object> + <string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string> <object class="NSView" key="NSWindowView" id="327235052"> <reference key="NSNextResponder"/> <int key="NSvFlags">256</int> @@ -43,7 +52,7 @@ <object class="NSTextField" id="705333610"> <reference key="NSNextResponder" ref="327235052"/> <int key="NSvFlags">266</int> - <string key="NSFrame">{{101, 225}, {306, 34}}</string> + <string key="NSFrame">{{101, 200}, {306, 34}}</string> <reference key="NSSuperview" ref="327235052"/> <int key="NSTag">1</int> <bool key="NSEnabled">YES</bool> @@ -53,18 +62,18 @@ <string key="NSContents">To view this page, you must log in to this area on www.server.com:</string> <object class="NSFont" key="NSSupport" id="897649771"> <string key="NSName">LucidaGrande</string> - <double key="NSSize">1.300000e+01</double> + <double key="NSSize">13</double> <int key="NSfFlags">1044</int> </object> - <int key="NSTag">1</int> <reference key="NSControlView" ref="705333610"/> + <int key="NSTag">1</int> <object class="NSColor" key="NSBackgroundColor" id="475108766"> <int key="NSColorSpace">6</int> <string key="NSCatalogName">System</string> <string key="NSColorName">controlColor</string> <object class="NSColor" key="NSColor"> <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MC42NjY2NjY2OQA</bytes> + <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes> </object> </object> <object class="NSColor" key="NSTextColor" id="644083014"> @@ -91,11 +100,11 @@ <string key="NSContents">Your password will be sent unencrypted.</string> <object class="NSFont" key="NSSupport"> <string key="NSName">LucidaGrande</string> - <double key="NSSize">1.100000e+01</double> + <double key="NSSize">11</double> <int key="NSfFlags">3100</int> </object> - <int key="NSTag">2</int> <reference key="NSControlView" ref="199018347"/> + <int key="NSTag">2</int> <reference key="NSBackgroundColor" ref="475108766"/> <reference key="NSTextColor" ref="644083014"/> </object> @@ -116,7 +125,7 @@ <int key="NSButtonFlags2">1</int> <object class="NSFont" key="NSAlternateImage" id="784044296"> <string key="NSName">Helvetica</string> - <double key="NSSize">1.300000e+01</double> + <double key="NSSize">13</double> <int key="NSfFlags">16</int> </object> <string key="NSAlternateContents"/> @@ -158,8 +167,8 @@ <int key="NSCellFlags2">4195328</int> <string key="NSContents"/> <reference key="NSSupport" ref="897649771"/> - <int key="NSTag">3</int> <reference key="NSControlView" ref="71972597"/> + <int key="NSTag">3</int> <bool key="NSDrawsBackground">YES</bool> <object class="NSColor" key="NSBackgroundColor" id="301231121"> <int key="NSColorSpace">6</int> @@ -190,8 +199,8 @@ <int key="NSCellFlags2">4195328</int> <string key="NSContents"/> <reference key="NSSupport" ref="897649771"/> - <int key="NSTag">4</int> <reference key="NSControlView" ref="368270689"/> + <int key="NSTag">4</int> <bool key="NSDrawsBackground">YES</bool> <reference key="NSBackgroundColor" ref="301231121"/> <reference key="NSTextColor" ref="577315227"/> @@ -234,7 +243,7 @@ <int key="NSvFlags">268</int> <object class="NSMutableSet" key="NSDragTypes"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMutableArray" key="set.sortedObjects"> + <object class="NSArray" key="set.sortedObjects"> <bool key="EncodedWithXMLCoder">YES</bool> <string>Apple PDF pasteboard type</string> <string>Apple PICT pasteboard type</string> @@ -244,7 +253,7 @@ <string>NeXT TIFF v4.0 pasteboard type</string> </object> </object> - <string key="NSFrame">{{20, 195}, {64, 64}}</string> + <string key="NSFrame">{{20, 170}, {64, 64}}</string> <reference key="NSSuperview" ref="327235052"/> <bool key="NSEnabled">YES</bool> <object class="NSImageCell" key="NSCell" id="375502905"> @@ -283,32 +292,31 @@ <object class="NSTextField" id="1000280557"> <reference key="NSNextResponder" ref="327235052"/> <int key="NSvFlags">290</int> - <string key="NSFrame">{{113, 175}, {282, 42}}</string> + <string key="NSFrame">{{113, 175}, {282, 17}}</string> <reference key="NSSuperview" ref="327235052"/> <int key="NSTag">3</int> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="96725843"> <int key="NSCellFlags">-2078147071</int> <int key="NSCellFlags2">4194560</int> - <string type="base64-UTF8" key="NSContents">R29vZ2xlIEFjY291bnQgKGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vKScnIENlcnRpZmllZCBieTogVmVy -aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</string> + <string key="NSContents"><-- do not localize; will contain realm name --></string> <object class="NSFont" key="NSSupport"> <string key="NSName">LucidaGrande</string> - <double key="NSSize">1.100000e+01</double> + <double key="NSSize">11</double> <int key="NSfFlags">16</int> </object> - <int key="NSTag">3</int> <reference key="NSControlView" ref="1000280557"/> + <int key="NSTag">3</int> <reference key="NSBackgroundColor" ref="301231121"/> <reference key="NSTextColor" ref="577315227"/> </object> </object> </object> - <string key="NSFrameSize">{424, 279}</string> + <string key="NSFrameSize">{424, 254}</string> <reference key="NSSuperview"/> </object> <string key="NSScreenRect">{{0, 0}, {2560, 1578}}</string> - <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> + <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string> <string key="NSFrameAutosaveName">Authentication Panel</string> </object> </object> @@ -483,7 +491,7 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s <int key="objectID">-2</int> <reference key="object" ref="238662661"/> <reference key="parent" ref="498544300"/> - <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string> + <string key="objectName">File's Owner</string> </object> <object class="IBObjectRecord"> <int key="objectID">-1</int> @@ -684,7 +692,7 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s </object> <object class="NSMutableDictionary" key="flattenedProperties"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMutableArray" key="dict.sortedKeys"> + <object class="NSArray" key="dict.sortedKeys"> <bool key="EncodedWithXMLCoder">YES</bool> <string>-3.IBPluginDependency</string> <string>-3.ImportedFromIB2</string> @@ -737,9 +745,9 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s <object class="NSMutableArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1" id="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -751,45 +759,43 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>NSSecureTextField</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> - <string>{{288, 709}, {424, 279}}</string> + <integer value="1"/> + <string>{{288, 734}, {424, 254}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <integer value="1"/> - <string>{{288, 709}, {424, 279}}</string> - <reference ref="9"/> - <integer value="0" id="6"/> - <reference ref="6"/> + <string>{{288, 734}, {424, 254}}</string> + <integer value="1"/> + <integer value="0"/> + <integer value="0"/> <string>{424, 282}</string> <string>{424, 282}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> </object> </object> <object class="NSMutableDictionary" key="unlocalizedProperties"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> + <reference key="dict.sortedKeys" ref="498544300"/> <object class="NSMutableArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> </object> @@ -797,9 +803,7 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s <nil key="activeLocalization"/> <object class="NSMutableDictionary" key="localizations"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> + <reference key="dict.sortedKeys" ref="498544300"/> <object class="NSMutableArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> </object> @@ -935,6 +939,20 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s <string key="className">NSObject</string> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBProjectSource</string> + <string key="minorKey">mac/WebView/WebFrameLoadDelegatePrivate.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">mac/WebView/WebHistoryDelegate.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> <string key="minorKey">mac/WebView/WebPolicyDelegate.h</string> </object> </object> @@ -970,7 +988,7 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s <string key="className">NSObject</string> <object class="NSMutableDictionary" key="actions"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMutableArray" key="dict.sortedKeys"> + <object class="NSArray" key="dict.sortedKeys"> <bool key="EncodedWithXMLCoder">YES</bool> <string>webViewClose:</string> <string>webViewFocus:</string> @@ -987,6 +1005,40 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s <string>WebView</string> </object> </object> + <object class="NSMutableDictionary" key="actionInfosByName"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>webViewClose:</string> + <string>webViewFocus:</string> + <string>webViewRunModal:</string> + <string>webViewShow:</string> + <string>webViewUnfocus:</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBActionInfo"> + <string key="name">webViewClose:</string> + <string key="candidateClassName">WebView</string> + </object> + <object class="IBActionInfo"> + <string key="name">webViewFocus:</string> + <string key="candidateClassName">WebView</string> + </object> + <object class="IBActionInfo"> + <string key="name">webViewRunModal:</string> + <string key="candidateClassName">WebView</string> + </object> + <object class="IBActionInfo"> + <string key="name">webViewShow:</string> + <string key="candidateClassName">WebView</string> + </object> + <object class="IBActionInfo"> + <string key="name">webViewUnfocus:</string> + <string key="candidateClassName">WebView</string> + </object> + </object> + </object> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBProjectSource</string> <string key="minorKey">mac/WebView/WebUIDelegate.h</string> @@ -1022,6 +1074,13 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s </object> <object class="IBPartialClassDescription"> <string key="className">NSView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">mac/Plugins/WebBaseNetscapePluginView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSView</string> <string key="superclassName">NSResponder</string> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBUserSource</string> @@ -1064,7 +1123,7 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s <string key="superclassName">NSObject</string> <object class="NSMutableDictionary" key="actions"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMutableArray" key="dict.sortedKeys"> + <object class="NSArray" key="dict.sortedKeys"> <bool key="EncodedWithXMLCoder">YES</bool> <string>cancel:</string> <string>logIn:</string> @@ -1075,9 +1134,28 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s <string>id</string> </object> </object> + <object class="NSMutableDictionary" key="actionInfosByName"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>cancel:</string> + <string>logIn:</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBActionInfo"> + <string key="name">cancel:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">logIn:</string> + <string key="candidateClassName">id</string> + </object> + </object> + </object> <object class="NSMutableDictionary" key="outlets"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMutableArray" key="dict.sortedKeys"> + <object class="NSArray" key="dict.sortedKeys"> <bool key="EncodedWithXMLCoder">YES</bool> <string>callback</string> <string>imageView</string> @@ -1097,11 +1175,65 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s <string>id</string> <string>id</string> <string>id</string> - <string>id</string> + <string>NSTextField</string> <string>id</string> <string>id</string> </object> </object> + <object class="NSMutableDictionary" key="toOneOutletInfosByName"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>callback</string> + <string>imageView</string> + <string>mainLabel</string> + <string>panel</string> + <string>password</string> + <string>remember</string> + <string>separateRealmLabel</string> + <string>smallLabel</string> + <string>username</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBToOneOutletInfo"> + <string key="name">callback</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">imageView</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">mainLabel</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">panel</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">password</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">remember</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">separateRealmLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">smallLabel</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">username</string> + <string key="candidateClassName">id</string> + </object> + </object> + </object> <reference key="sourceIdentifier" ref="1064703436"/> </object> <object class="IBPartialClassDescription"> @@ -1109,7 +1241,7 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s <string key="superclassName">NSView</string> <object class="NSMutableDictionary" key="actions"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMutableArray" key="dict.sortedKeys"> + <object class="NSArray" key="dict.sortedKeys"> <bool key="EncodedWithXMLCoder">YES</bool> <string>alignCenter:</string> <string>alignJustified:</string> @@ -1190,6 +1322,200 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s <string>id</string> </object> </object> + <object class="NSMutableDictionary" key="actionInfosByName"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>alignCenter:</string> + <string>alignJustified:</string> + <string>alignLeft:</string> + <string>alignRight:</string> + <string>changeAttributes:</string> + <string>changeColor:</string> + <string>changeDocumentBackgroundColor:</string> + <string>changeFont:</string> + <string>checkSpelling:</string> + <string>copy:</string> + <string>copyFont:</string> + <string>cut:</string> + <string>delete:</string> + <string>goBack:</string> + <string>goForward:</string> + <string>makeTextLarger:</string> + <string>makeTextSmaller:</string> + <string>makeTextStandardSize:</string> + <string>moveToBeginningOfSentence:</string> + <string>moveToBeginningOfSentenceAndModifySelection:</string> + <string>moveToEndOfSentence:</string> + <string>moveToEndOfSentenceAndModifySelection:</string> + <string>paste:</string> + <string>pasteAsPlainText:</string> + <string>pasteAsRichText:</string> + <string>pasteFont:</string> + <string>performFindPanelAction:</string> + <string>reload:</string> + <string>reloadFromOrigin:</string> + <string>selectSentence:</string> + <string>showGuessPanel:</string> + <string>startSpeaking:</string> + <string>stopLoading:</string> + <string>stopSpeaking:</string> + <string>takeStringURLFrom:</string> + <string>toggleContinuousSpellChecking:</string> + <string>toggleSmartInsertDelete:</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBActionInfo"> + <string key="name">alignCenter:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">alignJustified:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">alignLeft:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">alignRight:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">changeAttributes:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">changeColor:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">changeDocumentBackgroundColor:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">changeFont:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">checkSpelling:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">copy:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">copyFont:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">cut:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">delete:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">goBack:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">goForward:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">makeTextLarger:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">makeTextSmaller:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">makeTextStandardSize:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">moveToBeginningOfSentence:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">moveToBeginningOfSentenceAndModifySelection:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">moveToEndOfSentence:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">moveToEndOfSentenceAndModifySelection:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">paste:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">pasteAsPlainText:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">pasteAsRichText:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">pasteFont:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">performFindPanelAction:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">reload:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">reloadFromOrigin:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">selectSentence:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">showGuessPanel:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">startSpeaking:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">stopLoading:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">stopSpeaking:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">takeStringURLFrom:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">toggleContinuousSpellChecking:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">toggleSmartInsertDelete:</string> + <string key="candidateClassName">id</string> + </object> + </object> + </object> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBProjectSource</string> <string key="minorKey">mac/WebView/WebView.h</string> @@ -1199,7 +1525,7 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s <string key="className">WebView</string> <object class="NSMutableDictionary" key="actions"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMutableArray" key="dict.sortedKeys"> + <object class="NSArray" key="dict.sortedKeys"> <bool key="EncodedWithXMLCoder">YES</bool> <string>_openFrameInNewWindowFromMenu:</string> <string>_searchWithGoogleFromMenu:</string> @@ -1212,6 +1538,30 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s <string>id</string> </object> </object> + <object class="NSMutableDictionary" key="actionInfosByName"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>_openFrameInNewWindowFromMenu:</string> + <string>_searchWithGoogleFromMenu:</string> + <string>_searchWithSpotlightFromMenu:</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBActionInfo"> + <string key="name">_openFrameInNewWindowFromMenu:</string> + <string key="candidateClassName">NSMenuItem</string> + </object> + <object class="IBActionInfo"> + <string key="name">_searchWithGoogleFromMenu:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">_searchWithSpotlightFromMenu:</string> + <string key="candidateClassName">id</string> + </object> + </object> + </object> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBProjectSource</string> <string key="minorKey">mac/WebView/WebViewInternal.h</string> @@ -1221,10 +1571,15 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s <string key="className">WebView</string> <object class="NSMutableDictionary" key="actions"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMutableArray" key="dict.sortedKeys"> + <object class="NSArray" key="dict.sortedKeys"> <bool key="EncodedWithXMLCoder">YES</bool> <string>outdent:</string> <string>resetPageZoom:</string> + <string>toggleAutomaticDashSubstitution:</string> + <string>toggleAutomaticLinkDetection:</string> + <string>toggleAutomaticQuoteSubstitution:</string> + <string>toggleAutomaticSpellingCorrection:</string> + <string>toggleAutomaticTextReplacement:</string> <string>toggleGrammarChecking:</string> <string>zoomPageIn:</string> <string>zoomPageOut:</string> @@ -1236,6 +1591,70 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s <string>id</string> <string>id</string> <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + </object> + </object> + <object class="NSMutableDictionary" key="actionInfosByName"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>outdent:</string> + <string>resetPageZoom:</string> + <string>toggleAutomaticDashSubstitution:</string> + <string>toggleAutomaticLinkDetection:</string> + <string>toggleAutomaticQuoteSubstitution:</string> + <string>toggleAutomaticSpellingCorrection:</string> + <string>toggleAutomaticTextReplacement:</string> + <string>toggleGrammarChecking:</string> + <string>zoomPageIn:</string> + <string>zoomPageOut:</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBActionInfo"> + <string key="name">outdent:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">resetPageZoom:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">toggleAutomaticDashSubstitution:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">toggleAutomaticLinkDetection:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">toggleAutomaticQuoteSubstitution:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">toggleAutomaticSpellingCorrection:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">toggleAutomaticTextReplacement:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">toggleGrammarChecking:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">zoomPageIn:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">zoomPageOut:</string> + <string key="candidateClassName">id</string> + </object> </object> </object> <reference key="sourceIdentifier" ref="153972132"/> @@ -1249,8 +1668,42 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s </object> </object> </object> + <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">QuartzCore.framework/Headers/CALayer.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">QuartzCore.framework/Headers/CIImageProvider.h</string> + </object> + </object> + </object> </object> <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string> + <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies"> + <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string> + <integer value="1050" key="NS.object.0"/> + </object> + <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies"> + <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string> + <integer value="3000" key="NS.object.0"/> + </object> + <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> <string key="IBDocument.LastKnownRelativeProjectPath">../../../WebKit.xcodeproj</string> <int key="IBDocument.defaultPropertyAccessControl">3</int> </data> diff --git a/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib b/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib Binary files differindex 12b1f8d..5bd4806 100644 --- a/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib +++ b/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib diff --git a/WebKit/mac/Panels/WebAuthenticationPanel.m b/WebKit/mac/Panels/WebAuthenticationPanel.m index c9442da..a8b4764 100644 --- a/WebKit/mac/Panels/WebAuthenticationPanel.m +++ b/WebKit/mac/Panels/WebAuthenticationPanel.m @@ -129,6 +129,8 @@ } NSString *realm = [space realm]; + if (!realm) + realm = @""; NSString *message; // Consider the realm name to be "simple" if it does not contain any whitespace or newline characters. diff --git a/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm b/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm index 362dd97..e13808d 100644 --- a/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm +++ b/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm @@ -403,6 +403,12 @@ extern "C" { - (void)drawRect:(NSRect)rect { + if (_cachedSnapshot) { + NSRect sourceRect = { NSZeroPoint, [_cachedSnapshot.get() size] }; + [_cachedSnapshot.get() drawInRect:[self bounds] fromRect:sourceRect operation:NSCompositeSourceOver fraction:1]; + return; + } + if (_proxy) { if (_softwareRenderer) { if ([NSGraphicsContext currentContextDrawingToScreen]) { @@ -410,7 +416,7 @@ extern "C" { _proxy->didDraw(); } else _proxy->print(reinterpret_cast<CGContextRef>([[NSGraphicsContext currentContext] graphicsPort]), [self bounds].size.width, [self bounds].size.height); - } else if ([self inFlatteningPaint] && [self supportsSnapshotting]) { + } else if (_snapshotting && [self supportsSnapshotting]) { _proxy->snapshot(reinterpret_cast<CGContextRef>([[NSGraphicsContext currentContext] graphicsPort]), [self bounds].size.width, [self bounds].size.height); } diff --git a/WebKit/mac/Plugins/WebBaseNetscapePluginView.h b/WebKit/mac/Plugins/WebBaseNetscapePluginView.h index 1a4b6bb..0f39730 100644 --- a/WebKit/mac/Plugins/WebBaseNetscapePluginView.h +++ b/WebKit/mac/Plugins/WebBaseNetscapePluginView.h @@ -70,11 +70,13 @@ class WebHaltablePlugin; BOOL _isPrivateBrowsingEnabled; BOOL _isHalted; BOOL _hasBeenHalted; + BOOL _snapshotting; RefPtr<WebCore::HTMLPlugInElement> _element; RetainPtr<NSString> _MIMEType; RetainPtr<NSURL> _baseURL; RetainPtr<NSURL> _sourceURL; + RetainPtr<NSImage> _cachedSnapshot; OwnPtr<WebHaltablePlugin> _haltable; @@ -129,7 +131,10 @@ class WebHaltablePlugin; - (void)removeWindowObservers; - (BOOL)shouldClipOutPlugin; - (BOOL)inFlatteningPaint; + - (BOOL)supportsSnapshotting; +- (void)cacheSnapshot; +- (void)clearCachedSnapshot; - (BOOL)convertFromX:(double)sourceX andY:(double)sourceY space:(NPCoordinateSpace)sourceSpace toX:(double *)destX andY:(double *)destY space:(NPCoordinateSpace)destSpace; diff --git a/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm b/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm index b6b8b64..7837608 100644 --- a/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm +++ b/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm @@ -579,6 +579,23 @@ String WebHaltablePlugin::pluginName() const return [_pluginPackage.get() supportsSnapshotting]; } +- (void)cacheSnapshot +{ + NSImage *snapshot = [[NSImage alloc] initWithSize: [self bounds].size]; + _snapshotting = YES; + [snapshot lockFocus]; + [self drawRect:[self bounds]]; + [snapshot unlockFocus]; + _snapshotting = NO; + + _cachedSnapshot.adoptNS(snapshot); +} + +- (void)clearCachedSnapshot +{ + _cachedSnapshot.clear(); +} + - (BOOL)hasBeenHalted { return _hasBeenHalted; diff --git a/WebKit/mac/Plugins/WebBasePluginPackage.mm b/WebKit/mac/Plugins/WebBasePluginPackage.mm index 78b0a7f..05b084a 100644 --- a/WebKit/mac/Plugins/WebBasePluginPackage.mm +++ b/WebKit/mac/Plugins/WebBasePluginPackage.mm @@ -343,31 +343,32 @@ static NSString *pathByResolvingSymlinksAndAliases(NSString *thePath) equalIgnoringCase(pluginInfo.file, JavaCFMPluginFilename); } -static inline void swapIntsInHeader(uint8_t* bytes, unsigned length) +static inline void swapIntsInHeader(uint32_t* rawData, size_t length) { - for (unsigned i = 0; i < length; i += 4) - *(uint32_t*)(bytes + i) = OSSwapInt32(*(uint32_t *)(bytes + i)); + for (size_t i = 0; i < length; ++i) + rawData[i] = OSSwapInt32(rawData[i]); } - (BOOL)isNativeLibraryData:(NSData *)data { - Vector<uint8_t, 512> bytes([data length]); - memcpy(bytes.data(), [data bytes], bytes.size()); + NSUInteger sizeInBytes = [data length]; + Vector<uint32_t, 128> rawData((sizeInBytes + 3) / 4); + memcpy(rawData.data(), [data bytes], sizeInBytes); unsigned numArchs = 0; struct fat_arch singleArch = { 0, 0, 0, 0, 0 }; struct fat_arch* archs = 0; - if (bytes.size() >= sizeof(struct mach_header_64)) { - uint32_t magic = *reinterpret_cast<uint32_t*>(bytes.data()); + if (sizeInBytes >= sizeof(struct mach_header_64)) { + uint32_t magic = *rawData.data(); if (magic == MH_MAGIC || magic == MH_CIGAM) { // We have a 32-bit thin binary - struct mach_header* header = (struct mach_header*)bytes.data(); + struct mach_header* header = (struct mach_header*)rawData.data(); // Check if we need to swap the bytes if (magic == MH_CIGAM) - swapIntsInHeader(bytes.data(), bytes.size()); + swapIntsInHeader(rawData.data(), rawData.size()); singleArch.cputype = header->cputype; singleArch.cpusubtype = header->cpusubtype; @@ -376,11 +377,11 @@ static inline void swapIntsInHeader(uint8_t* bytes, unsigned length) numArchs = 1; } else if (magic == MH_MAGIC_64 || magic == MH_CIGAM_64) { // We have a 64-bit thin binary - struct mach_header_64* header = (struct mach_header_64*)bytes.data(); + struct mach_header_64* header = (struct mach_header_64*)rawData.data(); // Check if we need to swap the bytes if (magic == MH_CIGAM_64) - swapIntsInHeader(bytes.data(), bytes.size()); + swapIntsInHeader(rawData.data(), rawData.size()); singleArch.cputype = header->cputype; singleArch.cpusubtype = header->cpusubtype; @@ -392,12 +393,12 @@ static inline void swapIntsInHeader(uint8_t* bytes, unsigned length) // Check if we need to swap the bytes if (magic == FAT_CIGAM) - swapIntsInHeader(bytes.data(), bytes.size()); + swapIntsInHeader(rawData.data(), rawData.size()); - archs = (struct fat_arch*)(bytes.data() + sizeof(struct fat_header)); - numArchs = ((struct fat_header *)bytes.data())->nfat_arch; + archs = (struct fat_arch*)((uint8_t*)rawData.data() + sizeof(struct fat_header)); + numArchs = ((struct fat_header *)rawData.data())->nfat_arch; - unsigned maxArchs = (bytes.size() - sizeof(struct fat_header)) / sizeof(struct fat_arch); + unsigned maxArchs = (sizeInBytes - sizeof(struct fat_header)) / sizeof(struct fat_arch); if (numArchs > maxArchs) numArchs = maxArchs; } diff --git a/WebKit/mac/Plugins/WebNetscapePluginView.mm b/WebKit/mac/Plugins/WebNetscapePluginView.mm index 48574bf..dbbe129 100644 --- a/WebKit/mac/Plugins/WebNetscapePluginView.mm +++ b/WebKit/mac/Plugins/WebNetscapePluginView.mm @@ -1426,7 +1426,13 @@ static inline void getNPRect(const NSRect& nr, NPRect& npr) - (void)drawRect:(NSRect)rect { - if (drawingModel == NPDrawingModelCoreAnimation && (![self inFlatteningPaint] || ![self supportsSnapshotting])) + if (_cachedSnapshot) { + NSRect sourceRect = { NSZeroPoint, [_cachedSnapshot.get() size] }; + [_cachedSnapshot.get() drawInRect:[self bounds] fromRect:sourceRect operation:NSCompositeSourceOver fraction:1]; + return; + } + + if (drawingModel == NPDrawingModelCoreAnimation && (!_snapshotting || ![self supportsSnapshotting])) return; if (!_isStarted) diff --git a/WebKit/mac/Plugins/WebPluginController.mm b/WebKit/mac/Plugins/WebPluginController.mm index 9c037c2..c802d4c 100644 --- a/WebKit/mac/Plugins/WebPluginController.mm +++ b/WebKit/mac/Plugins/WebPluginController.mm @@ -174,8 +174,8 @@ static NSMutableSet *pluginViews = nil; if ([_views count] > 0) LOG(Plugins, "starting WebKit plugins : %@", [_views description]); - int i, count = [_views count]; - for (i = 0; i < count; i++) { + int count = [_views count]; + for (int i = 0; i < count; i++) { id aView = [_views objectAtIndex:i]; if ([aView respondsToSelector:@selector(webPlugInStart)]) { JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly); @@ -197,13 +197,13 @@ static NSMutableSet *pluginViews = nil; LOG(Plugins, "stopping WebKit plugins: %@", [_views description]); } - int i, count = [_views count]; - for (i = 0; i < count; i++) + int viewsCount = [_views count]; + for (int i = 0; i < viewsCount; i++) [self stopOnePlugin:[_views objectAtIndex:i]]; #if ENABLE(PLUGIN_PROXY_FOR_VIDEO) - count = [_viewsNotInDocument count]; - for (i = 0; i < count; i++) + int viewsNotInDocumentCount = [_viewsNotInDocument count]; + for (int i = 0; i < viewsNotInDocumentCount; i++) [self stopOnePlugin:[_viewsNotInDocument objectAtIndex:i]]; #endif @@ -333,8 +333,8 @@ static void cancelOutstandingCheck(const void *item, void *context) [self _cancelOutstandingChecks]; - int i, count = [_views count]; - for (i = 0; i < count; i++) { + int viewsCount = [_views count]; + for (int i = 0; i < viewsCount; i++) { id aView = [_views objectAtIndex:i]; [self destroyOnePlugin:aView]; @@ -348,8 +348,8 @@ static void cancelOutstandingCheck(const void *item, void *context) } #if ENABLE(PLUGIN_PROXY_FOR_VIDEO) - count = [_viewsNotInDocument count]; - for (i = 0; i < count; i++) + int viewsNotInDocumentCount = [_viewsNotInDocument count]; + for (int i = 0; i < viewsNotInDocumentCount; i++) [self destroyOnePlugin:[_viewsNotInDocument objectAtIndex:i]]; #endif diff --git a/WebKit/mac/WebCoreSupport/WebChromeClient.h b/WebKit/mac/WebCoreSupport/WebChromeClient.h index a5f49e3..8649662 100644 --- a/WebKit/mac/WebCoreSupport/WebChromeClient.h +++ b/WebKit/mac/WebCoreSupport/WebChromeClient.h @@ -172,7 +172,9 @@ public: virtual void exitFullScreenForElement(WebCore::Element*); #endif - virtual void requestGeolocationPermissionForFrame(WebCore::Frame*, WebCore::Geolocation*); + // FIXME: Remove once all ports are using client-based geolocation. https://bugs.webkit.org/show_bug.cgi?id=40373 + // For client-based geolocation, these two methods have moved to WebGeolocationClient. https://bugs.webkit.org/show_bug.cgi?id=50061 + virtual void requestGeolocationPermissionForFrame(WebCore::Frame*, WebCore::Geolocation*) { } virtual void cancelGeolocationPermissionRequestForFrame(WebCore::Frame*, WebCore::Geolocation*) { } virtual bool selectItemWritingDirectionIsNatural(); diff --git a/WebKit/mac/WebCoreSupport/WebChromeClient.mm b/WebKit/mac/WebCoreSupport/WebChromeClient.mm index fe95989..965e607 100644 --- a/WebKit/mac/WebCoreSupport/WebChromeClient.mm +++ b/WebKit/mac/WebCoreSupport/WebChromeClient.mm @@ -55,7 +55,6 @@ #import <WebCore/FloatRect.h> #import <WebCore/Frame.h> #import <WebCore/FrameLoadRequest.h> -#import <WebCore/Geolocation.h> #import <WebCore/HTMLNames.h> #import <WebCore/HitTestResult.h> #import <WebCore/Icon.h> @@ -102,13 +101,6 @@ using namespace WebCore; - (id)initWithChooser:(PassRefPtr<FileChooser>)chooser; @end -@interface WebGeolocationPolicyListener : NSObject <WebGeolocationPolicyListener> -{ - RefPtr<Geolocation> _geolocation; -} -- (id)initWithGeolocation:(Geolocation*)geolocation; -@end - #if ENABLE(FULLSCREEN_API) @interface WebKitFullScreenListener : NSObject <WebKitFullScreenListener> @@ -781,7 +773,7 @@ void WebChromeClient::attachRootGraphicsLayer(Frame* frame, GraphicsLayer* graph WebHTMLView *webHTMLView = (WebHTMLView *)documentView; if (graphicsLayer) - [webHTMLView attachRootLayer:graphicsLayer->nativeLayer()]; + [webHTMLView attachRootLayer:graphicsLayer->platformLayer()]; else [webHTMLView detachRootLayer]; END_BLOCK_OBJC_EXCEPTIONS; @@ -849,27 +841,6 @@ void WebChromeClient::exitFullScreenForElement(Element* element) #endif -void WebChromeClient::requestGeolocationPermissionForFrame(Frame* frame, Geolocation* geolocation) -{ - BEGIN_BLOCK_OBJC_EXCEPTIONS; - - SEL selector = @selector(webView:decidePolicyForGeolocationRequestFromOrigin:frame:listener:); - if (![[m_webView UIDelegate] respondsToSelector:selector]) { - geolocation->setIsAllowed(false); - return; - } - - WebSecurityOrigin *webOrigin = [[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:frame->document()->securityOrigin()]; - WebGeolocationPolicyListener* listener = [[WebGeolocationPolicyListener alloc] initWithGeolocation:geolocation]; - - CallUIDelegate(m_webView, selector, webOrigin, kit(frame), listener); - - [webOrigin release]; - [listener release]; - - END_BLOCK_OBJC_EXCEPTIONS; -} - @implementation WebOpenPanelResultListener - (id)initWithChooser:(PassRefPtr<FileChooser>)chooser @@ -932,28 +903,6 @@ void WebChromeClient::requestGeolocationPermissionForFrame(Frame* frame, Geoloca @end -@implementation WebGeolocationPolicyListener - -- (id)initWithGeolocation:(Geolocation*)geolocation -{ - if (!(self = [super init])) - return nil; - _geolocation = geolocation; - return self; -} - -- (void)allow -{ - _geolocation->setIsAllowed(true); -} - -- (void)deny -{ - _geolocation->setIsAllowed(false); -} - -@end - #if ENABLE(FULLSCREEN_API) @implementation WebKitFullScreenListener diff --git a/WebKit/mac/WebCoreSupport/WebContextMenuClient.mm b/WebKit/mac/WebCoreSupport/WebContextMenuClient.mm index f3a85f0..c5a1035 100644 --- a/WebKit/mac/WebCoreSupport/WebContextMenuClient.mm +++ b/WebKit/mac/WebCoreSupport/WebContextMenuClient.mm @@ -42,8 +42,10 @@ #import "WebViewFactory.h" #import "WebViewInternal.h" #import <WebCore/ContextMenu.h> +#import <WebCore/ContextMenuController.h> #import <WebCore/KURL.h> #import <WebCore/LocalizedStrings.h> +#import <WebCore/Page.h> #import <WebCore/RuntimeApplicationChecks.h> #import <WebKit/DOMPrivate.h> @@ -278,7 +280,7 @@ NSMutableArray* WebContextMenuClient::getCustomMenuFromDefaultItems(ContextMenu* if (![delegate respondsToSelector:selector]) return defaultMenu->platformDescription(); - NSDictionary *element = [[[WebElementDictionary alloc] initWithHitTestResult:defaultMenu->hitTestResult()] autorelease]; + NSDictionary *element = [[[WebElementDictionary alloc] initWithHitTestResult:[m_webView page]->contextMenuController()->hitTestResult()] autorelease]; BOOL preVersion3Client = isPreVersion3Client(); if (preVersion3Client) { @@ -308,7 +310,7 @@ void WebContextMenuClient::contextMenuItemSelected(ContextMenuItem* item, const id delegate = [m_webView UIDelegate]; SEL selector = @selector(webView:contextMenuItemSelected:forElement:); if ([delegate respondsToSelector:selector]) { - NSDictionary *element = [[WebElementDictionary alloc] initWithHitTestResult:parentMenu->hitTestResult()]; + NSDictionary *element = [[WebElementDictionary alloc] initWithHitTestResult:[m_webView page]->contextMenuController()->hitTestResult()]; NSMenuItem *platformItem = item->releasePlatformDescription(); CallUIDelegate(m_webView, selector, platformItem, element); diff --git a/WebKit/mac/WebCoreSupport/WebEditorClient.h b/WebKit/mac/WebCoreSupport/WebEditorClient.h index 23cf312..8a54ca9 100644 --- a/WebKit/mac/WebCoreSupport/WebEditorClient.h +++ b/WebKit/mac/WebCoreSupport/WebEditorClient.h @@ -129,12 +129,13 @@ public: virtual void updateSpellingUIWithMisspelledWord(const WTF::String&); virtual void showSpellingUI(bool show); virtual bool spellingUIIsShowing(); - virtual void getGuessesForWord(const WTF::String&, WTF::Vector<WTF::String>& guesses); + virtual void getGuessesForWord(const WTF::String& word, const WTF::String& context, WTF::Vector<WTF::String>& guesses); virtual void willSetInputMethodState(); virtual void setInputMethodState(bool enabled); + virtual void requestCheckingOfString(WebCore::SpellChecker*, int, const WTF::String&); #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD) - virtual void showCorrectionPanel(WebCore::CorrectionPanelInfo::PanelType, const WebCore::FloatRect& boundingBoxOfReplacedString, const WTF::String& replacedString, const WTF::String& replacementString, WebCore::Editor*); - virtual void dismissCorrectionPanel(WebCore::CorrectionWasRejectedOrNot); + virtual void showCorrectionPanel(WebCore::CorrectionPanelInfo::PanelType, const WebCore::FloatRect& boundingBoxOfReplacedString, const WTF::String& replacedString, const WTF::String& replacementString, const WTF::Vector<WTF::String>& alternativeReplacementStrings, WebCore::Editor*); + virtual void dismissCorrectionPanel(WebCore::ReasonForDismissingCorrectionPanel); virtual bool isShowingCorrectionPanel(); #endif private: @@ -147,5 +148,7 @@ private: #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD) BOOL m_correctionPanelIsShown; + BOOL m_correctionPanelIsDismissedExternally; + WebCore::ReasonForDismissingCorrectionPanel m_reasonForDismissingCorrectionPanel; #endif }; diff --git a/WebKit/mac/WebCoreSupport/WebEditorClient.mm b/WebKit/mac/WebCoreSupport/WebEditorClient.mm index 9efa766..d3b38de 100644 --- a/WebKit/mac/WebCoreSupport/WebEditorClient.mm +++ b/WebKit/mac/WebCoreSupport/WebEditorClient.mm @@ -63,6 +63,7 @@ #import <WebCore/LegacyWebArchive.h> #import <WebCore/PlatformKeyboardEvent.h> #import <WebCore/PlatformString.h> +#import <WebCore/SpellChecker.h> #import <WebCore/UserTypingGestureIndicator.h> #import <WebCore/WebCoreObjCExtras.h> #import <runtime/InitializeThreading.h> @@ -77,6 +78,22 @@ using namespace WTF; using namespace HTMLNames; +#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD) +static inline NSCorrectionBubbleType correctionBubbleType(CorrectionPanelInfo::PanelType panelType) +{ + switch (panelType) { + case CorrectionPanelInfo::PanelTypeCorrection: + return NSCorrectionBubbleTypeCorrection; + case CorrectionPanelInfo::PanelTypeReversion: + return NSCorrectionBubbleTypeReversion; + case CorrectionPanelInfo::PanelTypeSpellingSuggestions: + return NSCorrectionBubbleTypeGuesses; + } + ASSERT_NOT_REACHED(); + return NSCorrectionBubbleTypeCorrection; +} +#endif + @interface NSAttributedString (WebNSAttributedStringDetails) - (id)_initWithDOMRange:(DOMRange*)range; - (DOMDocumentFragment*)_documentFromRange:(NSRange)range document:(DOMDocument*)document documentAttributes:(NSDictionary *)dict subresources:(NSArray **)subresources; @@ -194,7 +211,7 @@ WebEditorClient::WebEditorClient(WebView *webView) WebEditorClient::~WebEditorClient() { #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD) - dismissCorrectionPanel(WebCore::CorrectionWasNotRejected); + dismissCorrectionPanel(ReasonForDismissingCorrectionPanelIgnored); #endif } @@ -856,8 +873,8 @@ void WebEditorClient::updateSpellingUIWithGrammarString(const String& badGrammar } #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD) -void WebEditorClient::showCorrectionPanel(WebCore::CorrectionPanelInfo::PanelType panelType, const FloatRect& boundingBoxOfReplacedString, const String& replacedString, const String& replacementString, Editor* editor) { - dismissCorrectionPanel(WebCore::CorrectionWasNotRejected); +void WebEditorClient::showCorrectionPanel(WebCore::CorrectionPanelInfo::PanelType panelType, const FloatRect& boundingBoxOfReplacedString, const String& replacedString, const String& replacementString, const Vector<String>& alternativeReplacementStrings, Editor* editor) { + dismissCorrectionPanel(ReasonForDismissingCorrectionPanelIgnored); NSRect boundingBoxAsNSRect = boundingBoxOfReplacedString; NSRect webViewFrame = m_webView.frame; @@ -868,25 +885,52 @@ void WebEditorClient::showCorrectionPanel(WebCore::CorrectionPanelInfo::PanelTyp NSString *replacementStringAsNSString = replacementString; m_correctionPanelIsShown = YES; - NSCorrectionBubbleType bubbleType = panelType == WebCore::CorrectionPanelInfo::PanelTypeCorrection ? NSCorrectionBubbleTypeCorrection : NSCorrectionBubbleTypeReversion; - [[NSSpellChecker sharedSpellChecker] showCorrectionBubbleOfType:bubbleType primaryString:replacementStringAsNSString alternativeStrings:nil forStringInRect:boundingBoxAsNSRect view:m_webView completionHandler:^(NSString *acceptedString) { - if (!acceptedString && bubbleType == NSCorrectionBubbleTypeCorrection) { - [[NSSpellChecker sharedSpellChecker] recordResponse:NSCorrectionResponseRejected toCorrection:replacementStringAsNSString forWord:replacedStringAsNSString language:nil inSpellDocumentWithTag:[m_webView spellCheckerDocumentTag]]; - editor->handleRejectedCorrection(); - } else if (acceptedString && bubbleType == NSCorrectionBubbleTypeReversion) { - [[NSSpellChecker sharedSpellChecker] recordResponse:NSCorrectionResponseReverted toCorrection:replacedStringAsNSString forWord:replacementStringAsNSString language:nil inSpellDocumentWithTag:[m_webView spellCheckerDocumentTag]]; - editor->handleRejectedCorrection(); + m_correctionPanelIsDismissedExternally = NO; + m_reasonForDismissingCorrectionPanel = ReasonForDismissingCorrectionPanelIgnored; + + NSCorrectionBubbleType bubbleType = correctionBubbleType(panelType); + NSMutableArray *alternativeStrings = nil; + if (!alternativeReplacementStrings.isEmpty()) { + size_t size = alternativeReplacementStrings.size(); + alternativeStrings = [NSMutableArray arrayWithCapacity:size]; + for (size_t i = 0; i < size; ++i) + [alternativeStrings addObject:(NSString*)alternativeReplacementStrings[i]]; + } + NSSpellChecker *spellChecker = [NSSpellChecker sharedSpellChecker]; + [[NSSpellChecker sharedSpellChecker] showCorrectionBubbleOfType:bubbleType primaryString:replacementStringAsNSString alternativeStrings:alternativeStrings forStringInRect:boundingBoxAsNSRect view:m_webView completionHandler:^(NSString *acceptedString) { + switch (bubbleType) { + case NSCorrectionBubbleTypeCorrection: + if (acceptedString) + [spellChecker recordResponse:NSCorrectionResponseAccepted toCorrection:acceptedString forWord:replacedStringAsNSString language:nil inSpellDocumentWithTag:spellCheckerDocumentTag()]; + else { + if (!m_correctionPanelIsDismissedExternally || m_reasonForDismissingCorrectionPanel == ReasonForDismissingCorrectionPanelCancelled) + [spellChecker recordResponse:NSCorrectionResponseRejected toCorrection:replacementStringAsNSString forWord:replacedStringAsNSString language:nil inSpellDocumentWithTag:spellCheckerDocumentTag()]; + else + [spellChecker recordResponse:NSCorrectionResponseIgnored toCorrection:replacementStringAsNSString forWord:replacedStringAsNSString language:nil inSpellDocumentWithTag:spellCheckerDocumentTag()]; + } + break; + case NSCorrectionBubbleTypeReversion: + if (acceptedString) + [spellChecker recordResponse:NSCorrectionResponseReverted toCorrection:replacedStringAsNSString forWord:acceptedString language:nil inSpellDocumentWithTag:spellCheckerDocumentTag()]; + break; + case NSCorrectionBubbleTypeGuesses: + if (acceptedString) + [[NSSpellChecker sharedSpellChecker] recordResponse:NSCorrectionResponseAccepted toCorrection:acceptedString forWord:replacedStringAsNSString language:nil inSpellDocumentWithTag:[m_webView spellCheckerDocumentTag]]; + break; } + editor->handleCorrectionPanelResult(String(acceptedString)); }]; } -void WebEditorClient::dismissCorrectionPanel(WebCore::CorrectionWasRejectedOrNot correctionWasRejectedOrNot) +void WebEditorClient::dismissCorrectionPanel(ReasonForDismissingCorrectionPanel reasonForDismissing) { if (isShowingCorrectionPanel()) { - if (correctionWasRejectedOrNot == CorrectionWasRejected) - [[NSSpellChecker sharedSpellChecker] cancelCorrectionBubbleForView:m_webView]; - else + m_correctionPanelIsDismissedExternally = YES; + m_reasonForDismissingCorrectionPanel = reasonForDismissing; + if (reasonForDismissing == ReasonForDismissingCorrectionPanelAccepted) [[NSSpellChecker sharedSpellChecker] dismissCorrectionBubbleForView:m_webView]; + else + [[NSSpellChecker sharedSpellChecker] cancelCorrectionBubbleForView:m_webView]; m_correctionPanelIsShown = NO; } } @@ -916,11 +960,22 @@ bool WebEditorClient::spellingUIIsShowing() return [[[NSSpellChecker sharedSpellChecker] spellingPanel] isVisible]; } -void WebEditorClient::getGuessesForWord(const String& word, WTF::Vector<String>& guesses) -{ +void WebEditorClient::getGuessesForWord(const String& word, const String& context, Vector<String>& guesses) { + guesses.clear(); +#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD) + NSString* language = nil; + NSOrthography* orthography = nil; + NSSpellChecker *checker = [NSSpellChecker sharedSpellChecker]; + if (context.length()) { + [checker checkString:context range:NSMakeRange(0, context.length()) types:NSTextCheckingTypeOrthography options:0 inSpellDocumentWithTag:spellCheckerDocumentTag() orthography:&orthography wordCount:0]; + language = [checker languageForWordRange:NSMakeRange(0, context.length()) inString:context orthography:orthography]; + } + NSArray* stringsArray = [checker guessesForWordRange:NSMakeRange(0, word.length()) inString:word language:language inSpellDocumentWithTag:spellCheckerDocumentTag()]; +#else NSArray* stringsArray = [[NSSpellChecker sharedSpellChecker] guessesForWord:word]; +#endif unsigned count = [stringsArray count]; - guesses.clear(); + if (count > 0) { NSEnumerator* enumerator = [stringsArray objectEnumerator]; NSString* string; @@ -936,3 +991,73 @@ void WebEditorClient::willSetInputMethodState() void WebEditorClient::setInputMethodState(bool) { } + +#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) +@interface WebEditorSpellCheckResponder : NSObject +{ + WebCore::SpellChecker* _sender; + int _sequence; + RetainPtr<NSArray> _results; +} +- (id)initWithSender:(WebCore::SpellChecker*)sender sequence:(int)sequence results:(NSArray*)results; +- (void)perform; +- (WTF::Vector<WebCore::SpellCheckingResult>) _coreResults; +@end + +@implementation WebEditorSpellCheckResponder +- (id)initWithSender:(WebCore::SpellChecker*)sender sequence:(int)sequence results:(NSArray*)results +{ + self = [super init]; + if (!self) + return nil; + _sender = sender; + _sequence = sequence; + _results = results; + return self; +} + +- (void)perform +{ + _sender->didCheck(_sequence, [self _coreResults]); +} + +static SpellCheckingResult toCoreSpellingResult(NSTextCheckingResult* result) +{ + NSTextCheckingType type = [result resultType]; + NSRange range = [result range]; + DocumentMarker::MarkerType coreType; + if (type & NSTextCheckingTypeSpelling) + coreType = DocumentMarker::Spelling; + else if (type & NSTextCheckingTypeGrammar) + coreType = DocumentMarker::Grammar; + else + coreType = DocumentMarker::AllMarkers; + + return SpellCheckingResult(coreType, range.location, range.length); +} + +- (WTF::Vector<WebCore::SpellCheckingResult>)_coreResults +{ + WTF::Vector<WebCore::SpellCheckingResult> coreResults; + coreResults.reserveCapacity([_results.get() count]); + for (NSTextCheckingResult* result in _results.get()) + coreResults.append(toCoreSpellingResult(result)); + return coreResults; +} + +@end +#endif + +void WebEditorClient::requestCheckingOfString(WebCore::SpellChecker* sender, int sequence, const String& text) +{ +#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) + NSRange range = NSMakeRange(0, text.length()); + NSRunLoop* currentLoop = [NSRunLoop currentRunLoop]; + [[NSSpellChecker sharedSpellChecker] requestCheckingOfString:text range:range types:NSTextCheckingAllSystemTypes options:0 inSpellDocumentWithTag:0 + completionHandler:^(NSInteger, NSArray* results, NSOrthography*, NSInteger) { + [currentLoop performSelector:@selector(perform) + target:[[[WebEditorSpellCheckResponder alloc] initWithSender:sender sequence:sequence results:results] autorelease] + argument:nil order:0 modes:[NSArray arrayWithObject:NSDefaultRunLoopMode]]; + }]; +#endif +} diff --git a/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm b/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm index 5968084..c8285dc 100644 --- a/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm +++ b/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm @@ -1568,7 +1568,25 @@ public: else if (event->type() == eventNames().mouseoutEvent) [(WebBaseNetscapePluginView *)platformWidget() handleMouseExited:currentNSEvent]; } - + +private: + virtual void notifyWidget(WidgetNotification notification) + { + switch (notification) { + case WillPaintFlattened: { + BEGIN_BLOCK_OBJC_EXCEPTIONS; + [(WebBaseNetscapePluginView *)platformWidget() cacheSnapshot]; + END_BLOCK_OBJC_EXCEPTIONS; + break; + } + case DidPaintFlattened: { + BEGIN_BLOCK_OBJC_EXCEPTIONS; + [(WebBaseNetscapePluginView *)platformWidget() clearCachedSnapshot]; + END_BLOCK_OBJC_EXCEPTIONS; + break; + } + } + } }; #if USE(PLUGIN_HOST_PROCESS) diff --git a/WebKit/mac/WebCoreSupport/WebGeolocationClient.h b/WebKit/mac/WebCoreSupport/WebGeolocationClient.h index 5ea3369..b8e7b87 100644 --- a/WebKit/mac/WebCoreSupport/WebGeolocationClient.h +++ b/WebKit/mac/WebCoreSupport/WebGeolocationClient.h @@ -26,7 +26,8 @@ #import <WebCore/GeolocationClient.h> namespace WebCore { - class GeolocationPosition; +class Geolocation; +class GeolocationPosition; } @class WebView; @@ -43,6 +44,9 @@ public: WebCore::GeolocationPosition* lastPosition(); + void requestPermission(WebCore::Geolocation*); + void cancelPermissionRequest(WebCore::Geolocation*) { }; + private: WebView *m_webView; }; diff --git a/WebKit/mac/WebCoreSupport/WebGeolocationClient.mm b/WebKit/mac/WebCoreSupport/WebGeolocationClient.mm index a635b44..b52b7bc 100644 --- a/WebKit/mac/WebCoreSupport/WebGeolocationClient.mm +++ b/WebKit/mac/WebCoreSupport/WebGeolocationClient.mm @@ -25,11 +25,25 @@ #import "WebGeolocationClient.h" +#import "WebDelegateImplementationCaching.h" +#import "WebFrameInternal.h" #import "WebGeolocationPositionInternal.h" +#import "WebSecurityOriginInternal.h" +#import "WebUIDelegatePrivate.h" #import "WebViewInternal.h" +#import <WebCore/BlockExceptions.h> +#import <WebCore/Frame.h> +#import <WebCore/Geolocation.h> using namespace WebCore; +@interface WebGeolocationPolicyListener : NSObject <WebGeolocationPolicyListener> +{ + RefPtr<Geolocation> _geolocation; +} +- (id)initWithGeolocation:(Geolocation*)geolocation; +@end + WebGeolocationClient::WebGeolocationClient(WebView *webView) : m_webView(webView) { @@ -50,6 +64,28 @@ void WebGeolocationClient::stopUpdating() [[m_webView _geolocationProvider] unregisterWebView:m_webView]; } +void WebGeolocationClient::requestPermission(Geolocation* geolocation) +{ + BEGIN_BLOCK_OBJC_EXCEPTIONS; + + SEL selector = @selector(webView:decidePolicyForGeolocationRequestFromOrigin:frame:listener:); + if (![[m_webView UIDelegate] respondsToSelector:selector]) { + geolocation->setIsAllowed(false); + return; + } + + Frame *frame = geolocation->frame(); + WebSecurityOrigin *webOrigin = [[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:frame->document()->securityOrigin()]; + WebGeolocationPolicyListener* listener = [[WebGeolocationPolicyListener alloc] initWithGeolocation:geolocation]; + + CallUIDelegate(m_webView, selector, webOrigin, kit(frame), listener); + + [webOrigin release]; + [listener release]; + + END_BLOCK_OBJC_EXCEPTIONS; +} + GeolocationPosition* WebGeolocationClient::lastPosition() { #if ENABLE(CLIENT_BASED_GEOLOCATION) @@ -58,3 +94,26 @@ GeolocationPosition* WebGeolocationClient::lastPosition() return 0; #endif } + +@implementation WebGeolocationPolicyListener + +- (id)initWithGeolocation:(Geolocation*)geolocation +{ + if (!(self = [super init])) + return nil; + _geolocation = geolocation; + return self; +} + +- (void)allow +{ + _geolocation->setIsAllowed(true); +} + +- (void)deny +{ + _geolocation->setIsAllowed(false); +} + +@end + diff --git a/WebKit/mac/WebCoreSupport/WebSystemInterface.mm b/WebKit/mac/WebCoreSupport/WebSystemInterface.mm index 2c57646..e1c1058 100644 --- a/WebKit/mac/WebCoreSupport/WebSystemInterface.mm +++ b/WebKit/mac/WebCoreSupport/WebSystemInterface.mm @@ -121,6 +121,8 @@ void InitWebCoreSystemInterface(void) INIT(CreateCTLineWithUniCharProvider); #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD) INIT(CreateCTTypesetterWithUniCharProviderAndOptions); + INIT(IOSurfaceContextCreate); + INIT(IOSurfaceContextCreateImage); #endif didInit = true; diff --git a/WebKit/mac/WebView/WebDocumentInternal.h b/WebKit/mac/WebView/WebDocumentInternal.h index 0f63d75..4bf11d1 100644 --- a/WebKit/mac/WebView/WebDocumentInternal.h +++ b/WebKit/mac/WebView/WebDocumentInternal.h @@ -28,6 +28,7 @@ #import <WebKit/WebDocumentPrivate.h> #import <WebKit/WebHTMLView.h> +#import <WebKit/WebViewPrivate.h> #if MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4 #define WebNSUInteger unsigned int @@ -61,12 +62,14 @@ @protocol WebMultipleTextMatches <NSObject> - (void)setMarkedTextMatchesAreHighlighted:(BOOL)newValue; - (BOOL)markedTextMatchesAreHighlighted; -- (WebNSUInteger)markAllMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag limit:(WebNSUInteger)limit; -- (WebNSUInteger)countMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag limit:(WebNSUInteger)limit markMatches:(BOOL)markMatches; +- (WebNSUInteger)countMatchesForText:(NSString *)string inDOMRange:(DOMRange *)range options:(WebFindOptions)options limit:(WebNSUInteger)limit markMatches:(BOOL)markMatches; - (void)unmarkAllTextMatches; - (NSArray *)rectsForTextMatches; @end +@protocol WebDocumentOptionsSearching <NSObject> +- (BOOL)findString:(NSString *)string options:(WebFindOptions)options; +@end /* Used to save and restore state in the view, typically when going back/forward */ @protocol _WebDocumentViewState <NSObject> @@ -76,7 +79,7 @@ - (void)setViewState:(id)statePList; @end -@interface WebHTMLView (WebDocumentInternalProtocols) <WebDocumentElement, WebMultipleTextMatches> +@interface WebHTMLView (WebDocumentInternalProtocols) <WebDocumentElement, WebMultipleTextMatches, WebDocumentOptionsSearching> @end #undef WebNSUInteger diff --git a/WebKit/mac/WebView/WebDynamicScrollBarsView.mm b/WebKit/mac/WebView/WebDynamicScrollBarsView.mm index 480d146..79c3067 100644 --- a/WebKit/mac/WebView/WebDynamicScrollBarsView.mm +++ b/WebKit/mac/WebView/WebDynamicScrollBarsView.mm @@ -63,12 +63,14 @@ struct WebDynamicScrollBarsViewPrivate { bool horizontalScrollingAllowedButScrollerHidden; bool verticalScrollingAllowedButScrollerHidden; - // scrollOriginX is 0 for LTR page and is the negative of left layout overflow value for RTL page. - int scrollOriginX; + // scrollOrigin is set for various combinations of writing mode and direction. + // See the comment next to the corresponding member in ScrollView.h. + NSPoint scrollOrigin; // Flag to indicate that the scrollbar thumb's initial position needs to // be manually set. - bool setScrollbarThumbInitialPosition; + bool scrollOriginChanged; + NSPoint scrollPositionExcludingOrigin; bool inProgrammaticScroll; }; @@ -215,27 +217,22 @@ struct WebDynamicScrollBarsViewPrivate { #endif } -- (void)refreshInitialScrollbarPosition +- (void)adjustForScrollOriginChange { - if (_private->setScrollbarThumbInitialPosition) { - NSView *documentView = [self documentView]; - NSRect documentRect = [documentView bounds]; + if (!_private->scrollOriginChanged) + return; - // If scrollOriginX is non-zero that means that there's a left overflow <=> this is an RTL document and thus - // the initial position of the horizontal scrollbar thumb should be on the right. - // FIXME: If knowledge of document directionality is ever propagated to the scroll view, it probably makes - // more sense to use the directionality directly in the below if statement, rather than doing so indirectly - // through scrollOriginX. - if (_private->scrollOriginX != 0) { - // The call to [NSView scrollPoint:] fires off notification the handler for which needs to know that - // we're setting the initial scroll position so it doesn't interpret this as a user action and - // fire off a JS event. - _private->inProgrammaticScroll = true; - [documentView scrollPoint:NSMakePoint(NSMaxX(documentRect) - NSWidth([self contentViewFrame]), 0)]; - _private->inProgrammaticScroll = false; - } - _private->setScrollbarThumbInitialPosition = false; - } + _private->scrollOriginChanged = false; + + NSView *documentView = [self documentView]; + NSRect documentRect = [documentView bounds]; + + // The call to [NSView scrollPoint:] fires off notification the handler for which needs to know that + // we're setting the initial scroll position so it doesn't interpret this as a user action and + // fire off a JS event. + _private->inProgrammaticScroll = true; + [documentView scrollPoint:NSMakePoint(_private->scrollPositionExcludingOrigin.x + documentRect.origin.x, _private->scrollPositionExcludingOrigin.y + documentRect.origin.y)]; + _private->inProgrammaticScroll = false; } static const unsigned cMaxUpdateScrollbarsPass = 2; @@ -339,14 +336,12 @@ static const unsigned cMaxUpdateScrollbarsPass = 2; if (hasHorizontalScroller != newHasHorizontalScroller) { _private->inUpdateScrollers = YES; [self setHasHorizontalScroller:newHasHorizontalScroller]; - - // For RTL documents, we need to set the initial position of the - // horizontal scrollbar thumb to be on the right. - if (newHasHorizontalScroller) - _private->setScrollbarThumbInitialPosition = true; - _private->inUpdateScrollers = NO; needsLayout = YES; + NSView *documentView = [self documentView]; + NSRect documentRect = [documentView bounds]; + if (documentRect.origin.y < 0 && !newHasHorizontalScroller) + [documentView setBoundsOrigin:NSMakePoint(documentRect.origin.x, documentRect.origin.y + 15)]; } if (hasVerticalScroller != newHasVerticalScroller) { @@ -354,6 +349,10 @@ static const unsigned cMaxUpdateScrollbarsPass = 2; [self setHasVerticalScroller:newHasVerticalScroller]; _private->inUpdateScrollers = NO; needsLayout = YES; + NSView *documentView = [self documentView]; + NSRect documentRect = [documentView bounds]; + if (documentRect.origin.x < 0 && !newHasVerticalScroller) + [documentView setBoundsOrigin:NSMakePoint(documentRect.origin.x + 15, documentRect.origin.y)]; } if (needsLayout && _private->inUpdateScrollersLayoutPass < cMaxUpdateScrollbarsPass && @@ -410,7 +409,7 @@ static const unsigned cMaxUpdateScrollbarsPass = 2; // The call to [NSView reflectScrolledClipView] sets the scrollbar thumb // position to 0 (the left) when the view is initially displayed. // This call updates the initial position correctly. - [self refreshInitialScrollbarPosition]; + [self adjustForScrollOriginChange]; #if USE(ACCELERATED_COMPOSITING) && defined(BUILDING_ON_LEOPARD) NSView *documentView = [self documentView]; @@ -573,22 +572,29 @@ static const unsigned cMaxUpdateScrollbarsPass = 2; return [super accessibilityIsIgnored]; } -- (void)setScrollOriginX:(int)scrollOriginX +- (void)setScrollOrigin:(NSPoint)scrollOrigin updatePosition:(BOOL)updatePosition { - _private->scrollOriginX = scrollOriginX; - + // The cross-platform ScrollView call already checked to see if the old/new scroll origins were the same or not + // so we don't have to check for equivalence here. + _private->scrollOrigin = scrollOrigin; id docView = [self documentView]; - if (scrollOriginX != [docView bounds].origin.x) { - // "-[self scrollOriginX]" is equal to the left layout overflow. - // Make Document bounds origin x coordinate correspond to the left overflow so the entire canvas is covered by the document. - [docView setBoundsOrigin:NSMakePoint(-scrollOriginX, [docView bounds].origin.y)]; - } + NSRect visibleRect = [self documentVisibleRect]; + + [docView setBoundsOrigin:NSMakePoint(-scrollOrigin.x, -scrollOrigin.y)]; + + _private->scrollOriginChanged = true; + + // Maintain our original position in the presence of the new scroll origin. + _private->scrollPositionExcludingOrigin = NSMakePoint(visibleRect.origin.x + scrollOrigin.x, visibleRect.origin.y + scrollOrigin.y); + + if (updatePosition) // Otherwise we'll just let the snap happen when we update for the resize. + [self adjustForScrollOriginChange]; } -- (int)scrollOriginX +- (NSPoint)scrollOrigin { - return _private->scrollOriginX; + return _private->scrollOrigin; } @end diff --git a/WebKit/mac/WebView/WebFrame.mm b/WebKit/mac/WebView/WebFrame.mm index d1d4953..b0f9bb9 100644 --- a/WebKit/mac/WebView/WebFrame.mm +++ b/WebKit/mac/WebView/WebFrame.mm @@ -653,7 +653,7 @@ static inline WebDataSource *dataSource(DocumentLoader* loader) // This bizarre set of rules matches behavior from WebKit for Safari 2.0. // If you don't like it, use -[WebScriptObject evaluateWebScript:] or // JSEvaluateScript instead, since they have less surprising semantics. - if (!result || !result.isBoolean() && !result.isString() && !result.isNumber()) + if (!result || (!result.isBoolean() && !result.isString() && !result.isNumber())) return @""; JSLock lock(SilenceAssertionsOnly); @@ -1297,7 +1297,7 @@ static inline WebDataSource *dataSource(DocumentLoader* loader) // This bizarre set of rules matches behavior from WebKit for Safari 2.0. // If you don't like it, use -[WebScriptObject evaluateWebScript:] or // JSEvaluateScript instead, since they have less surprising semantics. - if (!result || !result.isBoolean() && !result.isString() && !result.isNumber()) + if (!result || (!result.isBoolean() && !result.isString() && !result.isNumber())) return @""; JSLock lock(SilenceAssertionsOnly); diff --git a/WebKit/mac/WebView/WebFrameView.mm b/WebKit/mac/WebView/WebFrameView.mm index 40ee0b1..82efa6d 100644 --- a/WebKit/mac/WebView/WebFrameView.mm +++ b/WebKit/mac/WebView/WebFrameView.mm @@ -529,6 +529,35 @@ static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCCl return frame->eventHandler()->scrollOverflow(direction, granularity); } + +- (BOOL)_isVerticalDocument +{ + Frame* coreFrame = [self _web_frame]; + if (!coreFrame) + return YES; + Document* document = coreFrame->document(); + if (!document) + return YES; + RenderObject* renderView = document->renderer(); + if (!renderView) + return YES; + return renderView->style()->isHorizontalWritingMode(); +} + +- (BOOL)_isFlippedDocument +{ + Frame* coreFrame = [self _web_frame]; + if (!coreFrame) + return NO; + Document* document = coreFrame->document(); + if (!document) + return NO; + RenderObject* renderView = document->renderer(); + if (!renderView) + return NO; + return renderView->style()->isFlippedBlocksWritingMode(); +} + - (BOOL)_scrollToBeginningOfDocument { if ([self _scrollOverflowInDirection:ScrollUp granularity:ScrollByDocument]) @@ -536,7 +565,8 @@ static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCCl if (![self _isScrollable]) return NO; NSPoint point = [[[self _scrollView] documentView] frame].origin; - point.x += [[self _scrollView] scrollOriginX]; + point.x += [[self _scrollView] scrollOrigin].x; + point.y += [[self _scrollView] scrollOrigin].y; return [[self _contentView] _scrollTo:&point animate:YES]; } @@ -547,8 +577,28 @@ static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCCl if (![self _isScrollable]) return NO; NSRect frame = [[[self _scrollView] documentView] frame]; - NSPoint point = NSMakePoint(frame.origin.x, NSMaxY(frame)); - point.x += [[self _scrollView] scrollOriginX]; + + bool isVertical = [self _isVerticalDocument]; + bool isFlipped = [self _isFlippedDocument]; + + NSPoint point; + if (isVertical) { + if (!isFlipped) + point = NSMakePoint(frame.origin.x, NSMaxY(frame)); + else + point = NSMakePoint(frame.origin.x, NSMinY(frame)); + } else { + if (!isFlipped) + point = NSMakePoint(NSMaxX(frame), frame.origin.y); + else + point = NSMakePoint(NSMinX(frame), frame.origin.y); + } + + // Reset the position opposite to the block progression direction. + if (isVertical) + point.x += [[self _scrollView] scrollOrigin].x; + else + point.y += [[self _scrollView] scrollOrigin].y; return [[self _contentView] _scrollTo:&point animate:YES]; } @@ -641,6 +691,16 @@ static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCCl return [self _scrollHorizontallyBy:left ? -delta : delta]; } +- (BOOL)_pageInBlockProgressionDirection:(BOOL)forward +{ + // Determine whether we're calling _pageVertically or _pageHorizontally. + BOOL isVerticalDocument = [self _isVerticalDocument]; + BOOL isFlippedBlock = [self _isFlippedDocument]; + if (isVerticalDocument) + return [self _pageVertically:isFlippedBlock ? !forward : forward]; + return [self _pageHorizontally:isFlippedBlock ? !forward : forward]; +} + - (BOOL)_scrollLineVertically:(BOOL)up { if ([self _scrollOverflowInDirection:up ? ScrollUp : ScrollDown granularity:ScrollByLine]) @@ -667,7 +727,7 @@ static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCCl - (void)scrollPageUp:(id)sender { - if (![self _pageVertically:YES]) { + if (![self _pageInBlockProgressionDirection:YES]) { // If we were already at the top, tell the next responder to scroll if it can. [[self nextResponder] tryToPerform:@selector(scrollPageUp:) with:sender]; } @@ -675,7 +735,7 @@ static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCCl - (void)scrollPageDown:(id)sender { - if (![self _pageVertically:NO]) { + if (![self _pageInBlockProgressionDirection:NO]) { // If we were already at the bottom, tell the next responder to scroll if it can. [[self nextResponder] tryToPerform:@selector(scrollPageDown:) with:sender]; } diff --git a/WebKit/mac/WebView/WebHTMLRepresentation.mm b/WebKit/mac/WebView/WebHTMLRepresentation.mm index 2699472..fad0a4a 100644 --- a/WebKit/mac/WebView/WebHTMLRepresentation.mm +++ b/WebKit/mac/WebView/WebHTMLRepresentation.mm @@ -285,12 +285,12 @@ static HTMLFormElement* formElementFromDOMElement(DOMElement *element) HTMLFormElement* formElement = formElementFromDOMElement(form); if (!formElement) return nil; - const Vector<HTMLFormControlElement*>& elements = formElement->associatedElements(); + const Vector<FormAssociatedElement*>& elements = formElement->associatedElements(); AtomicString targetName = name; for (unsigned i = 0; i < elements.size(); i++) { - HTMLFormControlElement* elt = elements[i]; + FormAssociatedElement* elt = elements[i]; if (elt->name() == targetName) - return kit(elt); + return kit(toHTMLElement(elt)); } return nil; } @@ -333,10 +333,10 @@ static HTMLInputElement* inputElementFromDOMElement(DOMElement* element) if (!formElement) return nil; NSMutableArray *results = nil; - const Vector<HTMLFormControlElement*>& elements = formElement->associatedElements(); + const Vector<FormAssociatedElement*>& elements = formElement->associatedElements(); for (unsigned i = 0; i < elements.size(); i++) { if (elements[i]->isEnumeratable()) { // Skip option elements, other duds - DOMElement* de = kit(elements[i]); + DOMElement* de = kit(toHTMLElement(elements[i])); if (!results) results = [NSMutableArray arrayWithObject:de]; else diff --git a/WebKit/mac/WebView/WebHTMLView.mm b/WebKit/mac/WebView/WebHTMLView.mm index 07e4876..3e8be9a 100644 --- a/WebKit/mac/WebView/WebHTMLView.mm +++ b/WebKit/mac/WebView/WebHTMLView.mm @@ -129,6 +129,53 @@ using namespace HTMLNames; using namespace WTF; using namespace std; +@interface WebMenuTarget : NSObject { + WebCore::ContextMenuController* _menuController; +} ++ (WebMenuTarget*)sharedMenuTarget; +- (WebCore::ContextMenuController*)menuController; +- (void)setMenuController:(WebCore::ContextMenuController*)menuController; +- (void)forwardContextMenuAction:(id)sender; +- (BOOL)validateMenuItem:(NSMenuItem *)item; +@end + +static WebMenuTarget* target; + +@implementation WebMenuTarget + ++ (WebMenuTarget*)sharedMenuTarget +{ + if (!target) + target = [[WebMenuTarget alloc] init]; + return target; +} + +- (WebCore::ContextMenuController*)menuController +{ + return _menuController; +} + +- (void)setMenuController:(WebCore::ContextMenuController*)menuController +{ + _menuController = menuController; +} + +- (void)forwardContextMenuAction:(id)sender +{ + WebCore::ContextMenuItem item(WebCore::ActionType, static_cast<WebCore::ContextMenuAction>([sender tag]), [sender title]); + _menuController->contextMenuItemSelected(&item); +} + +- (BOOL)validateMenuItem:(NSMenuItem *)item +{ + WebCore::ContextMenuItem coreItem(item); + ASSERT(_menuController->contextMenu()); + _menuController->checkOrEnableIfNeeded(coreItem); + return coreItem.enabled(); +} + +@end + @interface NSWindow (BorderViewAccess) - (NSView*)_web_borderView; @end @@ -525,6 +572,16 @@ static NSCellStateValue kit(TriState state) return NSOffState; } +static FindOptions coreOptions(WebFindOptions options) +{ + return (options & WebFindOptionsCaseInsensitive ? CaseInsensitive : 0) + | (options & WebFindOptionsAtWordStarts ? AtWordStarts : 0) + | (options & WebFindOptionsTreatMedialCapitalAsWordStart ? TreatMedialCapitalAsWordStart : 0) + | (options & WebFindOptionsBackwards ? Backwards : 0) + | (options & WebFindOptionsWrapAround ? WrapAround : 0) + | (options & WebFindOptionsStartInSelection ? StartInSelection : 0); +} + @implementation WebHTMLViewPrivate + (void)initialize @@ -2078,7 +2135,7 @@ static void _updateMouseoverTimerCallback(CFRunLoopTimerRef timer, void *info) // The _hasHTMLDocument clause here is a workaround for a bug in NSAttributedString: Radar 5052369. // If we call _documentFromRange on an XML document we'll get "setInnerHTML: method not found". // FIXME: Remove this once bug 5052369 is fixed. - if ([self _hasHTMLDocument] && pboardType == NSRTFPboardType || pboardType == NSRTFDPboardType) { + if ([self _hasHTMLDocument] && (pboardType == NSRTFPboardType || pboardType == NSRTFDPboardType)) { NSAttributedString *string = nil; if (pboardType == NSRTFDPboardType) string = [[NSAttributedString alloc] initWithRTFD:[pasteboard dataForType:NSRTFDPboardType] documentAttributes:NULL]; @@ -3213,6 +3270,28 @@ WEBCORE_COMMAND(yankAndSelect) coreframe->eventHandler()->mouseUp(event); } +static void setMenuItemTarget(NSMenuItem* menuItem) +{ + // Don't set the menu item's action to the context menu action forwarder if we already + // have an action. + if ([menuItem action]) + return; + + [menuItem setTarget:[WebMenuTarget sharedMenuTarget]]; + [menuItem setAction:@selector(forwardContextMenuAction:)]; +} + +static void setMenuTargets(NSMenu* menu) +{ + NSInteger itemCount = [menu numberOfItems]; + for (NSInteger i = 0; i < itemCount; ++i) { + NSMenuItem *item = [menu itemAtIndex:i]; + setMenuItemTarget(item); + if ([item hasSubmenu]) + setMenuTargets([item submenu]); + } +} + - (NSMenu *)menuForEvent:(NSEvent *)event { // There's a chance that if we run a nested event loop the event will be released. @@ -3260,6 +3339,10 @@ WEBCORE_COMMAND(yankAndSelect) NSMenu* menu = [[[NSMenu alloc] init] autorelease]; for (NSUInteger i = 0; i < count; i++) [menu addItem:[menuItems objectAtIndex:i]]; + setMenuTargets(menu); + + [[WebMenuTarget sharedMenuTarget] setMenuController:page->contextMenuController()]; + return menu; } @@ -6198,10 +6281,7 @@ static void extractUnderlines(NSAttributedString *string, Vector<CompositionUnde - (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag startInSelection:(BOOL)startInSelection { - if (![string length]) - return NO; - Frame* coreFrame = core([self _frame]); - return coreFrame && coreFrame->editor()->findString(string, forward, caseFlag, wrapFlag, startInSelection); + return [self findString:string options:(forward ? 0 : WebFindOptionsBackwards) | (caseFlag ? 0 : WebFindOptionsCaseInsensitive) | (startInSelection ? WebFindOptionsStartInSelection : 0)]; } @end @@ -6221,17 +6301,13 @@ static void extractUnderlines(NSAttributedString *string, Vector<CompositionUnde return [[[WebElementDictionary alloc] initWithHitTestResult:coreFrame->eventHandler()->hitTestResultAtPoint(IntPoint(point), allow)] autorelease]; } -- (NSUInteger)markAllMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag limit:(NSUInteger)limit -{ - return [self countMatchesForText:string caseSensitive:caseFlag limit:limit markMatches:YES]; -} - -- (NSUInteger)countMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag limit:(NSUInteger)limit markMatches:(BOOL)markMatches +- (NSUInteger)countMatchesForText:(NSString *)string inDOMRange:(DOMRange *)range options:(WebFindOptions)options limit:(NSUInteger)limit markMatches:(BOOL)markMatches { Frame* coreFrame = core([self _frame]); if (!coreFrame) return 0; - return coreFrame->editor()->countMatchesForText(string, caseFlag, limit, markMatches); + + return coreFrame->editor()->countMatchesForText(string, core(range), coreOptions(options), limit, markMatches); } - (void)setMarkedTextMatchesAreHighlighted:(BOOL)newValue @@ -6276,6 +6352,14 @@ static void extractUnderlines(NSAttributedString *string, Vector<CompositionUnde return result; } +- (BOOL)findString:(NSString *)string options:(WebFindOptions)options +{ + if (![string length]) + return NO; + Frame* coreFrame = core([self _frame]); + return coreFrame && coreFrame->editor()->findString(string, coreOptions(options)); +} + @end // This is used by AppKit and is included here so that WebDataProtocolScheme is only defined once. diff --git a/WebKit/mac/WebView/WebPDFView.mm b/WebKit/mac/WebView/WebPDFView.mm index 70fceb6..0f54980 100644 --- a/WebKit/mac/WebView/WebPDFView.mm +++ b/WebKit/mac/WebView/WebPDFView.mm @@ -28,6 +28,8 @@ #import "WebPDFView.h" +#import "DOMNodeInternal.h" +#import "DOMRangeInternal.h" #import "WebDataSourceInternal.h" #import "WebDelegateImplementationCaching.h" #import "WebDocumentInternal.h" @@ -53,6 +55,7 @@ #import <WebCore/FrameLoadRequest.h> #import <WebCore/FrameLoader.h> #import <WebCore/HTMLFormElement.h> +#import <WebCore/HTMLFrameOwnerElement.h> #import <WebCore/KURL.h> #import <WebCore/KeyboardEvent.h> #import <WebCore/MouseEvent.h> @@ -626,19 +629,28 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec return NO; } -- (NSUInteger)markAllMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag limit:(NSUInteger)limit +static BOOL isFrameInRange(WebFrame *frame, DOMRange *range) { - return [self countMatchesForText:string caseSensitive:caseFlag limit:limit markMatches:YES]; + BOOL inRange = NO; + for (HTMLFrameOwnerElement* ownerElement = core(frame)->ownerElement(); ownerElement; ownerElement = ownerElement->document()->frame()->ownerElement()) { + if (ownerElement->document() == core(range)->ownerDocument()) { + inRange = [range intersectsNode:kit(ownerElement)]; + break; + } + } + return inRange; } -- (NSUInteger)countMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag limit:(NSUInteger)limit markMatches:(BOOL)markMatches +- (NSUInteger)countMatchesForText:(NSString *)string inDOMRange:(DOMRange *)range options:(WebFindOptions)options limit:(NSUInteger)limit markMatches:(BOOL)markMatches { + if (range && !isFrameInRange([dataSource webFrame], range)) + return 0; + PDFSelection *previousMatch = nil; - PDFSelection *nextMatch = nil; NSMutableArray *matches = [[NSMutableArray alloc] initWithCapacity:limit]; for (;;) { - nextMatch = [self _nextMatchFor:string direction:YES caseSensitive:caseFlag wrap:NO fromSelection:previousMatch startInSelection:NO]; + PDFSelection *nextMatch = [self _nextMatchFor:string direction:YES caseSensitive:!(options & WebFindOptionsCaseInsensitive) wrap:NO fromSelection:previousMatch startInSelection:NO]; if (!nextMatch) break; @@ -964,7 +976,8 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec } // Call to the frame loader because this is where our security checks are made. - core([dataSource webFrame])->loader()->loadFrameRequest(ResourceRequest(URL), false, false, event.get(), 0, SendReferrer); + Frame* frame = core([dataSource webFrame]); + frame->loader()->loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(URL)), false, false, event.get(), 0, SendReferrer); } - (void)PDFViewOpenPDFInNativeApplication:(PDFView *)sender diff --git a/WebKit/mac/WebView/WebPreferenceKeysPrivate.h b/WebKit/mac/WebView/WebPreferenceKeysPrivate.h index 5c6b530..93f83fc 100644 --- a/WebKit/mac/WebView/WebPreferenceKeysPrivate.h +++ b/WebKit/mac/WebView/WebPreferenceKeysPrivate.h @@ -99,6 +99,7 @@ #define WebKitPaginateDuringLayoutEnabledPreferenceKey @"WebKitPaginateDuringLayoutEnabled" #define WebKitDNSPrefetchingEnabledPreferenceKey @"WebKitDNSPrefetchingEnabled" #define WebKitFullScreenEnabledPreferenceKey @"WebKitFullScreenEnabled" +#define WebKitAsynchronousSpellCheckingEnabledPreferenceKey @"WebKitAsynchronousSpellCheckingEnabled" #define WebKitMemoryInfoEnabledPreferenceKey @"WebKitMemoryInfoEnabled" #define WebKitHyperlinkAuditingEnabledPreferenceKey @"WebKitHyperlinkAuditingEnabled" diff --git a/WebKit/mac/WebView/WebPreferences.mm b/WebKit/mac/WebView/WebPreferences.mm index 1bacb85..7ce3bc4 100644 --- a/WebKit/mac/WebView/WebPreferences.mm +++ b/WebKit/mac/WebView/WebPreferences.mm @@ -365,10 +365,11 @@ static WebCacheModel cacheModelForMainBundle(void) [NSNumber numberWithUnsignedInt:4], WebKitPluginAllowedRunTimePreferenceKey, [NSNumber numberWithBool:NO], WebKitFrameFlatteningEnabledPreferenceKey, [NSNumber numberWithBool:NO], WebKitSpatialNavigationEnabledPreferenceKey, - [NSNumber numberWithBool:YES], WebKitDNSPrefetchingEnabledPreferenceKey, + [NSNumber numberWithBool:NO], WebKitDNSPrefetchingEnabledPreferenceKey, [NSNumber numberWithBool:NO], WebKitFullScreenEnabledPreferenceKey, + [NSNumber numberWithBool:NO], WebKitAsynchronousSpellCheckingEnabledPreferenceKey, [NSNumber numberWithBool:NO], WebKitMemoryInfoEnabledPreferenceKey, - [NSNumber numberWithBool:NO], WebKitHyperlinkAuditingEnabledPreferenceKey, + [NSNumber numberWithBool:YES], WebKitHyperlinkAuditingEnabledPreferenceKey, [NSNumber numberWithBool:NO], WebKitUsePreHTML5ParserQuirksKey, [NSNumber numberWithLongLong:WebCore::ApplicationCacheStorage::noQuota()], WebKitApplicationCacheTotalQuota, [NSNumber numberWithLongLong:WebCore::ApplicationCacheStorage::noQuota()], WebKitApplicationCacheDefaultOriginQuota, @@ -1393,6 +1394,16 @@ static NSString *classIBCreatorID = nil; return [self _boolValueForKey:WebKitFullScreenEnabledPreferenceKey]; } +- (void)setAsynchronousSpellCheckingEnabled:(BOOL)flag +{ + [self _setBoolValue:flag forKey:WebKitAsynchronousSpellCheckingEnabledPreferenceKey]; +} + +- (BOOL)asynchronousSpellCheckingEnabled +{ + return [self _boolValueForKey:WebKitAsynchronousSpellCheckingEnabledPreferenceKey]; +} + + (void)setWebKitLinkTimeVersion:(int)version { setWebKitLinkTimeVersion(version); diff --git a/WebKit/mac/WebView/WebPreferencesPrivate.h b/WebKit/mac/WebView/WebPreferencesPrivate.h index 2ee07d7..89b6288 100644 --- a/WebKit/mac/WebView/WebPreferencesPrivate.h +++ b/WebKit/mac/WebView/WebPreferencesPrivate.h @@ -221,6 +221,9 @@ extern NSString *WebPreferencesRemovedNotification; - (void)setFullScreenEnabled:(BOOL)flag; - (BOOL)fullScreenEnabled; +- (void)setAsynchronousSpellCheckingEnabled:(BOOL)flag; +- (BOOL)asynchronousSpellCheckingEnabled; + - (void)setUsePreHTML5ParserQuirks:(BOOL)flag; - (BOOL)usePreHTML5ParserQuirks; diff --git a/WebKit/mac/WebView/WebTextCompletionController.mm b/WebKit/mac/WebView/WebTextCompletionController.mm index ab0e621..82ad16c 100644 --- a/WebKit/mac/WebView/WebTextCompletionController.mm +++ b/WebKit/mac/WebView/WebTextCompletionController.mm @@ -285,7 +285,7 @@ using namespace std; [self endRevertingChange:YES moveLeft:NO]; return YES; } - if (c == ' ' || c >= 0x21 && c <= 0x2F || c >= 0x3A && c <= 0x40 || c >= 0x5B && c <= 0x60 || c >= 0x7B && c <= 0x7D) { + if (c == ' ' || (c >= 0x21 && c <= 0x2F) || (c >= 0x3A && c <= 0x40) || (c >= 0x5B && c <= 0x60) || (c >= 0x7B && c <= 0x7D)) { // FIXME: Is the above list of keys really definitive? // Originally this code called ispunct; aren't there other punctuation keys on international keyboards? [self endRevertingChange:NO moveLeft:NO]; diff --git a/WebKit/mac/WebView/WebView.mm b/WebKit/mac/WebView/WebView.mm index 0498554..bd13ff0 100644 --- a/WebKit/mac/WebView/WebView.mm +++ b/WebKit/mac/WebView/WebView.mm @@ -1390,8 +1390,12 @@ static bool fastDocumentTeardownEnabled() // <https://bugs.webkit.org/show_bug.cgi?id=46334>. static bool isApplicationNeedingParserQuirks = !WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITH_HTML5_PARSER) && (applicationIsAOLInstantMessenger() || applicationIsMicrosoftMyDay()); + + // Mail.app must continue to display HTML email that contains quirky markup. + static bool isAppleMail = applicationIsAppleMail(); return isApplicationNeedingParserQuirks + || isAppleMail #if ENABLE(DASHBOARD_SUPPORT) // Pre-HTML5 parser quirks are required to remain compatible with many // Dashboard widgets. See <rdar://problem/8175982>. @@ -1501,6 +1505,10 @@ static bool fastDocumentTeardownEnabled() #if ENABLE(FULLSCREEN_API) settings->setFullScreenEnabled([preferences fullScreenEnabled]); #endif +#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) + // Asynchronous spell checking API is available for 10.6 or later. + settings->setAsynchronousSpellCheckingEnabled([preferences asynchronousSpellCheckingEnabled]); +#endif settings->setMemoryInfoEnabled([preferences memoryInfoEnabled]); settings->setHyperlinkAuditingEnabled([preferences hyperlinkAuditingEnabled]); settings->setUsePreHTML5ParserQuirks([self _needsPreHTML5ParserQuirks]); @@ -2645,6 +2653,26 @@ static PassOwnPtr<Vector<String> > toStringVector(NSArray* patterns) return coreFrame->pageScaleFactor(); } +- (NSUInteger)markAllMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(NSUInteger)limit +{ + return [self countMatchesForText:string options:(caseFlag ? 0 : WebFindOptionsCaseInsensitive) highlight:highlight limit:limit markMatches:YES]; +} + +- (NSUInteger)countMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(NSUInteger)limit markMatches:(BOOL)markMatches +{ + return [self countMatchesForText:string options:(caseFlag ? 0 : WebFindOptionsCaseInsensitive) highlight:highlight limit:limit markMatches:markMatches]; +} + +- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag startInSelection:(BOOL)startInSelection +{ + return [self findString:string options:((forward ? 0 : WebFindOptionsBackwards) | (caseFlag ? 0 : WebFindOptionsCaseInsensitive) | (wrapFlag ? WebFindOptionsWrapAround : 0) | (startInSelection ? WebFindOptionsStartInSelection : 0))]; +} + ++ (void)_setLoadResourcesSerially:(BOOL)serialize +{ + resourceLoadScheduler()->setSerialLoadingEnabled(serialize); +} + @end @implementation _WebSafeForwarder @@ -3824,12 +3852,12 @@ static bool needsWebViewInitThreadWorkaround() [super setNextKeyView:view]; } -static WebFrame *incrementFrame(WebFrame *frame, BOOL forward, BOOL wrapFlag) +static WebFrame *incrementFrame(WebFrame *frame, WebFindOptions options = 0) { Frame* coreFrame = core(frame); - return kit(forward - ? coreFrame->tree()->traverseNextWithWrap(wrapFlag) - : coreFrame->tree()->traversePreviousWithWrap(wrapFlag)); + return kit((options & WebFindOptionsBackwards) + ? coreFrame->tree()->traversePreviousWithWrap(options & WebFindOptionsWrapAround) + : coreFrame->tree()->traverseNextWithWrap(options & WebFindOptionsWrapAround)); } - (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag @@ -4255,7 +4283,16 @@ static WebFrame *incrementFrame(WebFrame *frame, BOOL forward, BOOL wrapFlag) core(self)->removeSchedulePair(SchedulePair::create(runLoop, (CFStringRef)mode)); } -- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag startInSelection:(BOOL)startInSelection +static BOOL findString(NSView <WebDocumentSearching> *searchView, NSString *string, WebFindOptions options) +{ + if ([searchView conformsToProtocol:@protocol(WebDocumentOptionsSearching)]) + return [(NSView <WebDocumentOptionsSearching> *)searchView findString:string options:options]; + if ([searchView conformsToProtocol:@protocol(WebDocumentIncrementalSearching)]) + return [(NSView <WebDocumentIncrementalSearching> *)searchView searchFor:string direction:!(options & WebFindOptionsBackwards) caseSensitive:!(options & WebFindOptionsCaseInsensitive) wrap:!!(options & WebFindOptionsWrapAround) startInSelection:!!(options & WebFindOptionsStartInSelection)]; + return [searchView searchFor:string direction:!(options & WebFindOptionsBackwards) caseSensitive:!(options & WebFindOptionsCaseInsensitive) wrap:!!(options & WebFindOptionsWrapAround)]; +} + +- (BOOL)findString:(NSString *)string options:(WebFindOptions)options { if (_private->closed) return NO; @@ -4267,7 +4304,7 @@ static WebFrame *incrementFrame(WebFrame *frame, BOOL forward, BOOL wrapFlag) NSView <WebDocumentSearching> *startSearchView = nil; WebFrame *frame = startFrame; do { - WebFrame *nextFrame = incrementFrame(frame, forward, wrapFlag); + WebFrame *nextFrame = incrementFrame(frame, options); BOOL onlyOneFrame = (frame == nextFrame); ASSERT(!onlyOneFrame || frame == startFrame); @@ -4279,18 +4316,13 @@ static WebFrame *incrementFrame(WebFrame *frame, BOOL forward, BOOL wrapFlag) if (frame == startFrame) startSearchView = searchView; - BOOL foundString; // In some cases we have to search some content twice; see comment later in this method. - // We can avoid ever doing this in the common one-frame case by passing YES for wrapFlag + // We can avoid ever doing this in the common one-frame case by passing the wrap option through // here, and then bailing out before we get to the code that would search again in the // same content. - BOOL wrapOnThisPass = wrapFlag && onlyOneFrame; - if ([searchView conformsToProtocol:@protocol(WebDocumentIncrementalSearching)]) - foundString = [(NSView <WebDocumentIncrementalSearching> *)searchView searchFor:string direction:forward caseSensitive:caseFlag wrap:wrapOnThisPass startInSelection:startInSelection]; - else - foundString = [searchView searchFor:string direction:forward caseSensitive:caseFlag wrap:wrapOnThisPass]; - - if (foundString) { + WebFindOptions optionsForThisPass = onlyOneFrame ? options : (options & ~WebFindOptionsWrapAround); + + if (findString(searchView, string, optionsForThisPass)) { if (frame != startFrame) [startFrame _clearSelection]; [[self window] makeFirstResponder:searchView]; @@ -4303,18 +4335,13 @@ static WebFrame *incrementFrame(WebFrame *frame, BOOL forward, BOOL wrapFlag) frame = nextFrame; } while (frame && frame != startFrame); - // If there are multiple frames and wrapFlag is true and we've visited each one without finding a result, we still need to search in the + // If there are multiple frames and WebFindOptionsWrapAround is set and we've visited each one without finding a result, we still need to search in the // first-searched frame up to the selection. However, the API doesn't provide a way to search only up to a particular point. The only - // way to make sure the entire frame is searched is to pass YES for the wrapFlag. When there are no matches, this will search again + // way to make sure the entire frame is searched is to pass WebFindOptionsWrapAround. When there are no matches, this will search // some content that we already searched on the first pass. In the worst case, we could search the entire contents of this frame twice. // To fix this, we'd need to add a mechanism to specify a range in which to search. - if (wrapFlag && startSearchView) { - BOOL foundString; - if ([startSearchView conformsToProtocol:@protocol(WebDocumentIncrementalSearching)]) - foundString = [(NSView <WebDocumentIncrementalSearching> *)startSearchView searchFor:string direction:forward caseSensitive:caseFlag wrap:YES startInSelection:startInSelection]; - else - foundString = [startSearchView searchFor:string direction:forward caseSensitive:caseFlag wrap:YES]; - if (foundString) { + if ((options & WebFindOptionsWrapAround) && startSearchView) { + if (findString(startSearchView, string, options)) { [[self window] makeFirstResponder:startSearchView]; return YES; } @@ -4496,21 +4523,18 @@ static NSAppleEventDescriptor* aeDescFromJSValue(ExecState* exec, JSValue jsValu if (view && ![view conformsToProtocol:@protocol(WebMultipleTextMatches)]) return NO; - frame = incrementFrame(frame, YES, NO); + frame = incrementFrame(frame); } while (frame); return YES; } -- (NSUInteger)markAllMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(NSUInteger)limit +- (NSUInteger)countMatchesForText:(NSString *)string options:(WebFindOptions)options highlight:(BOOL)highlight limit:(NSUInteger)limit markMatches:(BOOL)markMatches { - if (_private->closed) - return 0; - - return [self countMatchesForText:string caseSensitive:caseFlag highlight:highlight limit:limit markMatches:YES]; + return [self countMatchesForText:string inDOMRange:nil options:options highlight:highlight limit:limit markMatches:markMatches]; } -- (NSUInteger)countMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(NSUInteger)limit markMatches:(BOOL)markMatches +- (NSUInteger)countMatchesForText:(NSString *)string inDOMRange:(DOMRange *)range options:(WebFindOptions)options highlight:(BOOL)highlight limit:(NSUInteger)limit markMatches:(BOOL)markMatches { if (_private->closed) return 0; @@ -4524,14 +4548,14 @@ static NSAppleEventDescriptor* aeDescFromJSValue(ExecState* exec, JSValue jsValu [(NSView <WebMultipleTextMatches>*)view setMarkedTextMatchesAreHighlighted:highlight]; ASSERT(limit == 0 || matchCount < limit); - matchCount += [(NSView <WebMultipleTextMatches>*)view countMatchesForText:string caseSensitive:caseFlag limit:limit == 0 ? 0 : limit - matchCount markMatches:markMatches]; + matchCount += [(NSView <WebMultipleTextMatches>*)view countMatchesForText:string inDOMRange:range options:options limit:(limit == 0 ? 0 : limit - matchCount) markMatches:markMatches]; // Stop looking if we've reached the limit. A limit of 0 means no limit. if (limit > 0 && matchCount >= limit) break; } - frame = incrementFrame(frame, YES, NO); + frame = incrementFrame(frame); } while (frame); return matchCount; @@ -4548,7 +4572,7 @@ static NSAppleEventDescriptor* aeDescFromJSValue(ExecState* exec, JSValue jsValu if ([view conformsToProtocol:@protocol(WebMultipleTextMatches)]) [(NSView <WebMultipleTextMatches>*)view unmarkAllTextMatches]; - frame = incrementFrame(frame, YES, NO); + frame = incrementFrame(frame); } while (frame); } @@ -4586,7 +4610,7 @@ static NSAppleEventDescriptor* aeDescFromJSValue(ExecState* exec, JSValue jsValu [pool drain]; } - frame = incrementFrame(frame, YES, NO); + frame = incrementFrame(frame); } while (frame); return result; diff --git a/WebKit/mac/WebView/WebViewPrivate.h b/WebKit/mac/WebView/WebViewPrivate.h index af594d9..67ee63a 100644 --- a/WebKit/mac/WebView/WebViewPrivate.h +++ b/WebKit/mac/WebView/WebViewPrivate.h @@ -70,7 +70,7 @@ extern NSString *WebElementIsContentEditableKey; // NSNumber indicating whether extern NSString *WebElementMediaURLKey; // NSURL of the media element // other WebElementDictionary keys -extern NSString *WebElementLinkIsLiveKey; // NSNumber of BOOL indictating whether the link is live or not +extern NSString *WebElementLinkIsLiveKey; // NSNumber of BOOL indicating whether the link is live or not extern NSString *WebElementIsInScrollBarKey; // One of the subviews of the WebView entered compositing mode. @@ -96,6 +96,16 @@ typedef enum { WebInjectInTopFrameOnly } WebUserContentInjectedFrames; +enum { + WebFindOptionsCaseInsensitive = 1 << 0, + WebFindOptionsAtWordStarts = 1 << 1, + WebFindOptionsTreatMedialCapitalAsWordStart = 1 << 2, + WebFindOptionsBackwards = 1 << 3, + WebFindOptionsWrapAround = 1 << 4, + WebFindOptionsStartInSelection = 1 << 5 +}; +typedef NSUInteger WebFindOptions; + @interface WebController : NSTreeController { IBOutlet WebView *webView; } @@ -114,18 +124,7 @@ typedef enum { - (void)scheduleInRunLoop:(NSRunLoop *)runLoop forMode:(NSString *)mode; - (void)unscheduleFromRunLoop:(NSRunLoop *)runLoop forMode:(NSString *)mode; -/*! -@method searchFor:direction:caseSensitive:wrap:startInSelection: - @abstract Searches a document view for a string and highlights the string if it is found. - Starts the search from the current selection. Will search across all frames. - @param string The string to search for. - @param forward YES to search forward, NO to seach backwards. - @param caseFlag YES to for case-sensitive search, NO for case-insensitive search. - @param wrapFlag YES to wrap around, NO to avoid wrapping. - @param startInSelection YES to begin search in the selected text (useful for incremental searching), NO to begin search after the selected text. - @result YES if found, NO if not found. - */ -- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag startInSelection:(BOOL)startInSelection; +- (BOOL)findString:(NSString *)string options:(WebFindOptions)options; - (void)setMainFrameDocumentReady:(BOOL)mainFrameDocumentReady; @@ -182,8 +181,8 @@ typedef enum { // whether or not they implement the protocol. For now we'll just deal with HTML. // These methods are still in flux; don't rely on them yet. - (BOOL)canMarkAllTextMatches; -- (WebNSUInteger)markAllMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(WebNSUInteger)limit; -- (WebNSUInteger)countMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(WebNSUInteger)limit markMatches:(BOOL)markMatches; +- (WebNSUInteger)countMatchesForText:(NSString *)string options:(WebFindOptions)options highlight:(BOOL)highlight limit:(WebNSUInteger)limit markMatches:(BOOL)markMatches; +- (WebNSUInteger)countMatchesForText:(NSString *)string inDOMRange:(DOMRange *)range options:(WebFindOptions)options highlight:(BOOL)highlight limit:(WebNSUInteger)limit markMatches:(BOOL)markMatches; - (void)unmarkAllTextMatches; - (NSArray *)rectsForTextMatches; @@ -525,6 +524,9 @@ Could be worth adding to the API. + (void)_removeUserStyleSheetsFromGroup:(NSString *)groupName world:(WebScriptWorld *)world; + (void)_removeAllUserContentFromGroup:(NSString *)groupName; +// SPI for DumpRenderTree ++ (void)_setLoadResourcesSerially:(BOOL)serialize; + /*! @method cssAnimationsSuspended @abstract Returns whether or not CSS Animations are suspended. @@ -545,6 +547,24 @@ Could be worth adding to the API. - (void)_scaleWebView:(float)scale atOrigin:(NSPoint)origin; - (float)_viewScaleFactor; +// Deprecated. Use the methods in pending public above instead. +- (WebNSUInteger)markAllMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(WebNSUInteger)limit; +- (WebNSUInteger)countMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(WebNSUInteger)limit markMatches:(BOOL)markMatches; + +/*! + @method searchFor:direction:caseSensitive:wrap:startInSelection: + @abstract Searches a document view for a string and highlights the string if it is found. + Starts the search from the current selection. Will search across all frames. + @param string The string to search for. + @param forward YES to search forward, NO to seach backwards. + @param caseFlag YES to for case-sensitive search, NO for case-insensitive search. + @param wrapFlag YES to wrap around, NO to avoid wrapping. + @param startInSelection YES to begin search in the selected text (useful for incremental searching), NO to begin search after the selected text. + @result YES if found, NO if not found. + */ +// Deprecated. Use findString. +- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag startInSelection:(BOOL)startInSelection; + @end @interface WebView (WebViewPrintingPrivate) diff --git a/WebKit/qt/Api/qgraphicswebview.cpp b/WebKit/qt/Api/qgraphicswebview.cpp index c8438f3..9697c20 100644 --- a/WebKit/qt/Api/qgraphicswebview.cpp +++ b/WebKit/qt/Api/qgraphicswebview.cpp @@ -80,8 +80,13 @@ public: { if (!page || !page->d->client) return 0; - return static_cast<PageClientQGraphicsWidget*>(page->d->client)->overlay; + return pageClient()->overlay; } + + PageClientQGraphicsWidget* pageClient() const + { + return static_cast<WebCore::PageClientQGraphicsWidget*> (page->d->client.get()); + } }; QGraphicsWebViewPrivate::~QGraphicsWebViewPrivate() @@ -92,7 +97,7 @@ QGraphicsWebViewPrivate::~QGraphicsWebViewPrivate() void QGraphicsWebViewPrivate::syncLayers() { #if USE(ACCELERATED_COMPOSITING) - static_cast<PageClientQGraphicsWidget*>(page->d->client)->syncLayers(); + pageClient()->syncLayers(); #endif } @@ -128,7 +133,7 @@ void QGraphicsWebViewPrivate::_q_pageDestroyed() void QGraphicsWebViewPrivate::updateResizesToContentsForPage() { ASSERT(page); - static_cast<PageClientQGraphicsWidget*>(page->d->client)->viewResizesToContents = resizesToContents; + pageClient()->viewResizesToContents = resizesToContents; if (resizesToContents) { // resizes to contents mode requires preferred contents size to be set if (!page->preferredContentsSize().isValid()) @@ -156,7 +161,7 @@ void QGraphicsWebViewPrivate::_q_scaleChanged() #if ENABLE(TILED_BACKING_STORE) if (!page) return; - static_cast<PageClientQGraphicsWidget*>(page->d->client)->updateTiledBackingStoreScale(); + pageClient()->updateTiledBackingStoreScale(); #endif } @@ -414,9 +419,6 @@ void QGraphicsWebViewPrivate::detachCurrentPage() return; page->d->view.clear(); - - // The client has always to be deleted. - delete page->d->client; page->d->client = 0; // if the page was created by us, we own it and need to diff --git a/WebKit/qt/Api/qwebframe.cpp b/WebKit/qt/Api/qwebframe.cpp index eb7a85f..701cfe0 100644 --- a/WebKit/qt/Api/qwebframe.cpp +++ b/WebKit/qt/Api/qwebframe.cpp @@ -201,6 +201,21 @@ void QWEBKIT_EXPORT qtwebkit_webframe_scrollRecursively(QWebFrame* qFrame, int d } while (qFrame); } +static inline ResourceRequestCachePolicy cacheLoadControlToCachePolicy(uint cacheLoadControl) +{ + switch (cacheLoadControl) { + case QNetworkRequest::AlwaysNetwork: + return WebCore::ReloadIgnoringCacheData; + case QNetworkRequest::PreferCache: + return WebCore::ReturnCacheDataElseLoad; + case QNetworkRequest::AlwaysCache: + return WebCore::ReturnCacheDataDontLoad; + default: + break; + } + return WebCore::UseProtocolCachePolicy; +} + QWebFrameData::QWebFrameData(WebCore::Page* parentPage, WebCore::Frame* parentFrame, WebCore::HTMLFrameOwnerElement* ownerFrameElement, const WTF::String& frameName) @@ -409,6 +424,34 @@ void QWebFramePrivate::renderRelativeCoords(GraphicsContext* context, QWebFrame: } } +void QWebFrame::orientationChanged() +{ +#if ENABLE(ORIENTATION_EVENTS) && ENABLE(DEVICE_ORIENTATION) + int orientation; + WebCore::Frame* frame = QWebFramePrivate::core(this); + + switch (d->m_orientation.reading()->orientation()) { + case QtMobility::QOrientationReading::TopUp: + orientation = 0; + break; + case QtMobility::QOrientationReading::TopDown: + orientation = 180; + break; + case QtMobility::QOrientationReading::LeftUp: + orientation = -90; + break; + case QtMobility::QOrientationReading::RightUp: + orientation = 90; + break; + case QtMobility::QOrientationReading::FaceUp: + case QtMobility::QOrientationReading::FaceDown: + // WebCore unable to handle it + default: + return; + } + frame->sendOrientationChangeEvent(orientation); +#endif +} /*! \class QWebFrame \since 4.4 @@ -483,6 +526,10 @@ QWebFrame::QWebFrame(QWebPage *parent, QWebFrameData *frameData) WebCore::ResourceRequest request(frameData->url, frameData->referrer); d->frame->loader()->load(request, frameData->name, false); } +#if ENABLE(ORIENTATION_EVENTS) && ENABLE(DEVICE_ORIENTATION) + connect(&d->m_orientation, SIGNAL(readingChanged()), this, SLOT(orientationChanged())); + d->m_orientation.start(); +#endif } QWebFrame::QWebFrame(QWebFrame *parent, QWebFrameData *frameData) @@ -491,6 +538,10 @@ QWebFrame::QWebFrame(QWebFrame *parent, QWebFrameData *frameData) { d->page = parent->d->page; d->init(this, frameData); +#if ENABLE(ORIENTATION_EVENTS) && ENABLE(DEVICE_ORIENTATION) + connect(&d->m_orientation, SIGNAL(readingChanged()), this, SLOT(orientationChanged())); + d->m_orientation.start(); +#endif } QWebFrame::~QWebFrame() @@ -837,11 +888,24 @@ void QWebFrame::load(const QNetworkRequest &req, case QNetworkAccessManager::DeleteOperation: request.setHTTPMethod("DELETE"); break; +#if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0) + case QNetworkAccessManager::CustomOperation: + request.setHTTPMethod(req.attribute(QNetworkRequest::CustomVerbAttribute).toByteArray().constData()); + break; +#endif case QNetworkAccessManager::UnknownOperation: // eh? break; } + QVariant cacheLoad = req.attribute(QNetworkRequest::CacheLoadControlAttribute); + if (cacheLoad.isValid()) { + bool ok; + uint cacheLoadValue = cacheLoad.toUInt(&ok); + if (ok) + request.setCachePolicy(cacheLoadControlToCachePolicy(cacheLoadValue)); + } + QList<QByteArray> httpHeaders = req.rawHeaderList(); for (int i = 0; i < httpHeaders.size(); ++i) { const QByteArray &headerName = httpHeaders.at(i); diff --git a/WebKit/qt/Api/qwebframe.h b/WebKit/qt/Api/qwebframe.h index a598a56..8410962 100644 --- a/WebKit/qt/Api/qwebframe.h +++ b/WebKit/qt/Api/qwebframe.h @@ -205,6 +205,9 @@ public Q_SLOTS: void print(QPrinter *printer) const; #endif +private Q_SLOTS: + void orientationChanged(); + Q_SIGNALS: void javaScriptWindowObjectCleared(); diff --git a/WebKit/qt/Api/qwebframe_p.h b/WebKit/qt/Api/qwebframe_p.h index 1af1c95..ee8c463 100644 --- a/WebKit/qt/Api/qwebframe_p.h +++ b/WebKit/qt/Api/qwebframe_p.h @@ -28,6 +28,9 @@ #include "GraphicsContext.h" #include "KURL.h" #include "PlatformString.h" +#if ENABLE(ORIENTATION_EVENTS) && ENABLE(DEVICE_ORIENTATION) +#include "qorientationsensor.h" +#endif #include "qwebelement.h" #include "wtf/RefPtr.h" #include "Frame.h" @@ -37,6 +40,7 @@ #include "texmap/TextureMapper.h" #endif + namespace WebCore { class FrameLoaderClientQt; class FrameView; @@ -114,6 +118,10 @@ public: WebCore::TextureMapperContentLayer* rootGraphicsLayer; OwnPtr<WebCore::TextureMapper> textureMapper; #endif + +#if ENABLE(ORIENTATION_EVENTS) && ENABLE(DEVICE_ORIENTATION) + QtMobility::QOrientationSensor m_orientation; +#endif }; class QWebHitTestResultPrivate { diff --git a/WebKit/qt/Api/qwebkitglobal.h b/WebKit/qt/Api/qwebkitglobal.h index a6be571..7ee56de 100644 --- a/WebKit/qt/Api/qwebkitglobal.h +++ b/WebKit/qt/Api/qwebkitglobal.h @@ -29,7 +29,7 @@ #define QTWEBKIT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch)) #if defined(QT_MAKEDLL) /* create a Qt DLL library */ -# if defined(BUILD_WEBKIT) +# if defined(BUILDING_WEBKIT) # define QWEBKIT_EXPORT Q_DECL_EXPORT # else # define QWEBKIT_EXPORT Q_DECL_IMPORT diff --git a/WebKit/qt/Api/qwebpage.cpp b/WebKit/qt/Api/qwebpage.cpp index 030923f..e82bd45 100644 --- a/WebKit/qt/Api/qwebpage.cpp +++ b/WebKit/qt/Api/qwebpage.cpp @@ -443,7 +443,7 @@ QMenu *QWebPagePrivate::createContextMenu(const WebCore::ContextMenu *webcoreMen QAction *a = q->action(action); if (a) { ContextMenuItem it(item); - webcoreMenu->checkOrEnableIfNeeded(it); + page->contextMenuController()->checkOrEnableIfNeeded(it); PlatformMenuItemDescription desc = it.releasePlatformDescription(); a->setEnabled(desc.enabled); a->setChecked(desc.checked); @@ -759,10 +759,10 @@ void QWebPagePrivate::mouseReleaseEvent(T *ev) ev->setAccepted(accepted); handleClipboard(ev, ev->button()); - handleSoftwareInputPanel(ev->button()); + handleSoftwareInputPanel(ev->button(), QPointF(ev->pos()).toPoint()); } -void QWebPagePrivate::handleSoftwareInputPanel(Qt::MouseButton button) +void QWebPagePrivate::handleSoftwareInputPanel(Qt::MouseButton button, const QPoint& pos) { Frame* frame = page->focusController()->focusedFrame(); if (!frame) @@ -774,8 +774,11 @@ void QWebPagePrivate::handleSoftwareInputPanel(Qt::MouseButton button) QStyle::RequestSoftwareInputPanel behavior = QStyle::RequestSoftwareInputPanel( client->ownerWidget()->style()->styleHint(QStyle::SH_RequestSoftwareInputPanel)); if (!clickCausedFocus || behavior == QStyle::RSIP_OnMouseClick) { - QEvent event(QEvent::RequestSoftwareInputPanel); - QApplication::sendEvent(client->ownerWidget(), &event); + HitTestResult result = frame->eventHandler()->hitTestResultAtPoint(frame->view()->windowToContents(pos), false); + if (result.isContentEditable()) { + QEvent event(QEvent::RequestSoftwareInputPanel); + QApplication::sendEvent(client->ownerWidget(), &event); + } } } @@ -2008,7 +2011,7 @@ void QWebPage::setView(QWidget* view) if (d->client) { if (d->client->isQWidgetClient()) - static_cast<PageClientQWidget*>(d->client)->view = view; + static_cast<PageClientQWidget*>(d->client.get())->view = view; return; } @@ -2244,8 +2247,8 @@ bool QWebPage::supportsContentType(const QString& mimeType) const static WebCore::FrameLoadRequest frameLoadRequest(const QUrl &url, WebCore::Frame *frame) { - WebCore::ResourceRequest rr(url, frame->loader()->outgoingReferrer()); - return WebCore::FrameLoadRequest(rr); + return WebCore::FrameLoadRequest(frame->document()->securityOrigin(), + WebCore::ResourceRequest(url, frame->loader()->outgoingReferrer())); } static void openNewWindow(const QUrl& url, WebCore::Frame* frame) @@ -3209,12 +3212,13 @@ void QWebPage::updatePositionDependentActions(const QPoint &pos) d->hitTestResult = QWebHitTestResult(); else d->hitTestResult = QWebHitTestResult(new QWebHitTestResultPrivate(result)); - WebCore::ContextMenu menu(result); - menu.populate(); + + d->page->contextMenuController()->setHitTestResult(result); + d->page->contextMenuController()->populate(); #if ENABLE(INSPECTOR) if (d->page->inspectorController()->enabled()) - menu.addInspectElementItem(); + d->page->contextMenuController()->addInspectElementItem(); #endif QBitArray visitedWebActions(QWebPage::WebActionCount); @@ -3223,7 +3227,7 @@ void QWebPage::updatePositionDependentActions(const QPoint &pos) delete d->currentContextMenu; // Then we let createContextMenu() enable the actions that are put into the menu - d->currentContextMenu = d->createContextMenu(&menu, menu.platformDescription(), &visitedWebActions); + d->currentContextMenu = d->createContextMenu(d->page->contextMenuController()->contextMenu(), d->page->contextMenuController()->contextMenu()->platformDescription(), &visitedWebActions); #endif // QT_NO_CONTEXTMENU #ifndef QT_NO_ACTION @@ -4120,6 +4124,13 @@ quint64 QWebPage::bytesReceived() const \sa QWebDatabase */ +/*! + \fn void QWebPage::applicationCacheQuotaExceeded(QWebSecurityOrigin* origin, quint64 defaultOriginQuota); + + This signal is emitted whenever the web site is asking to store data to the application cache + database databaseName and the quota allocated to that web site is exceeded. + +*/ /*! \since 4.5 diff --git a/WebKit/qt/Api/qwebpage.h b/WebKit/qt/Api/qwebpage.h index f1f5d24..1e0b3b7 100644 --- a/WebKit/qt/Api/qwebpage.h +++ b/WebKit/qt/Api/qwebpage.h @@ -48,6 +48,7 @@ class QWebHitTestResult; class QWebNetworkInterface; class QWebPagePrivate; class QWebPluginFactory; +class QWebSecurityOrigin; class QtViewportAttributesPrivate; namespace WebCore { @@ -387,6 +388,7 @@ Q_SIGNALS: void microFocusChanged(); void contentsChanged(); void databaseQuotaExceeded(QWebFrame* frame, QString databaseName); + void applicationCacheQuotaExceeded(QWebSecurityOrigin* origin, quint64 defaultOriginQuota); void saveFrameStateRequested(QWebFrame* frame, QWebHistoryItem* item); void restoreFrameStateRequested(QWebFrame* frame); diff --git a/WebKit/qt/Api/qwebpage_p.h b/WebKit/qt/Api/qwebpage_p.h index 624ff99..dc6da7e 100644 --- a/WebKit/qt/Api/qwebpage_p.h +++ b/WebKit/qt/Api/qwebpage_p.h @@ -35,6 +35,7 @@ #include "KURL.h" #include "PlatformString.h" +#include <wtf/OwnPtr.h> #include <wtf/RefPtr.h> #include "ViewportArguments.h" @@ -124,7 +125,7 @@ public: void shortcutOverrideEvent(QKeyEvent*); void leaveEvent(QEvent*); void handleClipboard(QEvent*, Qt::MouseButton); - void handleSoftwareInputPanel(Qt::MouseButton); + void handleSoftwareInputPanel(Qt::MouseButton, const QPoint&); bool handleScrolling(QKeyEvent*, WebCore::Frame*); // Returns whether the default action was cancelled in the JS event handler @@ -160,7 +161,7 @@ public: QWebPage *q; WebCore::Page *page; - QWebPageClient* client; + OwnPtr<QWebPageClient> client; QPointer<QWebFrame> mainFrame; #ifndef QT_NO_UNDOSTACK diff --git a/WebKit/qt/Api/qwebsecurityorigin.cpp b/WebKit/qt/Api/qwebsecurityorigin.cpp index e8c8f33..08e8f69 100644 --- a/WebKit/qt/Api/qwebsecurityorigin.cpp +++ b/WebKit/qt/Api/qwebsecurityorigin.cpp @@ -19,14 +19,15 @@ #include "config.h" #include "qwebsecurityorigin.h" -#include "qwebsecurityorigin_p.h" -#include "qwebdatabase.h" -#include "qwebdatabase_p.h" +#include "ApplicationCacheStorage.h" #include "DatabaseTracker.h" #include "KURL.h" #include "SchemeRegistry.h" #include "SecurityOrigin.h" +#include "qwebdatabase.h" +#include "qwebdatabase_p.h" +#include "qwebsecurityorigin_p.h" #include <QStringList> using namespace WebCore; @@ -152,6 +153,12 @@ void QWebSecurityOrigin::setDatabaseQuota(qint64 quota) #endif } +void QWebSecurityOrigin::setApplicationCacheQuota(qint64 quota) +{ +#if ENABLE(OFFLINE_WEB_APPLICATIONS) + WebCore::cacheStorage().storeUpdatedQuotaForOrigin(d->origin.get(), quota); +#endif +} /*! Destroys the security origin. */ diff --git a/WebKit/qt/Api/qwebsecurityorigin.h b/WebKit/qt/Api/qwebsecurityorigin.h index 16f8bc1..7328680 100644 --- a/WebKit/qt/Api/qwebsecurityorigin.h +++ b/WebKit/qt/Api/qwebsecurityorigin.h @@ -51,6 +51,7 @@ public: qint64 databaseQuota() const; void setDatabaseQuota(qint64 quota); + void setApplicationCacheQuota(qint64 quota); QList<QWebDatabase> databases() const; diff --git a/WebKit/qt/Api/qwebview.cpp b/WebKit/qt/Api/qwebview.cpp index 64b7a90..31ee521 100644 --- a/WebKit/qt/Api/qwebview.cpp +++ b/WebKit/qt/Api/qwebview.cpp @@ -39,7 +39,7 @@ public: QWebViewPrivate(QWebView *view) : view(view) , page(0) - , renderHints(QPainter::TextAntialiasing) + , renderHints(QPainter::TextAntialiasing | QPainter::SmoothPixmapTransform) { Q_ASSERT(view); } @@ -353,9 +353,9 @@ void QWebViewPrivate::detachCurrentPage() // to destroy it. if (page->d->client && page->d->client->isQWidgetClient()) - delete page->d->client; + page->d->client.clear(); - page->d->client = 0; + page->d->client.release(); // if the page was created by us, we own it and need to // destroy it as well. @@ -713,7 +713,7 @@ qreal QWebView::textSizeMultiplier() const These hints are used to initialize QPainter before painting the Web page. - QPainter::TextAntialiasing is enabled by default. + QPainter::TextAntialiasing and QPainter::SmoothPixmapTransform are enabled by default. \note This property is not available on Symbian. However, the getter and setter functions can still be used directly. diff --git a/WebKit/qt/ChangeLog b/WebKit/qt/ChangeLog index 5c54db2..7016d6c 100644 --- a/WebKit/qt/ChangeLog +++ b/WebKit/qt/ChangeLog @@ -1,3 +1,471 @@ +2010-12-20 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] Improve the readability of FrameLoaderClientQt::createPlugin() + https://bugs.webkit.org/show_bug.cgi?id=51330 + + Redefine the scopes to improve readability. Objects are now created in + the scope they are used in. + + * WebCoreSupport/FrameLoaderClientQt.cpp: + (WebCore::FrameLoaderClientQt::createPlugin): + +2010-12-17 Ariya Hidayat <ariya@sencha.com> + + Reviewed by Antonio Gomes. + + [Qt] GraphicsContext should respect QWebView render hints + https://bugs.webkit.org/show_bug.cgi?id=51208 + + Adjust the test since SmoothPixmapTransform is set by default. + + * tests/qwebview/tst_qwebview.cpp: + (tst_QWebView::renderHints): + +2010-12-05 Antonio Gomes <agomes@rim.com> + + Reviewed by Ariya Hidayat. + + [Qt] Fix caret browsing navigation mode + https://bugs.webkit.org/show_bug.cgi?id=50536 + + Caret browsing can consume editing commands even when the start + of current selection is not a editable content. r69582 missed this + case because caret browsing feature testing is very poor today. + + This commit reintroduces part of the removed code in r69582 but + guarded by a isCaretBrowsingEnabled() check. No regression found. + + * WebCoreSupport/EditorClientQt.cpp: + (WebCore::EditorClientQt::handleKeyboardEvent): + +2010-12-17 Yi Shen <yi.4.shen@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] QWebPage sends out a RequestSoftwareInputPanel event + incorrectly in particular case + https://bugs.webkit.org/show_bug.cgi?id=50419 + + Add HitTestResult check before firing RequestSoftwareInputPanel event. + + * Api/qwebpage.cpp: + (QWebPagePrivate::mouseReleaseEvent): + (QWebPagePrivate::handleSoftwareInputPanel): + * Api/qwebpage_p.h: + * tests/qwebpage/tst_qwebpage.cpp: + (clickOnPage): + (tst_QWebPage::inputMethods): + +2010-12-17 Eric Seidel <eric@webkit.org> + + Unreviewed, rolling out r74229. + http://trac.webkit.org/changeset/74229 + https://bugs.webkit.org/show_bug.cgi?id=50536 + + Broken on Snow Leopard and possibly other platforms + + * WebCoreSupport/EditorClientQt.cpp: + (WebCore::EditorClientQt::handleKeyboardEvent): + +2010-12-05 Antonio Gomes <agomes@rim.com> + + Reviewed by Ariya Hidayat. + + [Qt] Fix caret browsing navigation mode + https://bugs.webkit.org/show_bug.cgi?id=50536 + + Caret browsing can consume editing commands even when the start + of current selection is not a editable content. r69582 missed this + case because caret browsing feature testing is very poor today. + + This commit reintroduces part of the removed code in r69582 but + guarded by a isCaretBrowsingEnabled() check. No regression found. + + * WebCoreSupport/EditorClientQt.cpp: + (WebCore::EditorClientQt::handleKeyboardEvent): + +2010-12-16 Ariya Hidayat <ariya@sencha.com> + + Reviewed by Andreas Kling. + + [Qt] GraphicsContext should respect QWebView render hints + https://bugs.webkit.org/show_bug.cgi?id=51208 + + Add some checks to ensure that GraphicsContext (via QWebFrame) + does not clobber the render hints. + + * Api/qwebview.cpp: + (QWebViewPrivate::QWebViewPrivate): + * tests/qwebframe/tst_qwebframe.cpp: + +2010-12-15 Laszlo Gombos <laszlo.1.gombos@nokia.com> + + Reviewed by Antonio Gomes. + + [Qt] Fix tst_QWebPage::geolocationRequestJS() + https://bugs.webkit.org/show_bug.cgi?id=46814 + + Change the test case according to the changes introduced by + r72603 and enable the test case. + + * tests/qwebpage/tst_qwebpage.cpp: + (tst_QWebPage::geolocationRequestJS): + +2010-12-14 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> + + Reviewed by Laszlo Gombos. + + [Qt] Flash plugins should be windowless on QGraphicsWebView on Symbian + Remove #idef SYMBIAN introduced by r69396. + https://bugs.webkit.org/show_bug.cgi?id=50487 + + * WebCoreSupport/FrameLoaderClientQt.cpp: + (WebCore::FrameLoaderClientQt::createPlugin): + +2010-10-28 MORITA Hajime <morrita@google.com> + + Reviewed by Ojan Vafai. + + spellcheck does not check pasted text + https://bugs.webkit.org/show_bug.cgi?id=40092 + + Added a stub implememntation. + + * WebCoreSupport/EditorClientQt.h: + (WebCore::EditorClientQt::requestCheckingOfString): + +2010-12-11 Yi Shen <yi.4.shen@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Memory leaks for QWebPageClient + https://bugs.webkit.org/show_bug.cgi?id=50267 + + Use OwnPtr to solve this memory leak issue. + + * Api/qgraphicswebview.cpp: + (QGraphicsWebViewPrivate::overlay): + (QGraphicsWebViewPrivate::QWebViewPrivate::pageClient): + (QGraphicsWebViewPrivate::syncLayers): + (QGraphicsWebViewPrivate::updateResizesToContentsForPage): + (QGraphicsWebViewPrivate::_q_scaleChanged): + (QGraphicsWebViewPrivate::detachCurrentPage): + * Api/qwebpage_p.h: + * Api/qwebview.cpp: + (QWebViewPrivate::detachCurrentPage): + * WebCoreSupport/ChromeClientQt.cpp: + (WebCore::ChromeClientQt::platformPageClient): + * WebCoreSupport/EditorClientQt.cpp: + (WebCore::EditorClientQt::setInputMethodState): + * WebCoreSupport/FrameLoaderClientQt.cpp: + (WebCore::FrameLoaderClientQt::createPlugin): + +2010-12-11 Jan Erik Hanssen <jhanssen@sencha.com> + + Reviewed by Andreas Kling. + + [Qt] QWebFrame does not support QNetworkRequest::CacheLoadControl + https://bugs.webkit.org/show_bug.cgi?id=35671 + + Make QWebFrame respect the QNetworkRequest::CacheLoadControl attribute + set on the request, if any. + + * Api/qwebframe.cpp: + (cacheLoadControlToCachePolicy): + (QWebFrame::load): + * tests/qwebframe/tst_qwebframe.cpp: + +2010-10-11 Diego Gonzalez <diegohcg@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Mock DeviceOrientation client for DRT + https://bugs.webkit.org/show_bug.cgi?id=47490 + + * WebCoreSupport/DeviceOrientationClientMockQt.cpp: Added. + (WebCore::DeviceOrientationClientMockQt::client): + (WebCore::DeviceOrientationClientMockQt::DeviceOrientationClientMockQt): + (WebCore::DeviceOrientationClientMockQt::~DeviceOrientationClientMockQt): + (WebCore::DeviceOrientationClientMockQt::setController): + (WebCore::DeviceOrientationClientMockQt::startUpdating): + (WebCore::DeviceOrientationClientMockQt::stopUpdating): + (WebCore::DeviceOrientationClientMockQt::lastOrientation): + (WebCore::DeviceOrientationClientMockQt::deviceOrientationControllerDestroyed): + (WebCore::DeviceOrientationClientMockQt::setOrientation): + * WebCoreSupport/DeviceOrientationClientMockQt.h: Added. + * WebCoreSupport/DeviceOrientationClientQt.cpp: + * WebCoreSupport/DeviceOrientationProviderQt.cpp: + (WebCore::DeviceOrientationProviderQt::DeviceOrientationProviderQt): + (WebCore::DeviceOrientationProviderQt::~DeviceOrientationProviderQt): + (WebCore::DeviceOrientationProviderQt::changeDeviceOrientation): + * WebCoreSupport/DeviceOrientationProviderQt.h: + * WebCoreSupport/DumpRenderTreeSupportQt.cpp: + (DumpRenderTreeSupportQt::activeMockDeviceOrientationClient): + (DumpRenderTreeSupportQt::removeMockDeviceOrientation): + (DumpRenderTreeSupportQt::setMockDeviceOrientation): + * WebCoreSupport/DumpRenderTreeSupportQt.h: + +2010-12-10 Krithigassree Sambamurthy <krithigassree.sambamurthy@nokia.com> + + Reviewed by Joseph Pecoraro. + + Bug 43455 - [Qt]: Implement Application Cache Quotas + https://bugs.webkit.org/show_bug.cgi?id=43455 + + Added new signal to report ApplicationCache Database + quota. + + * Api/qwebpage.cpp: + * Api/qwebpage.h: + + Added new functions to accomodate new appcache layout + test origin-quota.html. + + * Api/qwebsecurityorigin.cpp: + (QWebSecurityOrigin::setApplicationCacheQuota): + * Api/qwebsecurityorigin.h: + * WebCoreSupport/ChromeClientQt.cpp: + (WebCore::ChromeClientQt::reachedApplicationCacheOriginQuota): + * WebCoreSupport/DumpRenderTreeSupportQt.cpp: + (DumpRenderTreeSupportQt::clearAllApplicationCaches): + * WebCoreSupport/DumpRenderTreeSupportQt.h: + +2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Support a QNetworkAccessManager affined to a different thread. + https://bugs.webkit.org/show_bug.cgi?id=50080 + + This patch introduce thread safe proxy classes for QNetworkAccessManager + and QNetworkReply. + If run in the same thread, these objects will forward the calls with + Qt::DirectConnection bindings, while in the other case they will use + Qt::QueuedConnection to carry requests accross threads. + + This patch basically: + - Makes sure that all access goes through these objects + - Reorders signal connections to make sure we are connected when the + signal comes + - Makes sure that no QObject in the WebCore thread is a child of the + reply which might be in a different thread. + - Forward the data directly in QByteArrays in signals instead of collecting + the data when the signal is handled. + + New test: tst_QWebPage::networkAccessManagerOnDifferentThread + + * WebCoreSupport/FrameLoaderClientQt.cpp: + (WebCore::FrameLoaderClientQt::download): + * tests/qwebpage/tst_qwebpage.cpp: + (QtNAMThread::QtNAMThread): + (QtNAMThread::~QtNAMThread): + (QtNAMThread::networkAccessManager): + (QtNAMThread::run): + (tst_QWebPage::networkAccessManagerOnDifferentThread): + +2010-12-09 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r73635. + http://trac.webkit.org/changeset/73635 + https://bugs.webkit.org/show_bug.cgi?id=50778 + + 'Side-effects on 3 css tests needs closer review' (Requested + by mwenge on #webkit). + + * Api/qwebsettings.cpp: + (graphics): + * Api/qwebsettings.h: + +2010-12-09 Robert Hogan <robert@webkit.org> + + Reviewed by Andreas Kling. + + [Qt] Search input field doesn't have cancel button + + Add a cancel button to the search field and make it customizable + by the client. For now, use the close dialog button associated + with the application's style as the default. + + https://bugs.webkit.org/show_bug.cgi?id=42887 + + * Api/qwebsettings.cpp: + (graphics): + * Api/qwebsettings.h: + +2010-12-09 Siddharth Mathur <siddharth.mathur@nokia.com> + + Reviewed by Laszlo Gombos. + + Use BUILDING_WEBKIT like other ports + https://bugs.webkit.org/show_bug.cgi?id=50713 + + * Api/qwebkitglobal.h: change BUILD_WEBKIT to BUILDING_WEBKIT + +2010-12-08 Qi Zhang <qi.2.zhang@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Support OrientationChange event + https://bugs.webkit.org/show_bug.cgi?id=50685 + + Get OrientationChange event from qtmobility then send to webkit. + + * Api/qwebframe.cpp: + (QWebFrame::orientationChanged): + (QWebFrame::QWebFrame): + * Api/qwebframe.h: + * Api/qwebframe_p.h: + +2010-12-07 Brian Weinstein <bweinstein@apple.com> + + Reviewed by John Sullivan. + + Layering Violation in ContextMenu - member variable of type HitTestResult + https://bugs.webkit.org/show_bug.cgi?id=50586 + + Update users of ContextMenu and ContextMenuController to match where the new functions + are located. + + * Api/qwebpage.cpp: + (QWebPagePrivate::createContextMenu): + (QWebPage::updatePositionDependentActions): + +2010-12-07 Darin Adler <darin@apple.com> + + Try to fix build. + + * Api/qwebpage.cpp: + (frameLoadRequest): Added missing parentheses. + +2010-12-06 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Pass security origin to make local file decision correctly + https://bugs.webkit.org/show_bug.cgi?id=48603 + + * Api/qwebpage.cpp: + (frameLoadRequest): Pass security origin. + +2010-12-07 Martin Robinson <mrobinson@igalia.com> + + Unreviewed, rolling out r73392. + http://trac.webkit.org/changeset/73392 + https://bugs.webkit.org/show_bug.cgi?id=50489 + + This commit caused crashes on the GTK+ bots + + * Api/qwebframe.cpp: + (QWebFrame::setUrl): + * WebCoreSupport/FrameLoaderClientQt.cpp: + (WebCore::FrameLoaderClientQt::finishedLoading): + +2010-12-06 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Update calls to DocumentWriter. + https://bugs.webkit.org/show_bug.cgi?id=50489 + + * Api/qwebframe.cpp: + (QWebFrame::setUrl): + * WebCoreSupport/FrameLoaderClientQt.cpp: + (WebCore::FrameLoaderClientQt::finishedLoading): + +2010-12-01 Jia Pu <jpu@apple.com> + + Reviewed by Darin Adler. + + Support multiple correction candidates panel for misspelled word on Mac OS X. + https://bugs.webkit.org/show_bug.cgi?id=50137 + <rdar://problem/8568059> + + Adopted new function signature defined in base class. + + * WebCoreSupport/EditorClientQt.cpp: + (WebCore::EditorClientQt::getGuessesForWord): + * WebCoreSupport/EditorClientQt.h: + +2010-11-30 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Implement layoutTestController.findString + https://bugs.webkit.org/show_bug.cgi?id=50236 + + Add support for the new advanced findString(). + + * WebCoreSupport/DumpRenderTreeSupportQt.cpp: + (DumpRenderTreeSupportQt::findString): + * WebCoreSupport/DumpRenderTreeSupportQt.h: + +2010-11-30 Ojan Vafai <ojan@chromium.org> + + Revert r72876. It caused a ~30% perf regression in chromium's bloat-http test + https://bugs.webkit.org/show_bug.cgi?id=50288 + + 2010-11-29 Adam Barth <abarth@webkit.org (:abarth) (r)> + Reviewed by Darin Adler. + Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs + https://bugs.webkit.org/show_bug.cgi?id=50182 + A display-isolated URL can only be displayed (e.g., put in an iframe, + hyperlinked to) by documents from that scheme. In a sense, this is a + generalization of some of the protections we give file URLs, but + instead of lumping them all together into one "local" bucket, this + patch creates a separate bucket for each scheme. + For a while, I tried using a separate bucket for each origin. That + would have played nicely with what Blob URLs are trying to do, but some + "chrome" URL pages rely on being able to display other chrome URL + pages, even in different origins. For example, the New Tab Page shows + thumbnails from the "thumbnail" host. + This patch also removes a bunch of unused code. I've also propagated + the "deprecated" status of deprecatedCanDisplay to + deprecatedShouldTreatURLAsLocal because that method has no other + callers and is really asking for uppercase/lowercase bugs. I dream of + someday removing these functions. + 2010-11-29 Adam Barth <abarth@webkit.org (:abarth) (r)> + Reviewed by Darin Adler. + Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs + https://bugs.webkit.org/show_bug.cgi?id=50182 + This patch adds a Chromium API for registering schemes as + display-isolated. In a subsequent patch, I'll change the "chrome" + scheme in Chrome to be display isolated instead of local. That will + prevent file URLs from linking to chrome URLs. + + * Api/qwebsecurityorigin.cpp: + (QWebSecurityOrigin::localSchemes): + +2010-11-29 Vangelis Kokkevis <vangelis@chromium.org> + + Reviewed by Simon Fraser. + + Provide more fine grained control to ports over when to turn on accelerated + compositing. + https://bugs.webkit.org/show_bug.cgi?id=49998 + + As part of this change, the old hasAcceleratedCompositing method on the ChromeClient + has now been replaced by allowedCompositingTriggers which returns a bitfield of + all the features which can trigger the compositor. + + + * WebCoreSupport/ChromeClientQt.cpp: + (WebCore::ChromeClientQt::allowedCompositingTriggers): + * WebCoreSupport/ChromeClientQt.h: + +2010-11-30 Thiago Macieira <thiago.macieira@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] QWebFrame::load(QNetworkRequest) should respect the CustomVerbAttribute + + For CustomOperation requests, pass the CustomVerbAttribute on to + the WebCore::ResourceRequest. + + * Api/qwebframe.cpp: + (QWebFrame::load): + 2010-11-25 Norbert Leser <norbert.leser@nokia.com> Reviewed by Laszlo Gombos. diff --git a/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp b/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp index e72ef3e..a26d6e2 100644 --- a/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp +++ b/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp @@ -30,6 +30,7 @@ #include "config.h" #include "ChromeClientQt.h" +#include "ApplicationCacheStorage.h" #include "DatabaseTracker.h" #include "FileChooser.h" #include "Frame.h" @@ -73,6 +74,7 @@ #include <qeventloop.h> #include <qtextdocument.h> #include <qtooltip.h> +#include <wtf/OwnPtr.h> namespace WebCore { @@ -452,7 +454,7 @@ IntPoint ChromeClientQt::screenToWindow(const IntPoint& point) const PlatformPageClient ChromeClientQt::platformPageClient() const { - return m_webPage->d->client; + return m_webPage->d->client.get(); } void ChromeClientQt::contentsSizeChanged(Frame* frame, const IntSize& size) const @@ -518,9 +520,18 @@ void ChromeClientQt::reachedMaxAppCacheSize(int64_t) notImplemented(); } -void ChromeClientQt::reachedApplicationCacheOriginQuota(SecurityOrigin*) +void ChromeClientQt::reachedApplicationCacheOriginQuota(SecurityOrigin* origin) { - notImplemented(); + int64_t quota; + quint64 defaultOriginQuota = WebCore::cacheStorage().defaultOriginQuota(); + + QWebSecurityOriginPrivate* priv = new QWebSecurityOriginPrivate(origin); + QWebSecurityOrigin* securityOrigin = new QWebSecurityOrigin(priv); + + if (!WebCore::cacheStorage().quotaForOrigin(origin, quota)) + WebCore::cacheStorage().storeUpdatedQuotaForOrigin(origin, defaultOriginQuota); + + emit m_webPage->applicationCacheQuotaExceeded(securityOrigin, defaultOriginQuota); } #endif diff --git a/WebKit/qt/WebCoreSupport/DeviceOrientationClientMockQt.cpp b/WebKit/qt/WebCoreSupport/DeviceOrientationClientMockQt.cpp new file mode 100644 index 0000000..81ddaa2 --- /dev/null +++ b/WebKit/qt/WebCoreSupport/DeviceOrientationClientMockQt.cpp @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + * + */ +#include "config.h" +#include "DeviceOrientationClientMockQt.h" + +#include "DeviceOrientation.h" +#include "DeviceOrientationClientMock.h" +#include "DeviceOrientationController.h" + +namespace WebCore { + +bool DeviceOrientationClientMockQt::mockIsActive = false; + +DeviceOrientationClientMockQt* DeviceOrientationClientMockQt::client() +{ + static DeviceOrientationClientMockQt* client = 0; + if (!client) + client = new DeviceOrientationClientMockQt; + + return client; +} + +DeviceOrientationClientMockQt::DeviceOrientationClientMockQt() + : m_clientMock(new DeviceOrientationClientMock()) +{ + m_orientation = DeviceOrientation::create(); +} + +DeviceOrientationClientMockQt::~DeviceOrientationClientMockQt() +{ + delete m_clientMock; +} + +void DeviceOrientationClientMockQt::setController(DeviceOrientationController* controller) +{ + m_clientMock->setController(m_controller); +} + +void DeviceOrientationClientMockQt::startUpdating() +{ + m_clientMock->startUpdating(); +} + +void DeviceOrientationClientMockQt::stopUpdating() +{ + m_clientMock->stopUpdating(); +} + +DeviceOrientation* DeviceOrientationClientMockQt::lastOrientation() const +{ + return m_orientation.get(); +} + +void DeviceOrientationClientMockQt::deviceOrientationControllerDestroyed() +{ + delete this; +} + +void DeviceOrientationClientMockQt::setOrientation(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma) +{ + m_orientation = DeviceOrientation::create(canProvideAlpha, alpha, + canProvideBeta, beta, + canProvideGamma, gamma); + m_clientMock->setOrientation(m_orientation); + + emit mockOrientationChanged(m_orientation.get()); +} + +} // namespace WebCore + +#include "moc_DeviceOrientationClientMockQt.cpp" diff --git a/WebKit/qt/WebCoreSupport/DeviceOrientationClientMockQt.h b/WebKit/qt/WebCoreSupport/DeviceOrientationClientMockQt.h new file mode 100644 index 0000000..cc5913d --- /dev/null +++ b/WebKit/qt/WebCoreSupport/DeviceOrientationClientMockQt.h @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + * + */ +#ifndef DeviceOrientationClientMockQt_h +#define DeviceOrientationClientMockQt_h + +#include "DeviceOrientationClient.h" +#include "RefPtr.h" + +#include <QObject> + +namespace WebCore { + +class DeviceOrientation; +class DeviceOrientationClientMock; +class DeviceOrientationController; + +class DeviceOrientationClientMockQt : public QObject, public DeviceOrientationClient { + Q_OBJECT +public: + static DeviceOrientationClientMockQt* client(); + virtual ~DeviceOrientationClientMockQt(); + + virtual void setController(DeviceOrientationController*); + virtual void startUpdating(); + virtual void stopUpdating(); + virtual DeviceOrientation* lastOrientation() const; + virtual void deviceOrientationControllerDestroyed(); + void setOrientation(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma); + static bool mockIsActive; + +Q_SIGNALS: + void mockOrientationChanged(DeviceOrientation*); + +private: + DeviceOrientationClientMockQt(); + + DeviceOrientationClientMock* m_clientMock; + DeviceOrientationController* m_controller; + RefPtr<DeviceOrientation> m_orientation; +}; + +} // namespace WebCore + +#endif // DeviceOrientationClientMockQt_h diff --git a/WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp b/WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp index 1d0c6d1..01cbe73 100644 --- a/WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp +++ b/WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp @@ -20,6 +20,7 @@ #include "config.h" #include "DeviceOrientationClientQt.h" +#include "DeviceOrientationClientMockQt.h" #include "DeviceOrientationController.h" #include "DeviceOrientationProviderQt.h" #include "qwebpage.h" diff --git a/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.cpp b/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.cpp index 051eba0..a31930d 100644 --- a/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.cpp +++ b/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.cpp @@ -20,16 +20,22 @@ #include "config.h" #include "DeviceOrientationProviderQt.h" +#include "DeviceOrientationClientMockQt.h" + namespace WebCore { DeviceOrientationProviderQt::DeviceOrientationProviderQt() { m_rotation.addFilter(this); m_orientation = DeviceOrientation::create(); + + if (DeviceOrientationClientMockQt::mockIsActive) + activeClientMock(); } DeviceOrientationProviderQt::~DeviceOrientationProviderQt() { + disconnect(); } void DeviceOrientationProviderQt::start() @@ -63,6 +69,16 @@ bool DeviceOrientationProviderQt::filter(QRotationReading* reading) return false; } +void DeviceOrientationProviderQt::changeDeviceOrientation(DeviceOrientation* orientation) +{ + m_orientation = orientation; +} + +void DeviceOrientationProviderQt::activeClientMock() +{ + connect(DeviceOrientationClientMockQt::client(), SIGNAL(mockOrientationChanged(DeviceOrientation*)), SLOT(changeDeviceOrientation(DeviceOrientation*))); +} + } #include "moc_DeviceOrientationProviderQt.cpp" diff --git a/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h b/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h index 86c224e..e87937e 100644 --- a/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h +++ b/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h @@ -48,7 +48,12 @@ public: Q_SIGNALS: void deviceOrientationChanged(DeviceOrientation*); +public Q_SLOTS: + void changeDeviceOrientation(DeviceOrientation*); + private: + void activeClientMock(); + RefPtr<DeviceOrientation> m_orientation; QRotationSensor m_rotation; }; diff --git a/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp b/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp index a5a7270..754b20a 100644 --- a/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp +++ b/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp @@ -23,11 +23,14 @@ #include "config.h" #include "DumpRenderTreeSupportQt.h" +#include "ApplicationCacheStorage.h" #include "CSSComputedStyleDeclaration.h" #include "ChromeClientQt.h" #include "ContextMenu.h" #include "ContextMenuClientQt.h" #include "ContextMenuController.h" +#include "DeviceOrientation.h" +#include "DeviceOrientationClientMockQt.h" #include "Editor.h" #include "EditorClientQt.h" #include "Element.h" @@ -437,6 +440,32 @@ bool DumpRenderTreeSupportQt::isCommandEnabled(QWebPage* page, const QString& na return page->handle()->page->focusController()->focusedOrMainFrame()->editor()->command(name).isEnabled(); } +bool DumpRenderTreeSupportQt::findString(QWebPage* page, const QString& string, const QStringList& optionArray) +{ + // 1. Parse the options from the array + WebCore::FindOptions options = 0; + const int optionCount = optionArray.size(); + for (int i = 0; i < optionCount; ++i) { + const QString& option = optionArray.at(i); + if (option == QLatin1String("CaseInsensitive")) + options |= WebCore::CaseInsensitive; + else if (option == QLatin1String("AtWordStarts")) + options |= WebCore::AtWordStarts; + else if (option == QLatin1String("TreatMedialCapitalAsWordStart")) + options |= WebCore::TreatMedialCapitalAsWordStart; + else if (option == QLatin1String("Backwards")) + options |= WebCore::Backwards; + else if (option == QLatin1String("WrapAround")) + options |= WebCore::WrapAround; + else if (option == QLatin1String("StartInSelection")) + options |= WebCore::StartInSelection; + } + + // 2. find the string + WebCore::Frame* frame = page->handle()->page->focusController()->focusedOrMainFrame(); + return frame && frame->editor()->findString(string, options); +} + QString DumpRenderTreeSupportQt::markerTextForListItem(const QWebElement& listItem) { return WebCore::markerTextForListItem(listItem.m_element); @@ -559,6 +588,14 @@ void DumpRenderTreeSupportQt::setEditingBehavior(QWebPage* page, const QString& corePage->settings()->setEditingBehaviorType(coreEditingBehavior); } +void DumpRenderTreeSupportQt::clearAllApplicationCaches() +{ +#if ENABLE(OFFLINE_WEB_APPLICATIONS) + WebCore::cacheStorage().empty(); + WebCore::cacheStorage().vacuumDatabaseFile(); +#endif +} + void DumpRenderTreeSupportQt::dumpFrameLoader(bool b) { FrameLoaderClientQt::dumpFrameLoaderCallbacks = b; @@ -658,6 +695,28 @@ QString DumpRenderTreeSupportQt::viewportAsText(QWebPage* page, const QSize& ava return res; } +void DumpRenderTreeSupportQt::activeMockDeviceOrientationClient(bool b) +{ +#if ENABLE(DEVICE_ORIENTATION) + DeviceOrientationClientMockQt::mockIsActive = b; +#endif +} + +void DumpRenderTreeSupportQt::removeMockDeviceOrientation() +{ +#if ENABLE(DEVICE_ORIENTATION) + DeviceOrientationClientMockQt* client = DeviceOrientationClientMockQt::client(); + delete client; +#endif +} + +void DumpRenderTreeSupportQt::setMockDeviceOrientation(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma) +{ +#if ENABLE(DEVICE_ORIENTATION) + DeviceOrientationClientMockQt::client()->setOrientation(canProvideAlpha, alpha, canProvideBeta, beta, canProvideGamma, gamma); +#endif +} + void DumpRenderTreeSupportQt::setMockGeolocationPosition(double latitude, double longitude, double accuracy) { #if ENABLE(GEOLOCATION) diff --git a/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h b/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h index 82d9319..e08d962 100644 --- a/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h +++ b/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h @@ -44,6 +44,7 @@ public: static void executeCoreCommandByName(QWebPage* page, const QString& name, const QString& value); static bool isCommandEnabled(QWebPage* page, const QString& name); + static bool findString(QWebPage* page, const QString& string, const QStringList& optionArray); static void setSmartInsertDeleteEnabled(QWebPage* page, bool enabled); static void setSelectTrailingWhitespaceEnabled(QWebPage* page, bool enabled); static QVariantList selectedRange(QWebPage* page); @@ -87,10 +88,16 @@ public: static bool elementDoesAutoCompleteForElementWithId(QWebFrame* frame, const QString& elementId); static void setEditingBehavior(QWebPage* page, const QString& editingBehavior); + static void clearAllApplicationCaches(); + static void whiteListAccessFromOrigin(const QString& sourceOrigin, const QString& destinationProtocol, const QString& destinationHost, bool allowDestinationSubdomains); static void removeWhiteListAccessFromOrigin(const QString& sourceOrigin, const QString& destinationProtocol, const QString& destinationHost, bool allowDestinationSubdomains); static void resetOriginAccessWhiteLists(); + static void activeMockDeviceOrientationClient(bool b); + static void removeMockDeviceOrientation(); + static void setMockDeviceOrientation(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma); + static void setMockGeolocationPosition(double latitude, double longitude, double accuracy); static void setMockGeolocationError(int errorCode, const QString& message); diff --git a/WebKit/qt/WebCoreSupport/EditorClientQt.cpp b/WebKit/qt/WebCoreSupport/EditorClientQt.cpp index 91a0cc6..3fbc83d 100644 --- a/WebKit/qt/WebCoreSupport/EditorClientQt.cpp +++ b/WebKit/qt/WebCoreSupport/EditorClientQt.cpp @@ -53,6 +53,7 @@ #include <QUndoStack> #include <stdio.h> +#include <wtf/OwnPtr.h> #define methodDebug() qDebug("EditorClientQt: %s", __FUNCTION__); @@ -348,7 +349,7 @@ void EditorClientQt::toggleGrammarChecking() void EditorClientQt::handleKeyboardEvent(KeyboardEvent* event) { Frame* frame = m_page->d->page->focusController()->focusedOrMainFrame(); - if (!frame || !frame->document()->focusedNode()) + if (!frame) return; const PlatformKeyboardEvent* kevent = event->keyEvent(); @@ -373,6 +374,7 @@ void EditorClientQt::handleKeyboardEvent(KeyboardEvent* event) } } } + #ifndef QT_NO_SHORTCUT QWebPage::WebAction action = QWebPagePrivate::editorActionForKeyEvent(kevent->qtEvent()); if (action != QWebPage::NoWebAction && !doSpatialNavigation) { @@ -465,6 +467,62 @@ void EditorClientQt::handleKeyboardEvent(KeyboardEvent* event) return; } } else { + if (m_page->handle()->page->settings()->caretBrowsingEnabled()) { + switch (kevent->windowsVirtualKeyCode()) { + case VK_LEFT: + if (kevent->shiftKey() && kevent->ctrlKey()) + frame->editor()->command("MoveWordBackwardAndModifySelection").execute(); + else if (kevent->shiftKey()) + frame->editor()->command("MoveLeftAndModifySelection").execute(); + else if (kevent->ctrlKey()) + frame->editor()->command("MoveWordBackward").execute(); + else + frame->editor()->command("MoveLeft").execute(); + break; + case VK_RIGHT: + if (kevent->shiftKey() && kevent->ctrlKey()) + frame->editor()->command("MoveWordForwardAndModifySelection").execute(); + else if (kevent->shiftKey()) + frame->editor()->command("MoveRightAndModifySelection").execute(); + else if (kevent->ctrlKey()) + frame->editor()->command("MoveWordForward").execute(); + else + frame->editor()->command("MoveRight").execute(); + break; + case VK_UP: + if (kevent->shiftKey()) + frame->editor()->command("MoveUpAndModifySelection").execute(); + else + frame->editor()->command("MoveUp").execute(); + break; + case VK_DOWN: + if (kevent->shiftKey()) + frame->editor()->command("MoveDownAndModifySelection").execute(); + else + frame->editor()->command("MoveDown").execute(); + break; + case VK_PRIOR: // PageUp + frame->editor()->command("MovePageUp").execute(); + break; + case VK_NEXT: // PageDown + frame->editor()->command("MovePageDown").execute(); + break; + case VK_HOME: + if (kevent->shiftKey()) + frame->editor()->command("MoveToBeginningOfLineAndModifySelection").execute(); + else + frame->editor()->command("MoveToBeginningOfLine").execute(); + break; + case VK_END: + if (kevent->shiftKey()) + frame->editor()->command("MoveToEndOfLineAndModifySelection").execute(); + else + frame->editor()->command("MoveToEndOfLine").execute(); + break; + default: + break; + } + } #ifndef QT_NO_SHORTCUT if (kevent->qtEvent() == QKeySequence::Copy) m_page->triggerAction(QWebPage::Copy); @@ -558,7 +616,7 @@ bool EditorClientQt::spellingUIIsShowing() return false; } -void EditorClientQt::getGuessesForWord(const String&, Vector<String>&) +void EditorClientQt::getGuessesForWord(const String& word, const String& context, Vector<String>& guesses) { notImplemented(); } @@ -574,7 +632,7 @@ void EditorClientQt::willSetInputMethodState() void EditorClientQt::setInputMethodState(bool active) { - QWebPageClient* webPageClient = m_page->d->client; + QWebPageClient* webPageClient = m_page->d->client.get(); if (webPageClient) { Qt::InputMethodHints hints; diff --git a/WebKit/qt/WebCoreSupport/EditorClientQt.h b/WebKit/qt/WebCoreSupport/EditorClientQt.h index 7d99d22..1e410e6 100644 --- a/WebKit/qt/WebCoreSupport/EditorClientQt.h +++ b/WebKit/qt/WebCoreSupport/EditorClientQt.h @@ -104,9 +104,10 @@ public: virtual void updateSpellingUIWithMisspelledWord(const String&); virtual void showSpellingUI(bool show); virtual bool spellingUIIsShowing(); - virtual void getGuessesForWord(const String&, Vector<String>& guesses); + virtual void getGuessesForWord(const String& word, const String& context, Vector<String>& guesses); virtual void willSetInputMethodState(); virtual void setInputMethodState(bool enabled); + virtual void requestCheckingOfString(SpellChecker*, int, const String&) {} bool isEditing() const; diff --git a/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp index bf6e75a..849958f 100644 --- a/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp +++ b/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp @@ -59,6 +59,7 @@ #include "HTMLFormElement.h" #include "HTMLPlugInElement.h" #include "HTTPParsers.h" +#include "QtNAMThreadSafeProxy.h" #include "NotImplemented.h" #include "QNetworkReplyHandler.h" #include "ResourceHandleInternal.h" @@ -85,6 +86,7 @@ #include <QNetworkReply> #include <QStringList> #include "qwebhistory_p.h" +#include <wtf/OwnPtr.h> static QMap<unsigned long, QString> dumpAssignedUrls; @@ -975,13 +977,13 @@ void FrameLoaderClientQt::download(WebCore::ResourceHandle* handle, const WebCor return; QNetworkReplyHandler* handler = handle->getInternal()->m_job; - QNetworkReply* reply = handler->release(); - if (reply) { + QtNetworkReplyThreadSafeProxy* replyProxy = handler->release(); + if (replyProxy) { QWebPage *page = m_webFrame->page(); if (page->forwardUnsupportedContent()) - emit page->unsupportedContent(reply); + emit page->unsupportedContent(replyProxy->reply()); else - reply->abort(); + replyProxy->abort(); } } @@ -1464,10 +1466,8 @@ PassRefPtr<Widget> FrameLoaderClientQt::createPlugin(const IntSize& pluginSize, QString urlStr(url.string()); QUrl qurl = urlStr; - QObject* object = 0; - if (mimeType == "application/x-qt-plugin" || mimeType == "application/x-qt-styled-widget") { - object = m_webFrame->page()->createPlugin(classid, qurl, params, values); + QObject* object = m_webFrame->page()->createPlugin(classid, qurl, params, values); #ifndef QT_NO_STYLE_STYLESHEET QWidget* widget = qobject_cast<QWidget*>(object); if (widget && mimeType == "application/x-qt-styled-widget") { @@ -1488,7 +1488,6 @@ PassRefPtr<Widget> FrameLoaderClientQt::createPlugin(const IntSize& pluginSize, widget->setStyleSheet(styleSheet); } #endif // QT_NO_STYLE_STYLESHEET - } if (!object) { QWebPluginFactory* factory = m_webFrame->page()->pluginFactory(); @@ -1497,8 +1496,7 @@ PassRefPtr<Widget> FrameLoaderClientQt::createPlugin(const IntSize& pluginSize, } if (object) { - QWidget* widget = qobject_cast<QWidget*>(object); - if (widget) { + if (QWidget* widget = qobject_cast<QWidget*>(object)) { QWidget* parentWidget = 0; if (m_webFrame->page()->d->client) parentWidget = qobject_cast<QWidget*>(m_webFrame->page()->d->client->pluginParent()); @@ -1512,8 +1510,7 @@ PassRefPtr<Widget> FrameLoaderClientQt::createPlugin(const IntSize& pluginSize, return w; } - QGraphicsWidget* graphicsWidget = qobject_cast<QGraphicsWidget*>(object); - if (graphicsWidget) { + if (QGraphicsWidget* graphicsWidget = qobject_cast<QGraphicsWidget*>(object)) { QGraphicsObject* parentWidget = 0; if (m_webFrame->page()->d->client) parentWidget = qobject_cast<QGraphicsObject*>(m_webFrame->page()->d->client->pluginParent()); @@ -1528,14 +1525,14 @@ PassRefPtr<Widget> FrameLoaderClientQt::createPlugin(const IntSize& pluginSize, // FIXME: make things work for widgetless plugins as well delete object; + } } #if ENABLE(NETSCAPE_PLUGIN_API) else { // NPAPI Plugins Vector<String> params = paramNames; Vector<String> values = paramValues; -#if !OS(SYMBIAN) if (mimeType == "application/x-shockwave-flash") { - QWebPageClient* client = m_webFrame->page()->d->client; + QWebPageClient* client = m_webFrame->page()->d->client.get(); const bool isQWebView = client && qobject_cast<QWidget*>(client->pluginParent()); #if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO >= 5) size_t wmodeIndex = params.find("wmode"); @@ -1559,7 +1556,6 @@ PassRefPtr<Widget> FrameLoaderClientQt::createPlugin(const IntSize& pluginSize, } #endif } -#endif RefPtr<PluginView> pluginView = PluginView::create(m_frame, pluginSize, element, url, params, values, mimeType, loadManually); diff --git a/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp b/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp index eb3ae0a..2ae85e4 100644 --- a/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp +++ b/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp @@ -29,6 +29,7 @@ #include <QAbstractItemView> #include <QApplication> #include <QComboBox> +#include <QPaintEngine> #include <QPicture> #include <QRegExp> #include <QNetworkRequest> @@ -616,6 +617,7 @@ private slots: void baseUrl(); void hasSetFocus(); void render(); + void renderHints(); void scrollPosition(); void scrollToAnchor(); void scrollbarsOff(); @@ -625,6 +627,7 @@ private slots: void introspectQtMethods(); void setContent_data(); void setContent(); + void setCacheLoadControlAttribute(); private: QString evalJS(const QString&s) { @@ -2856,6 +2859,139 @@ void tst_QWebFrame::render() QCOMPARE(size.height(), picture.boundingRect().height()); // height: 100px } + +class DummyPaintEngine: public QPaintEngine { +public: + + DummyPaintEngine() + : QPaintEngine(QPaintEngine::AllFeatures) + , renderHints(0) + { + } + + bool begin(QPaintDevice*) + { + setActive(true); + return true; + } + + bool end() + { + setActive(false); + return false; + } + + void updateState(const QPaintEngineState& state) + { + renderHints = state.renderHints(); + } + + void drawPath(const QPainterPath&) { } + void drawPixmap(const QRectF&, const QPixmap&, const QRectF&) { } + + QPaintEngine::Type type() const + { + return static_cast<QPaintEngine::Type>(QPaintEngine::User + 2); + } + + QPainter::RenderHints renderHints; +}; + +class DummyPaintDevice: public QPaintDevice { +public: + DummyPaintDevice() + : QPaintDevice() + , m_engine(new DummyPaintEngine) + { + } + + ~DummyPaintDevice() + { + delete m_engine; + } + + QPaintEngine* paintEngine() const + { + return m_engine; + } + + QPainter::RenderHints renderHints() const + { + return m_engine->renderHints; + } + +protected: + int metric(PaintDeviceMetric metric) const; + +private: + DummyPaintEngine* m_engine; + friend class DummyPaintEngine; +}; + + +int DummyPaintDevice::metric(PaintDeviceMetric metric) const +{ + switch (metric) { + case PdmWidth: + return 400; + break; + + case PdmHeight: + return 200; + break; + + case PdmNumColors: + return INT_MAX; + break; + + case PdmDepth: + return 32; + break; + + default: + break; + } + return 0; +} + +void tst_QWebFrame::renderHints() +{ + QString html("<html><body><p>Hello, world!</p></body></html>"); + + QWebPage page; + page.mainFrame()->setHtml(html); + page.setViewportSize(page.mainFrame()->contentsSize()); + + // We will call frame->render and trap the paint engine state changes + // to ensure that GraphicsContext does not clobber the render hints. + DummyPaintDevice buffer; + QPainter painter(&buffer); + + painter.setRenderHint(QPainter::TextAntialiasing, false); + page.mainFrame()->render(&painter); + QVERIFY(!(buffer.renderHints() & QPainter::TextAntialiasing)); + QVERIFY(!(buffer.renderHints() & QPainter::SmoothPixmapTransform)); + QVERIFY(!(buffer.renderHints() & QPainter::HighQualityAntialiasing)); + + painter.setRenderHint(QPainter::TextAntialiasing, true); + page.mainFrame()->render(&painter); + QVERIFY(buffer.renderHints() & QPainter::TextAntialiasing); + QVERIFY(!(buffer.renderHints() & QPainter::SmoothPixmapTransform)); + QVERIFY(!(buffer.renderHints() & QPainter::HighQualityAntialiasing)); + + painter.setRenderHint(QPainter::SmoothPixmapTransform, true); + page.mainFrame()->render(&painter); + QVERIFY(buffer.renderHints() & QPainter::TextAntialiasing); + QVERIFY(buffer.renderHints() & QPainter::SmoothPixmapTransform); + QVERIFY(!(buffer.renderHints() & QPainter::HighQualityAntialiasing)); + + painter.setRenderHint(QPainter::HighQualityAntialiasing, true); + page.mainFrame()->render(&painter); + QVERIFY(buffer.renderHints() & QPainter::TextAntialiasing); + QVERIFY(buffer.renderHints() & QPainter::SmoothPixmapTransform); + QVERIFY(buffer.renderHints() & QPainter::HighQualityAntialiasing); +} + void tst_QWebFrame::scrollPosition() { // enlarged image in a small viewport, to provoke the scrollbars to appear @@ -3068,5 +3204,58 @@ void tst_QWebFrame::setContent() QCOMPARE(expected , mainFrame->toPlainText()); } +class CacheNetworkAccessManager : public QNetworkAccessManager { +public: + CacheNetworkAccessManager(QObject* parent = 0) + : QNetworkAccessManager(parent) + , m_lastCacheLoad(QNetworkRequest::PreferNetwork) + { + } + + virtual QNetworkReply* createRequest(Operation, const QNetworkRequest& request, QIODevice*) + { + QVariant cacheLoad = request.attribute(QNetworkRequest::CacheLoadControlAttribute); + if (cacheLoad.isValid()) + m_lastCacheLoad = static_cast<QNetworkRequest::CacheLoadControl>(cacheLoad.toUInt()); + else + m_lastCacheLoad = QNetworkRequest::PreferNetwork; // default value + return new FakeReply(request, this); + } + + QNetworkRequest::CacheLoadControl lastCacheLoad() const + { + return m_lastCacheLoad; + } + +private: + QNetworkRequest::CacheLoadControl m_lastCacheLoad; +}; + +void tst_QWebFrame::setCacheLoadControlAttribute() +{ + QWebPage page; + CacheNetworkAccessManager* manager = new CacheNetworkAccessManager(&page); + page.setNetworkAccessManager(manager); + QWebFrame* frame = page.mainFrame(); + + QNetworkRequest request(QUrl("http://abcdef.abcdef/")); + + request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysCache); + frame->load(request); + QCOMPARE(manager->lastCacheLoad(), QNetworkRequest::AlwaysCache); + + request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache); + frame->load(request); + QCOMPARE(manager->lastCacheLoad(), QNetworkRequest::PreferCache); + + request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysNetwork); + frame->load(request); + QCOMPARE(manager->lastCacheLoad(), QNetworkRequest::AlwaysNetwork); + + request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferNetwork); + frame->load(request); + QCOMPARE(manager->lastCacheLoad(), QNetworkRequest::PreferNetwork); +} + QTEST_MAIN(tst_QWebFrame) #include "tst_qwebframe.moc" diff --git a/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp b/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp index c27ba02..4645a06 100644 --- a/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp +++ b/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp @@ -128,6 +128,7 @@ private slots: void findText(); void supportedContentType(); void infiniteLoopJS(); + void networkAccessManagerOnDifferentThread(); private: QWebView* m_view; @@ -249,14 +250,8 @@ void tst_QWebPage::infiniteLoopJS() void tst_QWebPage::geolocationRequestJS() { - /* - This test is disabled because it can only succeed if ENABLE(GEOLOCATION) is true. - The code needs to be updated when the API of requestPermissionFromUser is updated. - */ - QSKIP("Test disabled as long as geolocation is disabled from the build.", SkipSingle); - JSTestPage* newPage = new JSTestPage(m_view); - connect(newPage, SIGNAL(requestPermissionFromUser(QWebFrame*, QWebPage::Feature)), + connect(newPage, SIGNAL(featurePermissionRequested(QWebFrame*, QWebPage::Feature)), newPage, SLOT(requestPermission(QWebFrame*, QWebPage::Feature))); newPage->setGeolocationPermission(false); @@ -1397,6 +1392,14 @@ static bool inputMethodEnabled(QObject* object) return false; } +static void clickOnPage(QWebPage* page, const QPoint& position) +{ + QMouseEvent evpres(QEvent::MouseButtonPress, position, Qt::LeftButton, Qt::NoButton, Qt::NoModifier); + page->event(&evpres); + QMouseEvent evrel(QEvent::MouseButtonRelease, position, Qt::LeftButton, Qt::NoButton, Qt::NoModifier); + page->event(&evrel); +} + void tst_QWebPage::inputMethods() { QFETCH(QString, viewType); @@ -1433,11 +1436,9 @@ void tst_QWebPage::inputMethods() EventSpy viewEventSpy(container); QWebElementCollection inputs = page->mainFrame()->documentElement().findAll("input"); + QPoint textInputCenter = inputs.at(0).geometry().center(); - QMouseEvent evpres(QEvent::MouseButtonPress, inputs.at(0).geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier); - page->event(&evpres); - QMouseEvent evrel(QEvent::MouseButtonRelease, inputs.at(0).geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier); - page->event(&evrel); + clickOnPage(page, textInputCenter); // This part of the test checks if the SIP (Software Input Panel) is triggered, // which normally happens on mobile platforms, when a user input form receives @@ -1462,8 +1463,7 @@ void tst_QWebPage::inputMethods() QVERIFY(!viewEventSpy.contains(QEvent::RequestSoftwareInputPanel)); viewEventSpy.clear(); - page->event(&evpres); - page->event(&evrel); + clickOnPage(page, textInputCenter); QVERIFY(viewEventSpy.contains(QEvent::RequestSoftwareInputPanel)); //ImMicroFocus @@ -1565,8 +1565,7 @@ void tst_QWebPage::inputMethods() // LEFT to RIGHT selection // Deselect the selection by sending MouseButtonPress events // This moves the current cursor to the end of the text - page->event(&evpres); - page->event(&evrel); + clickOnPage(page, textInputCenter); { QList<QInputMethodEvent::Attribute> attributes; @@ -1614,8 +1613,7 @@ void tst_QWebPage::inputMethods() //RIGHT to LEFT selection //Deselect the selection (this moves the current cursor to the end of the text) - page->event(&evpres); - page->event(&evrel); + clickOnPage(page, textInputCenter); //ImAnchorPosition variant = page->inputMethodQuery(Qt::ImAnchorPosition); @@ -1662,28 +1660,20 @@ void tst_QWebPage::inputMethods() //END - Tests for Selection when the Editor is not in Composition mode //ImhHiddenText - QMouseEvent evpresPassword(QEvent::MouseButtonPress, inputs.at(1).geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier); - page->event(&evpresPassword); - QMouseEvent evrelPassword(QEvent::MouseButtonRelease, inputs.at(1).geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier); - page->event(&evrelPassword); + QPoint passwordInputCenter = inputs.at(1).geometry().center(); + clickOnPage(page, passwordInputCenter); QVERIFY(inputMethodEnabled(view)); QVERIFY(inputMethodHints(view) & Qt::ImhHiddenText); - page->event(&evpres); - page->event(&evrel); + clickOnPage(page, textInputCenter); QVERIFY(!(inputMethodHints(view) & Qt::ImhHiddenText)); page->mainFrame()->setHtml("<html><body><p>nothing to input here"); viewEventSpy.clear(); QWebElement para = page->mainFrame()->findFirstElement("p"); - { - QMouseEvent evpres(QEvent::MouseButtonPress, para.geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier); - page->event(&evpres); - QMouseEvent evrel(QEvent::MouseButtonRelease, para.geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier); - page->event(&evrel); - } + clickOnPage(page, para.geometry().center()); QVERIFY(!viewEventSpy.contains(QEvent::RequestSoftwareInputPanel)); @@ -2009,6 +1999,15 @@ void tst_QWebPage::inputMethods() anchorPosition = variant.toInt(); QCOMPARE(anchorPosition, 12); + // Check sending RequestSoftwareInputPanel event + page->mainFrame()->setHtml("<html><body>" \ + "<input type='text' id='input5' value='QtWebKit inputMethod'/>" \ + "<div id='btnDiv' onclick='i=document.getElementById("input5"); i.focus();'>abc</div>"\ + "</body></html>"); + QWebElement inputElement = page->mainFrame()->findFirstElement("div"); + clickOnPage(page, inputElement.geometry().center()); + + QVERIFY(!viewEventSpy.contains(QEvent::RequestSoftwareInputPanel)); delete container; } @@ -2599,5 +2598,45 @@ void tst_QWebPage::supportedContentType() QVERIFY2(m_page->supportsContentType(mimeType), QString("Cannot handle content types '%1'!").arg(mimeType).toLatin1()); } +class QtNAMThread : public QThread { +public: + QtNAMThread() + { + m_qnamFuture.reportStarted(); + } + ~QtNAMThread() + { + quit(); + wait(); + } + + QFuture<QNetworkAccessManager*> networkAccessManager() + { + return m_qnamFuture.future(); + } +protected: + void run() + { + QNetworkAccessManager* qnam = new QNetworkAccessManager; + m_qnamFuture.reportFinished(&qnam); + exec(); + delete qnam; + } +private: + QFutureInterface<QNetworkAccessManager*> m_qnamFuture; +}; + +void tst_QWebPage::networkAccessManagerOnDifferentThread() +{ + QtNAMThread qnamThread; + qnamThread.start(); + m_page->setNetworkAccessManager(qnamThread.networkAccessManager()); + QSignalSpy loadSpy(m_page, SIGNAL(loadFinished(bool))); + QUrl url = QUrl("qrc:///resources/index.html"); + m_page->mainFrame()->load(url); + QTRY_COMPARE(loadSpy.count(), 1); + QCOMPARE(m_page->mainFrame()->childFrames()[0]->url(), QUrl("qrc:///resources/frame_a.html")); +} + QTEST_MAIN(tst_QWebPage) #include "tst_qwebpage.moc" diff --git a/WebKit/qt/tests/qwebview/tst_qwebview.cpp b/WebKit/qt/tests/qwebview/tst_qwebview.cpp index 8cd2f3f..7bf66b7 100644 --- a/WebKit/qt/tests/qwebview/tst_qwebview.cpp +++ b/WebKit/qt/tests/qwebview/tst_qwebview.cpp @@ -79,22 +79,22 @@ void tst_QWebView::renderHints() { QWebView webView; - // default is only text antialiasing + // default is only text antialiasing + smooth pixmap transform QVERIFY(!(webView.renderHints() & QPainter::Antialiasing)); QVERIFY(webView.renderHints() & QPainter::TextAntialiasing); - QVERIFY(!(webView.renderHints() & QPainter::SmoothPixmapTransform)); + QVERIFY(webView.renderHints() & QPainter::SmoothPixmapTransform); QVERIFY(!(webView.renderHints() & QPainter::HighQualityAntialiasing)); webView.setRenderHint(QPainter::Antialiasing, true); QVERIFY(webView.renderHints() & QPainter::Antialiasing); QVERIFY(webView.renderHints() & QPainter::TextAntialiasing); - QVERIFY(!(webView.renderHints() & QPainter::SmoothPixmapTransform)); + QVERIFY(webView.renderHints() & QPainter::SmoothPixmapTransform); QVERIFY(!(webView.renderHints() & QPainter::HighQualityAntialiasing)); webView.setRenderHint(QPainter::Antialiasing, false); QVERIFY(!(webView.renderHints() & QPainter::Antialiasing)); QVERIFY(webView.renderHints() & QPainter::TextAntialiasing); - QVERIFY(!(webView.renderHints() & QPainter::SmoothPixmapTransform)); + QVERIFY(webView.renderHints() & QPainter::SmoothPixmapTransform); QVERIFY(!(webView.renderHints() & QPainter::HighQualityAntialiasing)); webView.setRenderHint(QPainter::SmoothPixmapTransform, true); diff --git a/WebKit/win/AccessibleBase.cpp b/WebKit/win/AccessibleBase.cpp index 3e8306f..1ebd45c 100644 --- a/WebKit/win/AccessibleBase.cpp +++ b/WebKit/win/AccessibleBase.cpp @@ -574,7 +574,7 @@ HRESULT STDMETHODCALLTYPE AccessibleBase::accHitTest(long x, long y, VARIANT* pv return E_FAIL; IntPoint point = m_object->documentFrameView()->screenToContents(IntPoint(x, y)); - AccessibilityObject* childObj = m_object->doAccessibilityHitTest(point); + AccessibilityObject* childObj = m_object->accessibilityHitTest(point); if (!childObj) { // If we did not hit any child objects, test whether the point hit us, and diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog index 9f6f837..57fbf08 100644 --- a/WebKit/win/ChangeLog +++ b/WebKit/win/ChangeLog @@ -1,3 +1,260 @@ +2010-12-22 Dan Bernstein <mitz@apple.com> + + Changed WebKitTools to Tools. + + * WebKit.vcproj/WebKit.sln: + +2010-12-14 Adam Roben <aroben@apple.com> + + Always record the last-set cursor, even when the UI delegate is + setting the cursor for us + + Prior to r63339, the last-set cursor was recorded in Widget::setCursor. + r63339 moved that code up to WebChromeClient, but failed to call it + when the UI delegate was the one setting the cursor. + + Fixes <http://webkit.org/b/45692> <rdar://problem/8423464> REGRESSION + (r63339): Mouse cursor disappears when holding mouse button down on + page + + Reviewed by Ada Chan. + + * WebCoreSupport/WebChromeClient.cpp: + (WebChromeClient::setCursor): After the cursor is set, regardless of + whether the UI delegate sets it or we set it, record the cursor that + was just set. That way we'll be able to use the cursor later when + responding to the WM_SETCURSOR message. + +2010-12-13 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=50953 + DNS Prefetch should be an opt-in feature + + * WebPreferences.cpp: (WebPreferences::initializeDefaultSettings): Changed default to NO. + +2010-10-28 MORITA Hajime <morrita@google.com> + + Reviewed by Ojan Vafai. + + spellcheck does not check pasted text + https://bugs.webkit.org/show_bug.cgi?id=40092 + + Added a stub implememntation. + + * WebCoreSupport/WebEditorClient.h: + (WebEditorClient::requestCheckingOfString): + +2010-12-10 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + AX: refactor AccessibilityRenderObject::doAccessibilityHitTest + https://bugs.webkit.org/show_bug.cgi?id=50574 + + * AccessibleBase.cpp: + (AccessibleBase::accHitTest): + +2010-12-09 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Adam Roben. + + Prep for WebKit2: Context menu support on Windows + https://bugs.webkit.org/show_bug.cgi?id=50514 + + Update WebKit for the new CROSS_PLATFORM_CONTEXT_MENUS flag, and define customizeMenu + instead of getCustomMenuFromDefaultItems. + + * WebCoreSupport/WebContextMenuClient.cpp: + (WebContextMenuClient::customizeMenu): getCustomMenuFromDefaultItems was turned into + this function, with refactoring using nativeMenu instead of platformDescription. + (WebContextMenuClient::contextMenuItemSelected): Use nativeMenu instead of platformDescription. + * WebCoreSupport/WebContextMenuClient.h: + * WebView.cpp: + (WebView::handleContextMenuEvent): Call nativeMenu instead of platformDescription. + (WebView::performContextMenuAction): Only call itemAtIndex with one argument, no need + for the second. + +2010-12-07 Brian Weinstein <bweinstein@apple.com> + + Reviewed by John Sullivan. + + Layering Violation in ContextMenu - member variable of type HitTestResult + https://bugs.webkit.org/show_bug.cgi?id=50586 + + Update users of ContextMenu and ContextMenuController to match where the new functions + are located. + + * WebCoreSupport/WebContextMenuClient.cpp: + (WebContextMenuClient::getCustomMenuFromDefaultItems): Get the HitTestResult and ContextMenu from the + ContextMenuController (from the page). + (WebContextMenuClient::contextMenuItemSelected): Get the HitTestResult from the ContextMenuController. + * WebView.cpp: + (WebView::handleContextMenuEvent): Ditto. + +2010-12-07 Jessie Berlin <jberlin@apple.com> + + Build fix. Unreviewed. + + * WebCoreSupport/WebContextMenuClient.cpp: + (WebContextMenuClient::searchWithGoogle): + FrameLoader::urlSelected does not take a SecurityOrigin as a parameter. + +2010-12-06 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Pass security origin to make local file decision correctly + https://bugs.webkit.org/show_bug.cgi?id=48603 + + * WebCoreSupport/WebContextMenuClient.cpp: + (WebContextMenuClient::searchWithGoogle): Pass security origin. + +2010-12-07 Kenichi Ishibashi <bashi@google.com> + + Reviewed by Kent Tamura. + + Let HTMLObjectElement be a form associated element + https://bugs.webkit.org/show_bug.cgi?id=48821 + + Modified to use FormAssociatedElement instead of HTMLFormControlElement. + + * WebFrame.cpp: + (WebFrame::elementWithName): Modified to use FormAssociatedElement + instead of HTMLFormControlElement. + (WebFrame::controlsInForm): Ditto. + +2010-12-05 Adam Roben <aroben@apple.com> + + Windows production build fix + + Put spaces after trailing backslashes when setting + %WebKitVSPropsRedirectionDir%. According to MSDN + <http://msdn.microsoft.com/en-us/library/2kzfk8c7(v=VS.80).aspx>: + + A backslash ( \ ) followed by a newline character is interpreted as + a space in the command; use a backslash at the end of a line to + continue a command onto the next line. NMAKE interprets the + backslash literally if any other character, including a space or + tab, follows the backslash. + + * WebKit.vcproj/WebKit.make: + +2010-12-03 Sam Weinig <sam@webkit.org> + + Reviewed by Maciej Stachowiak. + + Enable <a ping> for Mac/Windows/WebKit2 builds + <rdar://problem/8504473> + https://bugs.webkit.org/show_bug.cgi?id=50488 + + * WebPreferences.cpp: + (WebPreferences::initializeDefaultSettings): Enable "HyperlinkAuditing" by default. + +2010-12-03 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Brady Eidson. + + WebContextMenuClient::fixMenuReceivedFromOldSafari is no longer needed on Windows + https://bugs.webkit.org/show_bug.cgi?id=50486 + + Remove the static fixMenuReceivedFromOldSafari and isPreInspectElementTagSafari methods + from WebContextMenuClient. There were there for when WebKit had the Inspect Element context menu + item, but Safari didn't support it. We don't support that old Safari, so that code can go. + + * WebCoreSupport/WebContextMenuClient.cpp: + (WebContextMenuClient::getCustomMenuFromDefaultItems): + +2010-12-02 John Knottenbelt <jknotten@chromium.org> + + Reviewed by Steve Block. + + Move requestGeolocationPermissionForFrame to GeolocationClient + https://bugs.webkit.org/show_bug.cgi?id=50061 + + This change facilitates client-based geolocation implementation by + bringing together permission control into the geolocation client + interface. + + Move method ChromeClient::requestGeolocationPermissionForFrame to + GeolocationClient::requestPermission. The moved code is unchanged + except that requestPermission now takes only one argument (Geolocation*), + the Frame parameter is retrieved from the Geolocation object and we need to + call m_webView.get() as it is a COMPtr in GeolocationClient. + + * WebCoreSupport/WebChromeClient.cpp: + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebGeolocationClient.cpp: + (WebGeolocationClient::requestPermission): + * WebCoreSupport/WebGeolocationClient.h: + (WebGeolocationClient::cancelPermissionRequest): + +2010-12-01 Jia Pu <jpu@apple.com> + + Reviewed by Darin Adler. + + Support multiple correction candidates panel for misspelled word on Mac OS X. + https://bugs.webkit.org/show_bug.cgi?id=50137 + <rdar://problem/8568059> + + Adopted new function signature defined in base class. + + * WebCoreSupport/WebEditorClient.cpp: + (WebEditorClient::getGuessesForWord): + * WebCoreSupport/WebEditorClient.h: + +2010-12-01 Steve Falkenburg <sfalken@apple.com> + + Reviewed by Adam Roben. + + WinCairo build should not use link-time code generation (LTCG) + https://bugs.webkit.org/show_bug.cgi?id=50353 + + * WebKit.vcproj/Interfaces.vcproj: + * WebKit.vcproj/WebKit.vcproj: + * WebKit.vcproj/WebKitGUID.vcproj: + +2010-12-01 Steve Falkenburg <sfalken@apple.com> + + Reviewed by Adam Roben. + + vcproj changes can't be applied cleanly by the Windows EWS bot + https://bugs.webkit.org/show_bug.cgi?id=50328 + + * WebKit.vcproj/Interfaces.vcproj: Modified property svn:eol-style. + * WebKit.vcproj/InterfacesCommon.vsprops: Added property svn:eol-style. + * WebKit.vcproj/WebKit.sln: Modified property svn:eol-style. + * WebKit.vcproj/WebKit.submit.sln: Modified property svn:eol-style. + * WebKit.vcproj/WebKit.vcproj: Modified property svn:eol-style. + * WebKit.vcproj/WebKitGUID.vcproj: Modified property svn:eol-style. + * WebKit.vcproj/WebKitGUIDCommon.vsprops: Added property svn:eol-style. + * WebKit.vcproj/WebKitLibCommon.vsprops: Added property svn:eol-style. + +2010-11-30 Steve Falkenburg <sfalken@apple.com> + + Reviewed by Adam Roben. + + All projects on Windows should use cmd files for build events + https://bugs.webkit.org/show_bug.cgi?id=50213 + + * WebKit.vcproj/InterfacesCommon.vsprops: + * WebKit.vcproj/InterfacesPostBuild.cmd: Added. + * WebKit.vcproj/InterfacesPreBuild.cmd: Added. + * WebKit.vcproj/WebKitGUIDCommon.vsprops: + * WebKit.vcproj/WebKitGUIDPostBuild.cmd: Added. + * WebKit.vcproj/WebKitGUIDPreBuild.cmd: Added. + * WebKit.vcproj/WebKitLibCommon.vsprops: + * WebKit.vcproj/WebKitLibPostBuild.cmd: Added. + * WebKit.vcproj/WebKitLibPreBuild.cmd: Added. + +2010-11-29 Brent Fulgham <bfulgham@webkit.org> + + Unreviewed build correction. + + * WebKit.vcproj/WebKit.vcproj: Update WebKit project to + use WinCairo.vsprops definition for appropriate build targets. + 2010-11-22 Adam Roben <aroben@apple.com> Use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files diff --git a/WebKit/win/WebCoreSupport/WebChromeClient.cpp b/WebKit/win/WebCoreSupport/WebChromeClient.cpp index d046c21..9bc4799 100644 --- a/WebKit/win/WebCoreSupport/WebChromeClient.cpp +++ b/WebKit/win/WebCoreSupport/WebChromeClient.cpp @@ -32,7 +32,6 @@ #include "DOMCoreClasses.h" #include "WebElementPropertyBag.h" #include "WebFrame.h" -#include "WebGeolocationPolicyListener.h" #include "WebHistory.h" #include "WebMutableURLRequest.h" #include "WebDesktopNotificationsDelegate.h" @@ -46,7 +45,6 @@ #include <WebCore/FloatRect.h> #include <WebCore/FrameLoadRequest.h> #include <WebCore/FrameView.h> -#include <WebCore/Geolocation.h> #include <WebCore/HTMLNames.h> #include <WebCore/Icon.h> #include <WebCore/LocalWindowsContext.h> @@ -799,17 +797,19 @@ void WebChromeClient::setCursor(const Cursor& cursor) if (!platformCursor) return; + bool shouldSetCursor = true; if (COMPtr<IWebUIDelegate> delegate = uiDelegate()) { COMPtr<IWebUIDelegatePrivate> delegatePrivate(Query, delegate); if (delegatePrivate) { if (SUCCEEDED(delegatePrivate->webViewSetCursor(m_webView, reinterpret_cast<OLE_HANDLE>(platformCursor)))) - return; + shouldSetCursor = false; } } - m_webView->setLastCursor(platformCursor); - ::SetCursor(platformCursor); - return; + if (shouldSetCursor) + ::SetCursor(platformCursor); + + setLastSetCursorToCurrentCursor(); } void WebChromeClient::setLastSetCursorToCurrentCursor() @@ -817,29 +817,6 @@ void WebChromeClient::setLastSetCursorToCurrentCursor() m_webView->setLastCursor(::GetCursor()); } -void WebChromeClient::requestGeolocationPermissionForFrame(Frame* frame, Geolocation* geolocation) -{ - COMPtr<IWebUIDelegate> uiDelegate; - if (FAILED(m_webView->uiDelegate(&uiDelegate))) { - geolocation->setIsAllowed(false); - return; - } - - COMPtr<IWebUIDelegatePrivate2> uiDelegatePrivate2(Query, uiDelegate); - if (!uiDelegatePrivate2) { - geolocation->setIsAllowed(false); - return; - } - - COMPtr<WebSecurityOrigin> origin(AdoptCOM, WebSecurityOrigin::createInstance(frame->document()->securityOrigin())); - COMPtr<WebGeolocationPolicyListener> listener = WebGeolocationPolicyListener::createInstance(geolocation); - HRESULT hr = uiDelegatePrivate2->decidePolicyForGeolocationRequest(m_webView, kit(frame), origin.get(), listener.get()); - if (hr != E_NOTIMPL) - return; - - geolocation->setIsAllowed(false); -} - #if USE(ACCELERATED_COMPOSITING) void WebChromeClient::attachRootGraphicsLayer(Frame* frame, GraphicsLayer* graphicsLayer) { diff --git a/WebKit/win/WebCoreSupport/WebChromeClient.h b/WebKit/win/WebCoreSupport/WebChromeClient.h index 55167b6..b6c2525 100644 --- a/WebKit/win/WebCoreSupport/WebChromeClient.h +++ b/WebKit/win/WebCoreSupport/WebChromeClient.h @@ -159,7 +159,9 @@ public: virtual void scrollRectIntoView(const WebCore::IntRect&, const WebCore::ScrollView*) const {} - virtual void requestGeolocationPermissionForFrame(WebCore::Frame*, WebCore::Geolocation*); + // FIXME: Remove once all ports are using client-based geolocation. https://bugs.webkit.org/show_bug.cgi?id=40373 + // For client-based geolocation, these two methods have been moved to WebGeolocationClient. https://bugs.webkit.org/show_bug.cgi?id=50061 + virtual void requestGeolocationPermissionForFrame(WebCore::Frame*, WebCore::Geolocation*) { } virtual void cancelGeolocationPermissionRequestForFrame(WebCore::Frame*, WebCore::Geolocation*) { } #if ENABLE(VIDEO) diff --git a/WebKit/win/WebCoreSupport/WebContextMenuClient.cpp b/WebKit/win/WebCoreSupport/WebContextMenuClient.cpp index 24178f2..9405fc8 100644 --- a/WebKit/win/WebCoreSupport/WebContextMenuClient.cpp +++ b/WebKit/win/WebCoreSupport/WebContextMenuClient.cpp @@ -32,6 +32,7 @@ #include "WebView.h" #include <WebCore/ContextMenu.h> +#include <WebCore/ContextMenuController.h> #include <WebCore/Event.h> #include <WebCore/Frame.h> #include <WebCore/FrameLoader.h> @@ -54,59 +55,29 @@ void WebContextMenuClient::contextMenuDestroyed() delete this; } -static bool isPreInspectElementTagSafari(IWebUIDelegate* uiDelegate) +PassOwnPtr<ContextMenu> WebContextMenuClient::customizeMenu(PassOwnPtr<ContextMenu> popMenu) { - if (!uiDelegate) - return false; + OwnPtr<ContextMenu> menu = popMenu; - TCHAR modulePath[MAX_PATH]; - DWORD length = ::GetModuleFileName(0, modulePath, WTF_ARRAY_LENGTH(modulePath)); - if (!length) - return false; - - return String(modulePath, length).endsWith("Safari.exe", false); -} - -static HMENU fixMenuReceivedFromOldSafari(IWebUIDelegate* uiDelegate, ContextMenu* originalMenu, HMENU menuFromClient) -{ - ASSERT_ARG(originalMenu, originalMenu); - if (!isPreInspectElementTagSafari(uiDelegate)) - return menuFromClient; - - int count = ::GetMenuItemCount(originalMenu->platformDescription()); - if (count < 1) - return menuFromClient; - - if (::GetMenuItemID(originalMenu->platformDescription(), count - 1) != WebMenuItemTagInspectElement) - return menuFromClient; - - count = ::GetMenuItemCount(menuFromClient); - if (count < 1) - return menuFromClient; - - if (::GetMenuItemID(menuFromClient, count - 1) == WebMenuItemTagInspectElement) - return menuFromClient; - - originalMenu->setPlatformDescription(menuFromClient); - originalMenu->addInspectElementItem(); - return originalMenu->platformDescription(); -} - -HMENU WebContextMenuClient::getCustomMenuFromDefaultItems(ContextMenu* menu) -{ COMPtr<IWebUIDelegate> uiDelegate; if (FAILED(m_webView->uiDelegate(&uiDelegate))) - return menu->platformDescription(); + return menu.release(); ASSERT(uiDelegate); - HMENU newMenu = 0; + HMENU nativeMenu = menu->nativeMenu(); COMPtr<WebElementPropertyBag> propertyBag; - propertyBag.adoptRef(WebElementPropertyBag::createInstance(menu->hitTestResult())); + propertyBag.adoptRef(WebElementPropertyBag::createInstance(m_webView->page()->contextMenuController()->hitTestResult())); // FIXME: We need to decide whether to do the default before calling this delegate method - if (FAILED(uiDelegate->contextMenuItemsForElement(m_webView, propertyBag.get(), (OLE_HANDLE)(ULONG64)menu->platformDescription(), (OLE_HANDLE*)&newMenu))) - return menu->platformDescription(); - return fixMenuReceivedFromOldSafari(uiDelegate.get(), menu, newMenu); + if (FAILED(uiDelegate->contextMenuItemsForElement(m_webView, propertyBag.get(), (OLE_HANDLE)(ULONG64)nativeMenu, (OLE_HANDLE*)&nativeMenu))) { + ::DestroyMenu(nativeMenu); + return menu.release(); + } + + OwnPtr<ContextMenu> customizedMenu = adoptPtr(new ContextMenu(nativeMenu)); + ::DestroyMenu(nativeMenu); + + return customizedMenu.release(); } void WebContextMenuClient::contextMenuItemSelected(ContextMenuItem* item, const ContextMenu* parentMenu) @@ -120,9 +91,18 @@ void WebContextMenuClient::contextMenuItemSelected(ContextMenuItem* item, const ASSERT(uiDelegate); COMPtr<WebElementPropertyBag> propertyBag; - propertyBag.adoptRef(WebElementPropertyBag::createInstance(parentMenu->hitTestResult())); - - uiDelegate->contextMenuItemSelected(m_webView, item->releasePlatformDescription(), propertyBag.get()); + propertyBag.adoptRef(WebElementPropertyBag::createInstance(m_webView->page()->contextMenuController()->hitTestResult())); + + // This call would leak the MENUITEMINFO's subMenu if it had one, but on Windows, subMenus can't be selected, so there is + // no way we would get to this point. Also, it can't be a separator, because separators cannot be selected. + ASSERT(item->type() != SubmenuType); + ASSERT(item->type() != SeparatorType); + + // ContextMenuItem::nativeMenuItem doesn't set the dwTypeData of the MENUITEMINFO, but no WebKit clients + // use the title in IWebUIDelegate::contextMenuItemSelected, so we don't need to populate it here. + MENUITEMINFO selectedItem = item->nativeMenuItem(); + + uiDelegate->contextMenuItemSelected(m_webView, &selectedItem, propertyBag.get()); } void WebContextMenuClient::downloadURL(const KURL& url) diff --git a/WebKit/win/WebCoreSupport/WebContextMenuClient.h b/WebKit/win/WebCoreSupport/WebContextMenuClient.h index 6bcb072..ed41c59 100644 --- a/WebKit/win/WebCoreSupport/WebContextMenuClient.h +++ b/WebKit/win/WebCoreSupport/WebContextMenuClient.h @@ -23,8 +23,10 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include <WebCore/ContextMenu.h> #include <WebCore/ContextMenuClient.h> #include <wtf/Forward.h> +#include <wtf/PassOwnPtr.h> class WebView; @@ -34,7 +36,7 @@ public: virtual void contextMenuDestroyed(); - virtual HMENU getCustomMenuFromDefaultItems(WebCore::ContextMenu*); + virtual PassOwnPtr<WebCore::ContextMenu> customizeMenu(PassOwnPtr<WebCore::ContextMenu>); virtual void contextMenuItemSelected(WebCore::ContextMenuItem*, const WebCore::ContextMenu*); virtual void downloadURL(const WebCore::KURL&); diff --git a/WebKit/win/WebCoreSupport/WebEditorClient.cpp b/WebKit/win/WebCoreSupport/WebEditorClient.cpp index f03ffd6..539259b 100644 --- a/WebKit/win/WebCoreSupport/WebEditorClient.cpp +++ b/WebKit/win/WebCoreSupport/WebEditorClient.cpp @@ -758,7 +758,7 @@ bool WebEditorClient::spellingUIIsShowing() return !!showing; } -void WebEditorClient::getGuessesForWord(const String& word, Vector<String>& guesses) +void WebEditorClient::getGuessesForWord(const String& word, const String& context, Vector<String>& guesses) { guesses.clear(); diff --git a/WebKit/win/WebCoreSupport/WebEditorClient.h b/WebKit/win/WebCoreSupport/WebEditorClient.h index 8be6de9..358a365 100644 --- a/WebKit/win/WebCoreSupport/WebEditorClient.h +++ b/WebKit/win/WebCoreSupport/WebEditorClient.h @@ -107,10 +107,11 @@ public: virtual void updateSpellingUIWithMisspelledWord(const WTF::String&); virtual void showSpellingUI(bool show); virtual bool spellingUIIsShowing(); - virtual void getGuessesForWord(const WTF::String&, Vector<WTF::String>& guesses); + virtual void getGuessesForWord(const WTF::String& word, const WTF::String& context, WTF::Vector<WTF::String>& guesses); virtual void willSetInputMethodState(); virtual void setInputMethodState(bool); + virtual void requestCheckingOfString(WebCore::SpellChecker*, int, const WTF::String&) {} private: WebView* m_webView; diff --git a/WebKit/win/WebCoreSupport/WebGeolocationClient.cpp b/WebKit/win/WebCoreSupport/WebGeolocationClient.cpp index 8a526c4..b1d83fb 100644 --- a/WebKit/win/WebCoreSupport/WebGeolocationClient.cpp +++ b/WebKit/win/WebCoreSupport/WebGeolocationClient.cpp @@ -27,8 +27,14 @@ #include "WebKitDLL.h" #include "WebGeolocationClient.h" +#include "WebFrame.h" +#include "WebGeolocationPolicyListener.h" #include "WebGeolocationPosition.h" +#include "WebSecurityOrigin.h" #include "WebView.h" +#include <WebCore/Frame.h> +#include <WebCore/Geolocation.h> +#include <WebCore/SecurityOrigin.h> using namespace WebCore; @@ -72,3 +78,27 @@ GeolocationPosition* WebGeolocationClient::lastPosition() return 0; #endif } + +void WebGeolocationClient::requestPermission(Geolocation* geolocation) +{ + COMPtr<IWebUIDelegate> uiDelegate; + if (FAILED(m_webView->uiDelegate(&uiDelegate))) { + geolocation->setIsAllowed(false); + return; + } + + COMPtr<IWebUIDelegatePrivate2> uiDelegatePrivate2(Query, uiDelegate); + if (!uiDelegatePrivate2) { + geolocation->setIsAllowed(false); + return; + } + + Frame* frame = geolocation->frame(); + COMPtr<WebSecurityOrigin> origin(AdoptCOM, WebSecurityOrigin::createInstance(frame->document()->securityOrigin())); + COMPtr<WebGeolocationPolicyListener> listener = WebGeolocationPolicyListener::createInstance(geolocation); + HRESULT hr = uiDelegatePrivate2->decidePolicyForGeolocationRequest(m_webView.get(), kit(frame), origin.get(), listener.get()); + if (hr != E_NOTIMPL) + return; + + geolocation->setIsAllowed(false); +} diff --git a/WebKit/win/WebCoreSupport/WebGeolocationClient.h b/WebKit/win/WebCoreSupport/WebGeolocationClient.h index 2422ae5..c5db134 100644 --- a/WebKit/win/WebCoreSupport/WebGeolocationClient.h +++ b/WebKit/win/WebCoreSupport/WebGeolocationClient.h @@ -30,7 +30,8 @@ #include <WebCore/GeolocationClient.h> namespace WebCore { - class GeolocationPosition; +class Geolocation; +class GeolocationPosition; } class WebView; @@ -45,6 +46,9 @@ public: virtual void setEnableHighAccuracy(bool) { } virtual WebCore::GeolocationPosition* lastPosition(); + virtual void requestPermission(WebCore::Geolocation*); + virtual void cancelPermissionRequest(WebCore::Geolocation*) { } + private: COMPtr<WebView> m_webView; }; diff --git a/WebKit/win/WebFrame.cpp b/WebKit/win/WebFrame.cpp index 60be4d5..e91a9e2 100644 --- a/WebKit/win/WebFrame.cpp +++ b/WebKit/win/WebFrame.cpp @@ -1134,12 +1134,14 @@ HRESULT WebFrame::elementWithName(BSTR name, IDOMElement* form, IDOMElement** el if (!form) return E_INVALIDARG; - HTMLFormElement *formElement = formElementFromDOMElement(form); + HTMLFormElement* formElement = formElementFromDOMElement(form); if (formElement) { - const Vector<HTMLFormControlElement*>& elements = formElement->associatedElements(); + const Vector<FormAssociatedElement*>& elements = formElement->associatedElements(); AtomicString targetName((UChar*)name, SysStringLen(name)); for (unsigned int i = 0; i < elements.size(); i++) { - HTMLFormControlElement *elt = elements[i]; + if (!elements[i]->isFormControlElement()) + continue; + HTMLFormControlElement* elt = static_cast<HTMLFormControlElement*>(elements[i]); // Skip option elements, other duds if (elt->name() == targetName) { *element = DOMElement::createInstance(elt); @@ -1349,7 +1351,7 @@ HRESULT WebFrame::controlsInForm(IDOMElement* form, IDOMElement** controls, int* if (!form) return E_INVALIDARG; - HTMLFormElement *formElement = formElementFromDOMElement(form); + HTMLFormElement* formElement = formElementFromDOMElement(form); if (!formElement) return E_FAIL; @@ -1362,10 +1364,10 @@ HRESULT WebFrame::controlsInForm(IDOMElement* form, IDOMElement** controls, int* return E_FAIL; *cControls = 0; - const Vector<HTMLFormControlElement*>& elements = formElement->associatedElements(); + const Vector<FormAssociatedElement*>& elements = formElement->associatedElements(); for (int i = 0; i < count; i++) { if (elements.at(i)->isEnumeratable()) { // Skip option elements, other duds - controls[*cControls] = DOMElement::createInstance(elements.at(i)); + controls[*cControls] = DOMElement::createInstance(toHTMLElement(elements.at(i))); (*cControls)++; } } diff --git a/WebKit/win/WebKit.vcproj/Interfaces.vcproj b/WebKit/win/WebKit.vcproj/Interfaces.vcproj index 00a7250..2da87bf 100644 --- a/WebKit/win/WebKit.vcproj/Interfaces.vcproj +++ b/WebKit/win/WebKit.vcproj/Interfaces.vcproj @@ -1,4683 +1,4682 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="Interfaces"
- ProjectGUID="{91762BE2-87EF-4F5A-A480-48B90EB3F406}"
- RootNamespace="Interfaces"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\InterfacesCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\InterfacesCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_LTCG|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\InterfacesCommon.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\InterfacesCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\InterfacesCommon.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\InterfacesCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="..\Interfaces\AccessibleComparable.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMCore.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMCSS.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMEvents.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMExtensions.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMHTML.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMRange.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMWindow.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IGEN_DOMObject.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebArchive.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebBackForwardList.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebBackForwardListPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebCache.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebCookieManager.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebCoreStatistics.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebDatabaseManager.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebDataSource.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebDesktopNotificationsDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebDocument.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebDownload.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebEditingDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebEmbeddedView.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebError.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebErrorPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFormDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFrame.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFrameLoadDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFrameLoadDelegatePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFrameLoadDelegatePrivate2.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFramePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFrameView.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebGeolocationPolicyListener.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebGeolocationPosition.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebGeolocationProvider.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHistory.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHistoryDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHistoryItem.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHistoryItemPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHistoryPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHTMLRepresentation.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHTTPURLResponse.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebIconDatabase.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebInspector.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebInspectorPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebJavaScriptCollector.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebKitStatistics.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebMutableURLRequest.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebMutableURLRequestPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebNavigationData.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebNotification.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebNotificationCenter.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebNotificationObserver.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebPluginHalterDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebPolicyDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebPolicyDelegatePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebPreferences.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebPreferencesPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebResource.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebResourceLoadDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebResourceLoadDelegatePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebScriptObject.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebScriptWorld.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebScrollBarDelegatePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebScrollBarPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebSecurityOrigin.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebSerializedJSValue.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebSerializedJSValuePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebTextRenderer.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebUIDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebUIDelegatePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebUndoManager.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebUndoTarget.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebURLAuthenticationChallenge.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebURLRequest.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebURLResponse.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebURLResponsePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebUserContentURLPattern.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebView.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebViewPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebWorkersPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\JavaScriptCoreAPITypes.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\WebKit.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCMIDLTool"
- GenerateTypeLibrary="true"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCMIDLTool"
- GenerateTypeLibrary="true"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- >
- <Tool
- Name="VCMIDLTool"
- GenerateTypeLibrary="true"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCMIDLTool"
- GenerateTypeLibrary="true"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCMIDLTool"
- GenerateTypeLibrary="true"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCMIDLTool"
- GenerateTypeLibrary="true"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\WebScrollbarTypes.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8.00" + Name="Interfaces" + ProjectGUID="{91762BE2-87EF-4F5A-A480-48B90EB3F406}" + RootNamespace="Interfaces" + Keyword="Win32Proj" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + ConfigurationType="4" + InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\InterfacesCommon.vsprops" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + ConfigurationType="4" + InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\InterfacesCommon.vsprops" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release_LTCG|Win32" + ConfigurationType="4" + InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\InterfacesCommon.vsprops" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug_All|Win32" + ConfigurationType="4" + InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\InterfacesCommon.vsprops" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release_Cairo_CFLite|Win32" + ConfigurationType="4" + InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\InterfacesCommon.vsprops" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug_Cairo_CFLite|Win32" + ConfigurationType="4" + InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\InterfacesCommon.vsprops" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <File + RelativePath="..\Interfaces\AccessibleComparable.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\DOMCore.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\DOMCSS.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\DOMEvents.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\DOMExtensions.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\DOMHTML.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\DOMPrivate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\DOMRange.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\DOMWindow.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IGEN_DOMObject.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebArchive.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebBackForwardList.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebBackForwardListPrivate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebCache.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebCookieManager.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebCoreStatistics.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebDatabaseManager.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebDataSource.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebDesktopNotificationsDelegate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebDocument.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebDownload.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebEditingDelegate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebEmbeddedView.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebError.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebErrorPrivate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebFormDelegate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebFrame.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebFrameLoadDelegate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebFrameLoadDelegatePrivate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebFrameLoadDelegatePrivate2.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebFramePrivate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebFrameView.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebGeolocationPolicyListener.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebGeolocationPosition.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebGeolocationProvider.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebHistory.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebHistoryDelegate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebHistoryItem.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebHistoryItemPrivate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebHistoryPrivate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebHTMLRepresentation.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebHTTPURLResponse.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebIconDatabase.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebInspector.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebInspectorPrivate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebJavaScriptCollector.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebKitStatistics.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebMutableURLRequest.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebMutableURLRequestPrivate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebNavigationData.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebNotification.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebNotificationCenter.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebNotificationObserver.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebPluginHalterDelegate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebPolicyDelegate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebPolicyDelegatePrivate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebPreferences.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebPreferencesPrivate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebResource.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebResourceLoadDelegate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebResourceLoadDelegatePrivate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebScriptObject.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebScriptWorld.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebScrollBarDelegatePrivate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebScrollBarPrivate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebSecurityOrigin.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebSerializedJSValue.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebSerializedJSValuePrivate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebTextRenderer.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebUIDelegate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebUIDelegatePrivate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebUndoManager.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebUndoTarget.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebURLAuthenticationChallenge.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebURLRequest.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebURLResponse.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebURLResponsePrivate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebUserContentURLPattern.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebView.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebViewPrivate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\IWebWorkersPrivate.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\JavaScriptCoreAPITypes.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\WebKit.idl" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCMIDLTool" + GenerateTypeLibrary="true" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCMIDLTool" + GenerateTypeLibrary="true" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + > + <Tool + Name="VCMIDLTool" + GenerateTypeLibrary="true" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + > + <Tool + Name="VCMIDLTool" + GenerateTypeLibrary="true" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + > + <Tool + Name="VCMIDLTool" + GenerateTypeLibrary="true" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + > + <Tool + Name="VCMIDLTool" + GenerateTypeLibrary="true" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\Interfaces\WebScrollbarTypes.idl" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCMIDLTool" + /> + </FileConfiguration> + </File> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/WebKit/win/WebKit.vcproj/InterfacesCommon.vsprops b/WebKit/win/WebKit.vcproj/InterfacesCommon.vsprops index 3fccc84..f4385ea 100644 --- a/WebKit/win/WebKit.vcproj/InterfacesCommon.vsprops +++ b/WebKit/win/WebKit.vcproj/InterfacesCommon.vsprops @@ -1,22 +1,14 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="InterfacesCommon"
- OutputDirectory="$(WebKitOutputDir)\include\WebKit"
- >
- <Tool
- Name="VCMIDLTool"
- AdditionalIncludeDirectories=""$(WebKitOutputDir)\obj\WebKit\DerivedSources";..\Interfaces;"$(IntDir)\include""
- TypeLibraryName="$(WebKitOutputDir)\lib\WebKit.tlb"
- OutputDirectory="$(WebKitOutputDir)\obj\WebKit\$(ProjectName)"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="%SystemDrive%\cygwin\bin\which.exe bash
if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%
cmd /c

perl FixMIDLHeaders.pl "$(WebkitOutputDir)/include/webkit/"

if exist "$(WebKitOutputDir)\buildfailed" del "$(WebKitOutputDir)\buildfailed"
"
- />
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="%SystemDrive%\cygwin\bin\which.exe bash
if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%
cmd /c
if exist "$(WebKitOutputDir)\buildfailed" grep XX$(ProjectName)XX "$(WebKitOutputDir)\buildfailed"
if errorlevel 1 exit 1
echo XX$(ProjectName)XX > "$(WebKitOutputDir)\buildfailed"

mkdir 2>NUL "$(WebKitOutputDir)\obj\WebKit\$(ProjectName)"
bash "$(WebKitLibrariesDir)\tools\scripts\auto-version.sh" "$(IntDir)"
"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="InterfacesCommon" + OutputDirectory="$(WebKitOutputDir)\include\WebKit" + > + <Tool + Name="VCMIDLTool" + AdditionalIncludeDirectories=""$(WebKitOutputDir)\obj\WebKit\DerivedSources";..\Interfaces;"$(IntDir)\include"" + TypeLibraryName="$(WebKitOutputDir)\lib\WebKit.tlb" + OutputDirectory="$(WebKitOutputDir)\obj\WebKit\$(ProjectName)" + /> +</VisualStudioPropertySheet> diff --git a/WebKit/win/WebKit.vcproj/InterfacesPostBuild.cmd b/WebKit/win/WebKit.vcproj/InterfacesPostBuild.cmd new file mode 100644 index 0000000..efe6904 --- /dev/null +++ b/WebKit/win/WebKit.vcproj/InterfacesPostBuild.cmd @@ -0,0 +1,7 @@ +%SystemDrive%\cygwin\bin\which.exe bash +if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH% +cmd /c + +perl FixMIDLHeaders.pl "%WEBKITOUTPUTDIR%/include/webkit/" + +if exist "%WEBKITOUTPUTDIR%\buildfailed" del "%WEBKITOUTPUTDIR%\buildfailed" diff --git a/WebKit/win/WebKit.vcproj/InterfacesPreBuild.cmd b/WebKit/win/WebKit.vcproj/InterfacesPreBuild.cmd new file mode 100644 index 0000000..f720a20 --- /dev/null +++ b/WebKit/win/WebKit.vcproj/InterfacesPreBuild.cmd @@ -0,0 +1,9 @@ +%SystemDrive%\cygwin\bin\which.exe bash +if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH% +cmd /c +if exist "%WEBKITOUTPUTDIR%\buildfailed" grep XX%PROJECTNAME%XX "%WEBKITOUTPUTDIR%\buildfailed" +if errorlevel 1 exit 1 +echo XX%PROJECTNAME%XX > "%WEBKITOUTPUTDIR%\buildfailed" + +mkdir 2>NUL "%WEBKITOUTPUTDIR%\obj\WebKit\%PROJECTNAME%" +bash "%WEBKITLIBRARIESDIR%\tools\scripts\auto-version.sh" "%INTDIR%" diff --git a/WebKit/win/WebKit.vcproj/WebKit.make b/WebKit/win/WebKit.vcproj/WebKit.make index 0d5fbc5..77273c5 100755 --- a/WebKit/win/WebKit.vcproj/WebKit.make +++ b/WebKit/win/WebKit.vcproj/WebKit.make @@ -7,7 +7,7 @@ BUILDSTYLE=Release_LTCG install: set WebKitLibrariesDir=$(SRCROOT)\AppleInternal set WebKitOutputDir=$(OBJROOT) - set WebKitVSPropsRedirectionDir=$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\ + set WebKitVSPropsRedirectionDir=$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\ set PRODUCTION=1 devenv "WebKit.submit.sln" /rebuild $(BUILDSTYLE) -xcopy "$(OBJROOT)\bin\*.exe" "$(DSTROOT)\AppleInternal\bin\" /e/v/i/h/y diff --git a/WebKit/win/WebKit.vcproj/WebKit.sln b/WebKit/win/WebKit.vcproj/WebKit.sln index f2f8f2f..c5a57eb 100644 --- a/WebKit/win/WebKit.vcproj/WebKit.sln +++ b/WebKit/win/WebKit.vcproj/WebKit.sln @@ -1,415 +1,415 @@ -
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCore", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\JavaScriptCore\JavaScriptCore.vcproj", "{011D10F1-B656-4A1B-A0C3-3842F02122C5}"
- ProjectSection(ProjectDependencies) = postProject
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {AA8A5A85-592B-4357-BC60-E0E91E026AF6}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCore", "..\..\..\WebCore\WebCore.vcproj\WebCore.vcproj", "{1C16337B-ACF3-4D03-AA90-851C5B5EADA6}"
- ProjectSection(ProjectDependencies) = postProject
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {E498CA9D-3BD2-4D52-8E37-C8DC76526325}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTF", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\WTF\WTF.vcproj", "{AA8A5A85-592B-4357-BC60-E0E91E026AF6}"
- ProjectSection(ProjectDependencies) = postProject
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsc", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\jsc\jsc.vcproj", "{C59E5129-B453-49B7-A52B-1E104715F76E}"
- ProjectSection(ProjectDependencies) = postProject
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2} = {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "JavaScriptCore Folder", "JavaScriptCore Folder", "{557FA164-0E39-4DEC-B66C-8795C8E52399}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCoreGenerated", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\JavaScriptCore\JavaScriptCoreGenerated.vcproj", "{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebCore Folder", "WebCore Folder", "{63FB6F8A-C601-43E3-BD16-A00A465C2CB6}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCoreGenerated", "..\..\..\WebCore\WebCore.vcproj\WebCoreGenerated.vcproj", "{0A324352-B3B6-496C-9E5B-4C7E923E628B}"
- ProjectSection(ProjectDependencies) = postProject
- {011D10F1-B656-4A1B-A0C3-3842F02122C5} = {011D10F1-B656-4A1B-A0C3-3842F02122C5}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QTMovieWin", "..\..\..\WebCore\WebCore.vcproj\QTMovieWin.vcproj", "{E498CA9D-3BD2-4D52-8E37-C8DC76526325}"
- ProjectSection(ProjectDependencies) = postProject
- {0A324352-B3B6-496C-9E5B-4C7E923E628B} = {0A324352-B3B6-496C-9E5B-4C7E923E628B}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testapi", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\testapi\testapi.vcproj", "{1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}"
- ProjectSection(ProjectDependencies) = postProject
- {DA31DA52-6675-48D4-89E0-333A7144397C} = {DA31DA52-6675-48D4-89E0-333A7144397C}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit", "..\..\..\WebKit2\win\WebKit2.vcproj", "{2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}"
- ProjectSection(ProjectDependencies) = postProject
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB} = {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebKit2 Folder", "WebKit2 Folder", "{9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit2Generated", "..\..\..\WebKit2\win\WebKit2Generated.vcproj", "{2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}"
- ProjectSection(ProjectDependencies) = postProject
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9} = {0662A8A9-82A3-4638-97D8-EC425D8D87C9}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit2WebProcess", "..\..\..\WebKit2\win\WebKit2WebProcess.vcproj", "{AAE88FEF-509E-4D49-870B-7357922C276F}"
- ProjectSection(ProjectDependencies) = postProject
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD} = {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebKitCOM Folder", "WebKitCOM Folder", "{1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Interfaces", "Interfaces.vcproj", "{91762BE2-87EF-4F5A-A480-48B90EB3F406}"
- ProjectSection(ProjectDependencies) = postProject
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLib", "WebKit.vcproj", "{0662A8A9-82A3-4638-97D8-EC425D8D87C9}"
- ProjectSection(ProjectDependencies) = postProject
- {B8437A41-67BC-4769-9452-45203827F821} = {B8437A41-67BC-4769-9452-45203827F821}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitGUID", "WebKitGUID.vcproj", "{B8437A41-67BC-4769-9452-45203827F821}"
- ProjectSection(ProjectDependencies) = postProject
- {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {91762BE2-87EF-4F5A-A480-48B90EB3F406}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebKitTools", "WebKitTools", "{62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DumpRenderTree", "..\..\..\WebKitTools\DumpRenderTree\win\DumpRenderTree.vcproj", "{6567DFD4-D6DE-4CD5-825D-17E353D160E1}"
- ProjectSection(ProjectDependencies) = postProject
- {59CC0547-70AC-499C-9B19-EC01C6F61137} = {59CC0547-70AC-499C-9B19-EC01C6F61137}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImageDiff", "..\..\..\WebKitTools\DumpRenderTree\win\ImageDiff.vcproj", "{59CC0547-70AC-499C-9B19-EC01C6F61137}"
- ProjectSection(ProjectDependencies) = postProject
- {C0737398-3565-439E-A2B8-AB2BE4D5430C} = {C0737398-3565-439E-A2B8-AB2BE4D5430C}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FindSafari", "..\..\..\WebKitTools\FindSafari\FindSafari.vcproj", "{DA31DA52-6675-48D4-89E0-333A7144397C}"
- ProjectSection(ProjectDependencies) = postProject
- {AAE88FEF-509E-4D49-870B-7357922C276F} = {AAE88FEF-509E-4D49-870B-7357922C276F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "record-memory-win", "..\..\..\WebKitTools\record-memory-win\record-memory-win.vcproj", "{44B9C152-1870-4035-B94D-7B3285AA0C12}"
- ProjectSection(ProjectDependencies) = postProject
- {D09806DB-E58B-4646-8C9B-61101906C1E2} = {D09806DB-E58B-4646-8C9B-61101906C1E2}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestNetscapePlugin", "..\..\..\WebKitTools\DumpRenderTree\TestNetscapePlugIn\win\TestNetscapePlugin.vcproj", "{C0737398-3565-439E-A2B8-AB2BE4D5430C}"
- ProjectSection(ProjectDependencies) = postProject
- {114FCA11-216B-4C8C-957E-30A75AE80443} = {114FCA11-216B-4C8C-957E-30A75AE80443}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitAPITest", "..\..\..\WebKitTools\WebKitAPITest\WebKitAPITest.vcproj", "{626089A3-25D3-4883-A96C-B8C66E036397}"
- ProjectSection(ProjectDependencies) = postProject
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1} = {6567DFD4-D6DE-4CD5-825D-17E353D160E1}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLauncherWin", "..\..\..\WebKitTools\WebKitLauncherWin\WebKitLauncherWin.vcproj", "{D09806DB-E58B-4646-8C9B-61101906C1E2}"
- ProjectSection(ProjectDependencies) = postProject
- {626089A3-25D3-4883-A96C-B8C66E036397} = {626089A3-25D3-4883-A96C-B8C66E036397}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinLauncher", "..\..\..\WebKitTools\WinLauncher\WinLauncher.vcproj", "{114FCA11-216B-4C8C-957E-30A75AE80443}"
- ProjectSection(ProjectDependencies) = postProject
- {C59E5129-B453-49B7-A52B-1E104715F76E} = {C59E5129-B453-49B7-A52B-1E104715F76E}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InjectedBundle", "..\..\..\WebKitTools\WebKitTestRunner\win\InjectedBundle.vcproj", "{CBC3391C-F060-4BF5-A66E-81404168816B}"
- ProjectSection(ProjectDependencies) = postProject
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD} = {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InjectedBundleGenerated", "..\..\..\WebKitTools\WebKitTestRunner\win\InjectedBundleGenerated.vcproj", "{4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}"
- ProjectSection(ProjectDependencies) = postProject
- {44B9C152-1870-4035-B94D-7B3285AA0C12} = {44B9C152-1870-4035-B94D-7B3285AA0C12}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitTestRunner", "..\..\..\WebKitTools\WebKitTestRunner\win\WebKitTestRunner.vcproj", "{3B99669B-1817-443B-BCBE-835580146668}"
- ProjectSection(ProjectDependencies) = postProject
- {CBC3391C-F060-4BF5-A66E-81404168816B} = {CBC3391C-F060-4BF5-A66E-81404168816B}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MiniBrowser", "..\..\..\WebKitTools\MiniBrowser\MiniBrowser.vcproj", "{1480CF5F-4160-47B5-A0E6-96AEC8258FB5}"
- ProjectSection(ProjectDependencies) = postProject
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28} = {3E48AB23-D249-488F-A1C4-43CDF52FBD28}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWebKitAPI", "..\..\..\WebKitTools\TestWebKitAPI\win\TestWebKitAPI.vcproj", "{3E48AB23-D249-488F-A1C4-43CDF52FBD28}"
- ProjectSection(ProjectDependencies) = postProject
- {45C45411-7F0E-404D-919A-4EE9BB60BE86} = {45C45411-7F0E-404D-919A-4EE9BB60BE86}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWebKitAPIGenerated", "..\..\..\WebKitTools\TestWebKitAPI\win\TestWebKitAPIGenerated.vcproj", "{45C45411-7F0E-404D-919A-4EE9BB60BE86}"
- ProjectSection(ProjectDependencies) = postProject
- {3B99669B-1817-443B-BCBE-835580146668} = {3B99669B-1817-443B-BCBE-835580146668}
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug_Cairo_CFLite|Win32 = Debug_Cairo_CFLite|Win32
- Debug|Win32 = Debug|Win32
- Release_Cairo_CFLite|Win32 = Release_Cairo_CFLite|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.ActiveCfg = Debug|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.Build.0 = Debug|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.ActiveCfg = Release|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.Build.0 = Release|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.ActiveCfg = Debug|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.Build.0 = Debug|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.ActiveCfg = Release|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.Build.0 = Release|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.ActiveCfg = Debug|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.Build.0 = Debug|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.ActiveCfg = Release|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.Build.0 = Release|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.ActiveCfg = Debug|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.Build.0 = Debug|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.ActiveCfg = Release|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.Build.0 = Release|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.ActiveCfg = Debug|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.Build.0 = Debug|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.ActiveCfg = Release|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.Build.0 = Release|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.ActiveCfg = Debug|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.Build.0 = Debug|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.ActiveCfg = Release|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.Build.0 = Release|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.ActiveCfg = Debug|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.Build.0 = Debug|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.ActiveCfg = Release|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.Build.0 = Release|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug|Win32.ActiveCfg = Debug|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug|Win32.Build.0 = Debug|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release|Win32.ActiveCfg = Release|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release|Win32.Build.0 = Release|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug|Win32.ActiveCfg = Debug|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug|Win32.Build.0 = Debug|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release|Win32.ActiveCfg = Release|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release|Win32.Build.0 = Release|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug|Win32.ActiveCfg = Debug|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug|Win32.Build.0 = Debug|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release|Win32.ActiveCfg = Release|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release|Win32.Build.0 = Release|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug|Win32.ActiveCfg = Debug|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug|Win32.Build.0 = Debug|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Release|Win32.ActiveCfg = Release|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Release|Win32.Build.0 = Release|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.ActiveCfg = Debug|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.Build.0 = Debug|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.ActiveCfg = Release|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.Build.0 = Release|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.ActiveCfg = Debug|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.Build.0 = Debug|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.ActiveCfg = Release|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.Build.0 = Release|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.ActiveCfg = Debug|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.Build.0 = Debug|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.ActiveCfg = Release|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.Build.0 = Release|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug|Win32.ActiveCfg = Debug|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug|Win32.Build.0 = Debug|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release|Win32.ActiveCfg = Release|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release|Win32.Build.0 = Release|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug|Win32.ActiveCfg = Debug|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug|Win32.Build.0 = Debug|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|Win32.ActiveCfg = Release|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|Win32.Build.0 = Release|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug|Win32.ActiveCfg = Debug|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug|Win32.Build.0 = Debug|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Release|Win32.ActiveCfg = Release|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Release|Win32.Build.0 = Release|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug|Win32.ActiveCfg = Debug|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug|Win32.Build.0 = Debug|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release|Win32.ActiveCfg = Release|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release|Win32.Build.0 = Release|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug|Win32.ActiveCfg = Debug|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug|Win32.Build.0 = Debug|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|Win32.ActiveCfg = Release|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|Win32.Build.0 = Release|Win32
- {626089A3-25D3-4883-A96C-B8C66E036397}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {626089A3-25D3-4883-A96C-B8C66E036397}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {626089A3-25D3-4883-A96C-B8C66E036397}.Debug|Win32.ActiveCfg = Debug|Win32
- {626089A3-25D3-4883-A96C-B8C66E036397}.Debug|Win32.Build.0 = Debug|Win32
- {626089A3-25D3-4883-A96C-B8C66E036397}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {626089A3-25D3-4883-A96C-B8C66E036397}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {626089A3-25D3-4883-A96C-B8C66E036397}.Release|Win32.ActiveCfg = Release|Win32
- {626089A3-25D3-4883-A96C-B8C66E036397}.Release|Win32.Build.0 = Release|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug|Win32.ActiveCfg = Debug|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug|Win32.Build.0 = Debug|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release|Win32.ActiveCfg = Release|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release|Win32.Build.0 = Release|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug|Win32.ActiveCfg = Debug|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug|Win32.Build.0 = Debug|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release|Win32.ActiveCfg = Release|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release|Win32.Build.0 = Release|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug|Win32.ActiveCfg = Debug|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug|Win32.Build.0 = Debug|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Release|Win32.ActiveCfg = Release|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Release|Win32.Build.0 = Release|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug|Win32.ActiveCfg = Debug|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug|Win32.Build.0 = Debug|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release|Win32.ActiveCfg = Release|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release|Win32.Build.0 = Release|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Debug|Win32.ActiveCfg = Debug|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Debug|Win32.Build.0 = Debug|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Release|Win32.ActiveCfg = Release|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Release|Win32.Build.0 = Release|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug|Win32.ActiveCfg = Debug|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug|Win32.Build.0 = Debug|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release|Win32.ActiveCfg = Release|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release|Win32.Build.0 = Release|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug|Win32.ActiveCfg = Debug|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug|Win32.Build.0 = Debug|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release|Win32.ActiveCfg = Release|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release|Win32.Build.0 = Release|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug|Win32.ActiveCfg = Debug|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug|Win32.Build.0 = Debug|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release|Win32.ActiveCfg = Release|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
- {C59E5129-B453-49B7-A52B-1E104715F76E} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
- {011D10F1-B656-4A1B-A0C3-3842F02122C5} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
- {0A324352-B3B6-496C-9E5B-4C7E923E628B} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
- {AAE88FEF-509E-4D49-870B-7357922C276F} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
- {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}
- {B8437A41-67BC-4769-9452-45203827F821} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {59CC0547-70AC-499C-9B19-EC01C6F61137} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {DA31DA52-6675-48D4-89E0-333A7144397C} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {44B9C152-1870-4035-B94D-7B3285AA0C12} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {C0737398-3565-439E-A2B8-AB2BE4D5430C} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {626089A3-25D3-4883-A96C-B8C66E036397} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {D09806DB-E58B-4646-8C9B-61101906C1E2} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {114FCA11-216B-4C8C-957E-30A75AE80443} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {CBC3391C-F060-4BF5-A66E-81404168816B} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {3B99669B-1817-443B-BCBE-835580146668} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {45C45411-7F0E-404D-919A-4EE9BB60BE86} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- EndGlobalSection
-EndGlobal
+ +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCore", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\JavaScriptCore\JavaScriptCore.vcproj", "{011D10F1-B656-4A1B-A0C3-3842F02122C5}" + ProjectSection(ProjectDependencies) = postProject + {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {AA8A5A85-592B-4357-BC60-E0E91E026AF6} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCore", "..\..\..\WebCore\WebCore.vcproj\WebCore.vcproj", "{1C16337B-ACF3-4D03-AA90-851C5B5EADA6}" + ProjectSection(ProjectDependencies) = postProject + {E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {E498CA9D-3BD2-4D52-8E37-C8DC76526325} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTF", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\WTF\WTF.vcproj", "{AA8A5A85-592B-4357-BC60-E0E91E026AF6}" + ProjectSection(ProjectDependencies) = postProject + {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsc", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\jsc\jsc.vcproj", "{C59E5129-B453-49B7-A52B-1E104715F76E}" + ProjectSection(ProjectDependencies) = postProject + {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2} = {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "JavaScriptCore Folder", "JavaScriptCore Folder", "{557FA164-0E39-4DEC-B66C-8795C8E52399}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCoreGenerated", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\JavaScriptCore\JavaScriptCoreGenerated.vcproj", "{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebCore Folder", "WebCore Folder", "{63FB6F8A-C601-43E3-BD16-A00A465C2CB6}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCoreGenerated", "..\..\..\WebCore\WebCore.vcproj\WebCoreGenerated.vcproj", "{0A324352-B3B6-496C-9E5B-4C7E923E628B}" + ProjectSection(ProjectDependencies) = postProject + {011D10F1-B656-4A1B-A0C3-3842F02122C5} = {011D10F1-B656-4A1B-A0C3-3842F02122C5} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QTMovieWin", "..\..\..\WebCore\WebCore.vcproj\QTMovieWin.vcproj", "{E498CA9D-3BD2-4D52-8E37-C8DC76526325}" + ProjectSection(ProjectDependencies) = postProject + {0A324352-B3B6-496C-9E5B-4C7E923E628B} = {0A324352-B3B6-496C-9E5B-4C7E923E628B} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testapi", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\testapi\testapi.vcproj", "{1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}" + ProjectSection(ProjectDependencies) = postProject + {DA31DA52-6675-48D4-89E0-333A7144397C} = {DA31DA52-6675-48D4-89E0-333A7144397C} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit", "..\..\..\WebKit2\win\WebKit2.vcproj", "{2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}" + ProjectSection(ProjectDependencies) = postProject + {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB} = {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebKit2 Folder", "WebKit2 Folder", "{9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit2Generated", "..\..\..\WebKit2\win\WebKit2Generated.vcproj", "{2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}" + ProjectSection(ProjectDependencies) = postProject + {0662A8A9-82A3-4638-97D8-EC425D8D87C9} = {0662A8A9-82A3-4638-97D8-EC425D8D87C9} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit2WebProcess", "..\..\..\WebKit2\win\WebKit2WebProcess.vcproj", "{AAE88FEF-509E-4D49-870B-7357922C276F}" + ProjectSection(ProjectDependencies) = postProject + {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD} = {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebKitCOM Folder", "WebKitCOM Folder", "{1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Interfaces", "Interfaces.vcproj", "{91762BE2-87EF-4F5A-A480-48B90EB3F406}" + ProjectSection(ProjectDependencies) = postProject + {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLib", "WebKit.vcproj", "{0662A8A9-82A3-4638-97D8-EC425D8D87C9}" + ProjectSection(ProjectDependencies) = postProject + {B8437A41-67BC-4769-9452-45203827F821} = {B8437A41-67BC-4769-9452-45203827F821} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitGUID", "WebKitGUID.vcproj", "{B8437A41-67BC-4769-9452-45203827F821}" + ProjectSection(ProjectDependencies) = postProject + {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {91762BE2-87EF-4F5A-A480-48B90EB3F406} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DumpRenderTree", "..\..\..\Tools\DumpRenderTree\win\DumpRenderTree.vcproj", "{6567DFD4-D6DE-4CD5-825D-17E353D160E1}" + ProjectSection(ProjectDependencies) = postProject + {59CC0547-70AC-499C-9B19-EC01C6F61137} = {59CC0547-70AC-499C-9B19-EC01C6F61137} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImageDiff", "..\..\..\Tools\DumpRenderTree\win\ImageDiff.vcproj", "{59CC0547-70AC-499C-9B19-EC01C6F61137}" + ProjectSection(ProjectDependencies) = postProject + {C0737398-3565-439E-A2B8-AB2BE4D5430C} = {C0737398-3565-439E-A2B8-AB2BE4D5430C} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FindSafari", "..\..\..\Tools\FindSafari\FindSafari.vcproj", "{DA31DA52-6675-48D4-89E0-333A7144397C}" + ProjectSection(ProjectDependencies) = postProject + {AAE88FEF-509E-4D49-870B-7357922C276F} = {AAE88FEF-509E-4D49-870B-7357922C276F} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "record-memory-win", "..\..\..\Tools\record-memory-win\record-memory-win.vcproj", "{44B9C152-1870-4035-B94D-7B3285AA0C12}" + ProjectSection(ProjectDependencies) = postProject + {D09806DB-E58B-4646-8C9B-61101906C1E2} = {D09806DB-E58B-4646-8C9B-61101906C1E2} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestNetscapePlugin", "..\..\..\Tools\DumpRenderTree\TestNetscapePlugIn\win\TestNetscapePlugin.vcproj", "{C0737398-3565-439E-A2B8-AB2BE4D5430C}" + ProjectSection(ProjectDependencies) = postProject + {114FCA11-216B-4C8C-957E-30A75AE80443} = {114FCA11-216B-4C8C-957E-30A75AE80443} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitAPITest", "..\..\..\Tools\WebKitAPITest\WebKitAPITest.vcproj", "{626089A3-25D3-4883-A96C-B8C66E036397}" + ProjectSection(ProjectDependencies) = postProject + {6567DFD4-D6DE-4CD5-825D-17E353D160E1} = {6567DFD4-D6DE-4CD5-825D-17E353D160E1} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLauncherWin", "..\..\..\Tools\WebKitLauncherWin\WebKitLauncherWin.vcproj", "{D09806DB-E58B-4646-8C9B-61101906C1E2}" + ProjectSection(ProjectDependencies) = postProject + {626089A3-25D3-4883-A96C-B8C66E036397} = {626089A3-25D3-4883-A96C-B8C66E036397} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinLauncher", "..\..\..\Tools\WinLauncher\WinLauncher.vcproj", "{114FCA11-216B-4C8C-957E-30A75AE80443}" + ProjectSection(ProjectDependencies) = postProject + {C59E5129-B453-49B7-A52B-1E104715F76E} = {C59E5129-B453-49B7-A52B-1E104715F76E} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InjectedBundle", "..\..\..\Tools\WebKitTestRunner\win\InjectedBundle.vcproj", "{CBC3391C-F060-4BF5-A66E-81404168816B}" + ProjectSection(ProjectDependencies) = postProject + {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD} = {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InjectedBundleGenerated", "..\..\..\Tools\WebKitTestRunner\win\InjectedBundleGenerated.vcproj", "{4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}" + ProjectSection(ProjectDependencies) = postProject + {44B9C152-1870-4035-B94D-7B3285AA0C12} = {44B9C152-1870-4035-B94D-7B3285AA0C12} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitTestRunner", "..\..\..\Tools\WebKitTestRunner\win\WebKitTestRunner.vcproj", "{3B99669B-1817-443B-BCBE-835580146668}" + ProjectSection(ProjectDependencies) = postProject + {CBC3391C-F060-4BF5-A66E-81404168816B} = {CBC3391C-F060-4BF5-A66E-81404168816B} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MiniBrowser", "..\..\..\Tools\MiniBrowser\MiniBrowser.vcproj", "{1480CF5F-4160-47B5-A0E6-96AEC8258FB5}" + ProjectSection(ProjectDependencies) = postProject + {3E48AB23-D249-488F-A1C4-43CDF52FBD28} = {3E48AB23-D249-488F-A1C4-43CDF52FBD28} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWebKitAPI", "..\..\..\Tools\TestWebKitAPI\win\TestWebKitAPI.vcproj", "{3E48AB23-D249-488F-A1C4-43CDF52FBD28}" + ProjectSection(ProjectDependencies) = postProject + {45C45411-7F0E-404D-919A-4EE9BB60BE86} = {45C45411-7F0E-404D-919A-4EE9BB60BE86} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWebKitAPIGenerated", "..\..\..\Tools\TestWebKitAPI\win\TestWebKitAPIGenerated.vcproj", "{45C45411-7F0E-404D-919A-4EE9BB60BE86}" + ProjectSection(ProjectDependencies) = postProject + {3B99669B-1817-443B-BCBE-835580146668} = {3B99669B-1817-443B-BCBE-835580146668} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug_Cairo_CFLite|Win32 = Debug_Cairo_CFLite|Win32 + Debug|Win32 = Debug|Win32 + Release_Cairo_CFLite|Win32 = Release_Cairo_CFLite|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.ActiveCfg = Debug|Win32 + {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.Build.0 = Debug|Win32 + {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.ActiveCfg = Release|Win32 + {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.Build.0 = Release|Win32 + {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.ActiveCfg = Debug|Win32 + {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.Build.0 = Debug|Win32 + {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.ActiveCfg = Release|Win32 + {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.Build.0 = Release|Win32 + {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.ActiveCfg = Debug|Win32 + {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.Build.0 = Debug|Win32 + {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.ActiveCfg = Release|Win32 + {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.Build.0 = Release|Win32 + {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.ActiveCfg = Debug|Win32 + {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.Build.0 = Debug|Win32 + {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.ActiveCfg = Release|Win32 + {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.Build.0 = Release|Win32 + {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.ActiveCfg = Debug|Win32 + {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.Build.0 = Debug|Win32 + {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.ActiveCfg = Release|Win32 + {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.Build.0 = Release|Win32 + {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.ActiveCfg = Debug|Win32 + {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.Build.0 = Debug|Win32 + {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.ActiveCfg = Release|Win32 + {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.Build.0 = Release|Win32 + {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.ActiveCfg = Debug|Win32 + {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.Build.0 = Debug|Win32 + {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.ActiveCfg = Release|Win32 + {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.Build.0 = Release|Win32 + {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug|Win32.ActiveCfg = Debug|Win32 + {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug|Win32.Build.0 = Debug|Win32 + {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release|Win32.ActiveCfg = Release|Win32 + {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release|Win32.Build.0 = Release|Win32 + {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug|Win32.ActiveCfg = Debug|Win32 + {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug|Win32.Build.0 = Debug|Win32 + {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release|Win32.ActiveCfg = Release|Win32 + {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release|Win32.Build.0 = Release|Win32 + {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug|Win32.ActiveCfg = Debug|Win32 + {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug|Win32.Build.0 = Debug|Win32 + {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release|Win32.ActiveCfg = Release|Win32 + {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release|Win32.Build.0 = Release|Win32 + {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug|Win32.ActiveCfg = Debug|Win32 + {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug|Win32.Build.0 = Debug|Win32 + {AAE88FEF-509E-4D49-870B-7357922C276F}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {AAE88FEF-509E-4D49-870B-7357922C276F}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {AAE88FEF-509E-4D49-870B-7357922C276F}.Release|Win32.ActiveCfg = Release|Win32 + {AAE88FEF-509E-4D49-870B-7357922C276F}.Release|Win32.Build.0 = Release|Win32 + {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.ActiveCfg = Debug|Win32 + {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.Build.0 = Debug|Win32 + {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.ActiveCfg = Release|Win32 + {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.Build.0 = Release|Win32 + {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.ActiveCfg = Debug|Win32 + {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.Build.0 = Debug|Win32 + {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.ActiveCfg = Release|Win32 + {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.Build.0 = Release|Win32 + {B8437A41-67BC-4769-9452-45203827F821}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {B8437A41-67BC-4769-9452-45203827F821}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.ActiveCfg = Debug|Win32 + {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.Build.0 = Debug|Win32 + {B8437A41-67BC-4769-9452-45203827F821}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {B8437A41-67BC-4769-9452-45203827F821}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.ActiveCfg = Release|Win32 + {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.Build.0 = Release|Win32 + {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug|Win32.ActiveCfg = Debug|Win32 + {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug|Win32.Build.0 = Debug|Win32 + {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release|Win32.ActiveCfg = Release|Win32 + {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release|Win32.Build.0 = Release|Win32 + {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug|Win32.ActiveCfg = Debug|Win32 + {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug|Win32.Build.0 = Debug|Win32 + {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|Win32.ActiveCfg = Release|Win32 + {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|Win32.Build.0 = Release|Win32 + {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug|Win32.ActiveCfg = Debug|Win32 + {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug|Win32.Build.0 = Debug|Win32 + {DA31DA52-6675-48D4-89E0-333A7144397C}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {DA31DA52-6675-48D4-89E0-333A7144397C}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {DA31DA52-6675-48D4-89E0-333A7144397C}.Release|Win32.ActiveCfg = Release|Win32 + {DA31DA52-6675-48D4-89E0-333A7144397C}.Release|Win32.Build.0 = Release|Win32 + {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug|Win32.ActiveCfg = Debug|Win32 + {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug|Win32.Build.0 = Debug|Win32 + {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release|Win32.ActiveCfg = Release|Win32 + {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release|Win32.Build.0 = Release|Win32 + {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug|Win32.ActiveCfg = Debug|Win32 + {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug|Win32.Build.0 = Debug|Win32 + {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|Win32.ActiveCfg = Release|Win32 + {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|Win32.Build.0 = Release|Win32 + {626089A3-25D3-4883-A96C-B8C66E036397}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {626089A3-25D3-4883-A96C-B8C66E036397}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {626089A3-25D3-4883-A96C-B8C66E036397}.Debug|Win32.ActiveCfg = Debug|Win32 + {626089A3-25D3-4883-A96C-B8C66E036397}.Debug|Win32.Build.0 = Debug|Win32 + {626089A3-25D3-4883-A96C-B8C66E036397}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {626089A3-25D3-4883-A96C-B8C66E036397}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {626089A3-25D3-4883-A96C-B8C66E036397}.Release|Win32.ActiveCfg = Release|Win32 + {626089A3-25D3-4883-A96C-B8C66E036397}.Release|Win32.Build.0 = Release|Win32 + {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug|Win32.ActiveCfg = Debug|Win32 + {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug|Win32.Build.0 = Debug|Win32 + {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release|Win32.ActiveCfg = Release|Win32 + {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release|Win32.Build.0 = Release|Win32 + {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug|Win32.ActiveCfg = Debug|Win32 + {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug|Win32.Build.0 = Debug|Win32 + {114FCA11-216B-4C8C-957E-30A75AE80443}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {114FCA11-216B-4C8C-957E-30A75AE80443}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {114FCA11-216B-4C8C-957E-30A75AE80443}.Release|Win32.ActiveCfg = Release|Win32 + {114FCA11-216B-4C8C-957E-30A75AE80443}.Release|Win32.Build.0 = Release|Win32 + {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug|Win32.ActiveCfg = Debug|Win32 + {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug|Win32.Build.0 = Debug|Win32 + {CBC3391C-F060-4BF5-A66E-81404168816B}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {CBC3391C-F060-4BF5-A66E-81404168816B}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {CBC3391C-F060-4BF5-A66E-81404168816B}.Release|Win32.ActiveCfg = Release|Win32 + {CBC3391C-F060-4BF5-A66E-81404168816B}.Release|Win32.Build.0 = Release|Win32 + {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug|Win32.ActiveCfg = Debug|Win32 + {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug|Win32.Build.0 = Debug|Win32 + {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release|Win32.ActiveCfg = Release|Win32 + {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release|Win32.Build.0 = Release|Win32 + {3B99669B-1817-443B-BCBE-835580146668}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {3B99669B-1817-443B-BCBE-835580146668}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {3B99669B-1817-443B-BCBE-835580146668}.Debug|Win32.ActiveCfg = Debug|Win32 + {3B99669B-1817-443B-BCBE-835580146668}.Debug|Win32.Build.0 = Debug|Win32 + {3B99669B-1817-443B-BCBE-835580146668}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {3B99669B-1817-443B-BCBE-835580146668}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {3B99669B-1817-443B-BCBE-835580146668}.Release|Win32.ActiveCfg = Release|Win32 + {3B99669B-1817-443B-BCBE-835580146668}.Release|Win32.Build.0 = Release|Win32 + {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug|Win32.ActiveCfg = Debug|Win32 + {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug|Win32.Build.0 = Debug|Win32 + {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release|Win32.ActiveCfg = Release|Win32 + {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release|Win32.Build.0 = Release|Win32 + {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug|Win32.ActiveCfg = Debug|Win32 + {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug|Win32.Build.0 = Debug|Win32 + {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release|Win32.ActiveCfg = Release|Win32 + {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release|Win32.Build.0 = Release|Win32 + {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32 + {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32 + {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug|Win32.ActiveCfg = Debug|Win32 + {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug|Win32.Build.0 = Debug|Win32 + {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32 + {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32 + {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release|Win32.ActiveCfg = Release|Win32 + {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {557FA164-0E39-4DEC-B66C-8795C8E52399} + {C59E5129-B453-49B7-A52B-1E104715F76E} = {557FA164-0E39-4DEC-B66C-8795C8E52399} + {011D10F1-B656-4A1B-A0C3-3842F02122C5} = {557FA164-0E39-4DEC-B66C-8795C8E52399} + {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {557FA164-0E39-4DEC-B66C-8795C8E52399} + {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2} = {557FA164-0E39-4DEC-B66C-8795C8E52399} + {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6} + {0A324352-B3B6-496C-9E5B-4C7E923E628B} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6} + {E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6} + {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182} + {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182} + {AAE88FEF-509E-4D49-870B-7357922C276F} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182} + {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA} + {0662A8A9-82A3-4638-97D8-EC425D8D87C9} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA} + {B8437A41-67BC-4769-9452-45203827F821} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA} + {6567DFD4-D6DE-4CD5-825D-17E353D160E1} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459} + {59CC0547-70AC-499C-9B19-EC01C6F61137} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459} + {DA31DA52-6675-48D4-89E0-333A7144397C} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459} + {44B9C152-1870-4035-B94D-7B3285AA0C12} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459} + {C0737398-3565-439E-A2B8-AB2BE4D5430C} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459} + {626089A3-25D3-4883-A96C-B8C66E036397} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459} + {D09806DB-E58B-4646-8C9B-61101906C1E2} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459} + {114FCA11-216B-4C8C-957E-30A75AE80443} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459} + {CBC3391C-F060-4BF5-A66E-81404168816B} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459} + {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459} + {3B99669B-1817-443B-BCBE-835580146668} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459} + {1480CF5F-4160-47B5-A0E6-96AEC8258FB5} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459} + {3E48AB23-D249-488F-A1C4-43CDF52FBD28} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459} + {45C45411-7F0E-404D-919A-4EE9BB60BE86} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459} + EndGlobalSection +EndGlobal diff --git a/WebKit/win/WebKit.vcproj/WebKit.submit.sln b/WebKit/win/WebKit.vcproj/WebKit.submit.sln index d4c1f4d..c4830fc 100644 --- a/WebKit/win/WebKit.vcproj/WebKit.submit.sln +++ b/WebKit/win/WebKit.vcproj/WebKit.submit.sln @@ -1,53 +1,53 @@ -
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLib", "WebKit.vcproj", "{0662A8A9-82A3-4638-97D8-EC425D8D87C9}"
- ProjectSection(ProjectDependencies) = postProject
- {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {91762BE2-87EF-4F5A-A480-48B90EB3F406}
- {B8437A41-67BC-4769-9452-45203827F821} = {B8437A41-67BC-4769-9452-45203827F821}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitGUID", "WebKitGUID.vcproj", "{B8437A41-67BC-4769-9452-45203827F821}"
- ProjectSection(ProjectDependencies) = postProject
- {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {91762BE2-87EF-4F5A-A480-48B90EB3F406}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Interfaces", "Interfaces.vcproj", "{91762BE2-87EF-4F5A-A480-48B90EB3F406}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug_All|Win32 = Debug_All|Win32
- Debug|Win32 = Debug|Win32
- Release_LTCG|Win32 = Release_LTCG|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.ActiveCfg = Debug|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.Build.0 = Debug|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_LTCG|Win32.ActiveCfg = Release_LTCG|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.ActiveCfg = Release|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.Build.0 = Release|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.ActiveCfg = Debug|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.Build.0 = Debug|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release_LTCG|Win32.ActiveCfg = Release_LTCG|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.ActiveCfg = Release|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.Build.0 = Release|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.ActiveCfg = Debug|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.Build.0 = Debug|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.ActiveCfg = Debug|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.Build.0 = Debug|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_LTCG|Win32.ActiveCfg = Release_LTCG|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.ActiveCfg = Release|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+ +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLib", "WebKit.vcproj", "{0662A8A9-82A3-4638-97D8-EC425D8D87C9}" + ProjectSection(ProjectDependencies) = postProject + {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {91762BE2-87EF-4F5A-A480-48B90EB3F406} + {B8437A41-67BC-4769-9452-45203827F821} = {B8437A41-67BC-4769-9452-45203827F821} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitGUID", "WebKitGUID.vcproj", "{B8437A41-67BC-4769-9452-45203827F821}" + ProjectSection(ProjectDependencies) = postProject + {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {91762BE2-87EF-4F5A-A480-48B90EB3F406} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Interfaces", "Interfaces.vcproj", "{91762BE2-87EF-4F5A-A480-48B90EB3F406}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug_All|Win32 = Debug_All|Win32 + Debug|Win32 = Debug|Win32 + Release_LTCG|Win32 = Release_LTCG|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_All|Win32.ActiveCfg = Debug_All|Win32 + {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_All|Win32.Build.0 = Debug_All|Win32 + {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.ActiveCfg = Debug|Win32 + {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.Build.0 = Debug|Win32 + {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_LTCG|Win32.ActiveCfg = Release_LTCG|Win32 + {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32 + {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.ActiveCfg = Release|Win32 + {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.Build.0 = Release|Win32 + {B8437A41-67BC-4769-9452-45203827F821}.Debug_All|Win32.ActiveCfg = Debug_All|Win32 + {B8437A41-67BC-4769-9452-45203827F821}.Debug_All|Win32.Build.0 = Debug_All|Win32 + {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.ActiveCfg = Debug|Win32 + {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.Build.0 = Debug|Win32 + {B8437A41-67BC-4769-9452-45203827F821}.Release_LTCG|Win32.ActiveCfg = Release_LTCG|Win32 + {B8437A41-67BC-4769-9452-45203827F821}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32 + {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.ActiveCfg = Release|Win32 + {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.Build.0 = Release|Win32 + {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.ActiveCfg = Debug|Win32 + {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.Build.0 = Debug|Win32 + {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.ActiveCfg = Debug|Win32 + {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.Build.0 = Debug|Win32 + {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_LTCG|Win32.ActiveCfg = Release_LTCG|Win32 + {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32 + {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.ActiveCfg = Release|Win32 + {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/WebKit/win/WebKit.vcproj/WebKit.vcproj b/WebKit/win/WebKit.vcproj/WebKit.vcproj index 4616c74..bf13191 100644 --- a/WebKit/win/WebKit.vcproj/WebKit.vcproj +++ b/WebKit/win/WebKit.vcproj/WebKit.vcproj @@ -1,1320 +1,1319 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitLib"
- ProjectGUID="{0662A8A9-82A3-4638-97D8-EC425D8D87C9}"
- RootNamespace="WebKit"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebKitLibCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitLibCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\cURL.vsprops;.\WebKitLibCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\cURL.vsprops;.\WebKitLibCommon.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\WebKitLibCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_LTCG|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitLibCommon.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\MarshallingHelpers.cpp"
- >
- </File>
- <File
- RelativePath="..\WebKitClassFactory.cpp"
- >
- </File>
- <File
- RelativePath="..\WebKitDLL.cpp"
- >
- </File>
- <File
- RelativePath="..\WebKitSystemBits.cpp"
- >
- </File>
- <File
- RelativePath="..\WebNodeHighlight.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\AccessibleBase.h"
- >
- </File>
- <File
- RelativePath="..\AccessibleDocument.h"
- >
- </File>
- <File
- RelativePath="..\AccessibleImage.h"
- >
- </File>
- <File
- RelativePath=".\autoversion.h"
- >
- </File>
- <File
- RelativePath="..\CFDictionaryPropertyBag.h"
- >
- </File>
- <File
- RelativePath="..\CodeAnalysisConfig.h"
- >
- </File>
- <File
- RelativePath="..\COMEnumVariant.h"
- >
- </File>
- <File
- RelativePath="..\COMPropertyBag.h"
- >
- </File>
- <File
- RelativePath="..\COMVariantSetter.h"
- >
- </File>
- <File
- RelativePath="..\DefaultDownloadDelegate.h"
- >
- </File>
- <File
- RelativePath="..\DefaultPolicyDelegate.h"
- >
- </File>
- <File
- RelativePath="..\DOMCoreClasses.h"
- >
- </File>
- <File
- RelativePath="..\DOMCSSClasses.h"
- >
- </File>
- <File
- RelativePath="..\DOMEventsClasses.h"
- >
- </File>
- <File
- RelativePath="..\DOMHTMLClasses.h"
- >
- </File>
- <File
- RelativePath="..\ForEachCoClass.h"
- >
- </File>
- <File
- RelativePath="..\FullscreenVideoController.h"
- >
- </File>
- <File
- RelativePath="..\MarshallingHelpers.h"
- >
- </File>
- <File
- RelativePath="..\MemoryStream.h"
- >
- </File>
- <File
- RelativePath="..\ProgIDMacros.h"
- >
- </File>
- <File
- RelativePath=".\resource.h"
- >
- </File>
- <File
- RelativePath="..\WebActionPropertyBag.h"
- >
- </File>
- <File
- RelativePath="..\WebArchive.h"
- >
- </File>
- <File
- RelativePath="..\WebBackForwardList.h"
- >
- </File>
- <File
- RelativePath="..\WebCache.h"
- >
- </File>
- <File
- RelativePath="..\WebCachedFramePlatformData.h"
- >
- </File>
- <File
- RelativePath="..\WebCookieManager.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreStatistics.h"
- >
- </File>
- <File
- RelativePath="..\WebDatabaseManager.h"
- >
- </File>
- <File
- RelativePath="..\WebDataSource.h"
- >
- </File>
- <File
- RelativePath="..\WebDocumentLoader.h"
- >
- </File>
- <File
- RelativePath="..\WebDownload.h"
- >
- </File>
- <File
- RelativePath="..\WebDropSource.h"
- >
- </File>
- <File
- RelativePath="..\WebElementPropertyBag.h"
- >
- </File>
- <File
- RelativePath="..\WebError.h"
- >
- </File>
- <File
- RelativePath="..\WebFrame.h"
- >
- </File>
- <File
- RelativePath="..\WebFramePolicyListener.h"
- >
- </File>
- <File
- RelativePath="..\WebGeolocationPolicyListener.h"
- >
- </File>
- <File
- RelativePath="..\WebGeolocationPosition.h"
- >
- </File>
- <File
- RelativePath="..\WebHistory.h"
- >
- </File>
- <File
- RelativePath="..\WebHistoryItem.h"
- >
- </File>
- <File
- RelativePath="..\WebHTMLRepresentation.h"
- >
- </File>
- <File
- RelativePath="..\WebIconDatabase.h"
- >
- </File>
- <File
- RelativePath="..\WebInspector.h"
- >
- </File>
- <File
- RelativePath="..\WebJavaScriptCollector.h"
- >
- </File>
- <File
- RelativePath="..\WebKitClassFactory.h"
- >
- </File>
- <File
- RelativePath="..\WebKitDLL.h"
- >
- </File>
- <File
- RelativePath="..\WebKitGraphics.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebKitLogging.h"
- >
- </File>
- <File
- RelativePath="..\WebKitStatistics.h"
- >
- </File>
- <File
- RelativePath="..\WebKitStatisticsPrivate.h"
- >
- </File>
- <File
- RelativePath="..\WebKitSystemBits.h"
- >
- </File>
- <File
- RelativePath="..\WebLocalizableStrings.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebMutableURLRequest.h"
- >
- </File>
- <File
- RelativePath="..\WebNavigationData.h"
- >
- </File>
- <File
- RelativePath="..\WebNodeHighlight.h"
- >
- </File>
- <File
- RelativePath="..\WebNotification.h"
- >
- </File>
- <File
- RelativePath="..\WebNotificationCenter.h"
- >
- </File>
- <File
- RelativePath="..\WebPreferenceKeysPrivate.h"
- >
- </File>
- <File
- RelativePath="..\WebPreferences.h"
- >
- </File>
- <File
- RelativePath="..\WebResource.h"
- >
- </File>
- <File
- RelativePath="..\WebScriptObject.h"
- >
- </File>
- <File
- RelativePath="..\WebScriptWorld.h"
- >
- </File>
- <File
- RelativePath="..\WebScriptWorld.h"
- >
- </File>
- <File
- RelativePath="..\WebScrollBar.h"
- >
- </File>
- <File
- RelativePath="..\WebSecurityOrigin.h"
- >
- </File>
- <File
- RelativePath="..\WebSerializedJSValue.h"
- >
- </File>
- <File
- RelativePath="..\WebTextRenderer.h"
- >
- </File>
- <File
- RelativePath="..\WebURLAuthenticationChallenge.h"
- >
- </File>
- <File
- RelativePath="..\WebURLAuthenticationChallengeSender.h"
- >
- </File>
- <File
- RelativePath="..\WebURLCredential.h"
- >
- </File>
- <File
- RelativePath="..\WebURLProtectionSpace.h"
- >
- </File>
- <File
- RelativePath="..\WebURLResponse.h"
- >
- </File>
- <File
- RelativePath="..\WebUserContentURLPattern.h"
- >
- </File>
- <File
- RelativePath="..\WebView.h"
- >
- </File>
- <File
- RelativePath="..\WebWorkersPrivate.h"
- >
- </File>
- <File
- RelativePath="..\WindowsTouch.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Classes"
- >
- <File
- RelativePath="..\AccessibleBase.cpp"
- >
- </File>
- <File
- RelativePath="..\AccessibleDocument.cpp"
- >
- </File>
- <File
- RelativePath="..\AccessibleImage.cpp"
- >
- </File>
- <File
- RelativePath="..\CFDictionaryPropertyBag.cpp"
- >
- </File>
- <File
- RelativePath="..\DefaultDownloadDelegate.cpp"
- >
- </File>
- <File
- RelativePath="..\DefaultPolicyDelegate.cpp"
- >
- </File>
- <File
- RelativePath="..\DOMCoreClasses.cpp"
- >
- </File>
- <File
- RelativePath="..\DOMCSSClasses.cpp"
- >
- </File>
- <File
- RelativePath="..\DOMEventsClasses.cpp"
- >
- </File>
- <File
- RelativePath="..\DOMHTMLClasses.cpp"
- >
- </File>
- <File
- RelativePath="..\ForEachCoClass.cpp"
- >
- </File>
- <File
- RelativePath="..\FullscreenVideoController.cpp"
- >
- </File>
- <File
- RelativePath="..\MemoryStream.cpp"
- >
- </File>
- <File
- RelativePath="..\WebActionPropertyBag.cpp"
- >
- </File>
- <File
- RelativePath="..\WebArchive.cpp"
- >
- </File>
- <File
- RelativePath="..\WebBackForwardList.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCache.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCookieManager.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCookieManagerCFNet.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebCookieManagerCurl.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebCoreStatistics.cpp"
- >
- </File>
- <File
- RelativePath="..\WebDatabaseManager.cpp"
- >
- </File>
- <File
- RelativePath="..\WebDataSource.cpp"
- >
- </File>
- <File
- RelativePath="..\WebDocumentLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\WebDownload.cpp"
- >
- </File>
- <File
- RelativePath="..\WebDownloadCFNet.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebDownloadCurl.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebDropSource.cpp"
- >
- </File>
- <File
- RelativePath="..\WebElementPropertyBag.cpp"
- >
- </File>
- <File
- RelativePath="..\WebError.cpp"
- >
- </File>
- <File
- RelativePath="..\WebFrame.cpp"
- >
- </File>
- <File
- RelativePath="..\WebFramePolicyListener.cpp"
- >
- </File>
- <File
- RelativePath="..\WebGeolocationPolicyListener.cpp"
- >
- </File>
- <File
- RelativePath="..\WebGeolocationPosition.cpp"
- >
- </File>
- <File
- RelativePath="..\WebHistory.cpp"
- >
- </File>
- <File
- RelativePath="..\WebHistoryItem.cpp"
- >
- </File>
- <File
- RelativePath="..\WebHTMLRepresentation.cpp"
- >
- </File>
- <File
- RelativePath="..\WebIconDatabase.cpp"
- >
- </File>
- <File
- RelativePath="..\WebInspector.cpp"
- >
- </File>
- <File
- RelativePath="..\WebJavaScriptCollector.cpp"
- >
- </File>
- <File
- RelativePath="..\WebKitLogging.cpp"
- >
- </File>
- <File
- RelativePath="..\WebKitStatistics.cpp"
- >
- </File>
- <File
- RelativePath="..\WebMutableURLRequest.cpp"
- >
- </File>
- <File
- RelativePath="..\WebNavigationData.cpp"
- >
- </File>
- <File
- RelativePath="..\WebNotification.cpp"
- >
- </File>
- <File
- RelativePath="..\WebNotificationCenter.cpp"
- >
- </File>
- <File
- RelativePath="..\WebPreferences.cpp"
- >
- </File>
- <File
- RelativePath="..\WebResource.cpp"
- >
- </File>
- <File
- RelativePath="..\WebScriptObject.cpp"
- >
- </File>
- <File
- RelativePath="..\WebScriptWorld.cpp"
- >
- </File>
- <File
- RelativePath="..\WebScriptWorld.cpp"
- >
- </File>
- <File
- RelativePath="..\WebScrollBar.cpp"
- >
- </File>
- <File
- RelativePath="..\WebSecurityOrigin.cpp"
- >
- </File>
- <File
- RelativePath="..\WebSerializedJSValue.cpp"
- >
- </File>
- <File
- RelativePath="..\WebTextRenderer.cpp"
- >
- </File>
- <File
- RelativePath="..\WebURLAuthenticationChallenge.cpp"
- >
- </File>
- <File
- RelativePath="..\WebURLAuthenticationChallengeSender.cpp"
- >
- </File>
- <File
- RelativePath="..\WebURLAuthenticationChallengeSenderCFNet.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebURLAuthenticationChallengeSenderCurl.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebURLCredential.cpp"
- >
- </File>
- <File
- RelativePath="..\WebURLProtectionSpace.cpp"
- >
- </File>
- <File
- RelativePath="..\WebURLResponse.cpp"
- >
- </File>
- <File
- RelativePath="..\WebUserContentURLPattern.cpp"
- >
- </File>
- <File
- RelativePath="..\WebView.cpp"
- >
- </File>
- <File
- RelativePath="..\WebWorkersPrivate.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="API"
- >
- <File
- RelativePath="..\WebKitCOMAPI.cpp"
- >
- </File>
- <File
- RelativePath="..\WebKitGraphics.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebLocalizableStrings.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="WebCoreSupport"
- >
- <File
- RelativePath="..\WebCoreSupport\EmbeddedWidget.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\EmbeddedWidget.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebChromeClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebChromeClient.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebContextMenuClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebContextMenuClient.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebDesktopNotificationsDelegate.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebDesktopNotificationsDelegate.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebDragClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebDragClient.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebEditorClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebEditorClient.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebFrameLoaderClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebFrameLoaderClient.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebFrameNetworkingContext.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebFrameNetworkingContext.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebGeolocationClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebGeolocationClient.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebInspectorClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebInspectorClient.h"
- >
- </File>
- <File
- RelativePath="..\..\cf\WebCoreSupport\WebInspectorClientCF.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebInspectorDelegate.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebInspectorDelegate.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebPlatformStrategies.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebPlatformStrategies.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebPluginHalterClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebPluginHalterClient.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\WebKitPrefix.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- PrecompiledHeaderThrough="WebKitPrefix.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebKitPrefix.h"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8.00" + Name="WebKitLib" + ProjectGUID="{0662A8A9-82A3-4638-97D8-EC425D8D87C9}" + RootNamespace="WebKit" + Keyword="Win32Proj" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + ConfigurationType="4" + InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebKitLibCommon.vsprops" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + ConfigurationType="4" + InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitLibCommon.vsprops" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug_Cairo_CFLite|Win32" + ConfigurationType="4" + InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\cURL.vsprops;.\WebKitLibCommon.vsprops" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release_Cairo_CFLite|Win32" + ConfigurationType="4" + InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\cURL.vsprops;.\WebKitLibCommon.vsprops" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug_All|Win32" + ConfigurationType="4" + InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\WebKitLibCommon.vsprops" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release_LTCG|Win32" + ConfigurationType="4" + InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitLibCommon.vsprops" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath="..\MarshallingHelpers.cpp" + > + </File> + <File + RelativePath="..\WebKitClassFactory.cpp" + > + </File> + <File + RelativePath="..\WebKitDLL.cpp" + > + </File> + <File + RelativePath="..\WebKitSystemBits.cpp" + > + </File> + <File + RelativePath="..\WebNodeHighlight.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\AccessibleBase.h" + > + </File> + <File + RelativePath="..\AccessibleDocument.h" + > + </File> + <File + RelativePath="..\AccessibleImage.h" + > + </File> + <File + RelativePath=".\autoversion.h" + > + </File> + <File + RelativePath="..\CFDictionaryPropertyBag.h" + > + </File> + <File + RelativePath="..\CodeAnalysisConfig.h" + > + </File> + <File + RelativePath="..\COMEnumVariant.h" + > + </File> + <File + RelativePath="..\COMPropertyBag.h" + > + </File> + <File + RelativePath="..\COMVariantSetter.h" + > + </File> + <File + RelativePath="..\DefaultDownloadDelegate.h" + > + </File> + <File + RelativePath="..\DefaultPolicyDelegate.h" + > + </File> + <File + RelativePath="..\DOMCoreClasses.h" + > + </File> + <File + RelativePath="..\DOMCSSClasses.h" + > + </File> + <File + RelativePath="..\DOMEventsClasses.h" + > + </File> + <File + RelativePath="..\DOMHTMLClasses.h" + > + </File> + <File + RelativePath="..\ForEachCoClass.h" + > + </File> + <File + RelativePath="..\FullscreenVideoController.h" + > + </File> + <File + RelativePath="..\MarshallingHelpers.h" + > + </File> + <File + RelativePath="..\MemoryStream.h" + > + </File> + <File + RelativePath="..\ProgIDMacros.h" + > + </File> + <File + RelativePath=".\resource.h" + > + </File> + <File + RelativePath="..\WebActionPropertyBag.h" + > + </File> + <File + RelativePath="..\WebArchive.h" + > + </File> + <File + RelativePath="..\WebBackForwardList.h" + > + </File> + <File + RelativePath="..\WebCache.h" + > + </File> + <File + RelativePath="..\WebCachedFramePlatformData.h" + > + </File> + <File + RelativePath="..\WebCookieManager.h" + > + </File> + <File + RelativePath="..\WebCoreStatistics.h" + > + </File> + <File + RelativePath="..\WebDatabaseManager.h" + > + </File> + <File + RelativePath="..\WebDataSource.h" + > + </File> + <File + RelativePath="..\WebDocumentLoader.h" + > + </File> + <File + RelativePath="..\WebDownload.h" + > + </File> + <File + RelativePath="..\WebDropSource.h" + > + </File> + <File + RelativePath="..\WebElementPropertyBag.h" + > + </File> + <File + RelativePath="..\WebError.h" + > + </File> + <File + RelativePath="..\WebFrame.h" + > + </File> + <File + RelativePath="..\WebFramePolicyListener.h" + > + </File> + <File + RelativePath="..\WebGeolocationPolicyListener.h" + > + </File> + <File + RelativePath="..\WebGeolocationPosition.h" + > + </File> + <File + RelativePath="..\WebHistory.h" + > + </File> + <File + RelativePath="..\WebHistoryItem.h" + > + </File> + <File + RelativePath="..\WebHTMLRepresentation.h" + > + </File> + <File + RelativePath="..\WebIconDatabase.h" + > + </File> + <File + RelativePath="..\WebInspector.h" + > + </File> + <File + RelativePath="..\WebJavaScriptCollector.h" + > + </File> + <File + RelativePath="..\WebKitClassFactory.h" + > + </File> + <File + RelativePath="..\WebKitDLL.h" + > + </File> + <File + RelativePath="..\WebKitGraphics.h" + > + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCustomBuildTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCustomBuildTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\WebKitLogging.h" + > + </File> + <File + RelativePath="..\WebKitStatistics.h" + > + </File> + <File + RelativePath="..\WebKitStatisticsPrivate.h" + > + </File> + <File + RelativePath="..\WebKitSystemBits.h" + > + </File> + <File + RelativePath="..\WebLocalizableStrings.h" + > + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCustomBuildTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCustomBuildTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\WebMutableURLRequest.h" + > + </File> + <File + RelativePath="..\WebNavigationData.h" + > + </File> + <File + RelativePath="..\WebNodeHighlight.h" + > + </File> + <File + RelativePath="..\WebNotification.h" + > + </File> + <File + RelativePath="..\WebNotificationCenter.h" + > + </File> + <File + RelativePath="..\WebPreferenceKeysPrivate.h" + > + </File> + <File + RelativePath="..\WebPreferences.h" + > + </File> + <File + RelativePath="..\WebResource.h" + > + </File> + <File + RelativePath="..\WebScriptObject.h" + > + </File> + <File + RelativePath="..\WebScriptWorld.h" + > + </File> + <File + RelativePath="..\WebScriptWorld.h" + > + </File> + <File + RelativePath="..\WebScrollBar.h" + > + </File> + <File + RelativePath="..\WebSecurityOrigin.h" + > + </File> + <File + RelativePath="..\WebSerializedJSValue.h" + > + </File> + <File + RelativePath="..\WebTextRenderer.h" + > + </File> + <File + RelativePath="..\WebURLAuthenticationChallenge.h" + > + </File> + <File + RelativePath="..\WebURLAuthenticationChallengeSender.h" + > + </File> + <File + RelativePath="..\WebURLCredential.h" + > + </File> + <File + RelativePath="..\WebURLProtectionSpace.h" + > + </File> + <File + RelativePath="..\WebURLResponse.h" + > + </File> + <File + RelativePath="..\WebUserContentURLPattern.h" + > + </File> + <File + RelativePath="..\WebView.h" + > + </File> + <File + RelativePath="..\WebWorkersPrivate.h" + > + </File> + <File + RelativePath="..\WindowsTouch.h" + > + </File> + </Filter> + <Filter + Name="Classes" + > + <File + RelativePath="..\AccessibleBase.cpp" + > + </File> + <File + RelativePath="..\AccessibleDocument.cpp" + > + </File> + <File + RelativePath="..\AccessibleImage.cpp" + > + </File> + <File + RelativePath="..\CFDictionaryPropertyBag.cpp" + > + </File> + <File + RelativePath="..\DefaultDownloadDelegate.cpp" + > + </File> + <File + RelativePath="..\DefaultPolicyDelegate.cpp" + > + </File> + <File + RelativePath="..\DOMCoreClasses.cpp" + > + </File> + <File + RelativePath="..\DOMCSSClasses.cpp" + > + </File> + <File + RelativePath="..\DOMEventsClasses.cpp" + > + </File> + <File + RelativePath="..\DOMHTMLClasses.cpp" + > + </File> + <File + RelativePath="..\ForEachCoClass.cpp" + > + </File> + <File + RelativePath="..\FullscreenVideoController.cpp" + > + </File> + <File + RelativePath="..\MemoryStream.cpp" + > + </File> + <File + RelativePath="..\WebActionPropertyBag.cpp" + > + </File> + <File + RelativePath="..\WebArchive.cpp" + > + </File> + <File + RelativePath="..\WebBackForwardList.cpp" + > + </File> + <File + RelativePath="..\WebCache.cpp" + > + </File> + <File + RelativePath="..\WebCookieManager.cpp" + > + </File> + <File + RelativePath="..\WebCookieManagerCFNet.cpp" + > + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\WebCookieManagerCurl.cpp" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\WebCoreStatistics.cpp" + > + </File> + <File + RelativePath="..\WebDatabaseManager.cpp" + > + </File> + <File + RelativePath="..\WebDataSource.cpp" + > + </File> + <File + RelativePath="..\WebDocumentLoader.cpp" + > + </File> + <File + RelativePath="..\WebDownload.cpp" + > + </File> + <File + RelativePath="..\WebDownloadCFNet.cpp" + > + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\WebDownloadCurl.cpp" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\WebDropSource.cpp" + > + </File> + <File + RelativePath="..\WebElementPropertyBag.cpp" + > + </File> + <File + RelativePath="..\WebError.cpp" + > + </File> + <File + RelativePath="..\WebFrame.cpp" + > + </File> + <File + RelativePath="..\WebFramePolicyListener.cpp" + > + </File> + <File + RelativePath="..\WebGeolocationPolicyListener.cpp" + > + </File> + <File + RelativePath="..\WebGeolocationPosition.cpp" + > + </File> + <File + RelativePath="..\WebHistory.cpp" + > + </File> + <File + RelativePath="..\WebHistoryItem.cpp" + > + </File> + <File + RelativePath="..\WebHTMLRepresentation.cpp" + > + </File> + <File + RelativePath="..\WebIconDatabase.cpp" + > + </File> + <File + RelativePath="..\WebInspector.cpp" + > + </File> + <File + RelativePath="..\WebJavaScriptCollector.cpp" + > + </File> + <File + RelativePath="..\WebKitLogging.cpp" + > + </File> + <File + RelativePath="..\WebKitStatistics.cpp" + > + </File> + <File + RelativePath="..\WebMutableURLRequest.cpp" + > + </File> + <File + RelativePath="..\WebNavigationData.cpp" + > + </File> + <File + RelativePath="..\WebNotification.cpp" + > + </File> + <File + RelativePath="..\WebNotificationCenter.cpp" + > + </File> + <File + RelativePath="..\WebPreferences.cpp" + > + </File> + <File + RelativePath="..\WebResource.cpp" + > + </File> + <File + RelativePath="..\WebScriptObject.cpp" + > + </File> + <File + RelativePath="..\WebScriptWorld.cpp" + > + </File> + <File + RelativePath="..\WebScriptWorld.cpp" + > + </File> + <File + RelativePath="..\WebScrollBar.cpp" + > + </File> + <File + RelativePath="..\WebSecurityOrigin.cpp" + > + </File> + <File + RelativePath="..\WebSerializedJSValue.cpp" + > + </File> + <File + RelativePath="..\WebTextRenderer.cpp" + > + </File> + <File + RelativePath="..\WebURLAuthenticationChallenge.cpp" + > + </File> + <File + RelativePath="..\WebURLAuthenticationChallengeSender.cpp" + > + </File> + <File + RelativePath="..\WebURLAuthenticationChallengeSenderCFNet.cpp" + > + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\WebURLAuthenticationChallengeSenderCurl.cpp" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\WebURLCredential.cpp" + > + </File> + <File + RelativePath="..\WebURLProtectionSpace.cpp" + > + </File> + <File + RelativePath="..\WebURLResponse.cpp" + > + </File> + <File + RelativePath="..\WebUserContentURLPattern.cpp" + > + </File> + <File + RelativePath="..\WebView.cpp" + > + </File> + <File + RelativePath="..\WebWorkersPrivate.cpp" + > + </File> + </Filter> + <Filter + Name="API" + > + <File + RelativePath="..\WebKitCOMAPI.cpp" + > + </File> + <File + RelativePath="..\WebKitGraphics.cpp" + > + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\WebLocalizableStrings.cpp" + > + </File> + </Filter> + <Filter + Name="WebCoreSupport" + > + <File + RelativePath="..\WebCoreSupport\EmbeddedWidget.cpp" + > + </File> + <File + RelativePath="..\WebCoreSupport\EmbeddedWidget.h" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebChromeClient.cpp" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebChromeClient.h" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebContextMenuClient.cpp" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebContextMenuClient.h" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebDesktopNotificationsDelegate.cpp" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebDesktopNotificationsDelegate.h" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebDragClient.cpp" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebDragClient.h" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebEditorClient.cpp" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebEditorClient.h" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebFrameLoaderClient.cpp" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebFrameLoaderClient.h" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebFrameNetworkingContext.cpp" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebFrameNetworkingContext.h" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebGeolocationClient.cpp" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebGeolocationClient.h" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebInspectorClient.cpp" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebInspectorClient.h" + > + </File> + <File + RelativePath="..\..\cf\WebCoreSupport\WebInspectorClientCF.cpp" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebInspectorDelegate.cpp" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebInspectorDelegate.h" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebPlatformStrategies.cpp" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebPlatformStrategies.h" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebPluginHalterClient.cpp" + > + </File> + <File + RelativePath="..\WebCoreSupport\WebPluginHalterClient.h" + > + </File> + </Filter> + <File + RelativePath="..\WebKitPrefix.cpp" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_Cairo_CFLite|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_Cairo_CFLite|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug_All|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + PrecompiledHeaderThrough="WebKitPrefix.h" + /> + </FileConfiguration> + <FileConfiguration + Name="Release_LTCG|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\WebKitPrefix.h" + > + </File> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/WebKit/win/WebKit.vcproj/WebKitGUID.vcproj b/WebKit/win/WebKit.vcproj/WebKitGUID.vcproj index cb6de36..ce0973f 100644 --- a/WebKit/win/WebKit.vcproj/WebKitGUID.vcproj +++ b/WebKit/win/WebKit.vcproj/WebKitGUID.vcproj @@ -1,349 +1,348 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitGUID"
- ProjectGUID="{B8437A41-67BC-4769-9452-45203827F821}"
- RootNamespace="WebKitGUID"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebKitGUIDCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- OutputDirectory="Debug"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitGUIDCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- OutputDirectory="Release"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\WebKitGUIDCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- OutputDirectory="Debug"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_LTCG|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitGUIDCommon.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- OutputDirectory="Release"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\WebKitGUIDCommon.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- OutputDirectory="Release"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\WebKitGUIDCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- OutputDirectory="Debug"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="$(WebKitOutputDir)\obj\WebKit\Interfaces\WebKit_i.c"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8.00" + Name="WebKitGUID" + ProjectGUID="{B8437A41-67BC-4769-9452-45203827F821}" + RootNamespace="WebKitGUID" + Keyword="Win32Proj" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + ConfigurationType="4" + InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebKitGUIDCommon.vsprops" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + OutputDirectory="Debug" + /> + <Tool + Name="VCCLCompilerTool" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + ConfigurationType="4" + InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitGUIDCommon.vsprops" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + OutputDirectory="Release" + /> + <Tool + Name="VCCLCompilerTool" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug_All|Win32" + ConfigurationType="4" + InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\WebKitGUIDCommon.vsprops" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + OutputDirectory="Debug" + /> + <Tool + Name="VCCLCompilerTool" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release_LTCG|Win32" + ConfigurationType="4" + InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitGUIDCommon.vsprops" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + OutputDirectory="Release" + /> + <Tool + Name="VCCLCompilerTool" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release_Cairo_CFLite|Win32" + ConfigurationType="4" + InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\WebKitGUIDCommon.vsprops" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + OutputDirectory="Release" + /> + <Tool + Name="VCCLCompilerTool" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug_Cairo_CFLite|Win32" + ConfigurationType="4" + InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\WebKitGUIDCommon.vsprops" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + OutputDirectory="Debug" + /> + <Tool + Name="VCCLCompilerTool" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <File + RelativePath="$(WebKitOutputDir)\obj\WebKit\Interfaces\WebKit_i.c" + > + </File> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops b/WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops index 422c8bd..677847d 100644 --- a/WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops +++ b/WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops @@ -1,27 +1,19 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitGUIDCommon"
- OutputDirectory="$(WebKitOutputDir)\lib"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(WebKitOutputDir)\$(ConfigurationName)\WebKit"
- PreprocessorDefinitions="_USRDLL;WEBKITGUID_EXPORTS"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="if exist "$(WebKitOutputDir)\buildfailed" del "$(WebKitOutputDir)\buildfailed""
- />
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="%SystemDrive%\cygwin\bin\which.exe bash
if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%
cmd /c
if exist "$(WebKitOutputDir)\buildfailed" grep XX$(ProjectName)XX "$(WebKitOutputDir)\buildfailed"
if errorlevel 1 exit 1
echo XX$(ProjectName)XX > "$(WebKitOutputDir)\buildfailed"
"
- />
- <Tool
- Name="VCMIDLTool"
- AdditionalIncludeDirectories="Interfaces"
- HeaderFileName="$(InputName).h"
- />
-
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="WebKitGUIDCommon" + OutputDirectory="$(WebKitOutputDir)\lib" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="$(WebKitOutputDir)\$(ConfigurationName)\WebKit" + PreprocessorDefinitions="_USRDLL;WEBKITGUID_EXPORTS" + /> + <Tool + Name="VCMIDLTool" + AdditionalIncludeDirectories="Interfaces" + HeaderFileName="$(InputName).h" + /> + +</VisualStudioPropertySheet> diff --git a/WebKit/win/WebKit.vcproj/WebKitGUIDPostBuild.cmd b/WebKit/win/WebKit.vcproj/WebKitGUIDPostBuild.cmd new file mode 100644 index 0000000..f011495 --- /dev/null +++ b/WebKit/win/WebKit.vcproj/WebKitGUIDPostBuild.cmd @@ -0,0 +1 @@ +if exist "%WEBKITOUTPUTDIR%\buildfailed" del "%WEBKITOUTPUTDIR%\buildfailed" diff --git a/WebKit/win/WebKit.vcproj/WebKitGUIDPreBuild.cmd b/WebKit/win/WebKit.vcproj/WebKitGUIDPreBuild.cmd new file mode 100644 index 0000000..3a84c26 --- /dev/null +++ b/WebKit/win/WebKit.vcproj/WebKitGUIDPreBuild.cmd @@ -0,0 +1,6 @@ +%SystemDrive%\cygwin\bin\which.exe bash +if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH% +cmd /c +if exist "%WEBKITOUTPUTDIR%\buildfailed" grep XX%PROJECTNAME%XX "%WEBKITOUTPUTDIR%\buildfailed" +if errorlevel 1 exit 1 +echo XX%PROJECTNAME%XX > "%WEBKITOUTPUTDIR%\buildfailed" diff --git a/WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops b/WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops index f2fb761..7caff4d 100644 --- a/WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops +++ b/WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops @@ -1,30 +1,22 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitLibCommon"
- OutputDirectory="$(WebKitOutputDir)\lib"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""$(WebKitOutputDir)\include\WebKit";"$(WebKitOutputDir)\Include";"$(WebKitOutputDir)\Include\private";"$(WebKitLibrariesDir)\Include";"$(WebKitLibrariesDir)\Include\private";"$(WebKitOutputDir)\Include\WebCore";"$(WebKitLibrariesDir)\Include\WebCore";"$(WebKitOutputDir)\Include\WebCore\ForwardingHeaders";"$(WebKitLibrariesDir)\Include\WebCore\ForwardingHeaders";"$(WebKitOutputDir)\Include\JavaScriptCore";"$(WebKitOutputDir)\Include\private\JavaScriptCore";"$(WebKitLibrariesDir)\Include\JavaScriptCore";"$(WebKitLibrariesDir)\Include\private\JavaScriptCore";"$(WebKitLibrariesDir)\include\pthreads";"$(ProjectDir)\..";"$(ProjectDir)";"$(ProjectDir)\..\WebCoreSupport";"$(IntDir)\include";"$(WebKitOutputDir)\obj\WebKit\DerivedSources""
- PreprocessorDefinitions="_USRDLL;WEBKIT_EXPORTS;FRAMEWORK_NAME=WebKit"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="WebKitPrefix.h"
- ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
- DisableSpecificWarnings="4819"
- ForcedIncludeFiles="WebKitPrefix.h;ICUVersion.h"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="mkdir 2>NUL "$(WebKitOutputDir)\include\WebKit"

xcopy /y /d "$(ProjectDir)\..\WebLocalizableStrings.h" "$(WebKitOutputDir)\include\WebKit"
xcopy /y /d "$(ProjectDir)\..\WebKitGraphics.h" "$(WebKitOutputDir)\include\WebKit"
xcopy /y /d "$(ProjectDir)\..\WebKitCOMAPI.h" "$(WebKitOutputDir)\include\WebKit"
xcopy /y /d "$(ProjectDir)\..\WebPreferenceKeysPrivate.h" "$(WebKitOutputDir)\include\WebKit"

xcopy /y /d "$(WebKitOutputDir)\include\WebCore\npapi.h" "$(WebKitOutputDir)\include\WebKit"
xcopy /y /d "$(WebKitOutputDir)\include\WebCore\npfunctions.h" "$(WebKitOutputDir)\include\WebKit"
xcopy /y /d "$(WebKitOutputDir)\include\WebCore\npruntime.h" "$(WebKitOutputDir)\include\WebKit"
xcopy /y /d "$(WebKitOutputDir)\include\WebCore\npruntime_internal.h" "$(WebKitOutputDir)\include\WebKit"
xcopy /y /d "$(WebKitOutputDir)\include\WebCore\nptypes.h" "$(WebKitOutputDir)\include\WebKit"

mkdir 2>NUL "$(OutDir)\..\bin\WebKit.resources"
xcopy /y /d "$(ProjectDir)..\WebKit.resources\*" "$(OutDir)\..\bin\WebKit.resources"
mkdir 2>NUL "$(OutDir)\..\bin\WebKit.resources\en.lproj"
xcopy /y /d "$(ProjectDir)..\..\English.lproj\Localizable.strings" "$(OutDir)\..\bin\WebKit.resources\en.lproj\"

if exist "$(WebKitOutputDir)\buildfailed" del "$(WebKitOutputDir)\buildfailed"
"
- />
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="%SystemDrive%\cygwin\bin\which.exe bash
if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%
cmd /c
if exist "$(WebKitOutputDir)\buildfailed" grep XX$(ProjectName)XX "$(WebKitOutputDir)\buildfailed"
if errorlevel 1 exit 1
echo XX$(ProjectName)XX > "$(WebKitOutputDir)\buildfailed"

touch "$(WebKitOutputDir)\tmp.cpp"
cl /analyze /nologo /c "$(WebKitOutputDir)\tmp.cpp" /Fo"$(IntDir)\tmp.obj" 2>&1 | findstr D9040
if ERRORLEVEL 1 (set EnablePREfast="true") else (set EnablePREfast="false")
if ERRORLEVEL 1 (set AnalyzeWithLargeStack="/analyze:65536") else (set AnalyzeWithLargeStack="")

mkdir 2>NUL "$(WebKitOutputDir)\include\JavaScriptCore"
xcopy /y /d "$(WebKitLibrariesDir)\include\JavaScriptCore\*" "$(WebKitOutputDir)\include\JavaScriptCore"

bash "$(WebKitLibrariesDir)\tools\scripts\auto-version.sh" "$(IntDir)"
"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="$(WebKitOutputDir)\obj\WebKit\"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="WebKitLibCommon" + OutputDirectory="$(WebKitOutputDir)\lib" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=""$(WebKitOutputDir)\include\WebKit";"$(WebKitOutputDir)\Include";"$(WebKitOutputDir)\Include\private";"$(WebKitLibrariesDir)\Include";"$(WebKitLibrariesDir)\Include\private";"$(WebKitOutputDir)\Include\WebCore";"$(WebKitLibrariesDir)\Include\WebCore";"$(WebKitOutputDir)\Include\WebCore\ForwardingHeaders";"$(WebKitLibrariesDir)\Include\WebCore\ForwardingHeaders";"$(WebKitOutputDir)\Include\JavaScriptCore";"$(WebKitOutputDir)\Include\private\JavaScriptCore";"$(WebKitLibrariesDir)\Include\JavaScriptCore";"$(WebKitLibrariesDir)\Include\private\JavaScriptCore";"$(WebKitLibrariesDir)\include\pthreads";"$(ProjectDir)\..";"$(ProjectDir)";"$(ProjectDir)\..\WebCoreSupport";"$(IntDir)\include";"$(WebKitOutputDir)\obj\WebKit\DerivedSources"" + PreprocessorDefinitions="_USRDLL;WEBKIT_EXPORTS;FRAMEWORK_NAME=WebKit" + UsePrecompiledHeader="2" + PrecompiledHeaderThrough="WebKitPrefix.h" + ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb" + DisableSpecificWarnings="4819" + ForcedIncludeFiles="WebKitPrefix.h;ICUVersion.h" + /> + <Tool + Name="VCResourceCompilerTool" + AdditionalIncludeDirectories="$(WebKitOutputDir)\obj\WebKit\" + /> +</VisualStudioPropertySheet> diff --git a/WebKit/win/WebKit.vcproj/WebKitLibPostBuild.cmd b/WebKit/win/WebKit.vcproj/WebKitLibPostBuild.cmd new file mode 100644 index 0000000..99f84fe --- /dev/null +++ b/WebKit/win/WebKit.vcproj/WebKitLibPostBuild.cmd @@ -0,0 +1,19 @@ +mkdir 2>NUL "%WEBKITOUTPUTDIR%\include\WebKit" + +xcopy /y /d "%PROJECTDIR%\..\WebLocalizableStrings.h" "%WEBKITOUTPUTDIR%\include\WebKit" +xcopy /y /d "%PROJECTDIR%\..\WebKitGraphics.h" "%WEBKITOUTPUTDIR%\include\WebKit" +xcopy /y /d "%PROJECTDIR%\..\WebKitCOMAPI.h" "%WEBKITOUTPUTDIR%\include\WebKit" +xcopy /y /d "%PROJECTDIR%\..\WebPreferenceKeysPrivate.h" "%WEBKITOUTPUTDIR%\include\WebKit" + +xcopy /y /d "%WEBKITOUTPUTDIR%\include\WebCore\npapi.h" "%WEBKITOUTPUTDIR%\include\WebKit" +xcopy /y /d "%WEBKITOUTPUTDIR%\include\WebCore\npfunctions.h" "%WEBKITOUTPUTDIR%\include\WebKit" +xcopy /y /d "%WEBKITOUTPUTDIR%\include\WebCore\npruntime.h" "%WEBKITOUTPUTDIR%\include\WebKit" +xcopy /y /d "%WEBKITOUTPUTDIR%\include\WebCore\npruntime_internal.h" "%WEBKITOUTPUTDIR%\include\WebKit" +xcopy /y /d "%WEBKITOUTPUTDIR%\include\WebCore\nptypes.h" "%WEBKITOUTPUTDIR%\include\WebKit" + +mkdir 2>NUL "%OUTDIR%\..\bin\WebKit.resources" +xcopy /y /d "%PROJECTDIR%..\WebKit.resources\*" "%OUTDIR%\..\bin\WebKit.resources" +mkdir 2>NUL "%OUTDIR%\..\bin\WebKit.resources\en.lproj" +xcopy /y /d "%PROJECTDIR%..\..\English.lproj\Localizable.strings" "%OUTDIR%\..\bin\WebKit.resources\en.lproj\" + +if exist "%WEBKITOUTPUTDIR%\buildfailed" del "%WEBKITOUTPUTDIR%\buildfailed" diff --git a/WebKit/win/WebKit.vcproj/WebKitLibPreBuild.cmd b/WebKit/win/WebKit.vcproj/WebKitLibPreBuild.cmd new file mode 100644 index 0000000..312033d --- /dev/null +++ b/WebKit/win/WebKit.vcproj/WebKitLibPreBuild.cmd @@ -0,0 +1,16 @@ +%SystemDrive%\cygwin\bin\which.exe bash +if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH% +cmd /c +if exist "%WEBKITOUTPUTDIR%\buildfailed" grep XX%PROJECTNAME%XX "%WEBKITOUTPUTDIR%\buildfailed" +if errorlevel 1 exit 1 +echo XX%PROJECTNAME%XX > "%WEBKITOUTPUTDIR%\buildfailed" + +touch "%WEBKITOUTPUTDIR%\tmp.cpp" +cl /analyze /nologo /c "%WEBKITOUTPUTDIR%\tmp.cpp" /Fo"%INTDIR%\tmp.obj" 2>&1 | findstr D9040 +if ERRORLEVEL 1 (set EnablePREfast="true") else (set EnablePREfast="false") +if ERRORLEVEL 1 (set AnalyzeWithLargeStack="/analyze:65536") else (set AnalyzeWithLargeStack="") + +mkdir 2>NUL "%WEBKITOUTPUTDIR%\include\JavaScriptCore" +xcopy /y /d "%WEBKITLIBRARIESDIR%\include\JavaScriptCore\*" "%WEBKITOUTPUTDIR%\include\JavaScriptCore" + +bash "%WEBKITLIBRARIESDIR%\tools\scripts\auto-version.sh" "%INTDIR%" diff --git a/WebKit/win/WebPreferences.cpp b/WebKit/win/WebPreferences.cpp index 0854ac8..5a2c19b 100644 --- a/WebKit/win/WebPreferences.cpp +++ b/WebKit/win/WebPreferences.cpp @@ -261,10 +261,10 @@ void WebPreferences::initializeDefaultSettings() CFDictionaryAddValue(defaults, CFSTR(WebKitShowDebugBordersPreferenceKey), kCFBooleanFalse); - CFDictionaryAddValue(defaults, CFSTR(WebKitDNSPrefetchingEnabledPreferenceKey), kCFBooleanTrue); + CFDictionaryAddValue(defaults, CFSTR(WebKitDNSPrefetchingEnabledPreferenceKey), kCFBooleanFalse); CFDictionaryAddValue(defaults, CFSTR(WebKitMemoryInfoEnabledPreferenceKey), kCFBooleanFalse); - CFDictionaryAddValue(defaults, CFSTR(WebKitHyperlinkAuditingEnabledPreferenceKey), kCFBooleanFalse); + CFDictionaryAddValue(defaults, CFSTR(WebKitHyperlinkAuditingEnabledPreferenceKey), kCFBooleanTrue); defaultSettings = defaults; } diff --git a/WebKit/win/WebView.cpp b/WebKit/win/WebView.cpp index 20c8d17..1b658bf 100644 --- a/WebKit/win/WebView.cpp +++ b/WebKit/win/WebView.cpp @@ -1245,12 +1245,14 @@ bool WebView::handleContextMenuEvent(WPARAM wParam, LPARAM lParam) if (!handledEvent) return false; + ContextMenuController* contextMenuController = m_page->contextMenuController(); + // Show the menu - ContextMenu* coreMenu = m_page->contextMenuController()->contextMenu(); + ContextMenu* coreMenu = contextMenuController->contextMenu(); if (!coreMenu) return false; - Node* node = coreMenu->hitTestResult().innerNonSharedNode(); + Node* node = contextMenuController->hitTestResult().innerNonSharedNode(); if (!node) return false; @@ -1262,7 +1264,7 @@ bool WebView::handleContextMenuEvent(WPARAM wParam, LPARAM lParam) if (!view) return false; - POINT point(view->contentsToWindow(coreMenu->hitTestResult().point())); + POINT point(view->contentsToWindow(contextMenuController->hitTestResult().point())); // Translate the point to screen coordinates if (!::ClientToScreen(m_viewWindow, &point)) @@ -1273,12 +1275,12 @@ bool WebView::handleContextMenuEvent(WPARAM wParam, LPARAM lParam) m_uiDelegate->hasCustomMenuImplementation(&hasCustomMenus); if (hasCustomMenus) - m_uiDelegate->trackCustomPopupMenu((IWebView*)this, (OLE_HANDLE)(ULONG64)coreMenu->platformDescription(), &point); + m_uiDelegate->trackCustomPopupMenu((IWebView*)this, (OLE_HANDLE)(ULONG64)coreMenu->nativeMenu(), &point); else { // Surprisingly, TPM_RIGHTBUTTON means that items are selectable with either the right OR left mouse button UINT flags = TPM_RIGHTBUTTON | TPM_TOPALIGN | TPM_VERPOSANIMATION | TPM_HORIZONTAL | TPM_LEFTALIGN | TPM_HORPOSANIMATION; - ::TrackPopupMenuEx(coreMenu->platformDescription(), flags, point.x, point.y, m_viewWindow, 0); + ::TrackPopupMenuEx(coreMenu->nativeMenu(), flags, point.x, point.y, m_viewWindow, 0); } return true; @@ -1353,11 +1355,10 @@ void WebView::performContextMenuAction(WPARAM wParam, LPARAM lParam, bool byPosi ContextMenu* menu = m_page->contextMenuController()->contextMenu(); ASSERT(menu); - ContextMenuItem* item = byPosition ? menu->itemAtIndex((unsigned)wParam, (HMENU)lParam) : menu->itemWithAction((ContextMenuAction)wParam); + ContextMenuItem* item = byPosition ? menu->itemAtIndex((unsigned)wParam) : menu->itemWithAction((ContextMenuAction)wParam); if (!item) return; m_page->contextMenuController()->contextMenuItemSelected(item); - delete item; } bool WebView::handleMouseEvent(UINT message, WPARAM wParam, LPARAM lParam) diff --git a/WebKit/wince/CMakeListsWinCE.txt b/WebKit/wince/CMakeListsWinCE.txt new file mode 100644 index 0000000..28feaf3 --- /dev/null +++ b/WebKit/wince/CMakeListsWinCE.txt @@ -0,0 +1,25 @@ +LIST(APPEND WebKit_INCLUDE_DIRECTORIES + "${WEBCORE_DIR}/page/win" + "${WEBCORE_DIR}/platform/graphics/wince" + "${WEBCORE_DIR}/platform/network/win" + "${WEBCORE_DIR}/platform/win" + + wince + wince/WebCoreSupport +) + +LIST(APPEND WebKit_SOURCES + wince/WebView.h + wince/WebView.cpp + + wince/WebCoreSupport/ChromeClientWinCE.cpp + wince/WebCoreSupport/ContextMenuClientWinCE.cpp + wince/WebCoreSupport/DragClientWinCE.cpp + wince/WebCoreSupport/EditorClientWinCE.cpp + wince/WebCoreSupport/FrameLoaderClientWinCE.cpp + wince/WebCoreSupport/FrameNetworkingContextWinCE.cpp + wince/WebCoreSupport/InspectorClientWinCE.cpp + wince/WebCoreSupport/PlatformStrategiesWinCE.cpp +) + +SET(WebKit_LIBRARY_TYPE STATIC) diff --git a/WebKit/wince/ChangeLog b/WebKit/wince/ChangeLog index 0b99bf7..741e527 100644 --- a/WebKit/wince/ChangeLog +++ b/WebKit/wince/ChangeLog @@ -1,3 +1,69 @@ +2010-10-28 MORITA Hajime <morrita@google.com> + + Reviewed by Ojan Vafai. + + spellcheck does not check pasted text + https://bugs.webkit.org/show_bug.cgi?id=40092 + + Added a stub implememntation. + + * WebCoreSupport/EditorClientWinCE.h: + (WebKit::EditorClient::requestCheckingOfString): + +2010-12-07 Martin Robinson <mrobinson@igalia.com> + + Unreviewed, rolling out r73392. + http://trac.webkit.org/changeset/73392 + https://bugs.webkit.org/show_bug.cgi?id=50489 + + This commit caused crashes on the GTK+ bots + + * WebCoreSupport/FrameLoaderClientWinCE.cpp: + (WebKit::FrameLoaderClientWinCE::finishedLoading): + +2010-12-06 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Update calls to DocumentWriter. + https://bugs.webkit.org/show_bug.cgi?id=50489 + + * WebCoreSupport/FrameLoaderClientWinCE.cpp: + (WebKit::FrameLoaderClientWinCE::finishedLoading): + +2010-12-06 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Andreas Kling. + + [WINCE] Add build system + https://bugs.webkit.org/show_bug.cgi?id=50522 + + * CMakeListsWinCE.txt: Added. + +2010-12-01 Jia Pu <jpu@apple.com> + + Reviewed by Darin Adler. + + Support multiple correction candidates panel for misspelled word on Mac OS X. + https://bugs.webkit.org/show_bug.cgi?id=50137 + <rdar://problem/8568059> + + Adopted new function signature defined in base class. + + * WebCoreSupport/EditorClientWinCE.cpp: + (WebKit::EditorClientWinCE::getGuessesForWord): + * WebCoreSupport/EditorClientWinCE.h: + +2010-11-30 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Adam Roben. + + [WINCE] Add WebView + https://bugs.webkit.org/show_bug.cgi?id=50216 + + * WebView.cpp: Added. + * WebView.h: Added. + 2010-11-13 Patrick Gansterer <paroga@webkit.org> Unreviewed, build fix after r71541. diff --git a/WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp b/WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp index 7dee562..c4555ed 100644 --- a/WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp +++ b/WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp @@ -487,7 +487,7 @@ bool EditorClientWinCE::spellingUIIsShowing() return false; } -void EditorClientWinCE::getGuessesForWord(const String& word, WTF::Vector<String>& guesses) +void EditorClientWinCE::getGuessesForWord(const String& word, const String& context, WTF::Vector<String>& guesses) { notImplemented(); } diff --git a/WebKit/wince/WebCoreSupport/EditorClientWinCE.h b/WebKit/wince/WebCoreSupport/EditorClientWinCE.h index be85b3f..8db8c16 100644 --- a/WebKit/wince/WebCoreSupport/EditorClientWinCE.h +++ b/WebKit/wince/WebCoreSupport/EditorClientWinCE.h @@ -97,9 +97,10 @@ public: virtual void updateSpellingUIWithMisspelledWord(const WTF::String&); virtual void showSpellingUI(bool); virtual bool spellingUIIsShowing(); - virtual void getGuessesForWord(const WTF::String&, WTF::Vector<WTF::String>&); + virtual void getGuessesForWord(const WTF::String& word, const WTF::String& context, WTF::Vector<WTF::String>& guesses); virtual void willSetInputMethodState(); virtual void setInputMethodState(bool); + virtual void requestCheckingOfString(WebCore::SpellChecker*, int, const WTF::String&) {} private: WebView* m_webView; diff --git a/WebKit/wince/WebView.cpp b/WebKit/wince/WebView.cpp new file mode 100644 index 0000000..ce90149 --- /dev/null +++ b/WebKit/wince/WebView.cpp @@ -0,0 +1,454 @@ +/* + * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple, Inc. All rights reserved. + * Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" +#include "WebView.h" + +#include "ChromeClientWinCE.h" +#include "ContextMenuClientWinCE.h" +#include "DragClientWinCE.h" +#include "EditorClientWinCE.h" +#include "FocusController.h" +#include "Frame.h" +#include "FrameLoader.h" +#include "FrameLoaderClientWinCE.h" +#include "FrameView.h" +#include "GraphicsContext.h" +#include "InitializeThreading.h" +#include "InspectorClientWinCE.h" +#include "IntSize.h" +#include "MainThread.h" +#include "NotImplemented.h" +#include "Page.h" +#include "PlatformKeyboardEvent.h" +#include "PlatformMouseEvent.h" +#include "PlatformStrategiesWinCE.h" +#include "PlatformWheelEvent.h" +#include "ResourceRequest.h" +#include "Settings.h" +#include "SharedBuffer.h" +#include "WebCoreInstanceHandle.h" + +using namespace WebCore; + +const LPCWSTR kWebViewWindowClassName = L"WebViewWindowClass"; + + +LRESULT CALLBACK WebView::webViewWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + if (WebView* webView = reinterpret_cast<WebView*>(GetWindowLong(hWnd, 0))) + return webView->wndProc(hWnd, message, wParam, lParam); + + return DefWindowProc(hWnd, message, wParam, lParam); +} + +PassRefPtr<SharedBuffer> loadResourceIntoBuffer(const char* name) +{ + notImplemented(); + return 0; +} + + +WebView::WebView(HWND hwnd, unsigned features) + : m_frame(0) + , m_page(0) + , m_parentWindowHandle(hwnd) + , m_enableDoubleBuffer(features & EnableDoubleBuffering) +{ + RECT rcClient; + GetClientRect(hwnd, &rcClient); + + m_windowHandle = CreateWindow(kWebViewWindowClassName, 0, WS_CHILD, + CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, hwnd, 0, WebCore::instanceHandle(), 0); + + SetWindowLong(m_windowHandle, 0, reinterpret_cast<LONG>(this)); + + MoveWindow(m_windowHandle, 0, 0, rcClient.right, rcClient.bottom, TRUE); + ShowWindow(m_windowHandle, SW_SHOW); + + Page::PageClients pageClients; + pageClients.chromeClient = new WebKit::ChromeClientWinCE(this); + pageClients.contextMenuClient = new WebKit::ContextMenuClientWinCE(this); + pageClients.editorClient = new WebKit::EditorClientWinCE(this); + pageClients.dragClient = new WebKit::DragClientWinCE(); + pageClients.inspectorClient = new WebKit::InspectorClientWinCE(this); + m_page = new Page(pageClients); + + Settings* settings = m_page->settings(); + settings->setDefaultFixedFontSize(14); + settings->setDefaultFontSize(14); + settings->setMinimumFontSize(8); + settings->setMinimumLogicalFontSize(8); + settings->setJavaScriptEnabled(true); + settings->setLoadsImagesAutomatically(true); + + WebKit::FrameLoaderClientWinCE* loaderClient = new WebKit::FrameLoaderClientWinCE(this); + RefPtr<Frame> frame = Frame::create(m_page, 0, loaderClient); + m_frame = frame.get(); + loaderClient->setFrame(m_frame); + + m_page->mainFrame()->init(); + + if (view()) { + RECT windowRect; + frameRect(&windowRect); + view()->resize(IntRect(windowRect).size()); + } +} + +WebView::~WebView() +{ + delete m_page; + DestroyWindow(m_windowHandle); +} + +void WebView::initialize(HINSTANCE instanceHandle) +{ + JSC::initializeThreading(); + WTF::initializeMainThread(); + PlatformStrategiesWinCE::initialize(); + + WebCore::setInstanceHandle(instanceHandle); + + WNDCLASS wc; + wc.style = CS_DBLCLKS; + wc.lpfnWndProc = WebView::webViewWndProc; + wc.cbClsExtra = 0; + wc.cbWndExtra = sizeof(void *); + wc.hInstance = instanceHandle; + wc.hIcon = 0; + wc.hCursor = LoadCursor(0, IDC_ARROW); + wc.hbrBackground = 0; + wc.lpszMenuName = 0; + wc.lpszClassName = kWebViewWindowClassName; + + RegisterClass(&wc); +} + +void WebView::cleanup() +{ + UnregisterClass(kWebViewWindowClassName, WebCore::instanceHandle()); +} + +PassRefPtr<Frame> WebView::createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement, const String& referrer, + bool /*allowsScrolling*/, int /*marginWidth*/, int /*marginHeight*/) +{ + Frame* coreFrame = m_frame; + + WebKit::FrameLoaderClientWinCE *loaderClient = new WebKit::FrameLoaderClientWinCE(this); + RefPtr<Frame> childFrame = Frame::create(m_page, ownerElement, loaderClient); + loaderClient->setFrame(childFrame.get()); + + coreFrame->tree()->appendChild(childFrame); + childFrame->tree()->setName(name); + childFrame->init(); + + // The creation of the frame may have run arbitrary JavaScript that removed it from the page already. + if (!childFrame->page()) + return 0; + + childFrame->loader()->loadURLIntoChildFrame(url, referrer, childFrame.get()); + + // The frame's onload handler may have removed it from the document. + if (!childFrame->tree()->parent()) + return 0; + + return childFrame.release(); +} + +void WebView::runJavaScriptAlert(const String& message) +{ + notImplemented(); +} + +bool WebView::runJavaScriptConfirm(const String& message) +{ + notImplemented(); + return false; +} + +bool WebView::runJavaScriptPrompt(const String& message, const String& defaultValue, String& result) +{ + notImplemented(); + return false; +} + +void WebView::frameRect(RECT* rect) const +{ + GetWindowRect(m_windowHandle, rect); +} + +FrameView* WebView::view() const +{ + return m_frame ? m_frame->view() : 0; +} + +void WebView::load(LPCWSTR url) +{ + load(String(url)); +} + +void WebView::load(const String &url) +{ + load(WebCore::ResourceRequest(url)); +} + +void WebView::load(const WebCore::ResourceRequest &request) +{ + frame()->loader()->load(request, false); +} + +void WebView::reload() +{ + frame()->loader()->reload(); +} + +void WebView::stop() +{ + frame()->loader()->stopAllLoaders(); +} + +void WebView::paint(HDC hDC, const IntRect& clipRect) +{ + OwnPtr<HRGN> clipRgn(CreateRectRgn(clipRect.x(), clipRect.y(), clipRect.right(), clipRect.bottom())); + SelectClipRgn(hDC, clipRgn.get()); + + GraphicsContext gc(hDC); + view()->paint(&gc, clipRect); +} + +bool WebView::handlePaint(HWND hWnd) +{ + RECT updateRect; + if (!GetUpdateRect(hWnd, &updateRect, false)) + return false; + + PAINTSTRUCT ps; + HDC hDC = BeginPaint(m_windowHandle, &ps); + + IntRect clipRect(updateRect); + + if (m_enableDoubleBuffer) { + if (!m_doubleBufferDC) { + RECT rcClient; + GetClientRect(m_windowHandle, &rcClient); + + m_doubleBufferDC = adoptPtr(CreateCompatibleDC(hDC)); + m_doubleBufferBitmap = adoptPtr(CreateCompatibleBitmap(hDC, rcClient.right, rcClient.bottom)); + SelectObject(m_doubleBufferDC.get(), m_doubleBufferBitmap.get()); + } + + paint(m_doubleBufferDC.get(), clipRect); + + BitBlt(hDC, clipRect.x(), clipRect.y(), clipRect.width(), clipRect.height(), m_doubleBufferDC.get(), clipRect.x(), clipRect.y(), SRCCOPY); + } else + paint(hDC, clipRect); + + EndPaint(m_windowHandle, &ps); + return true; +} + +bool WebView::handleMouseEvent(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + static LONG globalClickCount; + static IntPoint globalPrevPoint; + static MouseButton globalPrevButton; + static LONG globalPrevMouseDownTime; + + // Create our event. + // On WM_MOUSELEAVE we need to create a mouseout event, so we force the position + // of the event to be at (MINSHORT, MINSHORT). + PlatformMouseEvent mouseEvent(hWnd, message, wParam, lParam); + + bool insideThreshold = abs(globalPrevPoint.x() - mouseEvent.pos().x()) < ::GetSystemMetrics(SM_CXDOUBLECLK) + && abs(globalPrevPoint.y() - mouseEvent.pos().y()) < ::GetSystemMetrics(SM_CYDOUBLECLK); + LONG messageTime = 0; + + bool handled = false; + if (message == WM_LBUTTONDOWN || message == WM_MBUTTONDOWN || message == WM_RBUTTONDOWN) { + // FIXME: I'm not sure if this is the "right" way to do this + // but without this call, we never become focused since we don't allow + // the default handling of mouse events. + SetFocus(m_windowHandle); + + PlatformMouseEvent moveEvent(hWnd, WM_MOUSEMOVE, 0, lParam, false); + moveEvent.setClickCount(0); + m_page->mainFrame()->eventHandler()->handleMouseMoveEvent(moveEvent); + + // Always start capturing events when the mouse goes down in our HWND. + SetCapture(m_windowHandle); + + if (insideThreshold && mouseEvent.button() == globalPrevButton) + globalClickCount++; + else + // Reset the click count. + globalClickCount = 1; + globalPrevMouseDownTime = messageTime; + globalPrevButton = mouseEvent.button(); + globalPrevPoint = mouseEvent.pos(); + + mouseEvent.setClickCount(globalClickCount); + handled = m_page->mainFrame()->eventHandler()->handleMousePressEvent(mouseEvent); + } else if (message == WM_LBUTTONDBLCLK || message == WM_MBUTTONDBLCLK || message == WM_RBUTTONDBLCLK) { + globalClickCount++; + mouseEvent.setClickCount(globalClickCount); + handled = m_page->mainFrame()->eventHandler()->handleMousePressEvent(mouseEvent); + } else if (message == WM_LBUTTONUP || message == WM_MBUTTONUP || message == WM_RBUTTONUP) { + // Record the global position and the button of the up. + globalPrevButton = mouseEvent.button(); + globalPrevPoint = mouseEvent.pos(); + mouseEvent.setClickCount(globalClickCount); + m_page->mainFrame()->eventHandler()->handleMouseReleaseEvent(mouseEvent); + ReleaseCapture(); + } else if (message == WM_MOUSEMOVE) { + if (!insideThreshold) + globalClickCount = 0; + mouseEvent.setClickCount(globalClickCount); + handled = m_page->mainFrame()->eventHandler()->mouseMoved(mouseEvent); + } + + return handled; +} + +bool WebView::handleMouseWheel(HWND hWnd, WPARAM wParam, LPARAM lParam, bool isHorizontal) +{ + PlatformWheelEvent wheelEvent(hWnd, wParam, lParam, isHorizontal); + return frame()->eventHandler()->handleWheelEvent(wheelEvent); +} + +bool WebView::handleKeyDown(WPARAM virtualKeyCode, LPARAM keyData, bool systemKeyDown) +{ + Frame* frame = m_page->focusController()->focusedOrMainFrame(); + if (virtualKeyCode == VK_CAPITAL) + frame->eventHandler()->capsLockStateMayHaveChanged(); + + PlatformKeyboardEvent keyEvent(m_windowHandle, virtualKeyCode, keyData, PlatformKeyboardEvent::RawKeyDown, systemKeyDown); + bool handled = frame->eventHandler()->keyEvent(keyEvent); + + // These events cannot be canceled, and we have no default handling for them. + // FIXME: match IE list more closely, see <http://msdn2.microsoft.com/en-us/library/ms536938.aspx>. + if (systemKeyDown && virtualKeyCode != VK_RETURN) + return false; + + if (handled) { + MSG msg; + if (!systemKeyDown) + ::PeekMessage(&msg, m_windowHandle, WM_CHAR, WM_CHAR, PM_REMOVE); + return true; + } + + return handled; +} + +bool WebView::handleKeyPress(WPARAM charCode, LPARAM keyData, bool systemKeyDown) +{ + Frame* frame = m_page->focusController()->focusedOrMainFrame(); + + PlatformKeyboardEvent keyEvent(m_windowHandle, charCode, keyData, PlatformKeyboardEvent::Char, systemKeyDown); + // IE does not dispatch keypress event for WM_SYSCHAR. + if (systemKeyDown) + return frame->eventHandler()->handleAccessKey(keyEvent); + if (frame->eventHandler()->keyEvent(keyEvent)) + return true; + + return false; +} + +bool WebView::handleKeyUp(WPARAM virtualKeyCode, LPARAM keyData, bool systemKeyDown) +{ + PlatformKeyboardEvent keyEvent(m_windowHandle, virtualKeyCode, keyData, PlatformKeyboardEvent::KeyUp, systemKeyDown); + + Frame* frame = m_page->focusController()->focusedOrMainFrame(); + return frame->eventHandler()->keyEvent(keyEvent); +} + +LRESULT WebView::wndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + bool handled = false; + + if (view()) { + switch (message) { + case WM_PAINT: + handled = handlePaint(hWnd); + break; + + case WM_MOUSEMOVE: + case WM_LBUTTONDOWN: + case WM_MBUTTONDOWN: + case WM_RBUTTONDOWN: + case WM_LBUTTONDBLCLK: + case WM_MBUTTONDBLCLK: + case WM_RBUTTONDBLCLK: + case WM_LBUTTONUP: + case WM_MBUTTONUP: + case WM_RBUTTONUP: + if (frame()->eventHandler() && view()->didFirstLayout()) + handled = handleMouseEvent(hWnd, message, wParam, lParam); + break; + + case WM_MOUSEWHEEL: + if (frame()->eventHandler() && view()->didFirstLayout()) + handled = handleMouseWheel(hWnd, wParam, lParam, wParam & MK_SHIFT); + break; + + case WM_SYSKEYDOWN: + handled = handleKeyDown(wParam, lParam, true); + break; + + case WM_KEYDOWN: + handled = handleKeyDown(wParam, lParam, false); + break; + + case WM_SYSKEYUP: + handled = handleKeyUp(wParam, lParam, true); + break; + + case WM_KEYUP: + handled = handleKeyUp(wParam, lParam, false); + break; + + case WM_SYSCHAR: + handled = handleKeyPress(wParam, lParam, true); + break; + + case WM_CHAR: + handled = handleKeyPress(wParam, lParam, false); + break; + + case WM_CLOSE: + PostMessage(m_parentWindowHandle, WM_CLOSE, wParam, lParam); + handled = true; + break; + + default: + break; + } + } + + if (handled) + return 0; + + return DefWindowProc(hWnd, message, wParam, lParam); +} diff --git a/WebKit/wince/WebView.h b/WebKit/wince/WebView.h new file mode 100644 index 0000000..c6e6684 --- /dev/null +++ b/WebKit/wince/WebView.h @@ -0,0 +1,100 @@ +/* + * Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef WebView_h +#define WebView_h + +#include "IntRect.h" +#include "OwnPtr.h" +#include "PassRefPtr.h" + +namespace WTF { +class String; +} + +namespace WebCore { +class Frame; +class Page; +class FrameView; +class HTMLFrameOwnerElement; +class KURL; +class ResourceRequest; +} + +class WebView { +public: + enum Features { + NoFeature = 0, + EnableDoubleBuffering = 1 << 0 + }; + + WebView(HWND hwnd, unsigned features = EnableDoubleBuffering); + ~WebView(); + + static void initialize(HINSTANCE instanceHandle); + static void cleanup(); + + HWND windowHandle() const { return m_windowHandle; } + WebCore::Frame* frame() const { return m_frame; } + WebCore::Page* page() const { return m_page; } + WebCore::FrameView* view() const; + + void load(LPCWSTR url); + void load(const WTF::String &url); + void load(const WebCore::ResourceRequest &request); + void reload(); + void stop(); + + void frameRect(RECT* rect) const; + + PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL&, const WTF::String&, WebCore::HTMLFrameOwnerElement*, const WTF::String&, bool, int, int); + + // JavaScript Dialog + void runJavaScriptAlert(const WTF::String& message); + bool runJavaScriptConfirm(const WTF::String& message); + bool runJavaScriptPrompt(const WTF::String& message, const WTF::String& defaultValue, WTF::String& result); + +private: + static LRESULT CALLBACK webViewWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); + LRESULT wndProc(HWND, UINT, WPARAM, LPARAM); + + bool handlePaint(HWND hWnd); + bool handleMouseEvent(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); + bool handleMouseWheel(HWND hWnd, WPARAM wParam, LPARAM lParam, bool isHorizontal); + bool handleKeyDown(WPARAM virtualKeyCode, LPARAM keyData, bool systemKeyDown); + bool handleKeyPress(WPARAM charCode, LPARAM keyData, bool systemKeyDown); + bool handleKeyUp(WPARAM virtualKeyCode, LPARAM keyData, bool systemKeyDown); + + void paint(HDC hDC, const WebCore::IntRect& clipRect); + + WebCore::Frame* m_frame; + WebCore::Page* m_page; + HWND m_parentWindowHandle; + HWND m_windowHandle; + bool m_enableDoubleBuffer; + OwnPtr<HDC> m_doubleBufferDC; + OwnPtr<HBITMAP> m_doubleBufferBitmap; +}; + +#endif // WebView_h diff --git a/WebKit/wx/ChangeLog b/WebKit/wx/ChangeLog index 2b55577..a40fc5c 100644 --- a/WebKit/wx/ChangeLog +++ b/WebKit/wx/ChangeLog @@ -1,6 +1,62 @@ +2010-12-20 Eric Seidel <eric@webkit.org> + + Unreviewed. + + Removed a non-utf8 character from this file. + Looks like it was accidentally added in: + http://trac.webkit.org/changeset/72669 + Which caused troubles for the contributor working on bug 51382. + +2010-10-28 MORITA Hajime <morrita@google.com> + + Reviewed by Ojan Vafai. + + spellcheck does not check pasted text + https://bugs.webkit.org/show_bug.cgi?id=40092 + + Added a stub implememntation. + + * WebKitSupport/EditorClientWx.h: + (WebCore::EditorClientWx::requestCheckingOfString): + +2010-12-07 Martin Robinson <mrobinson@igalia.com> + + Unreviewed, rolling out r73392. + http://trac.webkit.org/changeset/73392 + https://bugs.webkit.org/show_bug.cgi?id=50489 + + This commit caused crashes on the GTK+ bots + + * WebKitSupport/FrameLoaderClientWx.cpp: + (WebCore::FrameLoaderClientWx::finishedLoading): + +2010-12-06 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Update calls to DocumentWriter. + https://bugs.webkit.org/show_bug.cgi?id=50489 + + * WebKitSupport/FrameLoaderClientWx.cpp: + (WebCore::FrameLoaderClientWx::finishedLoading): + +2010-12-01 Jia Pu <jpu@apple.com> + + Reviewed by Darin Adler. + + Support multiple correction candidates panel for misspelled word on Mac OS X. + https://bugs.webkit.org/show_bug.cgi?id=50137 + <rdar://problem/8568059> + + Adopted new function signature defined in base class. + + * WebKitSupport/EditorClientWx.cpp: + (WebCore::EditorClientWx::getGuessesForWord): + * WebKitSupport/EditorClientWx.h: + 2010-11-24 Patrick Gansterer <paroga@webkit.org> - Reviewed by Csaba Osztrogonác. + Reviewed by Csaba Osztrogonác. Remove Bakefile build system files https://bugs.webkit.org/show_bug.cgi?id=49983 diff --git a/WebKit/wx/WebKitSupport/EditorClientWx.cpp b/WebKit/wx/WebKitSupport/EditorClientWx.cpp index 59e2fd4..5601364 100644 --- a/WebKit/wx/WebKitSupport/EditorClientWx.cpp +++ b/WebKit/wx/WebKitSupport/EditorClientWx.cpp @@ -542,9 +542,9 @@ bool EditorClientWx::spellingUIIsShowing() return false; } -void EditorClientWx::getGuessesForWord(const String&, Vector<String>& guesses) -{ - notImplemented(); +void EditorClientWx::getGuessesForWord(const String& word, const String& context, Vector<String>& guesses) +{ + notImplemented(); } String EditorClientWx::getAutoCorrectSuggestionForMisspelledWord(const WTF::String&) diff --git a/WebKit/wx/WebKitSupport/EditorClientWx.h b/WebKit/wx/WebKitSupport/EditorClientWx.h index be5c98a..7dbee31 100644 --- a/WebKit/wx/WebKitSupport/EditorClientWx.h +++ b/WebKit/wx/WebKitSupport/EditorClientWx.h @@ -107,11 +107,12 @@ public: virtual void updateSpellingUIWithMisspelledWord(const String&); virtual void showSpellingUI(bool show); virtual bool spellingUIIsShowing(); - virtual void getGuessesForWord(const String&, Vector<String>& guesses); + virtual void getGuessesForWord(const String& word, const String& context, Vector<String>& guesses); virtual String getAutoCorrectSuggestionForMisspelledWord(const WTF::String&); - + virtual void willSetInputMethodState(); virtual void setInputMethodState(bool enabled); + virtual void requestCheckingOfString(WebCore::SpellChecker*, int, const WTF::String&) {} private: Page* m_page; |